net/e1000: report VLAN extend capability
authorZhihong Peng <zhihongx.peng@intel.com>
Tue, 21 Jul 2020 03:05:14 +0000 (23:05 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Jul 2020 11:54:54 +0000 (13:54 +0200)
The rte_eth_dev_set_vlan_offload function will check vlan rx offload
capability, the i350/i210/i211 nics have vlan extend feature but
DEV_RX_OFFLOAD_VLAN_EXTEND is not set into the capability, that will
cause setting fail. So need to add this capability in
igb_get_rx_port_offloads_capa function.

Fixes: ef990fb56e55 ("net/e1000: convert to new Rx offloads API")
Cc: stable@dpdk.org
Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
Reviewed-by: Wei Zhao <wei.zhao1@intel.com>
drivers/net/e1000/igb_rxtx.c

index 5717cdb..6411924 100644 (file)
@@ -1637,8 +1637,10 @@ uint64_t
 igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
 {
        uint64_t rx_offload_capa;
+       struct e1000_hw *hw;
+
+       hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-       RTE_SET_USED(dev);
        rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP  |
                          DEV_RX_OFFLOAD_VLAN_FILTER |
                          DEV_RX_OFFLOAD_IPV4_CKSUM  |
@@ -1649,6 +1651,11 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
                          DEV_RX_OFFLOAD_SCATTER     |
                          DEV_RX_OFFLOAD_RSS_HASH;
 
+       if (hw->mac.type == e1000_i350 ||
+           hw->mac.type == e1000_i210 ||
+           hw->mac.type == e1000_i211)
+               rx_offload_capa |= DEV_RX_OFFLOAD_VLAN_EXTEND;
+
        return rx_offload_capa;
 }