[dpdk-dev] [PATCH 3/5] i40e: support double vlan stripping and insertion

Zhang, Helin helin.zhang at intel.com
Tue Jun 2 04:45:11 CEST 2015



> -----Original Message-----
> From: Olivier MATZ [mailto:olivier.matz at 6wind.com]
> Sent: Monday, June 1, 2015 4:51 PM
> To: Zhang, Helin; dev at 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:
> > 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.
Agree, will fix it.

Thanks,
Helin

> 
> 
> Regards,
> Olivier


More information about the dev mailing list