Merge branch 'mlxsw-offload-mc-flood'
authorDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 16:46:42 +0000 (11:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 16:46:42 +0000 (11:46 -0500)
commit58be2427da98a17426cff3d30c50e419781a230b
tree5fc82475bd36c98dbcc09f80e07df1cbdb62ba39
parent94134bf89a4747ac370ffea614a2ba483edf0ccc
parent90e0f0c1b4f2baa3639f957bfe904c9eda0d4db4
Merge branch 'mlxsw-offload-mc-flood'

Jiri Pirko says:

====================
mlxsw: Offload MC flood for unregister MC

Nogah says:

When multicast is enabled, the Linux bridge floods unregistered multicast
packets only to ports connected to a multicast router. Devices capable of
offloading the Linux bridge need to be made aware of such ports, for
proper flooding behavior.
On the other hand, when multicast is disabled, such packets should be
flooded to all ports. This patchset aims to fix that, by offloading
the multicast state and the list of multicast router ports.

The first 3 patches adds switchdev attributes to offload this data.
The rest of the patchset add implementation for handling this data in the
mlxsw driver.

The effects this data has on the MDB (namely, when the multicast is
disabled the MDB should be considered as invalid, and when it is enabled, a
packet that is flooded by it should also be flooded to the multicast
routers ports) is subject of future work.

Testing of this patchset included:
Sending 3 mc packets streams, LL, register and unregistered, and checking
that they reached only to the ports that should have received them.
The configs were:
mc disabled, mc without mc router ports and mc with fixed router port.
It was checked for vlan aware bridge, vlan unaware bridge and vlan unaware
bridge with another vlan unaware bridge on the same machine
====================

Signed-off-by: David S. Miller <davem@davemloft.net>