From: Pavan Nikhilesh <pbhagavat...@marvell.com>

Add DEV_RX_OFFLOAD_RSS_HASH flag for all PMDs that support RSS hash
delivery.

Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
Reviewed-by: Andrew Rybchenko <arybche...@solarflare.com>
Reviewed-by: Hemant Agrawal <hemant.agra...@nxp.com>
Acked-by: Jerin Jacob <jer...@marvell.com>
Acked-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c       |  3 ++-
 drivers/net/cxgbe/cxgbe.h            |  3 ++-
 drivers/net/dpaa/dpaa_ethdev.c       |  3 ++-
 drivers/net/dpaa2/dpaa2_ethdev.c     |  3 ++-
 drivers/net/e1000/igb_rxtx.c         |  3 ++-
 drivers/net/enic/enic_res.c          |  3 ++-
 drivers/net/fm10k/fm10k_ethdev.c     |  3 ++-
 drivers/net/hinic/hinic_pmd_ethdev.c |  3 ++-
 drivers/net/i40e/i40e_ethdev.c       |  3 ++-
 drivers/net/iavf/iavf_ethdev.c       |  3 ++-
 drivers/net/ice/ice_ethdev.c         |  3 ++-
 drivers/net/ixgbe/ixgbe_rxtx.c       |  3 ++-
 drivers/net/liquidio/lio_ethdev.c    |  3 ++-
 drivers/net/mlx4/mlx4_rxq.c          |  3 ++-
 drivers/net/mlx5/mlx5_rxq.c          |  3 ++-
 drivers/net/netvsc/hn_rndis.c        |  3 ++-
 drivers/net/nfp/nfp_net.c            |  3 ++-
 drivers/net/octeontx2/otx2_ethdev.c  |  3 ++-
 drivers/net/octeontx2/otx2_ethdev.h  | 15 ++++++++-------
 drivers/net/qede/qede_ethdev.c       |  3 ++-
 drivers/net/sfc/sfc_ef10_essb_rx.c   |  2 +-
 drivers/net/sfc/sfc_ef10_rx.c        |  3 ++-
 drivers/net/sfc/sfc_rx.c             |  3 ++-
 drivers/net/thunderx/nicvf_ethdev.h  |  3 ++-
 drivers/net/vmxnet3/vmxnet3_ethdev.c |  3 ++-
 25 files changed, 55 insertions(+), 31 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index e7ec99e15..5586d23da 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -117,7 +117,8 @@ static const struct rte_pci_id bnxt_pci_id_map[] = {
                                     DEV_RX_OFFLOAD_KEEP_CRC | \
                                     DEV_RX_OFFLOAD_VLAN_EXTEND | \
                                     DEV_RX_OFFLOAD_TCP_LRO | \
-                                    DEV_RX_OFFLOAD_SCATTER)
+                                    DEV_RX_OFFLOAD_SCATTER | \
+                                    DEV_RX_OFFLOAD_RSS_HASH)
 
 static int bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask);
 static void bnxt_print_link_info(struct rte_eth_dev *eth_dev);
diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h
index ed1be3559..6c1f73ac4 100644
--- a/drivers/net/cxgbe/cxgbe.h
+++ b/drivers/net/cxgbe/cxgbe.h
@@ -47,7 +47,8 @@
                           DEV_RX_OFFLOAD_UDP_CKSUM | \
                           DEV_RX_OFFLOAD_TCP_CKSUM | \
                           DEV_RX_OFFLOAD_JUMBO_FRAME | \
-                          DEV_RX_OFFLOAD_SCATTER)
+                          DEV_RX_OFFLOAD_SCATTER | \
+                          DEV_RX_OFFLOAD_RSS_HASH)
 
 
 /* Common PF and VF devargs */
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index caf255d67..e24204744 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -49,7 +49,8 @@
 /* Supported Rx offloads */
 static uint64_t dev_rx_offloads_sup =
                DEV_RX_OFFLOAD_JUMBO_FRAME |
-               DEV_RX_OFFLOAD_SCATTER;
+               DEV_RX_OFFLOAD_SCATTER |
+               DEV_RX_OFFLOAD_RSS_HASH;
 
 /* Rx offloads which cannot be disabled */
 static uint64_t dev_rx_offloads_nodis =
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 6a683fef4..9e983f6ae 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -41,7 +41,8 @@ static uint64_t dev_rx_offloads_sup =
                DEV_RX_OFFLOAD_VLAN_STRIP |
                DEV_RX_OFFLOAD_VLAN_FILTER |
                DEV_RX_OFFLOAD_JUMBO_FRAME |
-               DEV_RX_OFFLOAD_TIMESTAMP;
+               DEV_RX_OFFLOAD_TIMESTAMP |
+               DEV_RX_OFFLOAD_RSS_HASH;
 
 /* Rx offloads which cannot be disabled */
 static uint64_t dev_rx_offloads_nodis =
diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index c5606de5d..684fa4ad8 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -1646,7 +1646,8 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
                          DEV_RX_OFFLOAD_TCP_CKSUM   |
                          DEV_RX_OFFLOAD_JUMBO_FRAME |
                          DEV_RX_OFFLOAD_KEEP_CRC    |
-                         DEV_RX_OFFLOAD_SCATTER;
+                         DEV_RX_OFFLOAD_SCATTER     |
+                         DEV_RX_OFFLOAD_RSS_HASH;
 
        return rx_offload_capa;
 }
diff --git a/drivers/net/enic/enic_res.c b/drivers/net/enic/enic_res.c
index f403a0b66..7c3c270a2 100644
--- a/drivers/net/enic/enic_res.c
+++ b/drivers/net/enic/enic_res.c
@@ -205,7 +205,8 @@ int enic_get_vnic_config(struct enic *enic)
                DEV_RX_OFFLOAD_VLAN_STRIP |
                DEV_RX_OFFLOAD_IPV4_CKSUM |
                DEV_RX_OFFLOAD_UDP_CKSUM |
-               DEV_RX_OFFLOAD_TCP_CKSUM;
+               DEV_RX_OFFLOAD_TCP_CKSUM |
+               DEV_RX_OFFLOAD_RSS_HASH;
        enic->tx_offload_mask =
                PKT_TX_IPV6 |
                PKT_TX_IPV4 |
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 99c4366e4..8af133295 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1805,7 +1805,8 @@ static uint64_t fm10k_get_rx_port_offloads_capa(struct 
rte_eth_dev *dev)
                           DEV_RX_OFFLOAD_UDP_CKSUM   |
                           DEV_RX_OFFLOAD_TCP_CKSUM   |
                           DEV_RX_OFFLOAD_JUMBO_FRAME |
-                          DEV_RX_OFFLOAD_HEADER_SPLIT);
+                          DEV_RX_OFFLOAD_HEADER_SPLIT |
+                          DEV_RX_OFFLOAD_RSS_HASH);
 }
 
 static int
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c 
b/drivers/net/hinic/hinic_pmd_ethdev.c
index 9f37a404b..7f1a27680 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -740,7 +740,8 @@ hinic_dev_infos_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *info)
                                DEV_RX_OFFLOAD_VLAN_FILTER |
                                DEV_RX_OFFLOAD_SCATTER |
                                DEV_RX_OFFLOAD_JUMBO_FRAME |
-                               DEV_RX_OFFLOAD_TCP_LRO;
+                               DEV_RX_OFFLOAD_TCP_LRO |
+                               DEV_RX_OFFLOAD_RSS_HASH;
 
        info->tx_queue_offload_capa = 0;
        info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT |
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 77a46832c..3bdde9bb1 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -3613,7 +3613,8 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)
                DEV_RX_OFFLOAD_SCATTER |
                DEV_RX_OFFLOAD_VLAN_EXTEND |
                DEV_RX_OFFLOAD_VLAN_FILTER |
-               DEV_RX_OFFLOAD_JUMBO_FRAME;
+               DEV_RX_OFFLOAD_JUMBO_FRAME |
+               DEV_RX_OFFLOAD_RSS_HASH;
 
        dev_info->tx_queue_offload_capa = DEV_TX_OFFLOAD_MBUF_FAST_FREE;
        dev_info->tx_offload_capa =
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 64037e11d..8f170810d 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -527,7 +527,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)
                DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
                DEV_RX_OFFLOAD_SCATTER |
                DEV_RX_OFFLOAD_JUMBO_FRAME |
-               DEV_RX_OFFLOAD_VLAN_FILTER;
+               DEV_RX_OFFLOAD_VLAN_FILTER |
+               DEV_RX_OFFLOAD_RSS_HASH;
        dev_info->tx_offload_capa =
                DEV_TX_OFFLOAD_VLAN_INSERT |
                DEV_TX_OFFLOAD_QINQ_INSERT |
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index dc4d1e6c7..b7d726cbd 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2613,7 +2613,8 @@ ice_dev_info_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)
                        DEV_RX_OFFLOAD_TCP_CKSUM |
                        DEV_RX_OFFLOAD_QINQ_STRIP |
                        DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
-                       DEV_RX_OFFLOAD_VLAN_EXTEND;
+                       DEV_RX_OFFLOAD_VLAN_EXTEND |
+                       DEV_RX_OFFLOAD_RSS_HASH;
                dev_info->tx_offload_capa |=
                        DEV_TX_OFFLOAD_QINQ_INSERT |
                        DEV_TX_OFFLOAD_IPV4_CKSUM |
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index edcfa60ce..fa572d184 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2872,7 +2872,8 @@ ixgbe_get_rx_port_offloads(struct rte_eth_dev *dev)
                   DEV_RX_OFFLOAD_KEEP_CRC    |
                   DEV_RX_OFFLOAD_JUMBO_FRAME |
                   DEV_RX_OFFLOAD_VLAN_FILTER |
-                  DEV_RX_OFFLOAD_SCATTER;
+                  DEV_RX_OFFLOAD_SCATTER |
+                  DEV_RX_OFFLOAD_RSS_HASH;
 
        if (hw->mac.type == ixgbe_mac_82598EB)
                offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
diff --git a/drivers/net/liquidio/lio_ethdev.c 
b/drivers/net/liquidio/lio_ethdev.c
index ec01343f1..b1b873d54 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -412,7 +412,8 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
        devinfo->rx_offload_capa = (DEV_RX_OFFLOAD_IPV4_CKSUM           |
                                    DEV_RX_OFFLOAD_UDP_CKSUM            |
                                    DEV_RX_OFFLOAD_TCP_CKSUM            |
-                                   DEV_RX_OFFLOAD_VLAN_STRIP);
+                                   DEV_RX_OFFLOAD_VLAN_STRIP           |
+                                   DEV_RX_OFFLOAD_RSS_HASH);
        devinfo->tx_offload_capa = (DEV_TX_OFFLOAD_IPV4_CKSUM           |
                                    DEV_TX_OFFLOAD_UDP_CKSUM            |
                                    DEV_TX_OFFLOAD_TCP_CKSUM            |
diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
index f45c1ff85..4a6fbd922 100644
--- a/drivers/net/mlx4/mlx4_rxq.c
+++ b/drivers/net/mlx4/mlx4_rxq.c
@@ -685,7 +685,8 @@ mlx4_get_rx_queue_offloads(struct mlx4_priv *priv)
 {
        uint64_t offloads = DEV_RX_OFFLOAD_SCATTER |
                            DEV_RX_OFFLOAD_KEEP_CRC |
-                           DEV_RX_OFFLOAD_JUMBO_FRAME;
+                           DEV_RX_OFFLOAD_JUMBO_FRAME |
+                           DEV_RX_OFFLOAD_RSS_HASH;
 
        if (priv->hw_csum)
                offloads |= DEV_RX_OFFLOAD_CHECKSUM;
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 0db065a22..ecc1b9be4 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -368,7 +368,8 @@ mlx5_get_rx_queue_offloads(struct rte_eth_dev *dev)
        struct mlx5_dev_config *config = &priv->config;
        uint64_t offloads = (DEV_RX_OFFLOAD_SCATTER |
                             DEV_RX_OFFLOAD_TIMESTAMP |
-                            DEV_RX_OFFLOAD_JUMBO_FRAME);
+                            DEV_RX_OFFLOAD_JUMBO_FRAME |
+                            DEV_RX_OFFLOAD_RSS_HASH);
 
        if (config->hw_fcs_strip)
                offloads |= DEV_RX_OFFLOAD_KEEP_CRC;
diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c
index a67bc7a79..2b4714042 100644
--- a/drivers/net/netvsc/hn_rndis.c
+++ b/drivers/net/netvsc/hn_rndis.c
@@ -897,7 +897,8 @@ int hn_rndis_get_offload(struct hn_data *hv,
            == HN_NDIS_LSOV2_CAP_IP6)
                dev_info->tx_offload_capa |= DEV_TX_OFFLOAD_TCP_TSO;
 
-       dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP;
+       dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP |
+                                   DEV_RX_OFFLOAD_RSS_HASH;
 
        if (hwcaps.ndis_csum.ndis_ip4_rxcsum & NDIS_RXCSUM_CAP_IP4)
                dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_IPV4_CKSUM;
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 22a8b2d19..2b91b5aca 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1236,7 +1236,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)
                                             DEV_RX_OFFLOAD_UDP_CKSUM |
                                             DEV_RX_OFFLOAD_TCP_CKSUM;
 
-       dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+       dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME |
+                                    DEV_RX_OFFLOAD_RSS_HASH;
 
        if (hw->cap & NFP_NET_CFG_CTRL_TXVLAN)
                dev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT;
diff --git a/drivers/net/octeontx2/otx2_ethdev.c 
b/drivers/net/octeontx2/otx2_ethdev.c
index 4a60f9f74..011800e82 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -575,7 +575,8 @@ nix_rx_offload_flags(struct rte_eth_dev *eth_dev)
        struct rte_eth_rxmode *rxmode = &conf->rxmode;
        uint16_t flags = 0;
 
-       if (rxmode->mq_mode == ETH_MQ_RX_RSS)
+       if (rxmode->mq_mode == ETH_MQ_RX_RSS &&
+                       (dev->rx_offloads & DEV_RX_OFFLOAD_RSS_HASH))
                flags |= NIX_RX_OFFLOAD_RSS_F;
 
        if (dev->rx_offloads & (DEV_RX_OFFLOAD_TCP_CKSUM |
diff --git a/drivers/net/octeontx2/otx2_ethdev.h 
b/drivers/net/octeontx2/otx2_ethdev.h
index 33fa0c60b..4879a8a03 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -122,8 +122,8 @@
        DEV_TX_OFFLOAD_MT_LOCKFREE      | \
        DEV_TX_OFFLOAD_VLAN_INSERT      | \
        DEV_TX_OFFLOAD_QINQ_INSERT      | \
-       DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | \
-       DEV_TX_OFFLOAD_OUTER_UDP_CKSUM  | \
+       DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | \
+       DEV_TX_OFFLOAD_OUTER_UDP_CKSUM  | \
        DEV_TX_OFFLOAD_TCP_CKSUM        | \
        DEV_TX_OFFLOAD_UDP_CKSUM        | \
        DEV_TX_OFFLOAD_SCTP_CKSUM       | \
@@ -140,11 +140,12 @@
        DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \
        DEV_RX_OFFLOAD_SCATTER          | \
        DEV_RX_OFFLOAD_JUMBO_FRAME      | \
-       DEV_RX_OFFLOAD_OUTER_UDP_CKSUM | \
-       DEV_RX_OFFLOAD_VLAN_STRIP | \
-       DEV_RX_OFFLOAD_VLAN_FILTER | \
-       DEV_RX_OFFLOAD_QINQ_STRIP | \
-       DEV_RX_OFFLOAD_TIMESTAMP)
+       DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  | \
+       DEV_RX_OFFLOAD_VLAN_STRIP       | \
+       DEV_RX_OFFLOAD_VLAN_FILTER      | \
+       DEV_RX_OFFLOAD_QINQ_STRIP       | \
+       DEV_RX_OFFLOAD_TIMESTAMP        | \
+       DEV_RX_OFFLOAD_RSS_HASH)
 
 #define NIX_DEFAULT_RSS_CTX_GROUP  0
 #define NIX_DEFAULT_RSS_MCAM_IDX  -1
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 53fdfde9a..a26d0ca56 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1302,7 +1302,8 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev,
                                     DEV_RX_OFFLOAD_SCATTER     |
                                     DEV_RX_OFFLOAD_JUMBO_FRAME |
                                     DEV_RX_OFFLOAD_VLAN_FILTER |
-                                    DEV_RX_OFFLOAD_VLAN_STRIP);
+                                    DEV_RX_OFFLOAD_VLAN_STRIP  |
+                                    DEV_RX_OFFLOAD_RSS_HASH);
        dev_info->rx_queue_offload_capa = 0;
 
        /* TX offloads are on a per-packet basis, so it is applicable
diff --git a/drivers/net/sfc/sfc_ef10_essb_rx.c 
b/drivers/net/sfc/sfc_ef10_essb_rx.c
index 63da807ea..220ef0e47 100644
--- a/drivers/net/sfc/sfc_ef10_essb_rx.c
+++ b/drivers/net/sfc/sfc_ef10_essb_rx.c
@@ -716,7 +716,7 @@ struct sfc_dp_rx sfc_ef10_essb_rx = {
        .features               = SFC_DP_RX_FEAT_FLOW_FLAG |
                                  SFC_DP_RX_FEAT_FLOW_MARK,
        .dev_offload_capa       = DEV_RX_OFFLOAD_CHECKSUM,
-       .queue_offload_capa     = 0,
+       .queue_offload_capa     = DEV_RX_OFFLOAD_RSS_HASH,
        .get_dev_info           = sfc_ef10_essb_rx_get_dev_info,
        .pool_ops_supported     = sfc_ef10_essb_rx_pool_ops_supported,
        .qsize_up_rings         = sfc_ef10_essb_rx_qsize_up_rings,
diff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c
index f2fc6e70a..85b5df466 100644
--- a/drivers/net/sfc/sfc_ef10_rx.c
+++ b/drivers/net/sfc/sfc_ef10_rx.c
@@ -797,7 +797,8 @@ struct sfc_dp_rx sfc_ef10_rx = {
                                  SFC_DP_RX_FEAT_INTR,
        .dev_offload_capa       = DEV_RX_OFFLOAD_CHECKSUM |
                                  DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM,
-       .queue_offload_capa     = DEV_RX_OFFLOAD_SCATTER,
+       .queue_offload_capa     = DEV_RX_OFFLOAD_SCATTER |
+                                 DEV_RX_OFFLOAD_RSS_HASH,
        .get_dev_info           = sfc_ef10_rx_get_dev_info,
        .qsize_up_rings         = sfc_ef10_rx_qsize_up_rings,
        .qcreate                = sfc_ef10_rx_qcreate,
diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index e6809bb64..695580b22 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -618,7 +618,8 @@ struct sfc_dp_rx sfc_efx_rx = {
        },
        .features               = SFC_DP_RX_FEAT_INTR,
        .dev_offload_capa       = DEV_RX_OFFLOAD_CHECKSUM,
-       .queue_offload_capa     = DEV_RX_OFFLOAD_SCATTER,
+       .queue_offload_capa     = DEV_RX_OFFLOAD_SCATTER |
+                                 DEV_RX_OFFLOAD_RSS_HASH,
        .qsize_up_rings         = sfc_efx_rx_qsize_up_rings,
        .qcreate                = sfc_efx_rx_qcreate,
        .qdestroy               = sfc_efx_rx_qdestroy,
diff --git a/drivers/net/thunderx/nicvf_ethdev.h 
b/drivers/net/thunderx/nicvf_ethdev.h
index c0bfbf848..391411799 100644
--- a/drivers/net/thunderx/nicvf_ethdev.h
+++ b/drivers/net/thunderx/nicvf_ethdev.h
@@ -41,7 +41,8 @@
        DEV_RX_OFFLOAD_CHECKSUM    | \
        DEV_RX_OFFLOAD_VLAN_STRIP  | \
        DEV_RX_OFFLOAD_JUMBO_FRAME | \
-       DEV_RX_OFFLOAD_SCATTER)
+       DEV_RX_OFFLOAD_SCATTER     | \
+       DEV_RX_OFFLOAD_RSS_HASH)
 
 #define NICVF_DEFAULT_RX_FREE_THRESH    224
 #define NICVF_DEFAULT_TX_FREE_THRESH    224
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c 
b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index d1faeaa81..5e3689248 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -56,7 +56,8 @@
         DEV_RX_OFFLOAD_UDP_CKSUM |     \
         DEV_RX_OFFLOAD_TCP_CKSUM |     \
         DEV_RX_OFFLOAD_TCP_LRO |       \
-        DEV_RX_OFFLOAD_JUMBO_FRAME)
+        DEV_RX_OFFLOAD_JUMBO_FRAME |   \
+        DEV_RX_OFFLOAD_RSS_HASH)
 
 static int eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev);
 static int eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev);
-- 
2.17.1

Reply via email to