Re: [PATCH 3/5] i40e: support double vlan stripping and insertion
From: Zhang, Helin <hidden>
Date: 2015-06-02 02:46:18
-----Original Message----- From: Olivier MATZ [mailto:olivier.matz@6wind.com] Sent: Monday, June 1, 2015 4:51 PM To: Zhang, Helin; dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 3/5] i40e: support double vlan stripping and insertion Hi Helin, On 05/26/2015 10:36 AM, Helin Zhang wrote:quoted
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 <redacted>quoted
[...]quoted
diff --git a/lib/librte_ether/rte_ethdev.hb/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 -#defineDEV_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.
Agree, will fix it. Thanks, Helin
Regards, Olivier