函数 dev_queue_xmit()用于直接使用sk_buf发包,此函数有返回值,但是并不能通过 此函数返回值为0来说明包已经发送出去且可以立刻释放sk_buff内存.因为网卡发包是一个异步的过程, 比如ixgbe网卡驱动发包过程可以查看此文.因此,解决办法是在skb_buff->uers 没有减少的情况下,将其存放于链表,稍后再释放内存.比如: dev_queue_xmit(send_skb); ){ kmem_cache_free(skbuff_head_cache, send_skb)…