0

在 NIC 驱动程序编写过程中,我阅读并理解了主要struct sk_buff字段,如headroom, data, tailroom, end, len, data_len. 主要来源如:关于 SKB 的LWNdavem 帖子告诉我们有 2 个字节对齐用于 IP 标头性能。在 NIC 驱动程序中的每个 RX 例程中都应该使用这种对齐方式。

就我而言,当我收到struct sk_buffin时,start_xmit()我在( )struct sk_buff中有 2 个空闲字节。这 2 个字节用于我的目的 ( )。headroomskb_headroom(skb)skb_push(skb, 2)

我担心两件事:

  • 我已经在headroom几个发行版中检查了大约 2 个空闲字节并找到了它们。这可能意味着在 TX 期间struct skb传递到已经对齐的字节。start_xmit()这是真的吗?
  • 如果是真的,为什么在打印NET_IP_ALIGN期间使用宏?pr_infostart_xmit()0
4

0 回答 0