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

Ferruh Yigit ferruh.yigit at intel.com
Thu Aug 23 14:12:30 CEST 2018

On 7/30/2018 5:19 PM, Ori Kam 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>

Hi Adrien, Awal, Declan,

Any comment on the RFC?


More information about the dev mailing list