[PATCH] ethdev: add GENEVE encapsulation and decapsulation actions
Stephen Hemminger
stephen at networkplumber.org
Fri Nov 14 05:27:25 CET 2025
On Thu, 13 Nov 2025 18:21:58 +0800
Sunyang Wu <sunyang.wu at jaguarmicro.com> wrote:
> Add new flow action types for GENEVE tunnel manipulation:
>
> 1. RTE_FLOW_ACTION_TYPE_GENEVE_ENCAP - For encapsulating packets into
> GENEVE tunnels
> 2. RTE_FLOW_ACTION_TYPE_GENEVE_DECAP - For decapsulating packets from
> GENEVE tunnels
> 3. struct rte_flow_action_geneve_encap - Data structure to define tunnel
> encapsulation parameters
>
> These actions allow users to build more flexible network virtualization
> solutions using GENEVE tunnels as specified by RFC8926.
>
> Signed-off-by: Sunyang Wu <sunyang.wu at jaguarmicro.com>
> ---
> lib/ethdev/rte_flow.h | 50 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
>
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index 3d2ccdeb92..fc03489511 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -2825,6 +2825,23 @@ enum rte_flow_action_type {
> */
> RTE_FLOW_ACTION_TYPE_NVGRE_DECAP,
>
> + /**
> + * Encapsulate flow in GENEVE tunnel defined in the
> + * rte_flow_action_geneve_encap action structure.
> + *
> + * See struct rte_flow_action_geneve_encap.
> + */
> + RTE_FLOW_ACTION_TYPE_GENEVE_ENCAP,
> +
> + /**
> + * Decapsulate outer most GENEVE tunnel from matched flow.
> + *
> + * If flow pattern does not define a valid GENEVE tunnel (as specified by
> + * RFC8296) then the PMD should return a RTE_FLOW_ERROR_TYPE_ACTION
> + * error.
> + */
> + RTE_FLOW_ACTION_TYPE_GENEVE_DECAP,
> +
> /**
> * Add outer header whose template is provided in its data buffer
> *
> @@ -3738,6 +3755,39 @@ struct rte_flow_action_nvgre_encap {
> struct rte_flow_item *definition;
> };
>
It is too late to put a new feature like this into this release.
And if targeting next-release 26.03 the ABI is not allowed to change.
That means you will need to put the new flow actions at the end of the
enum rte_flow_action_type so that values don't get reordered.
Release Dates
-------------
The following are the proposed working dates for 25.11:
- Proposal deadline (RFC/v1 patches): 31 August 2025
- API freeze (-rc1): 24 October 2025
- PMD features freeze (-rc2): 7 November 2025
- Builtin applications features freeze (-rc3): 17 November 2025
- Release: 26 November 2025
See https://core.dpdk.org/roadmap/
More information about the dev
mailing list