[dpdk-dev] DEV_RX_OFFLOAD_VLAN_EXTEND offload

Ferruh Yigit ferruh.yigit at intel.com
Fri Oct 26 15:40:42 CEST 2018


On 10/26/2018 11:56 AM, Jerin Jacob wrote:
> 
> Does anyone know the expectation of DEV_RX_OFFLOAD_VLAN_EXTEND
> offload? Does not look like it is documented.
> 
> Looks like it is very specific to Intel controllers, Based on 82599 HRM,
> it is following, not sure what is the real expectation from NIC in
> normative terms.
> 
> Extended VLAN.
> -------------
> When set, all incoming Rx packets are expected to have at least one VLAN
> with the Ether type as defined in EXVET register. The packets can have
> an inner-VLAN that should be used for all filtering purposes. All Tx
> packets are expected to have at least one VLAN added to them by the
> host. In the case of an additional VLAN request (VLE), the inner-VLAN is
> added by the hardware after the outer-VLAN is added by the host.
> This bit should only be reset by a PCIe reset and should only be changed
> while Tx and Rx processes are stopped.
> The exception to this rule are MAC control packets such as flow control,
> 802.1x, LACP, etc. that never carry a VLAN tag of any type
> 

This looks similar to QinQ but it seems not, in ixgbe datasheet it has:

"
Double VLAN and Single VLAN Support
-----------------------------------
<....>
 This mode is used for systems where the near end switch adds the outer VLAN
header containing switching information.
<...>
"

And it in this mode hw doesn't insert or strip the outer VLAN, it expect SW does
it. The ethernet type is not 0x88A8 but can be anything set on EXVET.VET_EXT. So
looks like it is to let switch to add custom VLAN tags and NIC to ignore them.


More information about the dev mailing list