struct tcp_func ipv4_specific = {
ip_queue_xmit,
...
};
in tcp_v4_init_sock:
sk->tp_pinfo.af_tcp.af_specific = &ipv4_specific;
in tcp_transmit_skb:
struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);
tp->af_specific->queue_xmit(skb);
here, queue_xmit actually points to ip_queue_xmit.
here are all the functions called, on a packets journey thru the tcp
stack.
tcp_v4_sendmsg [static in tcp_ipv4.c]
tcp_do_sendmsg [static in tcp.c]
csum_and_copy_from_user()
tcp_send_skb [tcp_output.c]
tcp_transmit_skb [tcp_output.c]
ip_queue_xmit [ip_output.c]
ip_route_output [route.c]
ip_output [ip_output.c]
ip_finish_output [ip.h]
dev_queue_xmit [dev.c]
hard_start_xmit [netdevice.h]
hope this helps.
Felix
-- Felix Marti - Silicon Graphics, Inc - MS 8U-500 2011 N Shoreline Blvd - Mountain View, CA 94043 Phone +1 650 933 6863 - Fax +1 650 962 8404- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/