[dpdk-dev,v3,1/6] ethdev: add an field for querying hash key size

Message ID 1434094441-23906-2-git-send-email-helin.zhang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Zhang, Helin June 12, 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 | 1 +
 1 file changed, 1 insertion(+)

v2 changes:
* Disabled the code changes by default, to avoid breaking ABI compatibility.

v3 changes:
* Moved the newly added element right after 'uint16_t reta_size', where it
  was a padding. So it will not break any ABI compatibility, and no need to
  disable it by default.
  

Comments

Thomas Monjalon June 15, 2015, 3:01 p.m. UTC | #1
2015-06-12 15:33, Helin Zhang:
> v3 changes:
> * Moved the newly added element right after 'uint16_t reta_size', where it
>   was a padding. So it will not break any ABI compatibility, and no need to
>   disable it by default.
[...]
> @@ -918,6 +918,7 @@ 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. */
> +	uint8_t hash_key_size; /**< Hash key size in bytes */
>  	/** Bit mask of RSS offloads, the bit offset also means flow type */
>  	uint64_t flow_type_rss_offloads;
>  	struct rte_eth_rxconf default_rxconf; /**< Default RX configuration */

Neil, what is your opinion?
Do you ack that this technique covers every ABI cases?
  

Patch

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 16dbe00..bce152d 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -918,6 +918,7 @@  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. */
+	uint8_t hash_key_size; /**< Hash key size in bytes */
 	/** Bit mask of RSS offloads, the bit offset also means flow type */
 	uint64_t flow_type_rss_offloads;
 	struct rte_eth_rxconf default_rxconf; /**< Default RX configuration */