From: Long Li <[email protected]> Secondary process should not attempt to configure promiscuous mode on the netvsc device as it is managed by the primary process.
Signed-off-by: Long Li <[email protected]> --- drivers/net/netvsc/hn_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c index 6584819f4f..5d7b410f1b 100644 --- a/drivers/net/netvsc/hn_ethdev.c +++ b/drivers/net/netvsc/hn_ethdev.c @@ -480,6 +480,9 @@ hn_dev_promiscuous_enable(struct rte_eth_dev *dev) { struct hn_data *hv = dev->data->dev_private; + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return 0; + hn_rndis_set_rxfilter(hv, NDIS_PACKET_TYPE_PROMISCUOUS); return hn_vf_promiscuous_enable(dev); } @@ -490,6 +493,9 @@ hn_dev_promiscuous_disable(struct rte_eth_dev *dev) struct hn_data *hv = dev->data->dev_private; uint32_t filter; + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return 0; + filter = NDIS_PACKET_TYPE_DIRECTED | NDIS_PACKET_TYPE_BROADCAST; if (dev->data->all_multicast) filter |= NDIS_PACKET_TYPE_ALL_MULTICAST; -- 2.43.0

