fix PMD wording
[dpdk.git] / drivers / net / hns3 / hns3_rss.c
index 2efd410..3a4b699 100644 (file)
@@ -1,13 +1,10 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2018-2019 Hisilicon Limited.
+ * Copyright(c) 2018-2021 HiSilicon Limited.
  */
 
-#include <stdbool.h>
 #include <rte_ethdev.h>
 #include <rte_io.h>
 #include <rte_malloc.h>
-#include <rte_memcpy.h>
-#include <rte_spinlock.h>
 
 #include "hns3_ethdev.h"
 #include "hns3_logs.h"
@@ -79,69 +76,69 @@ static const struct {
        uint64_t rss_types;
        uint64_t rss_field;
 } hns3_set_tuple_table[] = {
-       { ETH_RSS_FRAG_IPV4 | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_FRAG_IPV4 | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_FRAG_IP_S) },
-       { ETH_RSS_FRAG_IPV4 | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_FRAG_IPV4 | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_FRAG_IP_D) },
-       { ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_S) },
-       { ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_D) },
-       { ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_UDP_S) },
-       { ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_UDP_D) },
-       { ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S) },
-       { ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D) },
-       { ETH_RSS_NONFRAG_IPV4_OTHER | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_OTHER | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) },
-       { ETH_RSS_NONFRAG_IPV4_OTHER | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV4_OTHER | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D) },
-       { ETH_RSS_FRAG_IPV6 | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_FRAG_IPV6 | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_FRAG_IP_S) },
-       { ETH_RSS_FRAG_IPV6 | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_FRAG_IPV6 | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_FRAG_IP_D) },
-       { ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_TCP_S) },
-       { ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_TCP_D) },
-       { ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_UDP_S) },
-       { ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_UDP_D) },
-       { ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_S) },
-       { ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_D) },
-       { ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L4_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_L4_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_S) },
-       { ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L4_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_L4_DST_ONLY,
          BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_D) },
-       { ETH_RSS_NONFRAG_IPV6_OTHER | ETH_RSS_L3_SRC_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_OTHER | RTE_ETH_RSS_L3_SRC_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) },
-       { ETH_RSS_NONFRAG_IPV6_OTHER | ETH_RSS_L3_DST_ONLY,
+       { RTE_ETH_RSS_NONFRAG_IPV6_OTHER | RTE_ETH_RSS_L3_DST_ONLY,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D) },
 };
 
@@ -149,44 +146,44 @@ static const struct {
        uint64_t rss_types;
        uint64_t rss_field;
 } hns3_set_rss_types[] = {
-       { ETH_RSS_FRAG_IPV4, BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_FRAG_IP_D) |
+       { RTE_ETH_RSS_FRAG_IPV4, BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_FRAG_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_FRAG_IP_S) },
-       { ETH_RSS_NONFRAG_IPV4_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_D) },
-       { ETH_RSS_NONFRAG_IPV4_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV4_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_TCP_EN_TCP_D) },
-       { ETH_RSS_NONFRAG_IPV4_UDP, BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV4_UDP, BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_UDP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_UDP_EN_UDP_D) },
-       { ETH_RSS_NONFRAG_IPV4_SCTP, BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV4_SCTP, BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_SCTP_EN_SCTP_VER) },
-       { ETH_RSS_NONFRAG_IPV4_OTHER,
+       { RTE_ETH_RSS_NONFRAG_IPV4_OTHER,
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV4_EN_NONFRAG_IP_D) },
-       { ETH_RSS_FRAG_IPV6, BIT_ULL(HNS3_RSS_FIELD_IPV6_FRAG_IP_S) |
+       { RTE_ETH_RSS_FRAG_IPV6, BIT_ULL(HNS3_RSS_FIELD_IPV6_FRAG_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_FRAG_IP_D) },
-       { ETH_RSS_NONFRAG_IPV6_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV6_TCP, BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_TCP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_TCP_EN_TCP_D) },
-       { ETH_RSS_NONFRAG_IPV6_UDP, BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV6_UDP, BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_UDP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_UDP_EN_UDP_D) },
-       { ETH_RSS_NONFRAG_IPV6_SCTP, BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_S) |
+       { RTE_ETH_RSS_NONFRAG_IPV6_SCTP, BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_IP_D) |
          BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_D) |
          BIT_ULL(HNS3_RSS_FILED_IPV6_SCTP_EN_SCTP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_SCTP_EN_SCTP_VER) },
-       { ETH_RSS_NONFRAG_IPV6_OTHER,
+       { RTE_ETH_RSS_NONFRAG_IPV6_OTHER,
          BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_S) |
          BIT_ULL(HNS3_RSS_FIELD_IPV6_NONFRAG_IP_D) }
 };
@@ -196,7 +193,7 @@ static const struct {
  * Used to set algorithm, key_offset and hash key of rss.
  */
 int
-hns3_set_rss_algo_key(struct hns3_hw *hw, const uint8_t *key)
+hns3_rss_set_algo_key(struct hns3_hw *hw, const uint8_t *key)
 {
 #define HNS3_KEY_OFFSET_MAX    3
 #define HNS3_SET_HASH_KEY_BYTE_FOUR    2
@@ -248,7 +245,7 @@ hns3_set_rss_algo_key(struct hns3_hw *hw, const uint8_t *key)
  * Used to configure the tuple selection for RSS hash input.
  */
 static int
-hns3_set_rss_input_tuple(struct hns3_hw *hw)
+hns3_rss_set_input_tuple(struct hns3_hw *hw)
 {
        struct hns3_rss_conf *rss_config = &hw->rss_info;
        struct hns3_rss_input_tuple_cmd *req;
@@ -315,7 +312,7 @@ hns3_set_rss_indir_table(struct hns3_hw *hw, uint16_t *indir, uint16_t size)
 
        /* Update redirection table of hw */
        memcpy(hw->rss_info.rss_indirection_tbl, indir,
-              sizeof(hw->rss_info.rss_indirection_tbl));
+              sizeof(uint16_t) * size);
 
        return 0;
 }
@@ -327,13 +324,13 @@ hns3_rss_reset_indir_table(struct hns3_hw *hw)
        int ret;
 
        lut = rte_zmalloc("hns3_rss_lut",
-                         HNS3_RSS_IND_TBL_SIZE * sizeof(uint16_t), 0);
+                         hw->rss_ind_tbl_size * sizeof(uint16_t), 0);
        if (lut == NULL) {
                hns3_err(hw, "No hns3_rss_lut memory can be allocated");
                return -ENOMEM;
        }
 
-       ret = hns3_set_rss_indir_table(hw, lut, HNS3_RSS_IND_TBL_SIZE);
+       ret = hns3_set_rss_indir_table(hw, lut, hw->rss_ind_tbl_size);
        if (ret)
                hns3_err(hw, "RSS uninit indir table failed: %d", ret);
        rte_free(lut);
@@ -368,10 +365,10 @@ hns3_set_rss_tuple_by_rss_hf(struct hns3_hw *hw,
         * When user does not specify the following types or a combination of
         * the following types, it enables all fields for the supported RSS
         * types. the following types as:
-        * - ETH_RSS_L3_SRC_ONLY
-        * - ETH_RSS_L3_DST_ONLY
-        * - ETH_RSS_L4_SRC_ONLY
-        * - ETH_RSS_L4_DST_ONLY
+        * - RTE_ETH_RSS_L3_SRC_ONLY
+        * - RTE_ETH_RSS_L3_DST_ONLY
+        * - RTE_ETH_RSS_L4_SRC_ONLY
+        * - RTE_ETH_RSS_L4_DST_ONLY
         */
        if (fields_count == 0) {
                for (i = 0; i < RTE_DIM(hns3_set_rss_types); i++) {
@@ -431,7 +428,7 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev,
        } else if (rss_hf && rss_cfg->conf.types == 0) {
                /* Enable RSS, restore indirection table by hw's config */
                ret = hns3_set_rss_indir_table(hw, rss_cfg->rss_indirection_tbl,
-                                              HNS3_RSS_IND_TBL_SIZE);
+                                              hw->rss_ind_tbl_size);
                if (ret)
                        goto conf_err;
        }
@@ -446,7 +443,7 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev,
                        ret = -EINVAL;
                        goto conf_err;
                }
-               ret = hns3_set_rss_algo_key(hw, key);
+               ret = hns3_rss_set_algo_key(hw, key);
                if (ret)
                        goto conf_err;
        }
@@ -508,30 +505,29 @@ hns3_dev_rss_reta_update(struct rte_eth_dev *dev,
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        struct hns3_rss_conf *rss_cfg = &hw->rss_info;
-       uint16_t i, indir_size = HNS3_RSS_IND_TBL_SIZE; /* Table size is 512 */
-       uint16_t indirection_tbl[HNS3_RSS_IND_TBL_SIZE];
-       uint16_t idx, shift, allow_rss_queues;
+       uint16_t indirection_tbl[HNS3_RSS_IND_TBL_SIZE_MAX];
+       uint16_t idx, shift;
+       uint16_t i;
        int ret;
 
-       if (reta_size != indir_size || reta_size > ETH_RSS_RETA_SIZE_512) {
+       if (reta_size != hw->rss_ind_tbl_size) {
                hns3_err(hw, "The size of hash lookup table configured (%u)"
                         "doesn't match the number hardware can supported"
-                        "(%u)", reta_size, indir_size);
+                        "(%u)", reta_size, hw->rss_ind_tbl_size);
                return -EINVAL;
        }
        rte_spinlock_lock(&hw->lock);
        memcpy(indirection_tbl, rss_cfg->rss_indirection_tbl,
               sizeof(rss_cfg->rss_indirection_tbl));
-       allow_rss_queues = RTE_MIN(dev->data->nb_rx_queues, hw->rss_size_max);
        for (i = 0; i < reta_size; i++) {
-               idx = i / RTE_RETA_GROUP_SIZE;
-               shift = i % RTE_RETA_GROUP_SIZE;
-               if (reta_conf[idx].reta[shift] >= allow_rss_queues) {
+               idx = i / RTE_ETH_RETA_GROUP_SIZE;
+               shift = i % RTE_ETH_RETA_GROUP_SIZE;
+               if (reta_conf[idx].reta[shift] >= hw->alloc_rss_size) {
                        rte_spinlock_unlock(&hw->lock);
-                       hns3_err(hw, "Invalid queue id(%u) to be set in "
-                                "redirection table, max number of rss "
-                                "queues: %u", reta_conf[idx].reta[shift],
-                                allow_rss_queues);
+                       hns3_err(hw, "queue id(%u) set to redirection table "
+                                "exceeds queue number(%u) allocated to a TC",
+                                reta_conf[idx].reta[shift],
+                                hw->alloc_rss_size);
                        return -EINVAL;
                }
 
@@ -540,7 +536,7 @@ hns3_dev_rss_reta_update(struct rte_eth_dev *dev,
        }
 
        ret = hns3_set_rss_indir_table(hw, indirection_tbl,
-                                      HNS3_RSS_IND_TBL_SIZE);
+                                      hw->rss_ind_tbl_size);
 
        rte_spinlock_unlock(&hw->lock);
        return ret;
@@ -565,19 +561,19 @@ hns3_dev_rss_reta_query(struct rte_eth_dev *dev,
        struct hns3_adapter *hns = dev->data->dev_private;
        struct hns3_hw *hw = &hns->hw;
        struct hns3_rss_conf *rss_cfg = &hw->rss_info;
-       uint16_t i, indir_size = HNS3_RSS_IND_TBL_SIZE; /* Table size is 512 */
        uint16_t idx, shift;
+       uint16_t i;
 
-       if (reta_size != indir_size || reta_size > ETH_RSS_RETA_SIZE_512) {
+       if (reta_size != hw->rss_ind_tbl_size) {
                hns3_err(hw, "The size of hash lookup table configured (%u)"
                         " doesn't match the number hardware can supported"
-                        "(%u)", reta_size, indir_size);
+                        "(%u)", reta_size, hw->rss_ind_tbl_size);
                return -EINVAL;
        }
        rte_spinlock_lock(&hw->lock);
        for (i = 0; i < reta_size; i++) {
-               idx = i / RTE_RETA_GROUP_SIZE;
-               shift = i % RTE_RETA_GROUP_SIZE;
+               idx = i / RTE_ETH_RETA_GROUP_SIZE;
+               shift = i % RTE_ETH_RETA_GROUP_SIZE;
                if (reta_conf[idx].mask & (1ULL << shift))
                        reta_conf[idx].reta[shift] =
                                                rss_cfg->rss_indirection_tbl[i];
@@ -637,16 +633,11 @@ hns3_set_rss_tc_mode(struct hns3_hw *hw)
 static void
 hns3_rss_tuple_uninit(struct hns3_hw *hw)
 {
-       struct hns3_rss_input_tuple_cmd *req;
        struct hns3_cmd_desc desc;
        int ret;
 
        hns3_cmd_setup_basic_desc(&desc, HNS3_OPC_RSS_INPUT_TUPLE, false);
 
-       req = (struct hns3_rss_input_tuple_cmd *)desc.data;
-
-       memset(req, 0, sizeof(struct hns3_rss_tuple_cfg));
-
        ret = hns3_cmd_send(hw, &desc, 1);
        if (ret) {
                hns3_err(hw, "RSS uninit tuple failed %d", ret);
@@ -658,7 +649,7 @@ hns3_rss_tuple_uninit(struct hns3_hw *hw)
  * Set the default rss configuration in the init of driver.
  */
 void
-hns3_set_default_rss_args(struct hns3_hw *hw)
+hns3_rss_set_default_args(struct hns3_hw *hw)
 {
        struct hns3_rss_conf *rss_cfg = &hw->rss_info;
        uint16_t queue_num = hw->alloc_rss_size;
@@ -671,12 +662,12 @@ hns3_set_default_rss_args(struct hns3_hw *hw)
        memcpy(rss_cfg->key, hns3_hash_key, HNS3_RSS_KEY_SIZE);
 
        /* Initialize RSS indirection table */
-       for (i = 0; i < HNS3_RSS_IND_TBL_SIZE; i++)
+       for (i = 0; i < hw->rss_ind_tbl_size; i++)
                rss_cfg->rss_indirection_tbl[i] = i % queue_num;
 }
 
 /*
- * RSS initialization for hns3 pmd driver.
+ * RSS initialization for hns3 PMD.
  */
 int
 hns3_config_rss(struct hns3_adapter *hns)
@@ -701,16 +692,16 @@ hns3_config_rss(struct hns3_adapter *hns)
        }
 
        /* When RSS is off, redirect the packet queue 0 */
-       if (((uint32_t)mq_mode & ETH_MQ_RX_RSS_FLAG) == 0)
+       if (((uint32_t)mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) == 0)
                hns3_rss_uninit(hns);
 
        /* Configure RSS hash algorithm and hash key offset */
-       ret = hns3_set_rss_algo_key(hw, hash_key);
+       ret = hns3_rss_set_algo_key(hw, hash_key);
        if (ret)
                return ret;
 
        /* Configure the tuple selection for RSS hash input */
-       ret = hns3_set_rss_input_tuple(hw);
+       ret = hns3_rss_set_input_tuple(hw);
        if (ret)
                return ret;
 
@@ -718,9 +709,9 @@ hns3_config_rss(struct hns3_adapter *hns)
         * When RSS is off, it doesn't need to configure rss redirection table
         * to hardware.
         */
-       if (((uint32_t)mq_mode & ETH_MQ_RX_RSS_FLAG)) {
+       if (((uint32_t)mq_mode & RTE_ETH_MQ_RX_RSS_FLAG)) {
                ret = hns3_set_rss_indir_table(hw, rss_cfg->rss_indirection_tbl,
-                                              HNS3_RSS_IND_TBL_SIZE);
+                                              hw->rss_ind_tbl_size);
                if (ret)
                        goto rss_tuple_uninit;
        }
@@ -732,7 +723,7 @@ hns3_config_rss(struct hns3_adapter *hns)
        return ret;
 
 rss_indir_table_uninit:
-       if (((uint32_t)mq_mode & ETH_MQ_RX_RSS_FLAG)) {
+       if (((uint32_t)mq_mode & RTE_ETH_MQ_RX_RSS_FLAG)) {
                ret1 = hns3_rss_reset_indir_table(hw);
                if (ret1 != 0)
                        return ret;
@@ -748,7 +739,7 @@ rss_tuple_uninit:
 }
 
 /*
- * RSS uninitialization for hns3 pmd driver.
+ * RSS uninitialization for hns3 PMD.
  */
 void
 hns3_rss_uninit(struct hns3_adapter *hns)