net/mlx4_en: Fix bridged vSwitch configuration for non SRIOV mode
authorYan Burman <yanb@mellanox.com>
Thu, 17 Jan 2013 05:30:42 +0000 (05:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jan 2013 19:25:28 +0000 (14:25 -0500)
commit213815a1e6ae70b9648483b110bc5081795f99e8
tree25a80a09446fb768c8430992c92159e9d59aec85
parent6f809da27c94425e07be4a64d5093e1df95188e9
net/mlx4_en: Fix bridged vSwitch configuration for non SRIOV mode

Commit 5b4c4d36860e "mlx4_en: Allow communication between functions on
same host" introduced a regression under which a bridge acting as vSwitch
whose uplink is an mlx4 Ethernet device become non-operative in native
(non sriov) mode. This happens since broadcast ARP requests sent by VMs
were loopback-ed by the HW and hence the bridge learned VM source MACs
on both the VM and the uplink ports.

The fix is to place the DMAC in the send WQE only under SRIOV/eSwitch
configuration or when the device is in selftest.

Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Yan Burman <yanb@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_tx.c