From: Shaiq Wani <shaiq.wani@intel.com>
To: dev@dpdk.org, bruce.richardson@intel.com, aman.deep.singh@intel.com
Cc: Song Jiale <songx.jiale@intel.com>
Subject: [PATCH v4 6/7] net/ice: add L2TPv2 RSS hash support
Date: Tue, 26 Aug 2025 21:57:03 +0530 [thread overview]
Message-ID: <20250826162704.4636-7-shaiq.wani@intel.com> (raw)
In-Reply-To: <20250826162704.4636-1-shaiq.wani@intel.com>
Add RSS (Receive Side Scaling) hash support for L2TPv2 packets.
define hash templates and patterns for distributing L2TPv2 traffic
across multiple receive queues based on session IDs and inner headers.
Signed-off-by: Shaiq Wani <shaiq.wani@intel.com>
Tested-by: Song Jiale <songx.jiale@intel.com>
---
drivers/net/intel/ice/ice_hash.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/net/intel/ice/ice_hash.c b/drivers/net/intel/ice/ice_hash.c
index afdc8f220a..b20103a452 100644
--- a/drivers/net/intel/ice/ice_hash.c
+++ b/drivers/net/intel/ice/ice_hash.c
@@ -305,6 +305,22 @@ struct ice_rss_hash_cfg eth_ipv4_l2tpv3_tmplt = {
0
};
+struct ice_rss_hash_cfg eth_ipv4_l2tpv2_tmplt = {
+ ICE_FLOW_SEG_HDR_IPV4 | ICE_FLOW_SEG_HDR_IPV_OTHER |
+ ICE_FLOW_SEG_HDR_L2TPV2,
+ ICE_FLOW_HASH_L2TPV2_SESS_ID,
+ ICE_RSS_OUTER_HEADERS,
+ 0
+};
+
+struct ice_rss_hash_cfg eth_ipv6_l2tpv2_tmplt = {
+ ICE_FLOW_SEG_HDR_IPV6 | ICE_FLOW_SEG_HDR_IPV_OTHER |
+ ICE_FLOW_SEG_HDR_L2TPV2,
+ ICE_FLOW_HASH_L2TPV2_SESS_ID,
+ ICE_RSS_OUTER_HEADERS,
+ 0
+};
+
struct ice_rss_hash_cfg eth_ipv4_pfcp_tmplt = {
ICE_FLOW_SEG_HDR_IPV4 | ICE_FLOW_SEG_HDR_IPV_OTHER |
ICE_FLOW_SEG_HDR_PFCP_SESSION,
@@ -480,6 +496,8 @@ struct ice_rss_hash_cfg eth_tmplt = {
#define ICE_RSS_TYPE_IPV6_AH (RTE_ETH_RSS_AH | RTE_ETH_RSS_IPV6)
#define ICE_RSS_TYPE_IPV4_L2TPV3 (RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_IPV4)
#define ICE_RSS_TYPE_IPV6_L2TPV3 (RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_IPV6)
+#define ICE_RSS_TYPE_IPV4_L2TPV2 (RTE_ETH_RSS_L2TPV2 | RTE_ETH_RSS_IPV4)
+#define ICE_RSS_TYPE_IPV6_L2TPV2 (RTE_ETH_RSS_L2TPV2 | RTE_ETH_RSS_IPV6)
#define ICE_RSS_TYPE_IPV4_PFCP (RTE_ETH_RSS_PFCP | RTE_ETH_RSS_IPV4)
#define ICE_RSS_TYPE_IPV6_PFCP (RTE_ETH_RSS_PFCP | RTE_ETH_RSS_IPV6)
@@ -522,6 +540,8 @@ static struct ice_pattern_match_item ice_hash_pattern_list[] = {
{pattern_eth_ipv4_udp_esp, ICE_RSS_TYPE_IPV4_ESP, ICE_INSET_NONE, ð_ipv4_udp_esp_tmplt},
{pattern_eth_ipv4_ah, ICE_RSS_TYPE_IPV4_AH, ICE_INSET_NONE, ð_ipv4_ah_tmplt},
{pattern_eth_ipv4_l2tp, ICE_RSS_TYPE_IPV4_L2TPV3, ICE_INSET_NONE, ð_ipv4_l2tpv3_tmplt},
+ {pattern_eth_ipv4_l2tpv2, ICE_RSS_TYPE_IPV4_L2TPV2, ICE_INSET_NONE, ð_ipv4_l2tpv2_tmplt},
+ {pattern_eth_ipv6_l2tpv2, ICE_RSS_TYPE_IPV6_L2TPV2, ICE_INSET_NONE, ð_ipv6_l2tpv2_tmplt},
{pattern_eth_ipv4_pfcp, ICE_RSS_TYPE_IPV4_PFCP, ICE_INSET_NONE, ð_ipv4_pfcp_tmplt},
/* IPV6 */
{pattern_eth_ipv6, ICE_RSS_TYPE_ETH_IPV6, ICE_INSET_NONE, &ipv6_tmplt},
@@ -925,6 +945,11 @@ ice_refine_hash_cfg_l234(struct ice_rss_hash_cfg *hash_cfg,
*hash_flds &= ~ICE_FLOW_HASH_L2TPV3_SESS_ID;
}
+ if (*addl_hdrs & ICE_FLOW_SEG_HDR_L2TPV2) {
+ if (!(rss_type & RTE_ETH_RSS_L2TPV2))
+ *hash_flds &= ~ICE_FLOW_HASH_L2TPV2_SESS_ID;
+ }
+
if (*addl_hdrs & ICE_FLOW_SEG_HDR_ESP) {
if (!(rss_type & RTE_ETH_RSS_ESP))
*hash_flds &= ~ICE_FLOW_HASH_ESP_SPI;
--
2.34.1
next prev parent reply other threads:[~2026-02-12 4:53 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-02 9:42 [PATCH 0/6] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2025-08-26 16:26 ` [PATCH v3 0/7] " Shaiq Wani
2025-08-26 16:26 ` [PATCH v4 1/7] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2025-08-26 16:26 ` [PATCH v4 2/7] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2025-08-26 16:27 ` [PATCH v4 3/7] net/ice: add L2TPv2 protocol and field definitions Shaiq Wani
2025-08-26 16:27 ` [PATCH v4 4/7] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
2025-08-26 16:27 ` [PATCH v4 5/7] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2025-08-26 16:27 ` Shaiq Wani [this message]
2025-08-26 16:27 ` [PATCH v4 7/7] doc: update release notes Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 0/7] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 1/7] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 2/7] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 3/7] net/ice: add L2TPv2 protocol and field definitions Shaiq Wani
2026-02-17 17:09 ` Bruce Richardson
2025-08-26 17:05 ` [PATCH v5 4/7] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 5/7] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 6/7] net/ice: add L2TPv2 RSS hash support Shaiq Wani
2025-08-26 17:05 ` [PATCH v5 7/7] doc: update release notes Shaiq Wani
2026-02-02 9:42 ` [PATCH 1/6] net/ice: add L2TPv2 and PPP data structures Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 0/8] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 1/8] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 2/8] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 3/8] net/ice: rename protocol identifiers Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 4/8] net/ice: add L2TPv2 protocol support Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 5/8] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 6/8] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 7/8] net/ice: add L2TPv2 RSS hash support Shaiq Wani
2026-02-18 16:37 ` [PATCH v6 8/8] doc: update release notes Shaiq Wani
2026-02-19 11:20 ` [PATCH v7 0/7] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2026-02-19 11:20 ` [PATCH v7 1/7] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2026-02-19 11:20 ` [PATCH v7 2/7] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2026-02-19 11:20 ` [PATCH v7 3/7] net/ice: rename protocol identifiers Shaiq Wani
2026-02-19 11:21 ` [PATCH v7 4/7] net/ice: add L2TPv2 protocol support Shaiq Wani
2026-02-19 11:21 ` [PATCH v7 5/7] net/ice: add L2TPv2 flow pattern matching support Shaiq Wani
2026-02-19 11:21 ` [PATCH v7 6/7] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2026-02-19 11:21 ` [PATCH v7 7/7] net/ice: add L2TPv2 RSS hash support Shaiq Wani
2026-02-19 16:52 ` [PATCH v7 0/7] Add support for L2TPV2 over UDP to ICE PMD Bruce Richardson
2026-02-02 9:42 ` [PATCH 2/6] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2026-02-02 9:42 ` [PATCH 3/6] net/ice: add L2TPv2 protocol and field definitions Shaiq Wani
2026-02-02 9:42 ` [PATCH 4/6] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
2026-02-02 9:42 ` [PATCH 5/6] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2026-02-02 9:42 ` [PATCH 6/6] net/ice: add L2TPv2 RSS hash support Shaiq Wani
2026-02-02 17:39 ` [REVIEW] " Stephen Hemminger
2026-02-09 11:56 ` [PATCH v2 0/7] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 1/7] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 2/7] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 3/7] net/ice: add L2TPv2 protocol and field definitions Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 4/7] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 5/7] net/ice: add L2TPv2 hardware packet generation Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 6/7] net/ice: add L2TPv2 RSS hash support Shaiq Wani
2026-02-09 11:56 ` [PATCH v2 7/7] doc: update release notes Shaiq Wani
2026-02-11 6:09 ` [PATCH v3 0/7] Add support for L2TPV2 over UDP to ICE PMD Shaiq Wani
2026-02-11 6:09 ` [PATCH v3 1/7] net/ice: add L2TPv2 PPP and PPoE data structures Shaiq Wani
2026-02-11 6:09 ` [PATCH v3 2/7] net/ice: add L2TPv2 tunnel type definition Shaiq Wani
2026-02-11 6:09 ` [PATCH v3 3/7] net/ice: add L2TPv2 protocol and field definitions Shaiq Wani
2026-02-11 6:09 ` [PATCH v3 4/7] net/ice: add L2TPv2 flow patterns and FDIR support Shaiq Wani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250826162704.4636-7-shaiq.wani@intel.com \
--to=shaiq.wani@intel.com \
--cc=aman.deep.singh@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=songx.jiale@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox