7

The ethtool manpage only gives a nebulous explanation:

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

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

What exactly do the options accomplish, assuming you can enable them?

Christian
  • 1,499
  • 2
  • 12
  • 28

1 Answers1

7

Apparently, rxvlan and txvlan are aliases for the kernel features rx-vlan-hw-parse and tx-vlan-hw-insert respectively (see ethtool.c).

In the kernel they are translated to the netdev features NETIF_F_HW_VLAN_CTAG_RX_BIT and NETIF_F_HW_VLAN_CTAG_TX_BIT. (See net/core/ethtool.c)

To the best of my knowledge, the TX_BIT allows the NIC to add the VLAN tag during transmission without explicitly placing it in the packet. See the relevant code in the VLAN driver.

Similarly, when the RX_BIT is enabled, the NIC can strip the VLAN tag from incoming packets and let the driver place the information from the VLAN tag in the relevant skb.

haggai_e
  • 4,689
  • 1
  • 24
  • 37