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 protected]>
> Signed-off-by: Dan Nowlin <[email protected]>
> Co-developed-by: Jie Wang <[email protected]>
> Signed-off-by: Jie Wang <[email protected]>
> Co-developed-by: Junfeng Guo <[email protected]>
> Signed-off-by: Junfeng Guo <[email protected]>
> Co-developed-by: Qi Zhang <[email protected]>
> Signed-off-by: Qi Zhang <[email protected]>
> Co-developed-by: Ting Xu <[email protected]>
> Signed-off-by: Ting Xu <[email protected]>
> Signed-off-by: Przemek Kitszel <[email protected]>
> Signed-off-by: Aleksandr Loktionov <[email protected]>
> ---
> 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},
> };
>
...