Message ID | 1433379638-32715-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 3EB7CC320; Thu, 4 Jun 2015 03:00:51 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 233735A8B for <dev@dpdk.org>; Thu, 4 Jun 2015 03:00:48 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 03 Jun 2015 18:00:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,549,1427785200"; d="scan'208";a="736723553" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga002.fm.intel.com with ESMTP; 03 Jun 2015 18:00:46 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t5410i2Q007046; Thu, 4 Jun 2015 09:00: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 t5410fjw032759; Thu, 4 Jun 2015 09:00:43 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t5410ftY032755; Thu, 4 Jun 2015 09:00:41 +0800 From: Helin Zhang <helin.zhang@intel.com> To: dev@dpdk.org Date: Thu, 4 Jun 2015 09:00:33 +0800 Message-Id: <1433379638-32715-2-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1433379638-32715-1-git-send-email-helin.zhang@intel.com> References: <1433379638-32715-1-git-send-email-helin.zhang@intel.com> Subject: [dpdk-dev] [PATCH 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, 1 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 | 1 +
1 file changed, 1 insertion(+)
Comments
On Thu, Jun 04, 2015 at 09:00:33AM +0800, Helin Zhang wrote: > 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 | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index 16dbe00..004b05a 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -916,6 +916,7 @@ 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. */ > + uint8_t hash_key_size; /**< Hash key size in bytes */ > 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 */ > -- > 1.9.3 > > You'll need to at least move this to the end of the structure to avoid ABI breakage, but even then, since the examples statically allocate this struct on the stack, you need to worry about previously compiled applications not having enough space allocated. Is there a hole in the struct that this can fit into to avoid changing the other member offsets? Neil
Hi Neil Yes, thank you very much for the comments! I realized the ABI issue after I sent out the patch. I think even I put the new one the end of this structure, it may also have issue. I'd like to have this change announced and then get it merged. That means I'd like to make this change and follow the policy and process. Regards, Helin > -----Original Message----- > From: Neil Horman [mailto:nhorman@tuxdriver.com] > Sent: Thursday, June 4, 2015 9:05 PM > To: Zhang, Helin > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 1/6] ethdev: add an field for querying hash key > size > > On Thu, Jun 04, 2015 at 09:00:33AM +0800, Helin Zhang wrote: > > 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 | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/lib/librte_ether/rte_ethdev.h > > b/lib/librte_ether/rte_ethdev.h index 16dbe00..004b05a 100644 > > --- a/lib/librte_ether/rte_ethdev.h > > +++ b/lib/librte_ether/rte_ethdev.h > > @@ -916,6 +916,7 @@ 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. */ > > + uint8_t hash_key_size; /**< Hash key size in bytes */ > > 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 */ > > -- > > 1.9.3 > > > > > > You'll need to at least move this to the end of the structure to avoid ABI breakage, > but even then, since the examples statically allocate this struct on the stack, you > need to worry about previously compiled applications not having enough space > allocated. Is there a hole in the struct that this can fit into to avoid changing the > other member offsets? > Neil
On Fri, Jun 05, 2015 at 06:21:52AM +0000, Zhang, Helin wrote: > Hi Neil > > Yes, thank you very much for the comments! > I realized the ABI issue after I sent out the patch. I think even I put the new one the end of this structure, it may also have issue. > I'd like to have this change announced and then get it merged. That means I'd like to make this change and follow the policy and process. > > Regards, > Helin > Ok, sounds good. Thanks! Neil > > -----Original Message----- > > From: Neil Horman [mailto:nhorman@tuxdriver.com] > > Sent: Thursday, June 4, 2015 9:05 PM > > To: Zhang, Helin > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 1/6] ethdev: add an field for querying hash key > > size > > > > On Thu, Jun 04, 2015 at 09:00:33AM +0800, Helin Zhang wrote: > > > 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 | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/lib/librte_ether/rte_ethdev.h > > > b/lib/librte_ether/rte_ethdev.h index 16dbe00..004b05a 100644 > > > --- a/lib/librte_ether/rte_ethdev.h > > > +++ b/lib/librte_ether/rte_ethdev.h > > > @@ -916,6 +916,7 @@ 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. */ > > > + uint8_t hash_key_size; /**< Hash key size in bytes */ > > > 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 */ > > > -- > > > 1.9.3 > > > > > > > > > > You'll need to at least move this to the end of the structure to avoid ABI breakage, > > but even then, since the examples statically allocate this struct on the stack, you > > need to worry about previously compiled applications not having enough space > > allocated. Is there a hole in the struct that this can fit into to avoid changing the > > other member offsets? > > Neil > >
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 16dbe00..004b05a 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -916,6 +916,7 @@ 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. */ + uint8_t hash_key_size; /**< Hash key size in bytes */ 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 */