我一直在寻找整个下午的 udp 数据包发送问题。据说sendmsg系统调用会先到inet_sendmsg,然后是udp_sendmsg,然后是udp_push_pending_frames,在这个函数中,UDP header是在ip_push_pending_frames之前填充的。但是,根据http://vger.kernel.org/~davem/skb_data.html,UDP 层应该有一个纯用户数据作为 skb 中的数据,它 skb_push 为 UDP 标头腾出空间。我只是找不到它。
任何人都可以提供一些线索吗?
谢谢!