DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Jie Hai <haijie1@huawei.com>, Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: dev@dpdk.org, Ferruh Yigit <ferruh.yigit@amd.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	liudongdong3@huawei.com, orika@nvidia.com, jerinj@marvell.com
Subject: Re: [PATCH v2 1/5] ethdev: support setting and querying RSS algorithm
Date: Mon, 11 Sep 2023 12:09:51 +0200	[thread overview]
Message-ID: <2002233.kXSN5OTJKJ@thomas> (raw)
In-Reply-To: <CACZ4nht49Jmi-keSS5XnE-gvdXG-UiBqQDqZQSHZtO_Fv=GHXQ@mail.gmail.com>

09/09/2023 02:01, Ajit Khaparde:
> On Fri, Sep 8, 2023 at 1:44 AM Jie Hai <haijie1@huawei.com> wrote:
> >
> > Hi, Thomas
> > Thanks for your review.
> >
> > On 2023/9/4 15:45, Thomas Monjalon wrote:
> > > 04/09/2023 09:10, Jie Hai:
> > >> On 2023/8/30 19:46, Thomas Monjalon wrote:
> > >>> 26/08/2023 09:46, Jie Hai:
> > >   >> + * The *func* field of the *rss_conf* structure indicates the hash algorithm
> > >>>> + * applied by the RSS hashing. Passing RTE_ETH_HASH_FUNCTION_DEFAULT allows
> > >>>> + * the PMD to use its best-effort algorithm rather than a specific one.
> > >>>>     */
> > >>>
> > >>> I don't like commenting a field on top of the structure.
> > >>> By the way, the first sentence does not look helpful.
> > >>> RTE_ETH_HASH_FUNCTION_DEFAULT may be explained in the enum.
> > >>>
> > >> Other fields  above the structure 'rte_eth_rss_conf' have comments.
> > >> If the new fields 'func' do not have comments, it may be misleading.
> > >> Unless all the comments above are removed. I'm not sure whether to
> > >> delete them or not.
> > >
> > > You should explain RTE_ETH_HASH_FUNCTION_DEFAULT in its enum.
> > > The rest of the explanation can be on the struct field.
> > > I'm OK to have another patch moving old explanations from the struct
> > > to the fields.
> > Fixed in V4, please check it.
> > >
> > >>>>    struct rte_eth_rss_conf {
> > >>>>            uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
> > >>>>            uint8_t rss_key_len; /**< hash key length in bytes. */
> > >>>>            uint64_t rss_hf;     /**< Hash functions to apply - see below. */
> > >>>> +  enum rte_eth_hash_function func;        /**< Hash algorithm to apply. */
> > >>>
> > >>> You can drop "to apply" words.
> > >> Fixed in V3.
> > >>>
> > >>> How the algorithms support combinations in rss_hf?
> > >>>
> > >> The rss_hf defines the input of the RSS hash algorithms.
> > >> For example, rss_hf = RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_IPV4,
> > >> these two kinds of packets can be dispatched to different queues
> > >> according to their tuple field value.
> > >> For ipv4-tcp packets, src-ip, dst-ip, src-port, dst-port are used as
> > >> parameters of RSS hash algorithms to compute hash value.
> > >> For ipv4 packets src-ip, dst-ip are used.
> > >>
> > >> If rss_hf = RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_L4_SRC_ONLY, for
> > >> ipv4-tcp packets, src-port is used as parameters of RSS hash algorithms
> > >> to compute hash value.
> > >
> > > I know what is rss_hf.
> > > My question is about the algorithms.
> > > Do they all support any combination in rss_hf?
> > >
> > >
> > I don't know about all vendors' hardware implementations,
> > so here's just my simple opinion.
> >
> > Theoretically, I think that all algorithms should support all
> > combinations in rss_hf, The reasons are as follows.
> 
> Leave it to the driver and hardware to decide what combinations can be
> supported.
> 
> >
> > 1. The rss_hf and algorithms are independent. For different algorithms
> > and the same packets and hash key, the input parameters for different
> > algorithms should be the same, which depends on implemetation of hardware.
> >
> > 2. As long as hardware and driver support, all packet types defined by
> > rss_hf could generate the the input parameters for the algorithm to compute.

How the application can know a hash is not supported with an algo?
I guess this is an error code on configure?



  reply	other threads:[~2023-09-11 10:09 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-15 11:00 [PATCH 0/5] support setting and querying RSS algorithms Dongdong Liu
2023-03-15 11:00 ` [PATCH 1/5] ethdev: support setting and querying rss algorithm Dongdong Liu
2023-03-15 11:28   ` Ivan Malov
2023-03-16 13:10     ` Dongdong Liu
2023-03-16 14:31       ` Ivan Malov
2023-03-15 13:43   ` Thomas Monjalon
2023-03-16 13:16     ` Dongdong Liu
2023-06-02 20:19       ` Ferruh Yigit
2023-06-05 12:34         ` Dongdong Liu
2023-03-15 11:00 ` [PATCH 2/5] net/hns3: support setting and querying RSS hash function Dongdong Liu
2023-03-15 11:00 ` [PATCH 3/5] app/proc-info: fix never show RSS info Dongdong Liu
2023-06-02 20:19   ` Ferruh Yigit
2023-06-05 13:04     ` Dongdong Liu
2023-06-02 21:19   ` Stephen Hemminger
2023-06-05 13:07     ` Dongdong Liu
2023-03-15 11:00 ` [PATCH 4/5] app/proc-info: show RSS types with strings Dongdong Liu
2023-06-02 20:22   ` Ferruh Yigit
2023-06-05 13:12     ` Dongdong Liu
2023-03-15 11:00 ` [PATCH 5/5] app/proc-info: support querying RSS hash algorithm Dongdong Liu
2023-08-26  7:46 ` [PATCH v2 0/5] support setting and querying RSS algorithms Jie Hai
2023-08-26  7:46   ` [PATCH v2 1/5] ethdev: support setting and querying RSS algorithm Jie Hai
2023-08-30 11:46     ` Thomas Monjalon
2023-08-31  0:10       ` Ajit Khaparde
2023-08-31 10:59         ` Jie Hai
2023-09-04  6:26         ` Jie Hai
2023-09-05 16:17           ` Ajit Khaparde
2023-09-04  7:10       ` Jie Hai
2023-09-04  7:45         ` Thomas Monjalon
2023-09-08  8:44           ` Jie Hai
2023-09-09  0:01             ` Ajit Khaparde
2023-09-11 10:09               ` Thomas Monjalon [this message]
2023-09-11 16:11                 ` Ajit Khaparde
2023-09-06 15:10     ` Stephen Hemminger
2023-09-08  9:28       ` Jie Hai
2023-09-08 20:58         ` Stephen Hemminger
2023-09-12  1:49           ` Jie Hai
2023-08-26  7:46   ` [PATCH v2 2/5] net/hns3: support setting and querying RSS hash function Jie Hai
2023-08-26  7:46   ` [PATCH v2 3/5] app/proc-info: fix never show RSS info Jie Hai
2023-08-26  7:46   ` [PATCH v2 4/5] app/proc-info: adjust the display format of " Jie Hai
2023-08-26  7:46   ` [PATCH v2 5/5] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-09-04  6:10   ` [PATCH v3 0/5] support setting and querying RSS algorithms Jie Hai
2023-09-04  6:10     ` [PATCH v3 1/5] app/proc-info: fix never show RSS info Jie Hai
2023-09-04  6:10     ` [PATCH v3 2/5] app/proc-info: adjust the display format of " Jie Hai
2023-09-04  6:10     ` [PATCH v3 3/5] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-09-04  6:10     ` [PATCH v3 4/5] app/testpmd: add RSS hash algorithms display Jie Hai
2023-09-04  6:10     ` [PATCH v3 5/5] app/testpmd: add RSS hash algorithms setting Jie Hai
2023-09-04  7:37     ` [PATCH v3 0/5] support setting and querying RSS algorithms Jie Hai
2023-09-04  7:28   ` [PATCH " Jie Hai
2023-09-04  7:28     ` [PATCH 1/5] ethdev: support setting and querying RSS algorithm Jie Hai
2023-09-04  7:28     ` [PATCH 2/5] net/hns3: support setting and querying RSS hash function Jie Hai
2023-09-04  7:28     ` [PATCH 3/5] app/proc-info: fix never show RSS info Jie Hai
2023-09-05 16:29       ` Pattan, Reshma
2023-09-08  8:01         ` Jie Hai
2023-09-04  7:28     ` [PATCH 4/5] app/proc-info: adjust the display format of " Jie Hai
2023-09-04  7:28     ` [PATCH 5/5] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-09-05 17:07       ` Pattan, Reshma
2023-09-08  8:01         ` Jie Hai
2023-09-08  8:00     ` [PATCH v4 0/7] support setting and querying RSS algorithms Jie Hai
2023-09-08  8:00       ` [PATCH v4 1/7] ethdev: recomment some definitions related to RSS Jie Hai
2023-09-20 16:39         ` Ferruh Yigit
2023-09-26 12:08           ` Jie Hai
2023-09-08  8:00       ` [PATCH v4 2/7] ethdev: support setting and querying RSS algorithm Jie Hai
2023-09-20 16:39         ` Ferruh Yigit
2023-09-20 17:15           ` Ajit Khaparde
2023-09-26 13:23           ` Jie Hai
2023-09-08  8:00       ` [PATCH v4 3/7] net/hns3: support setting and querying RSS hash function Jie Hai
2023-09-08  8:00       ` [PATCH v4 4/7] app/proc-info: fix never show RSS info Jie Hai
2023-09-13 11:48         ` Pattan, Reshma
2023-09-25  1:13           ` Jie Hai
2023-09-08  8:00       ` [PATCH v4 5/7] app/proc-info: adjust the display format of " Jie Hai
2023-09-13 12:22         ` Pattan, Reshma
2023-09-08  8:00       ` [PATCH v4 6/7] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-09-13 11:42         ` Pattan, Reshma
2023-09-13 11:44         ` Pattan, Reshma
2023-09-08  8:00       ` [PATCH v4 7/7] app/testpmd: add RSS hash algorithms display Jie Hai
2023-10-11  9:27       ` [PATCH v5 00/40] support setting and querying RSS algorithms Jie Hai
2023-10-11  9:27         ` [PATCH v5 01/40] ethdev: overwrite some comment related to RSS Jie Hai
2023-10-11 16:31           ` Ferruh Yigit
2023-10-12  2:03             ` Jie Hai
2023-10-12  2:47           ` fengchengwen
2023-10-11  9:27         ` [PATCH v5 02/40] ethdev: support setting and querying RSS algorithm Jie Hai
2023-10-11 17:39           ` Stephen Hemminger
2023-10-12  2:21             ` fengchengwen
2023-10-12 15:23               ` Stephen Hemminger
2023-10-24 12:54               ` Jie Hai
2023-10-11  9:27         ` [PATCH v5 03/40] net/atlantic: check RSS hash algorithms Jie Hai
2023-10-11  9:27         ` [PATCH v5 04/40] net/axgbe: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 05/40] net/bnx2x: " Jie Hai
2023-10-11 17:02           ` Ferruh Yigit
2023-10-11  9:27         ` [PATCH v5 06/40] net/bnxt: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 07/40] net/bonding: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 08/40] net/cnxk: " Jie Hai
2023-10-11 17:04           ` Ferruh Yigit
2023-10-12  2:25             ` Jie Hai
2023-10-11  9:27         ` [PATCH v5 09/40] net/cpfl: " Jie Hai
2023-10-11 17:20           ` Ferruh Yigit
2023-10-12  2:34             ` Xing, Beilei
2023-10-11  9:27         ` [PATCH v5 10/40] net/cxgbe: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 11/40] net/dpaa: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 12/40] net/dpaa2: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 13/40] net/ena: " Jie Hai
2023-10-11 17:27           ` Ferruh Yigit
2023-10-12  2:35             ` Jie Hai
2023-10-11  9:27         ` [PATCH v5 14/40] net/enic: " Jie Hai
2023-10-11 17:32           ` Ferruh Yigit
2023-10-12 18:09             ` John Daley (johndale)
2023-10-11  9:27         ` [PATCH v5 15/40] net/fm10k: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 16/40] net/hinic: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 17/40] net/i40e: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 18/40] net/iavf: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 19/40] net/ice: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 20/40] net/idpf: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 21/40] net/igc: " Jie Hai
2023-10-11 17:51           ` Ferruh Yigit
2023-10-11  9:27         ` [PATCH v5 22/40] net/ionic: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 23/40] net/ixgbe: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 24/40] net/mana: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 25/40] net/mlx5: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 26/40] net/mvpp2: " Jie Hai
2023-10-11 18:00           ` Ferruh Yigit
2023-10-12  2:21             ` Jie Hai
2023-10-11  9:27         ` [PATCH v5 27/40] net/netvsc: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 28/40] net/ngbe: : " Jie Hai
2023-10-11  9:27         ` [PATCH v5 29/40] net/nfp: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 30/40] net/null: " Jie Hai
2023-10-11 18:06           ` Ferruh Yigit
2023-10-11  9:27         ` [PATCH v5 31/40] net/qede: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 32/40] net/sfc: " Jie Hai
2023-10-11  9:27         ` [PATCH v5 33/40] net/tap: " Jie Hai
2023-10-11 18:13           ` Ferruh Yigit
2023-10-11  9:27         ` [PATCH v5 34/40] net/thunderx: " Jie Hai
2023-10-11  9:28         ` [PATCH v5 35/40] net/txgbe: " Jie Hai
2023-10-11  9:28         ` [PATCH v5 36/40] net/hns3: support setting and querying RSS hash function Jie Hai
2023-10-12  2:23           ` fengchengwen
2023-10-12  2:56             ` Jie Hai
2023-10-12  3:05             ` Jie Hai
2023-10-12  3:59               ` fengchengwen
2023-10-11  9:28         ` [PATCH v5 37/40] app/proc-info: fix never show RSS info Jie Hai
2023-10-12  1:59           ` fengchengwen
2023-10-11  9:28         ` [PATCH v5 38/40] app/proc-info: adjust the display format of " Jie Hai
2023-10-12  2:01           ` fengchengwen
2023-10-12  3:10             ` Jie Hai
2023-10-11  9:28         ` [PATCH v5 39/40] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-10-12  2:05           ` fengchengwen
2023-10-12  3:51             ` Jie Hai
2023-10-11  9:28         ` [PATCH v5 40/40] app/testpmd: add RSS hash algorithms display Jie Hai
2023-10-12  3:04           ` fengchengwen
2023-10-11 18:19         ` [PATCH v5 00/40] support setting and querying RSS algorithms Ferruh Yigit
2023-10-12 16:49         ` Stephen Hemminger
2023-10-17 14:06         ` Thomas Monjalon
2023-10-17 14:26           ` Ferruh Yigit
2023-10-24 12:57             ` lihuisong (C)
2023-10-26  8:53               ` Thomas Monjalon
2023-10-27  9:28         ` [PATCH 0/9] " Jie Hai
2023-10-27  9:28           ` [PATCH 1/9] ethdev: overwrite some comment related to RSS Jie Hai
2023-10-29  7:26             ` Ori Kam
2023-11-01  6:06               ` Jie Hai
2023-10-27  9:28           ` [PATCH 2/9] ethdev: support setting and querying RSS algorithm Jie Hai
2023-10-27  9:28           ` [PATCH 3/9] net/hns3: report RSS hash algorithms capability Jie Hai
2023-10-27  9:28           ` [PATCH 4/9] net/hns3: support setting and querying RSS hash function Jie Hai
2023-10-27  9:28           ` [PATCH 5/9] app/proc-info: fix never show RSS info Jie Hai
2023-10-27  9:28           ` [PATCH 6/9] app/proc-info: adjust the display format of " Jie Hai
2023-10-27  9:28           ` [PATCH 7/9] lib/ethdev: add API to get RSS algorithm names Jie Hai
2023-10-27  9:28           ` [PATCH 8/9] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-10-27  9:28           ` [PATCH 9/9] app/testpmd: add RSS hash algorithms display Jie Hai
2023-10-28  1:46           ` [PATCH v7 0/9] support setting and querying RSS algorithms Jie Hai
2023-10-28  1:46             ` [PATCH v7 1/9] ethdev: overwrite some comment related to RSS Jie Hai
2023-10-28  2:41               ` lihuisong (C)
2023-11-01 12:55                 ` Ferruh Yigit
2023-10-28  1:46             ` [PATCH v7 2/9] ethdev: support setting and querying RSS algorithm Jie Hai
2023-10-28  3:01               ` lihuisong (C)
2023-11-01 12:55                 ` Ferruh Yigit
2023-10-28  1:46             ` [PATCH v7 3/9] net/hns3: report RSS hash algorithms capability Jie Hai
2023-10-28  3:02               ` lihuisong (C)
2023-10-28  1:46             ` [PATCH v7 4/9] net/hns3: support setting and querying RSS hash function Jie Hai
2023-10-28  1:46             ` [PATCH v7 5/9] app/proc-info: fix never show RSS info Jie Hai
2023-10-28  3:03               ` lihuisong (C)
2023-10-28  1:46             ` [PATCH v7 6/9] app/proc-info: adjust the display format of " Jie Hai
2023-10-28  1:46             ` [PATCH v7 7/9] lib/ethdev: add API to get RSS algorithm names Jie Hai
2023-10-28  3:09               ` lihuisong (C)
2023-11-01  2:04               ` Ferruh Yigit
2023-10-28  1:46             ` [PATCH v7 8/9] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-10-28  1:46             ` [PATCH v7 9/9] app/testpmd: add RSS hash algorithms display Jie Hai
2023-10-28  3:14               ` lihuisong (C)
2023-11-01  2:04             ` [PATCH v7 0/9] support setting and querying RSS algorithms Ferruh Yigit
2023-11-01  7:40 ` [PATCH v8 00/10] " Jie Hai
2023-11-01  7:40   ` [PATCH v8 01/10] ethdev: overwrite some comment related to RSS Jie Hai
2023-11-01 10:09     ` lihuisong (C)
2023-11-01 13:13     ` Ferruh Yigit
2023-11-02  3:29       ` Jie Hai
2023-11-01  7:40   ` [PATCH v8 02/10] lib/ethdev: check RSS key length Jie Hai
2023-11-01 10:07     ` lihuisong (C)
2023-11-01 13:19     ` Ferruh Yigit
2023-11-02  3:40       ` Jie Hai
2023-11-01  7:40   ` [PATCH v8 03/10] ethdev: support setting and querying RSS algorithm Jie Hai
2023-11-01 13:36     ` Ferruh Yigit
2023-11-02  6:58       ` Jie Hai
2023-11-01  7:40   ` [PATCH v8 04/10] net/hns3: report RSS hash algorithms capability Jie Hai
2023-11-01  7:40   ` [PATCH v8 05/10] net/hns3: support setting and querying RSS hash function Jie Hai
2023-11-01  7:40   ` [PATCH v8 06/10] app/proc-info: fix never show RSS info Jie Hai
2023-11-01  7:40   ` [PATCH v8 07/10] app/proc-info: adjust the display format of " Jie Hai
2023-11-01  7:40   ` [PATCH v8 08/10] ethdev: add API to get RSS algorithm names Jie Hai
2023-11-01  7:40   ` [PATCH v8 09/10] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-11-01 10:08     ` lihuisong (C)
2023-11-01  7:40   ` [PATCH v8 10/10] app/testpmd: add RSS hash algorithms display Jie Hai
2023-11-01 13:42     ` Ferruh Yigit
2023-11-02  7:33       ` Jie Hai
2023-11-01  9:44   ` [PATCH v8 00/10] support setting and querying RSS algorithms fengchengwen
2023-11-02  8:20 ` [PATCH v9 0/9] " Jie Hai
2023-11-02  8:20   ` [PATCH v9 1/9] ethdev: overwrite some comment related to RSS Jie Hai
2023-11-06 10:57     ` Andrew Rybchenko
2023-11-02  8:20   ` [PATCH v9 2/9] ethdev: support setting and querying RSS algorithm Jie Hai
2023-11-03 15:52     ` Ferruh Yigit
2023-11-02  8:20   ` [PATCH v9 3/9] net/hns3: report RSS hash algorithms capability Jie Hai
2023-11-02  8:20   ` [PATCH v9 4/9] net/hns3: support setting and querying RSS hash function Jie Hai
2023-11-02  8:20   ` [PATCH v9 5/9] app/proc-info: fix never show RSS info Jie Hai
2023-11-02  8:20   ` [PATCH v9 6/9] app/proc-info: adjust the display format of " Jie Hai
2023-11-02  8:20   ` [PATCH v9 7/9] ethdev: add API to get RSS algorithm names Jie Hai
2023-11-06 10:43     ` Andrew Rybchenko
2023-11-02  8:20   ` [PATCH v9 8/9] app/proc-info: support querying RSS hash algorithm Jie Hai
2023-11-02  8:20   ` [PATCH v9 9/9] app/testpmd: add RSS hash algorithms display Jie Hai
2023-11-02 13:11   ` [PATCH v9 0/9] support setting and querying RSS algorithms Ferruh Yigit

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=2002233.kXSN5OTJKJ@thomas \
    --to=thomas@monjalon.net \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=haijie1@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=liudongdong3@huawei.com \
    --cc=orika@nvidia.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;
as well as URLs for NNTP newsgroup(s).