[OpenWrt-Devel] Regarding bridge multicast-to-unicast patch

Linus Lüssing linus.luessing at c0d3.blue
Fri Oct 24 13:16:21 EDT 2014


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 at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list