From: huaibin Wang <[email protected]> Promisc should not be disabled if the all multicast mode is enabled. Patch keeps the promiscuous on if all multicast mode is on, this behavior is also consistent with the implementation done on ixgbe pmd.
Signed-off-by: huaibin Wang <[email protected]> Signed-off-by: Laurent Hardy <[email protected]> --- Cc: Beilei Xing <[email protected]> Cc: Qi Zhang <[email protected]> drivers/net/i40e/i40e_ethdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index f7a685c8c..6c503debc 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2587,6 +2587,10 @@ i40e_dev_promiscuous_disable(struct rte_eth_dev *dev) if (status != I40E_SUCCESS) PMD_DRV_LOG(ERR, "Failed to disable unicast promiscuous"); + /* must remain in all_multicast mode */ + if (dev->data->all_multicast == 1) + return; + status = i40e_aq_set_vsi_multicast_promiscuous(hw, vsi->seid, false, NULL); if (status != I40E_SUCCESS) -- 2.11.0

