From 2c99142384db1796e42209f5fc112c8babc402c0 Mon Sep 17 00:00:00 2001 From: Beilei Xing Date: Thu, 5 Jul 2018 15:03:08 +0800 Subject: [PATCH] net/i40e: fix setting TPID with AQ command TPID can be set by set_switch_config AdminQ command on new FW release. But find fail to set 0x88A8 on some NICs. According to the datasheet, Switch Tag value should not be identical to either the First Tag or Second Tag values. So set something other than common Ethertype for internal switching. Fixes: 73cd7d6dc8e1 ("net/i40e: use set switch AQ instead of register setting") Cc: stable@dpdk.org Signed-off-by: Beilei Xing Acked-by: Qi Zhang --- drivers/net/i40e/i40e_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 358273f3be..5ec36ab81c 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -1242,6 +1242,13 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused) hw->bus.func = pci_dev->addr.function; hw->adapter_stopped = 0; + /* + * Switch Tag value should not be identical to either the First Tag + * or Second Tag values. So set something other than common Ethertype + * for internal switching. + */ + hw->switch_tag = 0xffff; + /* Check if need to support multi-driver */ i40e_support_multi_driver(dev); -- 2.20.1