Linux 这是SKB的有效状态吗?(其中skb->;user=1,skb_shinfo(skb)->;dataref=0)
下一个问题是关于管理网络数据包的linux内核缓冲区,称为sk_buff 我读了很多关于linux内核sk_buff结构和API的书,但是仍然有一些问题我还不了解。下面是我遇到的一个情况(请查看下面的代码): 有时,当代码输入else语句时,会打印以下内容:Linux 这是SKB的有效状态吗?(其中skb->;user=1,skb_shinfo(skb)->;dataref=0),linux,linux-kernel,network-programming,linux-device-driver,embedded-linux,Linux,Linux Kernel,Network Programming,Linux Device Driver,Embedded Linux,下一个问题是关于管理网络数据包的linux内核缓冲区,称为sk_buff 我读了很多关于linux内核sk_buff结构和API的书,但是仍然有一些问题我还不了解。下面是我遇到的一个情况(请查看下面的代码): 有时,当代码输入else语句时,会打印以下内容: rx_q->rx_skbuff[a valid index] is DIRTY but not NULL. refcount(1), dataref(0) 问题:这是SKB的有效状态吗?(其中skb->user=1和skb_shin
rx_q->rx_skbuff[a valid index] is DIRTY but not NULL. refcount(1), dataref(0)
问题:这是SKB的有效状态吗?(其中skb->user=1
和skb_shinfo(skb)->dataref=0
)我的猜测是,
skb_shinfo(skb)->dataref=0
以某种方式被覆盖,但我需要验证它
谢谢!!如果有人感兴趣,以下是我为深入了解sk_buff结构和API而阅读的教程/文章(它们一点也不差):
rx_q->rx_skbuff[a valid index] is DIRTY but not NULL. refcount(1), dataref(0)