Subject: Re: [PATCH iwl-next v7 2/6] ice: add virtchnl definitions and static data for GTP RSS

From: Simon Horman <[email-masked]>
Date: Tue, 28 Oct 2025 11:45:52 +0000

On Mon, Oct 27, 2025 at 10:37:32AM +0100, Aleksandr Loktionov wrote:
> Add virtchnl protocol header and field definitions for advanced RSS
> configuration including GTPC, GTPU, L2TPv2, ECPRI, PPP, GRE, and IP
> fragment headers.
> 
> - Define new virtchnl protocol header types
> - Add RSS field selectors for tunnel protocols
> - Extend static mapping arrays for protocol field matching
> - Add L2TPv2 session ID and length+session ID field support
> 
> This provides the foundational definitions needed for VF RSS
> configuration of tunnel protocols.
> 
> Co-developed-by: Dan Nowlin <[email-masked]>
> Signed-off-by: Dan Nowlin <[email-masked]>
> Co-developed-by: Jie Wang <[email-masked]>
> Signed-off-by: Jie Wang <[email-masked]>
> Co-developed-by: Junfeng Guo <[email-masked]>
> Signed-off-by: Junfeng Guo <[email-masked]>
> Co-developed-by: Qi Zhang <[email-masked]>
> Signed-off-by: Qi Zhang <[email-masked]>
> Co-developed-by: Ting Xu <[email-masked]>
> Signed-off-by: Ting Xu <[email-masked]>
> Signed-off-by: Przemek Kitszel <[email-masked]>
> Signed-off-by: Aleksandr Loktionov <[email-masked]>
> ---
>  drivers/net/ethernet/intel/ice/virt/rss.c | 91 +++++++++++++++++++++++
>  include/linux/avf/virtchnl.h              | 48 ++++++++++++
>  2 files changed, 139 insertions(+)
> 
> diff --git a/drivers/net/ethernet/intel/ice/virt/rss.c b/drivers/net/ethernet/intel/ice/virt/rss.c
> index cbdbb32..71d7db6 100644
> --- a/drivers/net/ethernet/intel/ice/virt/rss.c
> +++ b/drivers/net/ethernet/intel/ice/virt/rss.c
> @@ -36,6 +36,13 @@ static const struct ice_vc_hdr_match_type ice_vc_hdr_list[] = {
>  	{VIRTCHNL_PROTO_HDR_ESP,	ICE_FLOW_SEG_HDR_ESP},
>  	{VIRTCHNL_PROTO_HDR_AH,		ICE_FLOW_SEG_HDR_AH},
>  	{VIRTCHNL_PROTO_HDR_PFCP,	ICE_FLOW_SEG_HDR_PFCP_SESSION},
> +	{VIRTCHNL_PROTO_HDR_GTPC,	ICE_FLOW_SEG_HDR_GTPC},
> +	{VIRTCHNL_PROTO_HDR_L2TPV2,	ICE_FLOW_SEG_HDR_L2TPV2},
> +	{VIRTCHNL_PROTO_HDR_PPP,	ICE_FLOW_SEG_HDR_PPP},

This patch does not compile because, amongst other things,
ICE_FLOW_SEG_HDR_PPP is not declared (here).

> +	{VIRTCHNL_PROTO_HDR_ECPRI,	ICE_FLOW_SEG_HDR_ECPRI_TP0},
> +	{VIRTCHNL_PROTO_HDR_IPV4_FRAG,	ICE_FLOW_SEG_HDR_IPV_FRAG},
> +	{VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG,	ICE_FLOW_SEG_HDR_IPV_FRAG},
> +	{VIRTCHNL_PROTO_HDR_GRE,        ICE_FLOW_SEG_HDR_GRE},
>  };
>

...