net/axgbe: add RSS reta/hash query and update
PATCH v2 1/1 net/axgbe: add RSS reta/hash query and update
From: Chandu Babu N <[email protected]>
add support for RSS reta/hash query and update function
v2:
modification as per Andrew Rybchenko review comments
Signed-off-by Chandu Babu N <[email protected]>
--- doc/guides/nics/features/axgbe.ini | 2 + drivers/net/axgbe/axgbe_dev.c | 5 +- drivers/net/axgbe/axgbe_ethdev.c | 144 +++++++++++++++++++++++++++++ drivers/net/axgbe/axgbe_ethdev.h | 3 + 4 files changed, 152 insertions(+), 2 deletions(-)
doc/guides/nics/features/axgbe.ini +2 -0
@@ -11,6 +11,8 @@ Scattered Rx = Y Promiscuous mode = Y Allmulticast mode = Y RSS hash = Y +RSS key update = Y +RSS reta update = Y CRC offload = Y L3 checksum offload = Y L4 checksum offload = Y
drivers/net/axgbe/axgbe_dev.c +3 -2
@@ -614,7 +614,7 @@ static int axgbe_write_rss_reg(struct axgbe_port *pdata, unsigned int type,return -EBUSY ; } -static int axgbe_write_rss_hash_key (struct axgbe_port *pdata) +int axgbe_write_rss_hash_key (struct axgbe_port *pdata) {struct rte_eth_rss_conf *rss_conf;unsigned int key_regs =sizeof (pdata->rss_key) /sizeof (u32);
@@ -638,7 +638,7 @@ static int axgbe_write_rss_hash_key(struct axgbe_port *pdata)return 0 ; } -static int axgbe_write_rss_lookup_table (struct axgbe_port *pdata) +int axgbe_write_rss_lookup_table (struct axgbe_port *pdata) {unsigned int i;int ret;
@@ -683,6 +683,7 @@ static void axgbe_rss_options(struct axgbe_port *pdata)uint64_t rss_hf; rss_conf = &pdata->eth_dev->data->dev_conf.rx_adv_conf.rss_conf; + pdata->rss_hf = rss_conf->rss_hf; rss_hf = rss_conf->rss_hf;if (rss_hf & (ETH_RSS_IPV4 |ETH_RSS_IPV6 ))
drivers/net/axgbe/axgbe_ethdev.c +144 -0
162 lines not on this page · raw message
drivers/net/axgbe/axgbe_ethdev.h +3 -0
@@ -594,6 +594,7 @@ struct axgbe_port {uint32_t rss_table[AXGBE_RSS_MAX_TABLE_SIZE ];uint32_t rss_options;int rss_enable; +uint64_t rss_hf;/* Hardware features of the device */ struct axgbe_hw_features hw_feat;
@@ -653,5 +654,7 @@ void axgbe_init_function_ptrs_i2c(struct axgbe_i2c_if *i2c_if);void axgbe_set_mac_addn_addr (struct axgbe_port *pdata,u8 *addr,uint32_t index);void axgbe_set_mac_hash_table (struct axgbe_port *pdata,u8 *addr,bool add); +int axgbe_write_rss_lookup_table (struct axgbe_port *pdata); +int axgbe_write_rss_hash_key (struct axgbe_port *pdata);#endif /* RTE_ETH_AXGBE_H_ */
Signature · 1 line
2.17.1