error: ‘struct sk_buff…

时间:2022-03-14 11:03:01
2.6.20内核以后的skbuff.h头文件中将struct sk_buff结构体修改了,h中包含有传输层的报文头,nh中包含有网络层的报文头,而mac中包含的是链路层的报文头。 
linux-2.6.20以后的内核头文件sk_buff.h中这三个成员提取到单独的变量对应关系如下: 
h-->transport_header; 
nh-->network_header; 
mac-->mac_header;

 

#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,20) 
skb->h.raw = skb->nh.raw = skb->data; 
#else 
skb->network_header = skb->transport_header = skb->data; 
#endif