From: Linus Lüssing linus.luessing@c0d3.blue Date: Tue, 7 Apr 2015 21:57:30 +0200
With this patch, the IGMP and MLD message validation functions are moved from the bridge code to the IPv4/IPv6 multicast files. Some small refactoring was done to enhance readibility and to iron out some differences in behaviour between the IGMP and MLD parsing code (e.g. the skb-cloning of MLD messages is now only done if necessary, just like the IGMP part always did).
Finally, these IGMP and MLD message validation functions are exported so that not only the bridge can use it but batman-adv later, too.
First, you're missing a proper signoff for this patch.
Second, this is going to run into the usual ugly case of how to deal with the exports when someone wants to build batman-adv statically into the kernel, yet keep ipv6 modular.
This:
+ depends on !BATMAN_ADV_MCAST || IPV6 || IPV6=n
Doesn't really cut it. How can a user who made IPV6 modular and BATMAN_ADV static figure out that he needs to abide by this convoluted rule just to enable multicasting properly?
Look at the obj-y rules in net/ipv6/Makefile for a better way to handle this.