저는 모듈프로그래밍 초보자입니다. 이제 막 네트워크 모듈프로그래밍을 공부하는 단계입니다.
브릿지 소스를 보면서 소스 분석을 하고 있습니다만 한가지 이해가 안되는 점이 있습니다.
브릿지 소스에서 패킷을 보낼때는 전부 NF_HOOK을 이용해서 넷필터를 통과하여
최종적으로는 NF_HOOK의 마지막 인자의 함수에 도착하여 패킷이 전송되는것을 확인했는데요.
NF_HOOK(PF_BRIDGE, NF_BR_POST_ROUTING, skb, NULL, skb->dev, br_dev_queue_push_xmit);
왜 이렇게 NF_HOOK을 패킷을 보낼때 마다 사용했을까 의문이 듭니다.
skb->dev 에 장치포인터를 주고
dev_queue_xmit(skb) 함수로 쉽게 패킷을 보내는 방법도 있는데 왜 이렇게 보내는 것일까요?