net/hns3: fix VLAN PVID when configuring device
In current version, when upper level application calls the
rte_eth_dev_configure API function, if pvid config is not set of the
input parameter which struct type is rte_eth_conf, hns3 pmd driver also
sets the VLAN pvid related configuration to hardware, and this is not
reasonable. For example, As pvid is set to 100 by
rte_eth_dev_set_vlan_pvid, when pvid config is not set in rte_eth_conf,
rte_eth_dev_configure will tell driver to delete pvid 0, and that is
meaningless.
This patch fixes it to ensure that driver does not set VLAN pvid related
configuration to hardware when pvid config is not set in rte_eth_conf.
Fixes: 411d23b9ea
("net/hns3: support VLAN")
Cc: stable@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
This commit is contained in:
parent
837740cfa3
commit
99d673d5d3
@ -1059,6 +1059,13 @@ hns3_dev_configure_vlan(struct rte_eth_dev *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* If pvid config is not set in rte_eth_conf, driver needn't to set
|
||||
* VLAN pvid related configuration to hardware.
|
||||
*/
|
||||
if (txmode->pvid == 0 && txmode->hw_vlan_insert_pvid == 0)
|
||||
return 0;
|
||||
|
||||
/* Apply pvid setting */
|
||||
ret = hns3_vlan_pvid_set(dev, txmode->pvid,
|
||||
txmode->hw_vlan_insert_pvid);
|
||||
|
Loading…
Reference in New Issue
Block a user