[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