drivers/net: update Rx RSS hash offload capabilities
[dpdk.git] / drivers / net / i40e / i40e_ethdev.c
index 77a4683..27d2c0e 100644 (file)
@@ -1812,6 +1812,8 @@ i40e_dev_configure(struct rte_eth_dev *dev)
        ad->tx_simple_allowed = true;
        ad->tx_vec_allowed = true;
 
+       dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;
+
        /* Only legacy filter API needs the following fdir config. So when the
         * legacy filter API is deprecated, the following codes should also be
         * removed.
@@ -3613,7 +3615,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 =
@@ -3847,6 +3850,11 @@ i40e_vlan_offload_set(struct rte_eth_dev *dev, int mask)
        struct i40e_vsi *vsi = pf->main_vsi;
        struct rte_eth_rxmode *rxmode;
 
+       if (mask & ETH_QINQ_STRIP_MASK) {
+               PMD_DRV_LOG(ERR, "Strip qinq is not supported.");
+               return -ENOTSUP;
+       }
+
        rxmode = &dev->data->dev_conf.rxmode;
        if (mask & ETH_VLAN_FILTER_MASK) {
                if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_FILTER)
@@ -8480,7 +8488,7 @@ static int
 i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port, int udp_type)
 {
        int  idx, ret;
-       uint8_t filter_idx;
+       uint8_t filter_idx = 0;
        struct i40e_hw *hw = I40E_PF_TO_HW(pf);
 
        idx = i40e_get_vxlan_port_idx(pf, port);