be2net: Fix broadcast echoes from EVB in BE3
authorSomnath Kotur <somnath.kotur@emulex.com>
Wed, 22 Jun 2016 12:54:55 +0000 (08:54 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jun 2016 08:06:24 +0000 (04:06 -0400)
commit884476be065e23bb8e5abda3aad9ba04c17341c3
tree6e1629aa58081e787c03876133efda86f56cd065
parente261768e9e395b3bd71946104afd5550f77d049b
be2net: Fix broadcast echoes from EVB in BE3

On SR-IOV profiles, when the user connects a Linux Bridge or OVS to a BE3
vport, they suffer the "broadcast/multicast echo" problem. BE3 EVB echoes
broadcast and multicast packets back to PF's vport confusing the
Linux bridge.  BE3 relies on the src-mac addr being programmed on the
interface to avoid sending back an echo of a broadcast or multicast packet
on a vPort. When a Linux bridge is connected to a BE3, the mac-addr of the
VM behind the bridge doesn't get configured on the vPort and so echo
cancellation doesn't work.
This patch worksaround this problem by disabling the EVB initially
and re-enabling it *only* when SR-IOV is enabled by the user. For the
driver fix to work, the BE3 FW version must be >= 11.1.84.0.

Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_cmds.c
drivers/net/ethernet/emulex/benet/be_main.c