[dpdk-dev] [PATCH 3/5] i40e: support double vlan stripping and insertion
Olivier MATZ
olivier.matz at 6wind.com
Mon Jun 1 10:50:31 CEST 2015
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
More information about the dev
mailing list