From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6A4BC42544; Fri, 8 Sep 2023 10:44:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03EED40285; Fri, 8 Sep 2023 10:44:31 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id BB50E40042 for ; Fri, 8 Sep 2023 10:44:27 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4RhqMM0ZMhzMlB3; Fri, 8 Sep 2023 16:41:03 +0800 (CST) Received: from [10.67.121.175] (10.67.121.175) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Fri, 8 Sep 2023 16:44:24 +0800 Message-ID: <6f9d565d-b9b7-030b-8daf-ffcd4faa39f1@huawei.com> Date: Fri, 8 Sep 2023 16:44:24 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2 1/5] ethdev: support setting and querying RSS algorithm To: Thomas Monjalon CC: , Ferruh Yigit , Andrew Rybchenko , , , , References: <20230315110033.30143-1-liudongdong3@huawei.com> <1939253.PYKUYFuaPT@thomas> <9abeba8a-4596-6e69-ded1-59d7a518b3d7@huawei.com> <2922097.o0KrE1Onz3@thomas> From: Jie Hai In-Reply-To: <2922097.o0KrE1Onz3@thomas> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.121.175] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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. 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. Thanks, Jie Hai > .