From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nelio Laranjeiro Subject: [PATCH v2 2/3] ethdev: change RETA type in rte_eth_rss_reta_entry64 Date: Tue, 12 Jan 2016 11:49:08 +0100 Message-ID: <1452595749-11297-3-git-send-email-nelio.laranjeiro@6wind.com> References: <1452090774-10650-1-git-send-email-nelio.laranjeiro@6wind.com> <1452595749-11297-1-git-send-email-nelio.laranjeiro@6wind.com> To: dev@dpdk.org Return-path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 369518E65 for ; Tue, 12 Jan 2016 11:49:45 +0100 (CET) Received: by mail-wm0-f46.google.com with SMTP id b14so313171309wmb.1 for ; Tue, 12 Jan 2016 02:49:45 -0800 (PST) In-Reply-To: <1452595749-11297-1-git-send-email-nelio.laranjeiro@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Several NICs can handle 512 entries/queues in their RETA table, an 8 bit field is not large enough for them. Signed-off-by: Nelio Laranjeiro --- app/test-pmd/cmdline.c | 4 ++-- doc/guides/rel_notes/deprecation.rst | 5 ----- lib/librte_ether/rte_ethdev.c | 2 +- lib/librte_ether/rte_ethdev.h | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 73298c9..9c7cda0 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -1767,7 +1767,7 @@ parse_reta_config(const char *str, int i; unsigned size; uint16_t hash_index, idx, shift; - uint8_t nb_queue; + uint16_t nb_queue; char s[256]; const char *p, *p0 = str; char *end; @@ -1800,7 +1800,7 @@ parse_reta_config(const char *str, } hash_index = (uint16_t)int_fld[FLD_HASH_INDEX]; - nb_queue = (uint8_t)int_fld[FLD_QUEUE]; + nb_queue = (uint16_t)int_fld[FLD_QUEUE]; if (hash_index >= nb_entries) { printf("Invalid RETA hash index=%d\n", hash_index); diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 9cb288c..9930b5a 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -15,11 +15,6 @@ Deprecation Notices * The ethdev structures rte_eth_link, rte_eth_dev_info and rte_eth_conf must be updated to support 100G link and to have a cleaner link speed API. -* ABI changes is planned for the reta field in struct rte_eth_rss_reta_entry64 - which handles at most 256 queues (8 bits) while newer NICs support larger - tables (512 queues). - It should be integrated in release 2.3. - * ABI changes are planned for struct rte_eth_fdir_flow in order to support extend flow director's input set. The release 2.2 does not contain these ABI changes, but release 2.3 will, and no backwards compatibility is planned. diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index ed971b4..b0aa94d 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -1857,7 +1857,7 @@ rte_eth_check_reta_mask(struct rte_eth_rss_reta_entry64 *reta_conf, static int rte_eth_check_reta_entry(struct rte_eth_rss_reta_entry64 *reta_conf, uint16_t reta_size, - uint8_t max_rxq) + uint16_t max_rxq) { uint16_t i, idx, shift; diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index bada8ad..8302a2d 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -520,7 +520,7 @@ struct rte_eth_mirror_conf { struct rte_eth_rss_reta_entry64 { uint64_t mask; /**< Mask bits indicate which entries need to be updated/queried. */ - uint8_t reta[RTE_RETA_GROUP_SIZE]; + uint16_t reta[RTE_RETA_GROUP_SIZE]; /**< Group of 64 redirection table entries. */ }; -- 2.1.4