커널소스중 fib_select_multipath 함수가 호출되는 경우가 궁금합니다.

km192의 이미지

커널소스중 net/ipv4/fib_semantics.c 파일내에

fib_select_multipath라는 함수가 있는데..
이 함수가 어느 경우에 호출되는지 혹시 알고 계신분이 있나 해서
글을 올려봅니다.

소스내에 지저분하게 printk넣어서리 path확인을 해보다가
호출이 될때가 있고 안될때가 있고 해서요..
정말 궁금하네요~ 꼭 알고 싶습니다~~~

pastime의 이미지

net/ipv4/route.c 파일내의 ip_route_input/output_slow() 함수에서 호출됩니다.
즉, 커널 내의 라우팅 테이블에 없는 경우에 호출되는 것 같습니다.

http://lxr.linux.no/ident?i=fib_select_multipath

bblackstar의 이미지

fib_select_multipath () 는 nexthop 이 여러개 잡혀 있을 경우... 그러니까 현재의 라우터에서 dest IP 까지 가기위해 선택할 수 있는 다음 hop 이 여러개가 존재 할 경우 그 중에서 하나를 선택 할 때 사용되는 function 입니다.