리눅스 라우팅과 관련된 질문입니다.
제가 알기로는 forward 되는 packet 은 ip_route_input() 함수에서 routing 이 decision 되고
local 에서 output 되는 packet 은 ip_output_key() 인가 하는 함수에서 routing decision
되는 것으로 알고 있습니다.
이 때 foward 되는 packet 에 대해서 source routing 을 걸었을 때,
제가 인위적으로 dev_queue_xmit() 을 호출하기 전에 skb 의 source IP 를 다른 것으로 바뀌치기 했습니다.
그러면 바뀐 source IP 에 따라서 routing 이 바뀌었습니다.
L2 level 인 dev_queue_xmit 에서도 routing decision 이 이루어지나요??
테스트 결과로만 봐서는 dev_queue_xmit 에서 routing 이 결정나서 다른 next hop 으로 보내는데,
제가 알고 있는 지식과는 많이 달라서 혼돈이됩니다.