Currently the driver assumes that the size of the reta table is
four times the number of Rx queues at multiple places. However,
it sets it to four times the maximum number of queues (4 * 32 = 128)
when it first initializes the device. Change the other uses to use
the stored value, not the assumed default.

Tested, using testpmd, for different hardware version on
ESXi 7.0 Update 2.

Signed-off-by: Pankaj Gupta <pagu...@vmware.com>
Reviewed-by: Jochen Behrens <jbehr...@vmware.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c 
b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index af4a1a1b40..e2a695fa88 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -1480,7 +1480,12 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev,
        dev_info->rx_queue_offload_capa = 0;
        dev_info->tx_offload_capa = VMXNET3_TX_OFFLOAD_CAP;
        dev_info->tx_queue_offload_capa = 0;
-
+       if (hw->rss_conf == NULL) {
+               /* RSS not configured */
+               dev_info->reta_size = 0;
+       } else {
+               dev_info->reta_size = hw->rss_conf->indTableSize;
+       }
        return 0;
 }
 
-- 
2.17.1

Reply via email to