我一直在寻找整个下午的udp数据包发送问题。据说sendmsg系统调用首先来到inet_sendmsg,然后是udp_sendmsg,然后是udp_push_pending_frames,在这个函数中,UDP头在ip_push_pending_frames之前填充。但是,根据http://vger.kernel.org/~davem/skb_data.html,UDP层应该具有纯用户数据作为skb中的数据,并且skb_push为UDP头提供空间。我找不到它。
任何人都可以提供一些线索吗?
谢谢!
答案 0 :(得分:0)
你会在内核源代码的skb_push
中找到include/linux/skbuff.h
- 它是一个内联函数,因此它位于头文件而不是普通的源文件中。