Message ID | 1433403216-7114-2-git-send-email-helin.zhang@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 6A418C31C; Thu, 4 Jun 2015 09:33:50 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 38A92B3D6 for <dev@dpdk.org>; Thu, 4 Jun 2015 09:33:49 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP; 04 Jun 2015 00:33:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,551,1427785200"; d="scan'208";a="581880406" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga003.jf.intel.com with ESMTP; 04 Jun 2015 00:33:46 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t547Xisb004385; Thu, 4 Jun 2015 15:33:44 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t547XfgX007155; Thu, 4 Jun 2015 15:33:43 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t547Xfbc007151; Thu, 4 Jun 2015 15:33:41 +0800 From: Helin Zhang <helin.zhang@intel.com> To: dev@dpdk.org Date: Thu, 4 Jun 2015 15:33:31 +0800 Message-Id: <1433403216-7114-2-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1433403216-7114-1-git-send-email-helin.zhang@intel.com> References: <1433379638-32715-1-git-send-email-helin.zhang@intel.com> <1433403216-7114-1-git-send-email-helin.zhang@intel.com> Subject: [dpdk-dev] [PATCH v2 1/6] ethdev: add an field for querying hash key size X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Zhang, Helin
June 4, 2015, 7:33 a.m. UTC
To support querying hash key size per port, an new field of
'hash_key_size' was added in 'struct rte_eth_dev_info' for storing
hash key size in bytes.
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
lib/librte_ether/rte_ethdev.h | 3 +++
1 file changed, 3 insertions(+)
v2 changes:
* Disabled the code changes by default, to avoid breaking ABI compatibility.
Comments
Hi Helin, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Helin Zhang > Sent: Thursday, June 04, 2015 8:34 AM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v2 1/6] ethdev: add an field for querying hash key size > > To support querying hash key size per port, an new field of > 'hash_key_size' was added in 'struct rte_eth_dev_info' for storing > hash key size in bytes. > > Signed-off-by: Helin Zhang <helin.zhang@intel.com> > --- > lib/librte_ether/rte_ethdev.h | 3 +++ > 1 file changed, 3 insertions(+) > > v2 changes: > * Disabled the code changes by default, to avoid breaking ABI compatibility. > > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index 16dbe00..bdebc87 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -916,6 +916,9 @@ struct rte_eth_dev_info { > uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */ > uint32_t rx_offload_capa; /**< Device RX offload capabilities. */ > uint32_t tx_offload_capa; /**< Device TX offload capabilities. */ > +#ifdef RTE_QUERY_HASH_KEY_SIZE > + uint8_t hash_key_size; /**< Hash key size in bytes */ > +#endif > uint16_t reta_size; > /**< Device redirection table size, the total number of entries. */ > /** Bit mask of RSS offloads, the bit offset also means flow type */ Why do you need to introduce an #ifdef RTE_QUERY_HASH_KEY_SIZE around your code? Why not to have it always on? Is it because of not breaking ABI for 2.1? But here, I suppose there would be no breakage anyway: struct rte_eth_dev_info { ... uint32_t tx_offload_capa; /**< Device TX offload capabilities. */ uint16_t reta_size; /**< Device redirection table size, the total number of entries. */ /** Bit mask of RSS offloads, the bit offset also means flow type */ uint64_t flow_type_rss_offloads; struct rte_eth_rxconf default_rxconf; so between 'reta_size' and 'flow_type_rss_offloads', there is a 2 bytes gap. Wonder, why not put it there? Konstantin > -- > 1.9.3
> -----Original Message----- > From: Ananyev, Konstantin > Sent: Thursday, June 4, 2015 6:38 PM > To: Zhang, Helin; dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH v2 1/6] ethdev: add an field for querying hash > key size > > Hi Helin, > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Helin Zhang > > Sent: Thursday, June 04, 2015 8:34 AM > > To: dev@dpdk.org > > Subject: [dpdk-dev] [PATCH v2 1/6] ethdev: add an field for querying > > hash key size > > > > To support querying hash key size per port, an new field of > > 'hash_key_size' was added in 'struct rte_eth_dev_info' for storing > > hash key size in bytes. > > > > Signed-off-by: Helin Zhang <helin.zhang@intel.com> > > --- > > lib/librte_ether/rte_ethdev.h | 3 +++ > > 1 file changed, 3 insertions(+) > > > > v2 changes: > > * Disabled the code changes by default, to avoid breaking ABI compatibility. > > > > diff --git a/lib/librte_ether/rte_ethdev.h > > b/lib/librte_ether/rte_ethdev.h index 16dbe00..bdebc87 100644 > > --- a/lib/librte_ether/rte_ethdev.h > > +++ b/lib/librte_ether/rte_ethdev.h > > @@ -916,6 +916,9 @@ struct rte_eth_dev_info { > > uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */ > > uint32_t rx_offload_capa; /**< Device RX offload capabilities. */ > > uint32_t tx_offload_capa; /**< Device TX offload capabilities. */ > > +#ifdef RTE_QUERY_HASH_KEY_SIZE > > + uint8_t hash_key_size; /**< Hash key size in bytes */ #endif > > uint16_t reta_size; > > /**< Device redirection table size, the total number of entries. */ > > /** Bit mask of RSS offloads, the bit offset also means flow type */ > > Why do you need to introduce an #ifdef RTE_QUERY_HASH_KEY_SIZE around > your code? > Why not to have it always on? > Is it because of not breaking ABI for 2.1? > But here, I suppose there would be no breakage anyway: > > struct rte_eth_dev_info { > ... > uint32_t tx_offload_capa; /**< Device TX offload capabilities. */ > uint16_t reta_size; > /**< Device redirection table size, the total number of entries. */ > /** Bit mask of RSS offloads, the bit offset also means flow type */ > uint64_t flow_type_rss_offloads; > struct rte_eth_rxconf default_rxconf; > > > so between 'reta_size' and 'flow_type_rss_offloads', there is a 2 bytes gap. > Wonder, why not put it there? Oh, yes, you are totally right. There should be a 2 bytes padding there. I will rework it with that. Thanks! Helin > > Konstantin > > > -- > > 1.9.3
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 16dbe00..bdebc87 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -916,6 +916,9 @@ struct rte_eth_dev_info { uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */ uint32_t rx_offload_capa; /**< Device RX offload capabilities. */ uint32_t tx_offload_capa; /**< Device TX offload capabilities. */ +#ifdef RTE_QUERY_HASH_KEY_SIZE + uint8_t hash_key_size; /**< Hash key size in bytes */ +#endif uint16_t reta_size; /**< Device redirection table size, the total number of entries. */ /** Bit mask of RSS offloads, the bit offset also means flow type */