커널소스중 net/ipv4/fib_semantics.c 파일내에
fib_select_multipath라는 함수가 있는데.. 이 함수가 어느 경우에 호출되는지 혹시 알고 계신분이 있나 해서 글을 올려봅니다.
소스내에 지저분하게 printk넣어서리 path확인을 해보다가 호출이 될때가 있고 안될때가 있고 해서요.. 정말 궁금하네요~ 꼭 알고 싶습니다~~~
net/ipv4/route.c 파일내의 ip_route_input/output_slow() 함수에서 호출됩니다. 즉, 커널 내의 라우팅 테이블에 없는 경우에 호출되는 것 같습니다.
http://lxr.linux.no/ident?i=fib_select_multipath
fib_select_multipath () 는 nexthop 이 여러개 잡혀 있을 경우... 그러니까 현재의 라우터에서 dest IP 까지 가기위해 선택할 수 있는 다음 hop 이 여러개가 존재 할 경우 그 중에서 하나를 선택 할 때 사용되는 function 입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
ip_route_input/output_slow() 함수
net/ipv4/route.c 파일내의 ip_route_input/output_slow() 함수에서 호출됩니다.
즉, 커널 내의 라우팅 테이블에 없는 경우에 호출되는 것 같습니다.
http://lxr.linux.no/ident?i=fib_select_multipath
fib_select_multipath () 는
fib_select_multipath () 는 nexthop 이 여러개 잡혀 있을 경우... 그러니까 현재의 라우터에서 dest IP 까지 가기위해 선택할 수 있는 다음 hop 이 여러개가 존재 할 경우 그 중에서 하나를 선택 할 때 사용되는 function 입니다.
댓글 달기