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.