git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/hns3: fix RSS indirection table size
[dpdk.git]
/
drivers
/
net
/
hns3
/
hns3_rss.h
diff --git
a/drivers/net/hns3/hns3_rss.h
b/drivers/net/hns3/hns3_rss.h
index
b5ac8ae
..
94668ed
100644
(file)
--- a/
drivers/net/hns3/hns3_rss.h
+++ b/
drivers/net/hns3/hns3_rss.h
@@
-24,9
+24,8
@@
ETH_RSS_L4_DST_ONLY)
#define HNS3_RSS_IND_TBL_SIZE 512 /* The size of hash lookup table */
ETH_RSS_L4_DST_ONLY)
#define HNS3_RSS_IND_TBL_SIZE 512 /* The size of hash lookup table */
+#define HNS3_RSS_IND_TBL_SIZE_MAX 2048
#define HNS3_RSS_KEY_SIZE 40
#define HNS3_RSS_KEY_SIZE 40
-#define HNS3_RSS_CFG_TBL_NUM \
- (HNS3_RSS_IND_TBL_SIZE / HNS3_RSS_CFG_TBL_SIZE)
#define HNS3_RSS_SET_BITMAP_MSK 0xffff
#define HNS3_RSS_HASH_ALGO_TOEPLITZ 0
#define HNS3_RSS_SET_BITMAP_MSK 0xffff
#define HNS3_RSS_HASH_ALGO_TOEPLITZ 0
@@
-45,9
+44,15
@@
struct hns3_rss_conf {
uint8_t hash_algo; /* hash function type definited by hardware */
uint8_t key[HNS3_RSS_KEY_SIZE]; /* Hash key */
struct hns3_rss_tuple_cfg rss_tuple_sets;
uint8_t hash_algo; /* hash function type definited by hardware */
uint8_t key[HNS3_RSS_KEY_SIZE]; /* Hash key */
struct hns3_rss_tuple_cfg rss_tuple_sets;
- uint16_t rss_indirection_tbl[HNS3_RSS_IND_TBL_SIZE
]; /* Shadow table */
+ uint16_t rss_indirection_tbl[HNS3_RSS_IND_TBL_SIZE
_MAX];
uint16_t queue[HNS3_RSS_QUEUES_BUFFER_NUM]; /* Queues indices to use */
bool valid; /* check if RSS rule is valid */
uint16_t queue[HNS3_RSS_QUEUES_BUFFER_NUM]; /* Queues indices to use */
bool valid; /* check if RSS rule is valid */
+ /*
+ * For IPv6 SCTP packets type, check whether the NIC hardware support
+ * RSS hash using the src/dst port as the input tuple. For Kunpeng920
+ * NIC hardware, it is not supported
+ */
+ bool ipv6_sctp_offload_supported;
};
#ifndef ilog2
};
#ifndef ilog2
@@
-96,7
+101,7
@@
int hns3_dev_rss_reta_update(struct rte_eth_dev *dev,
int hns3_dev_rss_reta_query(struct rte_eth_dev *dev,
struct rte_eth_rss_reta_entry64 *reta_conf,
uint16_t reta_size);
int hns3_dev_rss_reta_query(struct rte_eth_dev *dev,
struct rte_eth_rss_reta_entry64 *reta_conf,
uint16_t reta_size);
-void hns3_
set_default_rss
_args(struct hns3_hw *hw);
+void hns3_
rss_set_default
_args(struct hns3_hw *hw);
int hns3_set_rss_indir_table(struct hns3_hw *hw, uint16_t *indir,
uint16_t size);
int hns3_rss_reset_indir_table(struct hns3_hw *hw);
int hns3_set_rss_indir_table(struct hns3_hw *hw, uint16_t *indir,
uint16_t size);
int hns3_rss_reset_indir_table(struct hns3_hw *hw);
@@
-105,7
+110,7
@@
void hns3_rss_uninit(struct hns3_adapter *hns);
int hns3_set_rss_tuple_by_rss_hf(struct hns3_hw *hw,
struct hns3_rss_tuple_cfg *tuple,
uint64_t rss_hf);
int hns3_set_rss_tuple_by_rss_hf(struct hns3_hw *hw,
struct hns3_rss_tuple_cfg *tuple,
uint64_t rss_hf);
-int hns3_
set_rss
_algo_key(struct hns3_hw *hw, const uint8_t *key);
+int hns3_
rss_set
_algo_key(struct hns3_hw *hw, const uint8_t *key);
int hns3_restore_rss_filter(struct rte_eth_dev *dev);
#endif /* _HNS3_RSS_H_ */
int hns3_restore_rss_filter(struct rte_eth_dev *dev);
#endif /* _HNS3_RSS_H_ */