Skip to contentSkip to conversation

vmxnet3: initialize receive mode correctly

PATCH In review Stephen Hemminger 2 participants 5 messages Jul 25, 2014 – Aug 26, 2014 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 vmxnet3: initialize receive mode correctly

The driver must listen to broadcast packets, like other devices. Otherwise protocols like ARP won't work!

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +1 -1
@@ -522,7 +522,7 @@ vmxnet3_dev_start(struct rte_eth_dev *de
 	}
 
 	/* Setting proper Rx Mode and issue Rx Mode Update command */
-	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_ALL_MULTI, 1);
+	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);
 
 	/*
 	 * Don't need to handle events for now

A message that is not in the archive (sent off-list or not yet received): 20140725105037.26769945-a7a0dvSY7KrRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org

#2 lore raw

2014-07-25 10:50, Stephen Hemminger:

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c vmxnet3_dev_start(struct rte_eth_dev *de · line 525

Quoted 7 lines

The driver must listen to broadcast packets, like other devices. Otherwise protocols like ARP won't work!

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +1 -1
-	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_ALL_MULTI, 1);
+	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);

It's also removing multicast at init. No comment so I assume everybody agrees.

Applied for version 1.7.1.

Thanks

Signature · 1 line
Thomas
#3 lore raw
Quoted 10 lines · On Fri, 01 Aug 2014 16:50:06 +0200 Thomas Monjalon…

2014-07-25 10:50, Stephen Hemminger:

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c vmxnet3_dev_start(struct rte_eth_dev *de · line 525

Quoted 7 lines

The driver must listen to broadcast packets, like other devices. Otherwise protocols like ARP won't work!

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +1 -1
-	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_ALL_MULTI, 1);
+	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);

It's also removing multicast at init. No comment so I assume everybody agrees.

Just following what initial value for bare metal drivers is.

#4 lore raw
In reply to Thomas Monjalon
Quoted 11 lines · On Fri, 01 Aug 2014 16:50:06 +0200 Thomas Monjalon…

2014-07-25 10:50, Stephen Hemminger:

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c vmxnet3_dev_start(struct rte_eth_dev *de · line 525

Quoted 7 lines

The driver must listen to broadcast packets, like other devices. Otherwise protocols like ARP won't work!

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +1 -1
-	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_ALL_MULTI, 1);
+	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);

It's also removing multicast at init. No comment so I assume everybody agrees.

Quoted 5 lines

Applied for version 1.7.1.

Thanks

My general rule is to make all drivers behave the same. In DPDK, the ixgbe driver is the "best known" reference. In that driver "multicast promiscious" is disabled by default.

#5 lore raw

2014-08-25 17:33, Stephen Hemminger:

Quoted 8 lines
Quoted 5 lines · Thomas Monjalon

2014-07-25 10:50, Stephen Hemminger:

lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c vmxnet3_dev_start(struct rte_eth_dev *de · line 525

Quoted 2 lines
lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +1 -1
-	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_ALL_MULTI, 1);
+	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);

It's also removing multicast at init. No comment so I assume everybody agrees.

My general rule is to make all drivers behave the same.

I think it's a good rule :)

Quoted 2 lines

In DPDK, the ixgbe driver is the "best known" reference. In that driver "multicast promiscious" is disabled by default.

OK, thanks.

Signature · 1 line
Thomas