ethdev: increase RETA entry size

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>
This commit is contained in:
Nelio Laranjeiro 2016-01-12 11:49:08 +01:00 committed by Thomas Monjalon
parent fb76dd26a3
commit a9963a86b2
4 changed files with 4 additions and 9 deletions

View 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);

View 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.

View 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;

View 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. */
};