On 10/22/2025 6:12 AM, 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.
This patch doesn't compile:
drivers/net/ethernet/intel/ice/virt/rss.c:41:41: error:
‘ICE_FLOW_SEG_HDR_PPP’ undeclared here (not in a function); did you mean
‘ICE_FLOW_SEG_HDR_ESP’?
41 | {VIRTCHNL_PROTO_HDR_PPP, ICE_FLOW_SEG_HDR_PPP},
| ^~~~~~~~~~~~~~~~~~~~
| ICE_FLOW_SEG_HDR_ESP
drivers/net/ethernet/intel/ice/virt/rss.c:42:41: error:
‘ICE_FLOW_SEG_HDR_ECPRI_TP0’ undeclared here (not in a function); did
you mean ‘ICE_FLOW_SEG_HDR_GTPU_UP’?
42 | {VIRTCHNL_PROTO_HDR_ECPRI,
ICE_FLOW_SEG_HDR_ECPRI_TP0},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| ICE_FLOW_SEG_HDR_GTPU_UP
In file included from ./include/linux/bits.h:5,
from ./include/linux/ratelimit_types.h:5,
from ./include/linux/printk.h:9,
from ./include/asm-generic/bug.h:22,
from ./arch/x86/include/asm/bug.h:108,
from ./arch/x86/include/asm/alternative.h:9,
from ./arch/x86/include/asm/barrier.h:5,
from ./include/linux/list.h:11,
from ./include/linux/hashtable.h:10,
from ./drivers/net/ethernet/intel/ice/ice_vf_lib.h:8,
from
./drivers/net/ethernet/intel/ice/ice_vf_lib_private.h:7,
from drivers/net/ethernet/intel/ice/virt/rss.c:5:
drivers/net/ethernet/intel/ice/virt/rss.c:167:25: error:
‘ICE_FLOW_FIELD_IDX_PPP_PROTO_ID’ undeclared here (not in a function);
did you mean ‘ICE_FLOW_FIELD_IDX_PPPOE_SESS_ID’?
167 | BIT_ULL(ICE_FLOW_FIELD_IDX_PPP_PROTO_ID)},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/vdso/bits.h:8:45: note: in definition of macro ‘BIT_ULL’
8 | #define BIT_ULL(nr) (ULL(1) << (nr))
| ^~
drivers/net/ethernet/intel/ice/virt/rss.c:179:25: error:
‘ICE_FLOW_FIELD_IDX_IPV6_TC’ undeclared here (not in a function); did
you mean ‘ICE_FLOW_FIELD_IDX_IPV6_ID’?
179 | BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_TC)},
...