This patch series introduces support for Receive Side Scaling (RSS) configuration of GTP (GPRS Tunneling Protocol) flows via the ethtool interface on virtual function (VF) interfaces in the iavf driver.
The implementation enables fine-grained traffic distribution for GTP-based mobile workloads, including GTPC and GTPU encapsulations, by extending the advanced RSS infrastructure. This is particularly beneficial for virtualized network functions (VNFs) and user plane functions (UPFs) in 5G and LTE deployments. Key features: - Adds new RSS flow segment headers and hash field definitions for GTP protocols. - Enhances ethtool parsing logic to support GTP-specific flow types. - Updates the virtchnl interface to propagate GTP RSS configuration to PF. - Extends the ICE driver to support GTP RSS configuration for VFs. This series depends on Przemek's [1], which is still in RFC state [2], but we expect it to be merged soon. I have tested it on top of it. [1] https://github.com/pkitszel/linux/commits/virtchnl-split/ [2] https://lore.kernel.org/netdev/[email protected]/T/#u Aleksandr Loktionov (4): ice: add flow parsing for GTP and new protocol field support ice: add virtchnl and VF context support for GTP RSS ice: improve TCAM priority handling for RSS profiles iavf: add RSS support for GTP protocol via ethtool Przemek Kitszel (1): ice: extend PTYPE bitmap coverage for GTP encapsulated flows .../net/ethernet/intel/iavf/iavf_adv_rss.c | 119 +- .../net/ethernet/intel/iavf/iavf_adv_rss.h | 31 + .../net/ethernet/intel/iavf/iavf_ethtool.c | 89 ++ .../net/ethernet/intel/ice/ice_flex_pipe.c | 91 +- .../net/ethernet/intel/ice/ice_flex_type.h | 1 + drivers/net/ethernet/intel/ice/ice_flow.c | 251 ++- drivers/net/ethernet/intel/ice/ice_flow.h | 94 +- .../ethernet/intel/ice/ice_protocol_type.h | 20 + drivers/net/ethernet/intel/ice/ice_vf_lib.h | 48 + .../net/ethernet/intel/ice/ice_virtchnl_rss.c | 1404 ++++++++++++++++- include/linux/avf/virtchnl.h | 50 + 11 files changed, 2070 insertions(+), 128 deletions(-) -- 2.47.1
