* [PATCH] ethdev: support RSS based on RoCEv2 header
@ 2025-04-22 5:14 kirankumark
2025-04-23 0:06 ` Thomas Monjalon
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: kirankumark @ 2025-04-22 5:14 UTC (permalink / raw)
To: Aman Singh, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko
Cc: dev, Kiran Kumar K
From: Kiran Kumar K <kirankumark@marvell.com>
On supporting hardware, RoCEv2 header can be used to
perform RSS in the ingress path.
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
app/test-pmd/config.c | 4 +++-
lib/ethdev/rte_ethdev.h | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index e89af21cec..b6c7f032b0 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -92,7 +92,8 @@ const struct rss_type_info rss_type_table[] = {
{ "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
- RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2},
+ RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2 |
+ RTE_ETH_RSS_ROCEV2},
{ "none", 0 },
{ "ip", RTE_ETH_RSS_IP },
{ "udp", RTE_ETH_RSS_UDP },
@@ -149,6 +150,7 @@ const struct rss_type_info rss_type_table[] = {
{ "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
{ "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
{ "ipv6-flow-label", RTE_ETH_RSS_IPV6_FLOW_LABEL },
+ { "rocev2", RTE_ETH_RSS_ROCEV2},
{ NULL, 0},
};
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index ea7f8c4a1a..e29a3c876d 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -602,6 +602,7 @@ struct rte_eth_rss_conf {
#define RTE_ETH_RSS_L2TPV2 RTE_BIT64(36)
#define RTE_ETH_RSS_IPV6_FLOW_LABEL RTE_BIT64(37)
+#define RTE_ETH_RSS_ROCEV2 RTE_BIT64(38)
/*
* We use the following macros to combine with above RTE_ETH_RSS_* for
--
2.48.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ethdev: support RSS based on RoCEv2 header
2025-04-22 5:14 [PATCH] ethdev: support RSS based on RoCEv2 header kirankumark
@ 2025-04-23 0:06 ` Thomas Monjalon
2025-04-23 17:30 ` Stephen Hemminger
2025-04-29 9:52 ` [PATCH v2 1/2] " kirankumark
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2025-04-23 0:06 UTC (permalink / raw)
To: Kiran Kumar K
Cc: Aman Singh, Ferruh Yigit, Andrew Rybchenko, dev,
Dariusz Sosnowski, Ori Kam
22/04/2025 07:14, kirankumark@marvell.com:
> From: Kiran Kumar K <kirankumark@marvell.com>
>
> On supporting hardware, RoCEv2 header can be used to
> perform RSS in the ingress path.
Do you mean IB BTH?
It would be good to adopt a unique name between RSS and flow matching:
RTE_FLOW_ITEM_TYPE_IB_BTH
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ethdev: support RSS based on RoCEv2 header
2025-04-22 5:14 [PATCH] ethdev: support RSS based on RoCEv2 header kirankumark
2025-04-23 0:06 ` Thomas Monjalon
@ 2025-04-23 17:30 ` Stephen Hemminger
2025-04-29 9:52 ` [PATCH v2 1/2] " kirankumark
2 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2025-04-23 17:30 UTC (permalink / raw)
To: kirankumark
Cc: Aman Singh, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko, dev
On Tue, 22 Apr 2025 10:44:59 +0530
<kirankumark@marvell.com> wrote:
> From: <kirankumark@marvell.com>
> To: Aman Singh <aman.deep.singh@intel.com>, Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@amd.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> CC: <dev@dpdk.org>, Kiran Kumar K <kirankumark@marvell.com>
> Subject: [PATCH] ethdev: support RSS based on RoCEv2 header
> Date: Tue, 22 Apr 2025 10:44:59 +0530
> X-Mailer: git-send-email 2.48.1
>
> From: Kiran Kumar K <kirankumark@marvell.com>
>
> On supporting hardware, RoCEv2 header can be used to
> perform RSS in the ingress path.
>
> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
> ---
Please make this patch part of a series with hardware support on some device.
Not going to add it unless at least one in tree PMD supports it.
Also, you need to add a release note for this, and include documentation for the
device in question.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] ethdev: support RSS based on RoCEv2 header
2025-04-22 5:14 [PATCH] ethdev: support RSS based on RoCEv2 header kirankumark
2025-04-23 0:06 ` Thomas Monjalon
2025-04-23 17:30 ` Stephen Hemminger
@ 2025-04-29 9:52 ` kirankumark
2025-04-29 9:52 ` [PATCH v2 2/2] drivers: add support for IB_BTH header for RSS in cnxk device kirankumark
2025-04-29 15:06 ` [PATCH v2 1/2] ethdev: support RSS based on RoCEv2 header Stephen Hemminger
2 siblings, 2 replies; 6+ messages in thread
From: kirankumark @ 2025-04-29 9:52 UTC (permalink / raw)
To: Aman Singh, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko
Cc: dev, Kiran Kumar K
From: Kiran Kumar K <kirankumark@marvell.com>
On supporting hardware, RoCEv2 header can be used to
perform RSS in the ingress path.
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
app/test-pmd/config.c | 120 +++++++++++++------------
doc/guides/rel_notes/release_25_07.rst | 32 +------
lib/ethdev/rte_ethdev.h | 1 +
3 files changed, 65 insertions(+), 88 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index e89af21cec..444e4b0388 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -89,67 +89,69 @@ static const struct {
const struct rss_type_info rss_type_table[] = {
/* Group types */
- { "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
- RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
- RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
- RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2},
- { "none", 0 },
- { "ip", RTE_ETH_RSS_IP },
- { "udp", RTE_ETH_RSS_UDP },
- { "tcp", RTE_ETH_RSS_TCP },
- { "sctp", RTE_ETH_RSS_SCTP },
- { "tunnel", RTE_ETH_RSS_TUNNEL },
- { "vlan", RTE_ETH_RSS_VLAN },
+ {"all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
+ RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
+ RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
+ RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS |
+ RTE_ETH_RSS_L2TPV2 | RTE_ETH_RSS_IB_BTH},
+ {"none", 0},
+ {"ip", RTE_ETH_RSS_IP},
+ {"udp", RTE_ETH_RSS_UDP},
+ {"tcp", RTE_ETH_RSS_TCP},
+ {"sctp", RTE_ETH_RSS_SCTP},
+ {"tunnel", RTE_ETH_RSS_TUNNEL},
+ {"vlan", RTE_ETH_RSS_VLAN},
/* Individual type */
- { "ipv4", RTE_ETH_RSS_IPV4 },
- { "ipv4-frag", RTE_ETH_RSS_FRAG_IPV4 },
- { "ipv4-tcp", RTE_ETH_RSS_NONFRAG_IPV4_TCP },
- { "ipv4-udp", RTE_ETH_RSS_NONFRAG_IPV4_UDP },
- { "ipv4-sctp", RTE_ETH_RSS_NONFRAG_IPV4_SCTP },
- { "ipv4-other", RTE_ETH_RSS_NONFRAG_IPV4_OTHER },
- { "ipv6", RTE_ETH_RSS_IPV6 },
- { "ipv6-frag", RTE_ETH_RSS_FRAG_IPV6 },
- { "ipv6-tcp", RTE_ETH_RSS_NONFRAG_IPV6_TCP },
- { "ipv6-udp", RTE_ETH_RSS_NONFRAG_IPV6_UDP },
- { "ipv6-sctp", RTE_ETH_RSS_NONFRAG_IPV6_SCTP },
- { "ipv6-other", RTE_ETH_RSS_NONFRAG_IPV6_OTHER },
- { "l2-payload", RTE_ETH_RSS_L2_PAYLOAD },
- { "ipv6-ex", RTE_ETH_RSS_IPV6_EX },
- { "ipv6-tcp-ex", RTE_ETH_RSS_IPV6_TCP_EX },
- { "ipv6-udp-ex", RTE_ETH_RSS_IPV6_UDP_EX },
- { "port", RTE_ETH_RSS_PORT },
- { "vxlan", RTE_ETH_RSS_VXLAN },
- { "geneve", RTE_ETH_RSS_GENEVE },
- { "nvgre", RTE_ETH_RSS_NVGRE },
- { "gtpu", RTE_ETH_RSS_GTPU },
- { "eth", RTE_ETH_RSS_ETH },
- { "s-vlan", RTE_ETH_RSS_S_VLAN },
- { "c-vlan", RTE_ETH_RSS_C_VLAN },
- { "esp", RTE_ETH_RSS_ESP },
- { "ah", RTE_ETH_RSS_AH },
- { "l2tpv3", RTE_ETH_RSS_L2TPV3 },
- { "pfcp", RTE_ETH_RSS_PFCP },
- { "pppoe", RTE_ETH_RSS_PPPOE },
- { "ecpri", RTE_ETH_RSS_ECPRI },
- { "mpls", RTE_ETH_RSS_MPLS },
- { "ipv4-chksum", RTE_ETH_RSS_IPV4_CHKSUM },
- { "l4-chksum", RTE_ETH_RSS_L4_CHKSUM },
- { "l2tpv2", RTE_ETH_RSS_L2TPV2 },
- { "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
- { "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
- { "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
- { "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
- { "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
- { "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
- { "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
- { "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
- { "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
- { "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
- { "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
- { "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
- { "ipv6-flow-label", RTE_ETH_RSS_IPV6_FLOW_LABEL },
- { NULL, 0},
+ {"ipv4", RTE_ETH_RSS_IPV4},
+ {"ipv4-frag", RTE_ETH_RSS_FRAG_IPV4},
+ {"ipv4-tcp", RTE_ETH_RSS_NONFRAG_IPV4_TCP},
+ {"ipv4-udp", RTE_ETH_RSS_NONFRAG_IPV4_UDP},
+ {"ipv4-sctp", RTE_ETH_RSS_NONFRAG_IPV4_SCTP},
+ {"ipv4-other", RTE_ETH_RSS_NONFRAG_IPV4_OTHER},
+ {"ipv6", RTE_ETH_RSS_IPV6},
+ {"ipv6-frag", RTE_ETH_RSS_FRAG_IPV6},
+ {"ipv6-tcp", RTE_ETH_RSS_NONFRAG_IPV6_TCP},
+ {"ipv6-udp", RTE_ETH_RSS_NONFRAG_IPV6_UDP},
+ {"ipv6-sctp", RTE_ETH_RSS_NONFRAG_IPV6_SCTP},
+ {"ipv6-other", RTE_ETH_RSS_NONFRAG_IPV6_OTHER},
+ {"l2-payload", RTE_ETH_RSS_L2_PAYLOAD},
+ {"ipv6-ex", RTE_ETH_RSS_IPV6_EX},
+ {"ipv6-tcp-ex", RTE_ETH_RSS_IPV6_TCP_EX},
+ {"ipv6-udp-ex", RTE_ETH_RSS_IPV6_UDP_EX},
+ {"port", RTE_ETH_RSS_PORT},
+ {"vxlan", RTE_ETH_RSS_VXLAN},
+ {"geneve", RTE_ETH_RSS_GENEVE},
+ {"nvgre", RTE_ETH_RSS_NVGRE},
+ {"gtpu", RTE_ETH_RSS_GTPU},
+ {"eth", RTE_ETH_RSS_ETH},
+ {"s-vlan", RTE_ETH_RSS_S_VLAN},
+ {"c-vlan", RTE_ETH_RSS_C_VLAN},
+ {"esp", RTE_ETH_RSS_ESP},
+ {"ah", RTE_ETH_RSS_AH},
+ {"l2tpv3", RTE_ETH_RSS_L2TPV3},
+ {"pfcp", RTE_ETH_RSS_PFCP},
+ {"pppoe", RTE_ETH_RSS_PPPOE},
+ {"ecpri", RTE_ETH_RSS_ECPRI},
+ {"mpls", RTE_ETH_RSS_MPLS},
+ {"ipv4-chksum", RTE_ETH_RSS_IPV4_CHKSUM},
+ {"l4-chksum", RTE_ETH_RSS_L4_CHKSUM},
+ {"l2tpv2", RTE_ETH_RSS_L2TPV2},
+ {"l3-pre96", RTE_ETH_RSS_L3_PRE96},
+ {"l3-pre64", RTE_ETH_RSS_L3_PRE64},
+ {"l3-pre56", RTE_ETH_RSS_L3_PRE56},
+ {"l3-pre48", RTE_ETH_RSS_L3_PRE48},
+ {"l3-pre40", RTE_ETH_RSS_L3_PRE40},
+ {"l3-pre32", RTE_ETH_RSS_L3_PRE32},
+ {"l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY},
+ {"l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY},
+ {"l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY},
+ {"l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY},
+ {"l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY},
+ {"l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY},
+ {"ipv6-flow-label", RTE_ETH_RSS_IPV6_FLOW_LABEL},
+ {"ib_bth", RTE_ETH_RSS_IB_BTH},
+ {NULL, 0},
};
static const struct {
diff --git a/doc/guides/rel_notes/release_25_07.rst b/doc/guides/rel_notes/release_25_07.rst
index 093b85d206..1b8ba5ab90 100644
--- a/doc/guides/rel_notes/release_25_07.rst
+++ b/doc/guides/rel_notes/release_25_07.rst
@@ -24,36 +24,10 @@ DPDK Release 25.07
New Features
------------
-.. This section should contain new features added in this release.
- Sample format:
+* **Added new RSS offload types for IB_BTH in RSS flow.**
- * **Add a title in the past tense with a full stop.**
-
- Add a short 1-2 sentence description in the past tense.
- The description should be enough to allow someone scanning
- the release notes to understand the new feature.
-
- If the feature adds a lot of sub-features you can use a bullet list
- like this:
-
- * Added feature foo to do something.
- * Enhanced feature bar to do something else.
-
- Refer to the previous release notes for examples.
-
- Suggested order in release notes items:
- * Core libs (EAL, mempool, ring, mbuf, buses)
- * Device abstraction libs and PMDs (ordered alphabetically by vendor name)
- - ethdev (lib, PMDs)
- - cryptodev (lib, PMDs)
- - eventdev (lib, PMDs)
- - etc
- * Other libs
- * Apps, Examples, Tools (if significant)
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
+ Added ``RTE_ETH_RSS_IB_BTH`` macro so that the IB BTH header can be used as
+ input set for RSS.
Removed Items
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index ea7f8c4a1a..3f5317c489 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -602,6 +602,7 @@ struct rte_eth_rss_conf {
#define RTE_ETH_RSS_L2TPV2 RTE_BIT64(36)
#define RTE_ETH_RSS_IPV6_FLOW_LABEL RTE_BIT64(37)
+#define RTE_ETH_RSS_IB_BTH RTE_BIT64(38)
/*
* We use the following macros to combine with above RTE_ETH_RSS_* for
--
2.48.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] drivers: add support for IB_BTH header for RSS in cnxk device
2025-04-29 9:52 ` [PATCH v2 1/2] " kirankumark
@ 2025-04-29 9:52 ` kirankumark
2025-04-29 15:06 ` [PATCH v2 1/2] ethdev: support RSS based on RoCEv2 header Stephen Hemminger
1 sibling, 0 replies; 6+ messages in thread
From: kirankumark @ 2025-04-29 9:52 UTC (permalink / raw)
To: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
Harman Kalra
Cc: dev
From: Kiran Kumar K <kirankumark@marvell.com>
Adding support for IB_BTH header for RSS in cnxk device.
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
drivers/common/cnxk/roc_mbox.h | 1 +
drivers/net/cnxk/cnxk_ethdev.c | 3 +++
drivers/net/cnxk/cnxk_ethdev.h | 2 +-
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/common/cnxk/roc_mbox.h b/drivers/common/cnxk/roc_mbox.h
index a82d120d1d..030556c8dc 100644
--- a/drivers/common/cnxk/roc_mbox.h
+++ b/drivers/common/cnxk/roc_mbox.h
@@ -1777,6 +1777,7 @@ struct nix_rss_flowkey_cfg {
#define FLOW_KEY_TYPE_CH_LEN_90B BIT(18)
#define FLOW_KEY_TYPE_CUSTOM0 BIT(19)
#define FLOW_KEY_TYPE_VLAN BIT(20)
+#define FLOW_KEY_TYPE_ROCEV2 BIT(24)
#define FLOW_KEY_TYPE_L4_DST BIT(28)
#define FLOW_KEY_TYPE_L4_SRC BIT(29)
#define FLOW_KEY_TYPE_L3_DST BIT(30)
diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index 026c61f2c7..9500e92172 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -939,6 +939,9 @@ cnxk_rss_ethdev_to_nix(struct cnxk_eth_dev *dev, uint64_t ethdev_rss,
if (ethdev_rss & RTE_ETH_RSS_GTPU)
flowkey_cfg |= FLOW_KEY_TYPE_GTPU;
+ if (ethdev_rss & RTE_ETH_RSS_IB_BTH)
+ flowkey_cfg |= FLOW_KEY_TYPE_ROCEV2;
+
return flowkey_cfg;
}
diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h
index daf80be51b..4f9802c5fa 100644
--- a/drivers/net/cnxk/cnxk_ethdev.h
+++ b/drivers/net/cnxk/cnxk_ethdev.h
@@ -59,7 +59,7 @@
(RTE_ETH_RSS_PORT | RTE_ETH_RSS_IP | RTE_ETH_RSS_UDP | \
RTE_ETH_RSS_TCP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_TUNNEL | \
RTE_ETH_RSS_L2_PAYLOAD | CNXK_NIX_RSS_L3_L4_SRC_DST | \
- RTE_ETH_RSS_LEVEL_MASK | RTE_ETH_RSS_C_VLAN)
+ RTE_ETH_RSS_LEVEL_MASK | RTE_ETH_RSS_C_VLAN | RTE_ETH_RSS_IB_BTH)
#define CNXK_NIX_TX_OFFLOAD_CAPA \
(RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE | RTE_ETH_TX_OFFLOAD_MT_LOCKFREE | \
--
2.48.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] ethdev: support RSS based on RoCEv2 header
2025-04-29 9:52 ` [PATCH v2 1/2] " kirankumark
2025-04-29 9:52 ` [PATCH v2 2/2] drivers: add support for IB_BTH header for RSS in cnxk device kirankumark
@ 2025-04-29 15:06 ` Stephen Hemminger
1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2025-04-29 15:06 UTC (permalink / raw)
To: kirankumark
Cc: Aman Singh, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko, dev
On Tue, 29 Apr 2025 15:22:41 +0530
<kirankumark@marvell.com> wrote:
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index e89af21cec..444e4b0388 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -89,67 +89,69 @@ static const struct {
>
> const struct rss_type_info rss_type_table[] = {
> /* Group types */
> - { "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
> - RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
> - RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
> - RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2},
> - { "none", 0 },
> - { "ip", RTE_ETH_RSS_IP },
> - { "udp", RTE_ETH_RSS_UDP },
> - { "tcp", RTE_ETH_RSS_TCP },
> - { "sctp", RTE_ETH_RSS_SCTP },
> - { "tunnel", RTE_ETH_RSS_TUNNEL },
> - { "vlan", RTE_ETH_RSS_VLAN },
> + {"all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
> + RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
> + RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
> + RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS |
> + RTE_ETH_RSS_L2TPV2 | RTE_ETH_RSS_IB_BTH},
> + {"none", 0},
> + {"ip", RTE_ETH_RSS_IP},
> + {"udp", RTE_ETH_RSS_UDP},
> + {"tcp", RTE_ETH_RSS_TCP},
> + {"sctp", RTE_ETH_RSS_SCTP},
> + {"tunnel", RTE_ETH_RSS_TUNNEL},
> + {"vlan", RTE_ETH_RSS_VLAN},
Why so many changes here. the format was better before with space after the {.
> diff --git a/doc/guides/rel_notes/release_25_07.rst b/doc/guides/rel_notes/release_25_07.rst
> index 093b85d206..1b8ba5ab90 100644
> --- a/doc/guides/rel_notes/release_25_07.rst
> +++ b/doc/guides/rel_notes/release_25_07.rst
> @@ -24,36 +24,10 @@ DPDK Release 25.07
> New Features
> ------------
>
> -.. This section should contain new features added in this release.
> - Sample format:
> +* **Added new RSS offload types for IB_BTH in RSS flow.**
>
> - * **Add a title in the past tense with a full stop.**
> -
> - Add a short 1-2 sentence description in the past tense.
> - The description should be enough to allow someone scanning
> - the release notes to understand the new feature.
> -
> - If the feature adds a lot of sub-features you can use a bullet list
> - like this:
> -
> - * Added feature foo to do something.
> - * Enhanced feature bar to do something else.
> -
> - Refer to the previous release notes for examples.
> -
> - Suggested order in release notes items:
> - * Core libs (EAL, mempool, ring, mbuf, buses)
> - * Device abstraction libs and PMDs (ordered alphabetically by vendor name)
> - - ethdev (lib, PMDs)
> - - cryptodev (lib, PMDs)
> - - eventdev (lib, PMDs)
> - - etc
> - * Other libs
> - * Apps, Examples, Tools (if significant)
> -
> - This section is a comment. Do not overwrite or remove it.
> - Also, make sure to start the actual text at the margin.
> - =======================================================
> + Added ``RTE_ETH_RSS_IB_BTH`` macro so that the IB BTH header can be used as
> + input set for RSS.
The current practice in DPDK is to leave the release note template stuff in place
until the final steps of the release process.
Also could be one line description.
> diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
> index ea7f8c4a1a..3f5317c489 100644
> --- a/lib/ethdev/rte_ethdev.h
> +++ b/lib/ethdev/rte_ethdev.h
> @@ -602,6 +602,7 @@ struct rte_eth_rss_conf {
>
> #define RTE_ETH_RSS_L2TPV2 RTE_BIT64(36)
> #define RTE_ETH_RSS_IPV6_FLOW_LABEL RTE_BIT64(37)
> +#define RTE_ETH_RSS_IB_BTH RTE_BIT64(38)
Since other related RSS options are indented with spaces, this should be as well.
The golden rules of patches: change as little as possible, and make the new
code look code look the same as the original.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-04-29 15:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-22 5:14 [PATCH] ethdev: support RSS based on RoCEv2 header kirankumark
2025-04-23 0:06 ` Thomas Monjalon
2025-04-23 17:30 ` Stephen Hemminger
2025-04-29 9:52 ` [PATCH v2 1/2] " kirankumark
2025-04-29 9:52 ` [PATCH v2 2/2] drivers: add support for IB_BTH header for RSS in cnxk device kirankumark
2025-04-29 15:06 ` [PATCH v2 1/2] ethdev: support RSS based on RoCEv2 header Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).