From 21f4a1fb30ffd566769f9a4be8775433c00c44d0 Mon Sep 17 00:00:00 2001 From: Zhihong Peng Date: Mon, 20 Jul 2020 23:05:14 -0400 Subject: [PATCH 1/1] net/e1000: report VLAN extend capability 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 Reviewed-by: Wei Zhao --- drivers/net/e1000/igb_rxtx.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index 5717cdb706..6411924e03 100644 --- a/drivers/net/e1000/igb_rxtx.c +++ b/drivers/net/e1000/igb_rxtx.c @@ -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; } -- 2.20.1