[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