mlx5: support RETA query and update
authorNelio Laranjeiro <nelio.laranjeiro@6wind.com>
Mon, 2 Nov 2015 18:11:57 +0000 (19:11 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 3 Nov 2015 10:23:15 +0000 (11:23 +0100)
commit634efbc2c8c05213696c36e103becc48cdbe534c
tree31d8e84bfa34765178badc5c71da42559e2aa431
parent647d1eaf758b97311ab3692770acac72144eea87
mlx5: support RETA query and update

ConnectX-4 adapters do not have a constant indirection table size, which is
set at runtime from the number of RX queues. The maximum size is retrieved
using a hardware query and is normally 512.

Since the current RETA API cannot handle a variable size, any query/update
command causes it to be silently updated to RSS_INDIRECTION_TABLE_SIZE
entries regardless of the original size.

Also due to the underlying type of the configuration structure, the maximum
size is limited to RSS_INDIRECTION_TABLE_SIZE (currently 128, at most 256
entries).

A port stop/start must be done to apply the new RETA configuration.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
drivers/net/mlx5/mlx5.c
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_ethdev.c
drivers/net/mlx5/mlx5_rss.c
drivers/net/mlx5/mlx5_rxq.c
drivers/net/mlx5/mlx5_utils.h