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 35B364325F; Wed, 1 Nov 2023 11:09:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2088B40633; Wed, 1 Nov 2023 11:09:33 +0100 (CET) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 1476E400EF for ; Wed, 1 Nov 2023 11:09:31 +0100 (CET) Received: from kwepemm000004.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4SL2fj4Wh7zvQC9; Wed, 1 Nov 2023 18:04:29 +0800 (CST) Received: from [10.67.121.59] (10.67.121.59) by kwepemm000004.china.huawei.com (7.193.23.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 1 Nov 2023 18:09:29 +0800 Message-ID: Date: Wed, 1 Nov 2023 18:09:28 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v8 01/10] ethdev: overwrite some comment related to RSS To: Jie Hai , , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ori Kam CC: , References: <20230315110033.30143-1-liudongdong3@huawei.com> <20231101074039.3088716-1-haijie1@huawei.com> <20231101074039.3088716-2-haijie1@huawei.com> From: "lihuisong (C)" In-Reply-To: <20231101074039.3088716-2-haijie1@huawei.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.121.59] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemm000004.china.huawei.com (7.193.23.18) 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 lgtm, Acked-by: Huisong Li 在 2023/11/1 15:40, Jie Hai 写道: > 1. overwrite the comments of fields of 'rte_eth_rss_conf'. > 2. Add comments for RTE_ETH_HASH_FUNCTION_DEFAULT. > > Signed-off-by: Jie Hai > --- > lib/ethdev/rte_ethdev.h | 34 +++++++++++++++++++--------------- > lib/ethdev/rte_flow.h | 1 + > 2 files changed, 20 insertions(+), 15 deletions(-) > > diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h > index a53dd5a1efec..343a134fdd12 100644 > --- a/lib/ethdev/rte_ethdev.h > +++ b/lib/ethdev/rte_ethdev.h > @@ -448,24 +448,28 @@ struct rte_vlan_filter_conf { > /** > * A structure used to configure the Receive Side Scaling (RSS) feature > * of an Ethernet port. > - * If not NULL, the *rss_key* pointer of the *rss_conf* structure points > - * to an array holding the RSS key to use for hashing specific header > - * fields of received packets. The length of this array should be indicated > - * by *rss_key_len* below. Otherwise, a default random hash key is used by > - * the device driver. > - * > - * The *rss_key_len* field of the *rss_conf* structure indicates the length > - * in bytes of the array pointed by *rss_key*. To be compatible, this length > - * will be checked in i40e only. Others assume 40 bytes to be used as before. > - * > - * The *rss_hf* field of the *rss_conf* structure indicates the different > - * types of IPv4/IPv6 packets to which the RSS hashing must be applied. > - * Supplying an *rss_hf* equal to zero disables the RSS feature. > */ > struct rte_eth_rss_conf { > - uint8_t *rss_key; /**< If not NULL, 40-byte hash key. */ > + /** > + * In rte_eth_dev_rss_hash_conf_get(), the *rss_key_len* should be > + * greater than or equal to the *hash_key_size* which get from > + * rte_eth_dev_info_get() API. And the *rss_key* should contain at least > + * *hash_key_size* bytes. If not meet these requirements, the query > + * result is unreliable even if the operation returns success. > + * > + * In rte_eth_dev_rss_hash_update() or rte_eth_dev_configure(), if > + * *rss_key* is not NULL, the *rss_key_len* indicates the length of the > + * *rss_key* in bytes of the array pointed by *rss_key*, and it should > + * be equal to *hash_key_size*. Otherwise, drivers are free to use a > + * random or a default key or to ignore this configuration. > + */ > + uint8_t *rss_key; > uint8_t rss_key_len; /**< hash key length in bytes. */ > - uint64_t rss_hf; /**< Hash functions to apply - see below. */ > + /** > + * Indicates the type of packets or the specific part of packets to > + * which RSS hashing is to be applied. > + */ > + uint64_t rss_hf; > }; > > /* > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index c16fe8c21f2f..751c29a0f3f3 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3226,6 +3226,7 @@ struct rte_flow_query_count { > * Hash function types. > */ > enum rte_eth_hash_function { > + /** DEFAULT means driver decides which hash algorithm to pick. */ > RTE_ETH_HASH_FUNCTION_DEFAULT = 0, > RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */ > RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */