[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250828171347.GC31759@horms.kernel.org>
Date: Thu, 28 Aug 2025 18:13:47 +0100
From: Simon Horman <horms@...nel.org>
To: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
Cc: intel-wired-lan@...ts.osuosl.org, anthony.l.nguyen@...el.com,
netdev@...r.kernel.org, mschmidt@...hat.com,
Jedrzej Jagielski <jedrzej.jagielski@...el.com>
Subject: Re: [PATCH iwl-next v3 5/5] iavf: add RSS support for GTP protocol
via ethtool
On Wed, Aug 27, 2025 at 06:53:38PM +0000, Aleksandr Loktionov wrote:
> Extend the iavf driver to support Receive Side Scaling (RSS)
> configuration for GTP (GPRS Tunneling Protocol) flows using ethtool.
>
> The implementation introduces new RSS flow segment headers and hash field
> definitions for various GTP encapsulations, including:
>
> - GTPC
> - GTPU (IP, Extension Header, Uplink, Downlink)
> - TEID-based hashing
>
> The ethtool interface is updated to parse and apply these new flow types
> and hash fields, enabling fine-grained traffic distribution for GTP-based
> mobile workloads.
>
> This enhancement improves performance and scalability for virtualized
> network functions (VNFs) and user plane functions (UPFs) in 5G and LTE
> deployments.
>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@...el.com>
> ---
> .../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 +++++++++++++
> 3 files changed, 216 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_adv_rss.c b/drivers/net/ethernet/intel/iavf/iavf_adv_rss.c
...
> @@ -211,6 +274,16 @@ iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss,
> IAVF_ADV_RSS_HASH_FLD_UDP_DST_PORT |
> IAVF_ADV_RSS_HASH_FLD_SCTP_DST_PORT))
> strcat(hash_opt, "dst port,");
> + if (hash_flds & (IAVF_ADV_RSS_HASH_FLD_GTPC_TEID | IAVF_ADV_RSS_HASH_FLD_GTPC_TEID))
nit: Perhaps this is an artifact of development.
But IAVF_ADV_RSS_HASH_FLD_GTPC_TEID seems to repeated on
the line above without effect.
Flagged by Coccinelle.
> + strcat(hash_opt, "gtp-c,");
> + if (hash_flds & IAVF_ADV_RSS_HASH_FLD_GTPU_IP_TEID)
> + strcat(hash_opt, "gtp-u ip,");
> + if (hash_flds & IAVF_ADV_RSS_HASH_FLD_GTPU_EH_TEID)
> + strcat(hash_opt, "gtp-u ext,");
> + if (hash_flds & IAVF_ADV_RSS_HASH_FLD_GTPU_UP_TEID)
> + strcat(hash_opt, "gtp-u ul,");
> + if (hash_flds & IAVF_ADV_RSS_HASH_FLD_GTPU_DWN_TEID)
> + strcat(hash_opt, "gtp-u dl,");
>
> if (!action)
> action = "";
...
Powered by blists - more mailing lists