* [PATCH] doc: deprecation notice to add new hash function @ 2023-05-24 11:38 Xueming Li 2023-05-24 12:50 ` Ori Kam ` (2 more replies) 0 siblings, 3 replies; 23+ messages in thread From: Xueming Li @ 2023-05-24 11:38 UTC (permalink / raw) To: Ori Kam; +Cc: xuemingl, dev, stable Deprecation notice to annouce new RSS hash function type. The new symmetric hash function sort L3 address and L4 ports before Toeplitz calculation. Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- doc/guides/rel_notes/deprecation.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index dcc1ca1696..fc988c3bfe 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -163,3 +163,7 @@ Deprecation Notices The new port library API (functions rte_swx_port_*) will gradually transition from experimental to stable status starting with DPDK 23.07 release. + +* ethdev: The enum ``rte_eth_hash_function`` will be extended to add + new subtype value ``RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT`` in + DPDK 23.11. -- 2.25.1 ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH] doc: deprecation notice to add new hash function 2023-05-24 11:38 [PATCH] doc: deprecation notice to add new hash function Xueming Li @ 2023-05-24 12:50 ` Ori Kam 2023-05-24 14:49 ` Stephen Hemminger 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li 2 siblings, 0 replies; 23+ messages in thread From: Ori Kam @ 2023-05-24 12:50 UTC (permalink / raw) To: Xueming(Steven) Li; +Cc: dev, stable Hi Xueming, > -----Original Message----- > From: Xueming(Steven) Li <xuemingl@nvidia.com> > Sent: Wednesday, May 24, 2023 2:38 PM > > Deprecation notice to annouce new RSS hash function type. > The new symmetric hash function sort L3 address and L4 ports > before Toeplitz calculation. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- > doc/guides/rel_notes/deprecation.rst | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/doc/guides/rel_notes/deprecation.rst > b/doc/guides/rel_notes/deprecation.rst > index dcc1ca1696..fc988c3bfe 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -163,3 +163,7 @@ Deprecation Notices > The new port library API (functions rte_swx_port_*) > will gradually transition from experimental to stable status > starting with DPDK 23.07 release. > + > +* ethdev: The enum ``rte_eth_hash_function`` will be extended to add > + new subtype value > ``RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT`` in > + DPDK 23.11. > -- > 2.25.1 Acked-by: Ori Kam <orika@nvidia.com> Best, Ori ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] doc: deprecation notice to add new hash function 2023-05-24 11:38 [PATCH] doc: deprecation notice to add new hash function Xueming Li 2023-05-24 12:50 ` Ori Kam @ 2023-05-24 14:49 ` Stephen Hemminger 2023-07-28 15:10 ` Thomas Monjalon 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li 2 siblings, 1 reply; 23+ messages in thread From: Stephen Hemminger @ 2023-05-24 14:49 UTC (permalink / raw) To: Xueming Li; +Cc: Ori Kam, dev, stable On Wed, 24 May 2023 19:38:27 +0800 Xueming Li <xuemingl@nvidia.com> wrote: > + > +* ethdev: The enum ``rte_eth_hash_function`` will be extended to add > + new subtype value ``RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT`` in > + DPDK 23.11. Simple new additions like this don't need to clutter the deprecation part of the release notes. This is for changes which would break applications. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] doc: deprecation notice to add new hash function 2023-05-24 14:49 ` Stephen Hemminger @ 2023-07-28 15:10 ` Thomas Monjalon 0 siblings, 0 replies; 23+ messages in thread From: Thomas Monjalon @ 2023-07-28 15:10 UTC (permalink / raw) To: Xueming Li, Stephen Hemminger; +Cc: dev, Ori Kam 24/05/2023 16:49, Stephen Hemminger: > On Wed, 24 May 2023 19:38:27 +0800 > Xueming Li <xuemingl@nvidia.com> wrote: > > > + > > +* ethdev: The enum ``rte_eth_hash_function`` will be extended to add > > + new subtype value ``RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT`` in > > + DPDK 23.11. > > Simple new additions like this don't need to clutter the deprecation > part of the release notes. This is for changes which would break applications. Marking this patch as superseded. My patch is mentioning such case: adding an enum field. https://patches.dpdk.org/project/dpdk/patch/20230728142946.1201459-1-thomas@monjalon.net/ ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH] ethdev: add new symmetric hash function 2023-05-24 11:38 [PATCH] doc: deprecation notice to add new hash function Xueming Li 2023-05-24 12:50 ` Ori Kam 2023-05-24 14:49 ` Stephen Hemminger @ 2023-08-07 11:54 ` Xueming Li 2023-08-07 12:33 ` Ori Kam ` (3 more replies) 2 siblings, 4 replies; 23+ messages in thread From: Xueming Li @ 2023-08-07 11:54 UTC (permalink / raw) To: Ori Kam; +Cc: dev, xuemingl The new symmetric hash function swap src/dst L3 address and L4 ports automatically by sorting. Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- lib/ethdev/rte_flow.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 86ed98c562..ec6dd170b5 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3204,6 +3204,11 @@ enum rte_eth_hash_function { * src or dst address will xor with zero pair. */ RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, + /** + * Symmetric Toeplitz: src, dst will be swapped + * automatically by sorting. + */ + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, RTE_ETH_HASH_FUNCTION_MAX, }; -- 2.25.1 ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH] ethdev: add new symmetric hash function 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li @ 2023-08-07 12:33 ` Ori Kam 2023-08-07 22:32 ` Ivan Malov ` (2 subsequent siblings) 3 siblings, 0 replies; 23+ messages in thread From: Ori Kam @ 2023-08-07 12:33 UTC (permalink / raw) To: Xueming(Steven) Li; +Cc: dev Hi Xueming, > -----Original Message----- > From: Xueming(Steven) Li <xuemingl@nvidia.com> > Sent: Monday, August 7, 2023 2:55 PM > > The new symmetric hash function swap src/dst L3 address and > L4 ports automatically by sorting. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- Acked-by: Ori Kam <orika@nvidia.com> Best, Ori ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] ethdev: add new symmetric hash function 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li 2023-08-07 12:33 ` Ori Kam @ 2023-08-07 22:32 ` Ivan Malov 2023-08-08 1:43 ` fengchengwen 2023-08-27 8:17 ` [PATCH v2 1/2] " Xueming Li 2023-08-27 8:17 ` [PATCH v2 2/2] net/mlx5: support new RSS " Xueming Li 3 siblings, 1 reply; 23+ messages in thread From: Ivan Malov @ 2023-08-07 22:32 UTC (permalink / raw) To: Xueming Li; +Cc: Ori Kam, dev Hi, Please see my notes below. On Mon, 7 Aug 2023, Xueming Li wrote: > The new symmetric hash function swap src/dst L3 address and > L4 ports automatically by sorting. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- > lib/ethdev/rte_flow.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index 86ed98c562..ec6dd170b5 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3204,6 +3204,11 @@ enum rte_eth_hash_function { > * src or dst address will xor with zero pair. > */ > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > + /** > + * Symmetric Toeplitz: src, dst will be swapped > + * automatically by sorting. This is very vague. Consider: For symmetric Toeplitz, four inputs are prepared as follows: - src_addr | dst_addr - src_addr ^ dst_addr - src_port | dst_port - src_port ^ dst_port and then passed to the regular Toeplitz function. It is important to be as specific as possible so that readers don't have to guess. Thank you. > + */ > + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > RTE_ETH_HASH_FUNCTION_MAX, > }; > > -- > 2.25.1 > > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] ethdev: add new symmetric hash function 2023-08-07 22:32 ` Ivan Malov @ 2023-08-08 1:43 ` fengchengwen 2023-08-09 12:00 ` Xueming(Steven) Li 0 siblings, 1 reply; 23+ messages in thread From: fengchengwen @ 2023-08-08 1:43 UTC (permalink / raw) To: Ivan Malov, Xueming Li; +Cc: Ori Kam, dev On 2023/8/8 6:32, Ivan Malov wrote: > Hi, > > Please see my notes below. > > On Mon, 7 Aug 2023, Xueming Li wrote: > >> The new symmetric hash function swap src/dst L3 address and >> L4 ports automatically by sorting. >> >> Signed-off-by: Xueming Li <xuemingl@nvidia.com> >> --- >> lib/ethdev/rte_flow.h | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h >> index 86ed98c562..ec6dd170b5 100644 >> --- a/lib/ethdev/rte_flow.h >> +++ b/lib/ethdev/rte_flow.h >> @@ -3204,6 +3204,11 @@ enum rte_eth_hash_function { >> * src or dst address will xor with zero pair. >> */ >> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, >> + /** >> + * Symmetric Toeplitz: src, dst will be swapped >> + * automatically by sorting. > > This is very vague. Consider: > > For symmetric Toeplitz, four inputs are prepared as follows: > - src_addr | dst_addr > - src_addr ^ dst_addr > - src_port | dst_port > - src_port ^ dst_port > and then passed to the regular Toeplitz function. > > It is important to be as specific as possible > so that readers don't have to guess. +1 for this, I try to understand and google it, but can't find useful info. Also, how this new algo with src/dst only ? > > Thank you. > >> + */ >> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, >> RTE_ETH_HASH_FUNCTION_MAX, The new value will break the definition of MAX (maybe ABI compatible). but I found only hns3 drivers use RTE_ETH_HASH_FUNCTION_MAX, not sure the application will use it. >> }; >> >> -- >> 2.25.1 >> >> > > . ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH] ethdev: add new symmetric hash function 2023-08-08 1:43 ` fengchengwen @ 2023-08-09 12:00 ` Xueming(Steven) Li 0 siblings, 0 replies; 23+ messages in thread From: Xueming(Steven) Li @ 2023-08-09 12:00 UTC (permalink / raw) To: fengchengwen, Ivan Malov; +Cc: Ori Kam, dev > -----Original Message----- > From: fengchengwen <fengchengwen@huawei.com> > Sent: 8/8/2023 9:43 > To: Ivan Malov <ivan.malov@arknetworks.am>; Xueming(Steven) Li > <xuemingl@nvidia.com> > Cc: Ori Kam <orika@nvidia.com>; dev@dpdk.org > Subject: Re: [PATCH] ethdev: add new symmetric hash function > > On 2023/8/8 6:32, Ivan Malov wrote: > > Hi, > > > > Please see my notes below. > > > > On Mon, 7 Aug 2023, Xueming Li wrote: > > > >> The new symmetric hash function swap src/dst L3 address and > >> L4 ports automatically by sorting. > >> > >> Signed-off-by: Xueming Li <xuemingl@nvidia.com> > >> --- > >> lib/ethdev/rte_flow.h | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index > >> 86ed98c562..ec6dd170b5 100644 > >> --- a/lib/ethdev/rte_flow.h > >> +++ b/lib/ethdev/rte_flow.h > >> @@ -3204,6 +3204,11 @@ enum rte_eth_hash_function { > >> * src or dst address will xor with zero pair. > >> */ > >> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > >> + /** > >> + * Symmetric Toeplitz: src, dst will be swapped > >> + * automatically by sorting. > > > > This is very vague. Consider: > > > > For symmetric Toeplitz, four inputs are prepared as follows: > > - src_addr | dst_addr > > - src_addr ^ dst_addr > > - src_port | dst_port > > - src_port ^ dst_port > > and then passed to the regular Toeplitz function. > > > > It is important to be as specific as possible so that readers don't > > have to guess. > > +1 for this, I try to understand and google it, but can't find useful info. > > Also, how this new algo with src/dst only ? > Thanks for taking care of this. When set the L3 and the L4 fields are sorted prior to the hash function. If src_ip > dst_ip, swap src_ip and dst_ip. If src_port > dst_port, swap src_port and dst_port. > > > > Thank you. > > > >> + */ > >> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > >> RTE_ETH_HASH_FUNCTION_MAX, > > The new value will break the definition of MAX (maybe ABI compatible). > but I found only hns3 drivers use RTE_ETH_HASH_FUNCTION_MAX, not sure > the application will use it. > > >> }; > >> > >> -- > >> 2.25.1 > >> > >> > > > > . ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li 2023-08-07 12:33 ` Ori Kam 2023-08-07 22:32 ` Ivan Malov @ 2023-08-27 8:17 ` Xueming Li 2023-08-30 6:55 ` Ori Kam 2023-08-30 7:50 ` lihuisong (C) 2023-08-27 8:17 ` [PATCH v2 2/2] net/mlx5: support new RSS " Xueming Li 3 siblings, 2 replies; 23+ messages in thread From: Xueming Li @ 2023-08-27 8:17 UTC (permalink / raw) To: Ori Kam; +Cc: xuemingl, dev, fengchengwen, Ivan Malov The new symmetric hash function swap src/dst L3 address and L4 ports automatically by sorting. Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- lib/ethdev/rte_flow.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 2ebb76dbc0..4f4421ca50 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { * src or dst address will xor with zero pair. */ RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, + /** + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to + * the hash function. + * If src_ip > dst_ip, swap src_ip and dst_ip. + * If src_port > dst_port, swap src_port and dst_port. + */ + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, RTE_ETH_HASH_FUNCTION_MAX, }; -- 2.25.1 ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-27 8:17 ` [PATCH v2 1/2] " Xueming Li @ 2023-08-30 6:55 ` Ori Kam 2023-09-21 15:49 ` Ferruh Yigit 2023-08-30 7:50 ` lihuisong (C) 1 sibling, 1 reply; 23+ messages in thread From: Ori Kam @ 2023-08-30 6:55 UTC (permalink / raw) To: Xueming(Steven) Li; +Cc: dev, fengchengwen, Ivan Malov Hi Xueming, > -----Original Message----- > From: Xueming(Steven) Li <xuemingl@nvidia.com> > Sent: Sunday, August 27, 2023 11:18 AM > > The new symmetric hash function swap src/dst L3 address and > L4 ports automatically by sorting. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- > lib/ethdev/rte_flow.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index 2ebb76dbc0..4f4421ca50 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { > * src or dst address will xor with zero pair. > */ > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > + /** > + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to > + * the hash function. > + * If src_ip > dst_ip, swap src_ip and dst_ip. > + * If src_port > dst_port, swap src_port and dst_port. > + */ > + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > RTE_ETH_HASH_FUNCTION_MAX, > }; > > -- > 2.25.1 Acked-by: Ori Kam <orika@nvidia.com> Best, Ori ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-30 6:55 ` Ori Kam @ 2023-09-21 15:49 ` Ferruh Yigit 2023-09-22 6:57 ` Xueming(Steven) Li 0 siblings, 1 reply; 23+ messages in thread From: Ferruh Yigit @ 2023-09-21 15:49 UTC (permalink / raw) To: Ori Kam, Xueming(Steven) Li Cc: dev, fengchengwen, Ivan Malov, Raslan Darawsheh On 8/30/2023 7:55 AM, Ori Kam wrote: >> -----Original Message----- >> From: Xueming(Steven) Li <xuemingl@nvidia.com> >> Sent: Sunday, August 27, 2023 11:18 AM >> >> The new symmetric hash function swap src/dst L3 address and >> L4 ports automatically by sorting. >> >> Signed-off-by: Xueming Li <xuemingl@nvidia.com> > > Acked-by: Ori Kam <orika@nvidia.com> > Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Updated commit log with information provided in this mail thread. Applied to dpdk-next-net/main, thanks. Note only ethdev patch applied, not series, mlx5 patch delegated to Raslan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-09-21 15:49 ` Ferruh Yigit @ 2023-09-22 6:57 ` Xueming(Steven) Li 0 siblings, 0 replies; 23+ messages in thread From: Xueming(Steven) Li @ 2023-09-22 6:57 UTC (permalink / raw) To: Ferruh Yigit, Ori Kam; +Cc: dev, fengchengwen, Ivan Malov, Raslan Darawsheh > -----Original Message----- > From: Ferruh Yigit <ferruh.yigit@amd.com> > Sent: 9/21/2023 23:50 > To: Ori Kam <orika@nvidia.com>; Xueming(Steven) Li <xuemingl@nvidia.com> > Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > <ivan.malov@arknetworks.am>; Raslan Darawsheh <rasland@nvidia.com> > Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > > On 8/30/2023 7:55 AM, Ori Kam wrote: > >> -----Original Message----- > >> From: Xueming(Steven) Li <xuemingl@nvidia.com> > >> Sent: Sunday, August 27, 2023 11:18 AM > >> > >> The new symmetric hash function swap src/dst L3 address and > >> L4 ports automatically by sorting. > >> > >> Signed-off-by: Xueming Li <xuemingl@nvidia.com> > > > > Acked-by: Ori Kam <orika@nvidia.com> > > > > Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> > > Updated commit log with information provided in this mail thread. Thanks very much! > > Applied to dpdk-next-net/main, thanks. > > > Note only ethdev patch applied, not series, mlx5 patch delegated to Raslan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-27 8:17 ` [PATCH v2 1/2] " Xueming Li 2023-08-30 6:55 ` Ori Kam @ 2023-08-30 7:50 ` lihuisong (C) 2023-08-30 8:38 ` Xueming(Steven) Li 1 sibling, 1 reply; 23+ messages in thread From: lihuisong (C) @ 2023-08-30 7:50 UTC (permalink / raw) To: Xueming Li, Ori Kam; +Cc: dev, fengchengwen, Ivan Malov Hi Xueming, 在 2023/8/27 16:17, Xueming Li 写道: > The new symmetric hash function swap src/dst L3 address and > L4 ports automatically by sorting. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- > lib/ethdev/rte_flow.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index 2ebb76dbc0..4f4421ca50 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { > * src or dst address will xor with zero pair. > */ > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > + /** > + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to > + * the hash function. > + * If src_ip > dst_ip, swap src_ip and dst_ip. > + * If src_port > dst_port, swap src_port and dst_port. > + */ If hash result are computed by the order: "src_ip+dst_ip+src_port+dst_port" How to obtain the value of every L3 and L4 field obove? I still cannot understand how to swap and set these values for these fields? > + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > RTE_ETH_HASH_FUNCTION_MAX, > }; > ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-30 7:50 ` lihuisong (C) @ 2023-08-30 8:38 ` Xueming(Steven) Li 2023-08-30 12:42 ` lihuisong (C) 0 siblings, 1 reply; 23+ messages in thread From: Xueming(Steven) Li @ 2023-08-30 8:38 UTC (permalink / raw) To: lihuisong (C), Ori Kam; +Cc: dev, fengchengwen, Ivan Malov > -----Original Message----- > From: lihuisong (C) <lihuisong@huawei.com> > Sent: 8/30/2023 15:51 > To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> > Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > <ivan.malov@arknetworks.am> > Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > > Hi Xueming, > > 在 2023/8/27 16:17, Xueming Li 写道: > > The new symmetric hash function swap src/dst L3 address and > > L4 ports automatically by sorting. > > > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > > --- > > lib/ethdev/rte_flow.h | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index > > 2ebb76dbc0..4f4421ca50 100644 > > --- a/lib/ethdev/rte_flow.h > > +++ b/lib/ethdev/rte_flow.h > > @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { > > * src or dst address will xor with zero pair. > > */ > > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > > + /** > > + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to > > + * the hash function. > > + * If src_ip > dst_ip, swap src_ip and dst_ip. > > + * If src_port > dst_port, swap src_port and dst_port. > > + */ > If hash result are computed by the order: "src_ip+dst_ip+src_port+dst_port" > How to obtain the value of every L3 and L4 field obove? > I still cannot understand how to swap and set these values for these fields? Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" Here is a detailed explanation of standard hash and symmetric hash by key: https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf If src_ip > dst_ip, swap them, then the input becomes: "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP are swapped. Same for L4 ports. > > + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > > RTE_ETH_HASH_FUNCTION_MAX, > > }; > > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-30 8:38 ` Xueming(Steven) Li @ 2023-08-30 12:42 ` lihuisong (C) 2023-08-30 13:09 ` Xueming(Steven) Li 0 siblings, 1 reply; 23+ messages in thread From: lihuisong (C) @ 2023-08-30 12:42 UTC (permalink / raw) To: Xueming(Steven) Li, Ori Kam; +Cc: dev, fengchengwen, Ivan Malov 在 2023/8/30 16:38, Xueming(Steven) Li 写道: > >> -----Original Message----- >> From: lihuisong (C) <lihuisong@huawei.com> >> Sent: 8/30/2023 15:51 >> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> >> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >> <ivan.malov@arknetworks.am> >> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >> >> Hi Xueming, >> >> 在 2023/8/27 16:17, Xueming Li 写道: >>> The new symmetric hash function swap src/dst L3 address and >>> L4 ports automatically by sorting. >>> >>> Signed-off-by: Xueming Li <xuemingl@nvidia.com> >>> --- >>> lib/ethdev/rte_flow.h | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index >>> 2ebb76dbc0..4f4421ca50 100644 >>> --- a/lib/ethdev/rte_flow.h >>> +++ b/lib/ethdev/rte_flow.h >>> @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { >>> * src or dst address will xor with zero pair. >>> */ >>> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, >>> + /** >>> + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to >>> + * the hash function. >>> + * If src_ip > dst_ip, swap src_ip and dst_ip. >>> + * If src_port > dst_port, swap src_port and dst_port. >>> + */ >> If hash result are computed by the order: "src_ip+dst_ip+src_port+dst_port" >> How to obtain the value of every L3 and L4 field obove? >> I still cannot understand how to swap and set these values for these fields? > Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" > Here is a detailed explanation of standard hash and symmetric hash by key: > https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf > > If src_ip > dst_ip, swap them, then the input becomes: > "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP are swapped. > Same for L4 ports. get it. What are the advantages of the symmetric toeplitz sort? Or why swap here? > >>> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, >>> RTE_ETH_HASH_FUNCTION_MAX, >>> }; >>> ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-30 12:42 ` lihuisong (C) @ 2023-08-30 13:09 ` Xueming(Steven) Li 2023-08-31 1:23 ` lihuisong (C) 0 siblings, 1 reply; 23+ messages in thread From: Xueming(Steven) Li @ 2023-08-30 13:09 UTC (permalink / raw) To: lihuisong (C), Ori Kam; +Cc: dev, fengchengwen, Ivan Malov > -----Original Message----- > From: lihuisong (C) <lihuisong@huawei.com> > Sent: 8/30/2023 20:42 > To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> > Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > <ivan.malov@arknetworks.am> > Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > > > 在 2023/8/30 16:38, Xueming(Steven) Li 写道: > > > >> -----Original Message----- > >> From: lihuisong (C) <lihuisong@huawei.com> > >> Sent: 8/30/2023 15:51 > >> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam > >> <orika@nvidia.com> > >> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > >> <ivan.malov@arknetworks.am> > >> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > >> > >> Hi Xueming, > >> > >> 在 2023/8/27 16:17, Xueming Li 写道: > >>> The new symmetric hash function swap src/dst L3 address and > >>> L4 ports automatically by sorting. > >>> > >>> Signed-off-by: Xueming Li <xuemingl@nvidia.com> > >>> --- > >>> lib/ethdev/rte_flow.h | 7 +++++++ > >>> 1 file changed, 7 insertions(+) > >>> > >>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index > >>> 2ebb76dbc0..4f4421ca50 100644 > >>> --- a/lib/ethdev/rte_flow.h > >>> +++ b/lib/ethdev/rte_flow.h > >>> @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { > >>> * src or dst address will xor with zero pair. > >>> */ > >>> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > >>> + /** > >>> + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to > >>> + * the hash function. > >>> + * If src_ip > dst_ip, swap src_ip and dst_ip. > >>> + * If src_port > dst_port, swap src_port and dst_port. > >>> + */ > >> If hash result are computed by the order: > "src_ip+dst_ip+src_port+dst_port" > >> How to obtain the value of every L3 and L4 field obove? > >> I still cannot understand how to swap and set these values for these fields? > > Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" > > Here is a detailed explanation of standard hash and symmetric hash by key: > > https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf > > > > If src_ip > dst_ip, swap them, then the input becomes: > > "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP are > swapped. > > Same for L4 ports. > get it. > What are the advantages of the symmetric toeplitz sort? > Or why swap here? It's a different symmetric hash calculation, hardware can support either/all of them. From calculation perspective, the hash result distribution is better, the result is more suitable to be used as hash table key. > > > >>> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > >>> RTE_ETH_HASH_FUNCTION_MAX, > >>> }; > >>> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-30 13:09 ` Xueming(Steven) Li @ 2023-08-31 1:23 ` lihuisong (C) 2023-08-31 6:25 ` Xueming(Steven) Li 0 siblings, 1 reply; 23+ messages in thread From: lihuisong (C) @ 2023-08-31 1:23 UTC (permalink / raw) To: Xueming(Steven) Li, Ori Kam; +Cc: dev, fengchengwen, Ivan Malov 在 2023/8/30 21:09, Xueming(Steven) Li 写道: > >> -----Original Message----- >> From: lihuisong (C) <lihuisong@huawei.com> >> Sent: 8/30/2023 20:42 >> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> >> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >> <ivan.malov@arknetworks.am> >> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >> >> >> 在 2023/8/30 16:38, Xueming(Steven) Li 写道: >>>> -----Original Message----- >>>> From: lihuisong (C) <lihuisong@huawei.com> >>>> Sent: 8/30/2023 15:51 >>>> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam >>>> <orika@nvidia.com> >>>> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >>>> <ivan.malov@arknetworks.am> >>>> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >>>> >>>> Hi Xueming, >>>> >>>> 在 2023/8/27 16:17, Xueming Li 写道: >>>>> The new symmetric hash function swap src/dst L3 address and >>>>> L4 ports automatically by sorting. >>>>> >>>>> Signed-off-by: Xueming Li <xuemingl@nvidia.com> >>>>> --- >>>>> lib/ethdev/rte_flow.h | 7 +++++++ >>>>> 1 file changed, 7 insertions(+) >>>>> >>>>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index >>>>> 2ebb76dbc0..4f4421ca50 100644 >>>>> --- a/lib/ethdev/rte_flow.h >>>>> +++ b/lib/ethdev/rte_flow.h >>>>> @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { >>>>> * src or dst address will xor with zero pair. >>>>> */ >>>>> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, >>>>> + /** >>>>> + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to >>>>> + * the hash function. >>>>> + * If src_ip > dst_ip, swap src_ip and dst_ip. >>>>> + * If src_port > dst_port, swap src_port and dst_port. >>>>> + */ >>>> If hash result are computed by the order: >> "src_ip+dst_ip+src_port+dst_port" >>>> How to obtain the value of every L3 and L4 field obove? >>>> I still cannot understand how to swap and set these values for these fields? >>> Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" >>> Here is a detailed explanation of standard hash and symmetric hash by key: >>> https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf >>> >>> If src_ip > dst_ip, swap them, then the input becomes: >>> "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP are >> swapped. >>> Same for L4 ports. >> get it. >> What are the advantages of the symmetric toeplitz sort? >> Or why swap here? > It's a different symmetric hash calculation, hardware can support either/all of them. > > From calculation perspective, the hash result distribution is better, the result is more > suitable to be used as hash table key. I get it now. but I have a question. why not is that if src_ip < dst_ip, then swap src_ip and dst_ip? I guess this is going to have the same effect as you said, right? The symmetric toeplitz sort is not a standard algorithm, is just to enhance the hash result distribution. If what I understand is right, it is better that the new RSS algorithm should works on the one of them ("src_ip > dst_ip" or "src_ip < dst_ip"). > >>>>> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, >>>>> RTE_ETH_HASH_FUNCTION_MAX, >>>>> }; >>>>> ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-31 1:23 ` lihuisong (C) @ 2023-08-31 6:25 ` Xueming(Steven) Li 2023-08-31 11:29 ` lihuisong (C) 0 siblings, 1 reply; 23+ messages in thread From: Xueming(Steven) Li @ 2023-08-31 6:25 UTC (permalink / raw) To: lihuisong (C), Ori Kam; +Cc: dev, fengchengwen, Ivan Malov > -----Original Message----- > From: lihuisong (C) <lihuisong@huawei.com> > Sent: 8/31/2023 9:24 > To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> > Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > <ivan.malov@arknetworks.am> > Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > > > 在 2023/8/30 21:09, Xueming(Steven) Li 写道: > > > >> -----Original Message----- > >> From: lihuisong (C) <lihuisong@huawei.com> > >> Sent: 8/30/2023 20:42 > >> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam > >> <orika@nvidia.com> > >> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > >> <ivan.malov@arknetworks.am> > >> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > >> > >> > >> 在 2023/8/30 16:38, Xueming(Steven) Li 写道: > >>>> -----Original Message----- > >>>> From: lihuisong (C) <lihuisong@huawei.com> > >>>> Sent: 8/30/2023 15:51 > >>>> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam > >>>> <orika@nvidia.com> > >>>> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov > >>>> <ivan.malov@arknetworks.am> > >>>> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function > >>>> > >>>> Hi Xueming, > >>>> > >>>> 在 2023/8/27 16:17, Xueming Li 写道: > >>>>> The new symmetric hash function swap src/dst L3 address and > >>>>> L4 ports automatically by sorting. > >>>>> > >>>>> Signed-off-by: Xueming Li <xuemingl@nvidia.com> > >>>>> --- > >>>>> lib/ethdev/rte_flow.h | 7 +++++++ > >>>>> 1 file changed, 7 insertions(+) > >>>>> > >>>>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index > >>>>> 2ebb76dbc0..4f4421ca50 100644 > >>>>> --- a/lib/ethdev/rte_flow.h > >>>>> +++ b/lib/ethdev/rte_flow.h > >>>>> @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { > >>>>> * src or dst address will xor with zero pair. > >>>>> */ > >>>>> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, > >>>>> + /** > >>>>> + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to > >>>>> + * the hash function. > >>>>> + * If src_ip > dst_ip, swap src_ip and dst_ip. > >>>>> + * If src_port > dst_port, swap src_port and dst_port. > >>>>> + */ > >>>> If hash result are computed by the order: > >> "src_ip+dst_ip+src_port+dst_port" > >>>> How to obtain the value of every L3 and L4 field obove? > >>>> I still cannot understand how to swap and set these values for these > fields? > >>> Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" > >>> Here is a detailed explanation of standard hash and symmetric hash by > key: > >>> https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf > >>> > >>> If src_ip > dst_ip, swap them, then the input becomes: > >>> "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP > >>> are > >> swapped. > >>> Same for L4 ports. > >> get it. > >> What are the advantages of the symmetric toeplitz sort? > >> Or why swap here? > > It's a different symmetric hash calculation, hardware can support either/all > of them. > > > > From calculation perspective, the hash result distribution is better, > > the result is more suitable to be used as hash table key. > I get it now. > but I have a question. > why not is that if src_ip < dst_ip, then swap src_ip and dst_ip? > I guess this is going to have the same effect as you said, right? > The symmetric toeplitz sort is not a standard algorithm, is just to enhance the > hash result distribution. > If what I understand is right, > it is better that the new RSS algorithm should works on the one of them > ("src_ip > dst_ip" or "src_ip < dst_ip"). Any special reason to introduce the descending sort? I personally prefer to keep the enum clean unless some new hw or new algorithm introduced. > > > >>>>> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, > >>>>> RTE_ETH_HASH_FUNCTION_MAX, > >>>>> }; > >>>>> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 1/2] ethdev: add new symmetric hash function 2023-08-31 6:25 ` Xueming(Steven) Li @ 2023-08-31 11:29 ` lihuisong (C) 0 siblings, 0 replies; 23+ messages in thread From: lihuisong (C) @ 2023-08-31 11:29 UTC (permalink / raw) To: Xueming(Steven) Li, Ori Kam; +Cc: dev, fengchengwen, Ivan Malov 在 2023/8/31 14:25, Xueming(Steven) Li 写道: > >> -----Original Message----- >> From: lihuisong (C) <lihuisong@huawei.com> >> Sent: 8/31/2023 9:24 >> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam <orika@nvidia.com> >> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >> <ivan.malov@arknetworks.am> >> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >> >> >> 在 2023/8/30 21:09, Xueming(Steven) Li 写道: >>>> -----Original Message----- >>>> From: lihuisong (C) <lihuisong@huawei.com> >>>> Sent: 8/30/2023 20:42 >>>> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam >>>> <orika@nvidia.com> >>>> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >>>> <ivan.malov@arknetworks.am> >>>> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >>>> >>>> >>>> 在 2023/8/30 16:38, Xueming(Steven) Li 写道: >>>>>> -----Original Message----- >>>>>> From: lihuisong (C) <lihuisong@huawei.com> >>>>>> Sent: 8/30/2023 15:51 >>>>>> To: Xueming(Steven) Li <xuemingl@nvidia.com>; Ori Kam >>>>>> <orika@nvidia.com> >>>>>> Cc: dev@dpdk.org; fengchengwen@huawei.com; Ivan Malov >>>>>> <ivan.malov@arknetworks.am> >>>>>> Subject: Re: [PATCH v2 1/2] ethdev: add new symmetric hash function >>>>>> >>>>>> Hi Xueming, >>>>>> >>>>>> 在 2023/8/27 16:17, Xueming Li 写道: >>>>>>> The new symmetric hash function swap src/dst L3 address and >>>>>>> L4 ports automatically by sorting. >>>>>>> >>>>>>> Signed-off-by: Xueming Li <xuemingl@nvidia.com> >>>>>>> --- >>>>>>> lib/ethdev/rte_flow.h | 7 +++++++ >>>>>>> 1 file changed, 7 insertions(+) >>>>>>> >>>>>>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index >>>>>>> 2ebb76dbc0..4f4421ca50 100644 >>>>>>> --- a/lib/ethdev/rte_flow.h >>>>>>> +++ b/lib/ethdev/rte_flow.h >>>>>>> @@ -3196,6 +3196,13 @@ enum rte_eth_hash_function { >>>>>>> * src or dst address will xor with zero pair. >>>>>>> */ >>>>>>> RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, >>>>>>> + /** >>>>>>> + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to >>>>>>> + * the hash function. >>>>>>> + * If src_ip > dst_ip, swap src_ip and dst_ip. >>>>>>> + * If src_port > dst_port, swap src_port and dst_port. >>>>>>> + */ >>>>>> If hash result are computed by the order: >>>> "src_ip+dst_ip+src_port+dst_port" >>>>>> How to obtain the value of every L3 and L4 field obove? >>>>>> I still cannot understand how to swap and set these values for these >> fields? >>>>> Hash result is computed by order ""src_ip+dst_ip+src_port+dst_port" >>>>> Here is a detailed explanation of standard hash and symmetric hash by >> key: >>>>> https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf >>>>> >>>>> If src_ip > dst_ip, swap them, then the input becomes: >>>>> "dst_ip+src_ip+src_port+dst_port" // please note src and dst IP >>>>> are >>>> swapped. >>>>> Same for L4 ports. >>>> get it. >>>> What are the advantages of the symmetric toeplitz sort? >>>> Or why swap here? >>> It's a different symmetric hash calculation, hardware can support either/all >> of them. >>> From calculation perspective, the hash result distribution is better, >>> the result is more suitable to be used as hash table key. >> I get it now. >> but I have a question. >> why not is that if src_ip < dst_ip, then swap src_ip and dst_ip? >> I guess this is going to have the same effect as you said, right? >> The symmetric toeplitz sort is not a standard algorithm, is just to enhance the >> hash result distribution. >> If what I understand is right, >> it is better that the new RSS algorithm should works on the one of them >> ("src_ip > dst_ip" or "src_ip < dst_ip"). > Any special reason to introduce the descending sort? Because the descending sort also can achieve the goal. After all, this doesn't seem like a standard algorithm. > I personally prefer to keep the enum clean unless some new hw or new algorithm introduced. Agree with you. But this new enum cannot reveal ascending or descending sort. > >>>>>>> + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, >>>>>>> RTE_ETH_HASH_FUNCTION_MAX, >>>>>>> }; >>>>>>> ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v2 2/2] net/mlx5: support new RSS symmetric hash function 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li ` (2 preceding siblings ...) 2023-08-27 8:17 ` [PATCH v2 1/2] " Xueming Li @ 2023-08-27 8:17 ` Xueming Li 2023-10-29 15:53 ` Ori Kam 2023-10-30 17:08 ` Raslan Darawsheh 3 siblings, 2 replies; 23+ messages in thread From: Xueming Li @ 2023-08-27 8:17 UTC (permalink / raw) To: Ori Kam; +Cc: xuemingl, dev, fengchengwen, Ivan Malov This patch supports the new RSS symmetric hash function: RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT The new hash function makes symmetric hash result by swapping the source and destination IP and L4 port automatically. Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- drivers/net/mlx5/mlx5_flow.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index 3a97975d69..e162baa7da 100644 --- a/drivers/net/mlx5/mlx5_flow.h +++ b/drivers/net/mlx5/mlx5_flow.h @@ -1456,8 +1456,8 @@ struct rte_flow_template_table { #define MLX5_RSS_HASH_NONE 0ULL #define MLX5_RSS_IS_SYMM(func) \ - ((func) == RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ) - + (((func) == RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ) || \ + ((func) == RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT)) /* extract next protocol type from Ethernet & VLAN headers */ #define MLX5_ETHER_TYPE_FROM_HEADER(_s, _m, _itm, _prt) do { \ -- 2.25.1 ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 2/2] net/mlx5: support new RSS symmetric hash function 2023-08-27 8:17 ` [PATCH v2 2/2] net/mlx5: support new RSS " Xueming Li @ 2023-10-29 15:53 ` Ori Kam 2023-10-30 17:08 ` Raslan Darawsheh 1 sibling, 0 replies; 23+ messages in thread From: Ori Kam @ 2023-10-29 15:53 UTC (permalink / raw) To: Xueming(Steven) Li; +Cc: dev, fengchengwen, Ivan Malov > -----Original Message----- > From: Xueming(Steven) Li <xuemingl@nvidia.com> > Sent: Sunday, August 27, 2023 11:18 AM > > This patch supports the new RSS symmetric hash function: > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT > > The new hash function makes symmetric hash result by swapping > the source and destination IP and L4 port automatically. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> > --- Acked-by: Ori Kam <orika@nvidia.com> Best, Ori ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v2 2/2] net/mlx5: support new RSS symmetric hash function 2023-08-27 8:17 ` [PATCH v2 2/2] net/mlx5: support new RSS " Xueming Li 2023-10-29 15:53 ` Ori Kam @ 2023-10-30 17:08 ` Raslan Darawsheh 1 sibling, 0 replies; 23+ messages in thread From: Raslan Darawsheh @ 2023-10-30 17:08 UTC (permalink / raw) To: Xueming(Steven) Li, Ori Kam Cc: Xueming(Steven) Li, dev, fengchengwen, Ivan Malov [-- Attachment #1: Type: text/plain, Size: 729 bytes --] Hi, > -----Original Message----- > From: Xueming Li <xuemingl@nvidia.com> > Sent: Sunday, August 27, 2023 11:18 AM > To: Ori Kam <orika@nvidia.com> > Cc: Xueming(Steven) Li <xuemingl@nvidia.com>; dev@dpdk.org; > fengchengwen@huawei.com; Ivan Malov <ivan.malov@arknetworks.am> > Subject: [PATCH v2 2/2] net/mlx5: support new RSS symmetric hash function > > This patch supports the new RSS symmetric hash function: > RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT > > The new hash function makes symmetric hash result by swapping the source > and destination IP and L4 port automatically. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh [-- Attachment #2: winmail.dat --] [-- Type: application/ms-tnef, Size: 15245 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2023-10-30 17:08 UTC | newest] Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-05-24 11:38 [PATCH] doc: deprecation notice to add new hash function Xueming Li 2023-05-24 12:50 ` Ori Kam 2023-05-24 14:49 ` Stephen Hemminger 2023-07-28 15:10 ` Thomas Monjalon 2023-08-07 11:54 ` [PATCH] ethdev: add new symmetric " Xueming Li 2023-08-07 12:33 ` Ori Kam 2023-08-07 22:32 ` Ivan Malov 2023-08-08 1:43 ` fengchengwen 2023-08-09 12:00 ` Xueming(Steven) Li 2023-08-27 8:17 ` [PATCH v2 1/2] " Xueming Li 2023-08-30 6:55 ` Ori Kam 2023-09-21 15:49 ` Ferruh Yigit 2023-09-22 6:57 ` Xueming(Steven) Li 2023-08-30 7:50 ` lihuisong (C) 2023-08-30 8:38 ` Xueming(Steven) Li 2023-08-30 12:42 ` lihuisong (C) 2023-08-30 13:09 ` Xueming(Steven) Li 2023-08-31 1:23 ` lihuisong (C) 2023-08-31 6:25 ` Xueming(Steven) Li 2023-08-31 11:29 ` lihuisong (C) 2023-08-27 8:17 ` [PATCH v2 2/2] net/mlx5: support new RSS " Xueming Li 2023-10-29 15:53 ` Ori Kam 2023-10-30 17:08 ` Raslan Darawsheh
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).