- 论坛徽章:
- 0
|
TCP packet的接收过程简单描述
1)当有包进入网卡,引起中断,其调用TREE如下:
stack c03cc000 trace: tcp_v4_rcv | ip_local_deliver_finish | nf_hook_slow | ip_local_deliver | ip_rcv | netif_receive_skb | process_backlog | net_rx_action | do_softirq | do_IRQ | common_interrupt | cpu_idle
tcp_v4_rcv 被中断程序(间接)调用.
2)应用程序中调用sy_socketcall来接收包,调用TREE如下:
stack ca3dc000 trace: tcp_recvmsg | inet_recvmsg | sock_recvmsg | sys_recvfrom | sys_recv | sys_socketcall | sysenter_past_esp
tcp_recvmsg被用户程序(间接)调用.
包存储区sk_buff为两者(两路)共同存取.
这大概可以回答那个问tcp_rcv和tcp_recvmsg之间如何连接的贴子. 其实无直接连接. |
|