[dpdk-dev] [RFC] ethdev: add generic L2/L3 tunnel encapsulation actions
Stephen Hemminger
stephen at networkplumber.org
Mon Jul 30 19:28:36 CEST 2018
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?
More information about the dev
mailing list