kernel version v4.5
两个重要并且容易混淆的函数:
tcp_v4_rcv
tcp_v4_do_rcv
类似于中断处理的上半部和下半部,
tcp的处理分为了的总入口函数是tcp_v4_rcv
,
而tcp_v4_do_rcv
则是真正处理tcp报文,
并传送到用户空间。
其他的像拥塞控制,乱序调整等都在tcp_v4_do_rcv
之前被做掉了。
1 | 1506 static const struct net_protocol tcp_protocol = { |
1 | 1539 int tcp_v4_rcv(struct sk_buff *skb) |
1 |