vmxnet3: fix multicast enabling
authorStephen Hemminger <stephen@networkplumber.org>
Fri, 13 Jun 2014 01:36:56 +0000 (18:36 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 22 Jul 2014 14:40:50 +0000 (16:40 +0200)
The driver was incorrectly enabling/disabling promiscious mode
when it should have be setting/clearing all multicast mode.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c

index 90e9b29..3aeb05a 100644 (file)
@@ -708,7 +708,7 @@ static void
 vmxnet3_dev_allmulticast_enable(struct rte_eth_dev *dev)
 {
        struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-       vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 1);
+       vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 1);
 }
 
 /* Allmulticast supported only if Vmxnet3_DriverShared is initialized in adapter */
@@ -716,7 +716,7 @@ static void
 vmxnet3_dev_allmulticast_disable(struct rte_eth_dev *dev)
 {
        struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-       vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 0);
+       vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 0);
 }
 
 #if PROCESS_SYS_EVENTS == 1