Hi Helin, On 05/26/2015 10:36 AM, Helin Zhang wrote: > It configures specific registers to enable double vlan stripping > on RX side and insertion on TX side. > The RX descriptors will be parsed, the vlan tags and flags will be > saved to corresponding mbuf fields if vlan tag is detected. > The TX descriptors will be configured according to the > configurations in mbufs, to trigger the hardware insertion of > double vlan tags for each packets sent out. > > Signed-off-by: Helin Zhang <helin.zhang at intel.com>
> [...] > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index 16dbe00..b26670e 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -882,23 +882,25 @@ struct rte_eth_conf { > /** > * RX offload capabilities of a device. > */ > -#define DEV_RX_OFFLOAD_VLAN_STRIP 0x00000001 > -#define DEV_RX_OFFLOAD_IPV4_CKSUM 0x00000002 > -#define DEV_RX_OFFLOAD_UDP_CKSUM 0x00000004 > -#define DEV_RX_OFFLOAD_TCP_CKSUM 0x00000008 > -#define DEV_RX_OFFLOAD_TCP_LRO 0x00000010 > +#define DEV_RX_OFFLOAD_VLAN_STRIP 0x00000001 > +#define DEV_RX_OFFLOAD_QINQ_STRIP 0x00000002 > +#define DEV_RX_OFFLOAD_IPV4_CKSUM 0x00000004 > +#define DEV_RX_OFFLOAD_UDP_CKSUM 0x00000008 > +#define DEV_RX_OFFLOAD_TCP_CKSUM 0x00000010 > +#define DEV_RX_OFFLOAD_TCP_LRO 0x00000020 > > /** > * TX offload capabilities of a device. > */ > -#define DEV_TX_OFFLOAD_VLAN_INSERT 0x00000001 > -#define DEV_TX_OFFLOAD_IPV4_CKSUM 0x00000002 > -#define DEV_TX_OFFLOAD_UDP_CKSUM 0x00000004 > -#define DEV_TX_OFFLOAD_TCP_CKSUM 0x00000008 > -#define DEV_TX_OFFLOAD_SCTP_CKSUM 0x00000010 > -#define DEV_TX_OFFLOAD_TCP_TSO 0x00000020 > -#define DEV_TX_OFFLOAD_UDP_TSO 0x00000040 > -#define DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM 0x00000080 /**< Used for tunneling > packet. */ > +#define DEV_TX_OFFLOAD_VLAN_INSERT 0x00000001 > +#define DEV_TX_OFFLOAD_QINQ_INSERT 0x00000002 > +#define DEV_TX_OFFLOAD_IPV4_CKSUM 0x00000004 > +#define DEV_TX_OFFLOAD_UDP_CKSUM 0x00000008 > +#define DEV_TX_OFFLOAD_TCP_CKSUM 0x00000010 > +#define DEV_TX_OFFLOAD_SCTP_CKSUM 0x00000020 > +#define DEV_TX_OFFLOAD_TCP_TSO 0x00000040 > +#define DEV_TX_OFFLOAD_UDP_TSO 0x00000080 > +#define DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM 0x00000100 > > struct rte_eth_dev_info { > struct rte_pci_device *pci_dev; /**< Device PCI information. */ > It's probably better to add the new flags after the others for ABI compat reasons. Regards, Olivier