Ubuntu – Where to put configuration to turn off multicast snooping on bridges

networkingstartup

This question does not have anything to do with multicast DNS, multicast UPNP or anything but multicast snooping.

I know for a fact that if I do not turn off multicast snooping on my 15.10 system where the primary network interface is br0 bridge any attempt to reach an IPv6 destination will be thwarted by multicast snooping which is there to prevent flooding the network with multicast packets that most systems aren't interested. This is as simple as:

  1. Boot computer into Ubuntu 15.10 with br0 as the primary interface (where "primary interface" is the interface with default route).
  2. Try ping6 an IPv6 address and watch it fail.
  3. Run sudo sh -c "echo -n 0 > /sys/class/net/br0/bridge/multicast_snooping"
  4. Try ping6 again and it is magically working.

You can read about it in the answer here too. There are many other sources as well.

The following manual pages are silent about multicast snooping: interfaces(5), brctl(8), bridge-utils-interfaces(5)

The man page for bridge(8) says bridge link set fastleave off is the default and the CISCO documentation for the same name (which is way better than the bridge(8) manual page IMHO) says that setting fastleave on will induce not alleviate my issue with IPv6. I haven't experimented with it yet to see if any of that is true or not.

I know that there is /etc/network/if-pre-up.d/bridge

But it says:

# You don't usually need to touch this file at all, the full configuration
# of the bridge can be done in a standard way on /etc/network/interfaces.

So is it true? Is there a way to put that in /etc/network/interfaces?

Best Answer

The answer is it's not true. You can't put an essential configuration control in /etc/network/interfaces despite the comments in the /etc/network/if-pre-up.d/bridge.

Just do something ad-hoc.

Related Question