* [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).