On Fri, Oct 24, 2014 at 06:35:27PM +0200, Felix Fietkau wrote: > On 2014-09-11 16:28, Linus Lüssing wrote: > > On Wed, Sep 10, 2014 at 04:31:37PM +0200, Linus Lüssing wrote: > >> Another approach would be > >> to add a feature to mac80211 to disable the forwarding of > >> IGMPv2/MLDv1 reports to other STAs, only forwarding it on the own > >> AP interface so that the bridge would see all reports. > > > > Hrm, on the other hand, if a querier is actually on one of the > > other STAs then mac80211 would have to forward the report there. > > Which would mean either needing query-snooping in mac80211 (or > > netdev in general) or interaction between mac80211 and the > > bridge-snooping code. > > > > I really hate this IGMPv2/MLDv1 report suppression... > > (that's where all the complexity in the batman-adv multicast > > optimizations came from, too) > I'd like to get back to suppressing forwarding IGMPv2/MLDv1 reports: > I just learned that we can avoid changing mac80211 at all for this. > If we disable forwarding between stations in mac80211 and enable hairpin > mode on the bridge interface, we have enough control over the data path > to selectively suppress forwarding of reports to be able to deal with > this issue.
Ah, I get it, you want to apply the same MAC-destination change trick to the reports from the bridge, too. That should work, hairpin is a neat idea :). > Do you have some ideas on how to detect if a report needs to be > forwarded to a station (and if so, to which station)? Yep, it needs to be forwarded to the station with the selected querier. Which is either a single one or none, so the unicasting-trick would work. Port and at least the IP address of the selected querier are tracked in br->ip{4,6}_querier and get set in br_ip{4,6}_multicast_select_querier(). > > - Felix Cheers, Linus _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel