[PATCH v6 23/25] net/i40e: reimplement tunnel parsers

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Sat Oct 10 20:45:46 CEST 2026


Acked-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>

On 10/9/2026 11:59 AM, Anatoly Burakov wrote:
> Use the new flow graph API and the common parsing framework to implement
> flow parser for tunnel filters: QinQ, VXLAN, NVGRE, MPLS, GTP, and L4.
>
> As a result of transitioning to more formalized validation, some
> checks have become more stringent:
>
> - VLAN TCI mask is now required to be fully masked (all-ones); previously
>    the mask was only checked for eth_proto and any non-zero vlan_tci mask
>    value was silently accepted
> - For QinQ, VLAN TCI mask is now required whereas previously it was ignored
> - Old code did not check for whether fields other than ports are masked
>    (they are now rejected)
> - Old code did not check for whether src/ports are fully masked (masks
>    other than full are now rejected)
> - Old code used spec to decide which port to copy (as a result, it was not
>    possible to match port 0 - this is now allowed)
>
> Tunnel engine now also share a refcounted global state, and track all
> flows and do deduplication inside the engine.
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---
>   

-- 
Regards,
Vladimir



More information about the dev mailing list