]> git.droids-corp.org - dpdk.git/commitdiff
ethdev: increase RETA entry size
authorNelio Laranjeiro <nelio.laranjeiro@6wind.com>
Tue, 12 Jan 2016 10:49:08 +0000 (11:49 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 3 Mar 2016 19:39:47 +0000 (20:39 +0100)
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 <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
app/test-pmd/cmdline.c
doc/guides/rel_notes/deprecation.rst
lib/librte_ether/rte_ethdev.c
lib/librte_ether/rte_ethdev.h

index 52e9f5fad12c171666ab16c051fd152d38333ebe..828b41f2595eca269d4b1cf16a1bdf8f0e7a38ae 100644 (file)
@@ -1769,7 +1769,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;
@@ -1802,7 +1802,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);
index 9cb288c368e21a7659b6df3a819ec3ac8629edb7..9930b5a02b1bca2d9e573d0ef32e1a6bd7609308 100644 (file)
@@ -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.
index 12579656ce28bab264284c8b17ed8a930aa9b59b..5c2b41690696b1ab3099f75ec84f83a5c6afb384 100644 (file)
@@ -1819,7 +1819,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;
 
index 16da82135b62f0eadab7a6a4f5b790ef0469aef2..d53e3627baaf48af0faf698b71853831d69a11a0 100644 (file)
@@ -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. */
 };