[dpdk-dev] [RFC] ethdev: add generic L2/L3 tunnel encapsulation actions

Ori Kam orika at mellanox.com
Wed Aug 22 07:57:00 CEST 2018


Hi all,

Just looking for more comments if any 😊

Best,

Ori

> -----Original Message-----
> From: Ori Kam
> Sent: Monday, July 30, 2018 9:03 PM
> To: 'Stephen Hemminger' <stephen at networkplumber.org>
> Cc: Xueming(Steven) Li <xuemingl at mellanox.com>; Dekel Peled
> <dekelp at mellanox.com>; Shahaf Shuler <shahafs at mellanox.com>; Adrien
> Mazarguil <adrien.mazarguil at 6wind.com>; Thomas Monjalon
> <thomas at monjalon.net>; Yongseok Koh <yskoh at mellanox.com>;
> ferruh.yigit at intel.com; arybchenko at solarflare.com; dev at dpdk.org
> Subject: RE: [dpdk-dev] [RFC] ethdev: add generic L2/L3 tunnel
> encapsulation actions
> 
> 
> 
> > -----Original Message-----
> > From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> > Sent: Monday, July 30, 2018 8:29 PM
> > To: Ori Kam <orika at mellanox.com>
> > Cc: Xueming(Steven) Li <xuemingl at mellanox.com>; Dekel Peled
> > <dekelp at mellanox.com>; Shahaf Shuler <shahafs at mellanox.com>;
> Adrien
> > Mazarguil <adrien.mazarguil at 6wind.com>; Thomas Monjalon
> > <thomas at monjalon.net>; Yongseok Koh <yskoh at mellanox.com>;
> > ferruh.yigit at intel.com; arybchenko at solarflare.com; dev at dpdk.org
> > Subject: Re: [dpdk-dev] [RFC] ethdev: add generic L2/L3 tunnel
> > encapsulation actions
> >
> > On Mon, 30 Jul 2018 19:19:25 +0300
> > Ori Kam <orika at mellanox.com> wrote:
> >
> > > Currenlty the encap/decap actions only support encapsulation
> > > of VXLAN and NVGRE L2 packets.
> > > There is a need to add more L2 tunnels and also L3 tunnels.
> > >
> > > One issue with the current approch is the duplication of code.
> > > For example the code for handling NVGRE and VXLAN are exactly the
> > same,
> > > and each new tunnel will have the same exact structure.
> > >
> > > Last issue with the current approach is the use of rte_items.
> > > The most significant issue with that is that the PMD needs to convert
> > > the items and this hurts the insertion rate. Other issue is that
> > > the rte_item has 3 members while we only need the spec (last and mask
> > > are useless). I know that the extra member have only small memory
> > > impact but considering that we can have millions of rules, this became
> > > more important consideration, and it is bad practice to add a variable
> > > that is never used.
> > >
> > > My suggestion is to create 2 commands, one for encapsulation of L2
> > > packets and one for encapsulation of L3 tunnels.
> > > The parameters for those functions will be a uint8_t buffer with
> > > a length parameter.
> > >
> > > The current approach is not implemented yet in drivers yet, and
> > > is marked as experimental, so it should be removed.
> > >
> > > Any comments will be hugely appreciated.
> > >
> > > Signed-off-by: Ori Kam <orika at mellanox.com>
> >
> > What about binary and source compatibilities with older release?
> 
> I'm not sure what you mean, currently this feature is not implemented
> In any PMD (as far as I can see) so no one uses it, and it is marked as
> experimental. In any case if this is an issue we can keep the old one and just
> add the new one.
> 
> Best,
> Ori


More information about the dev mailing list