2017-09-01 83 views
0

附加信息SKB缓冲区是否有SKB结构任何额外的或可用字段的Linux内核,我可以包的处理过程中存储我的个人信息?如果有这样的字段,我如何分配内存来存储我的数据?基本上我想以微秒的分辨率存储当前的时间戳。安装在Linux内核

注:我使用的Linux内核83年4月4日

回答

0

如何领域skb_mstamp?我觉得这是对83年4月4日的内核,而且好像微秒的分辨率是可用的。

此外,你可以考虑cb场。在 结构定义字段上面的评论说:

/* 
* This is the control buffer. It is free to use for every 
* layer. Please put your private variables there. If you 
* want to keep them across layers you have to do a skb_clone() 
* first. This is owned by whoever has the skb queued ATM. 
*/ 
char   cb[48] __aligned(8); 

所以,这是一个48字节的存储(不需要内存分配),理论上,你可以尝试用它来存储时间戳。我建议内drivers/net中/以太网内核源代码的子树搜索“是skb-> CB”的用法。 我希望你能看到车手如何使用字段来存储他们需要有任何信息,这派上用场给你。

+0

我想我不能使用,因为它是部分上正在使用的TCP协议栈 – IoT

+0

OK了工会,我明白了。请在更新后的答案中再找一个选项。 –