rx-vlan-offload和tx-vlan-offload ethtool选项究竟做了什么?

时间:2016-12-20 23:33:38

标签: networking vlan offloading

ethtool手册页只给出了一个模糊的解释:

   rxvlan on|off
          Specifies whether RX VLAN acceleration should be enabled

   txvlan on|off
          Specifies whether TX VLAN acceleration should be enabled

假设您可以启用选项,这些选项到底完成了什么?

1 个答案:

答案 0 :(得分:5)

显然,txvlanrx-vlan-hw-parse分别是内核功能tx-vlan-hw-insertNETIF_F_HW_VLAN_CTAG_RX_BIT的别名(请参阅http://stackoverflow.com/a/29542669)。

在内核中,它们被转换为netdev功能NETIF_F_HW_VLAN_CTAG_TX_BIT和{{1}}。 (见ethtool.c

据我所知,TX_BIT允许NIC在传输过程中添加VLAN标记,而无需将其明确地放入数据包中。请参阅net/core/ethtool.c

中的相关代码

同样,当启用RX_BIT时,NIC可以从传入的数据包中剥离VLAN标记,并让驱动程序将来自VLAN标记的信息放在相关的skb中。