saurav barik
2015-Jul-31 10:20 UTC
[Bridge] Multicast packets are not bridged from ethernet to wireless interface
Hello, I am working on an Access Point device (AP1) running linux kernel 3.0.34 on which my bridge configuration is as follows. ~ # brctl show bridge name bridge id STP enabled interfaces mbr 8000.xxxxxxxx0271 no eth1 wlan0 wlan0 is connected by a wlan link to another access point AP2. This mbr on AP1 gets IP address via wlan0. I have a laptop connected to eth1 interface and it too gets IP address via eth1-bridged-wlan0 (wlan0 is the only uplink port). All the unicast packets (ping traffic) from the laptop via eth1-bridged-wlan0 works fine. However when I start a multicast tx (iperf multicast) from the laptop, the multicast packet reaches eth1 and then gets dropped in the bridge module. I debugged and found the packets are dropped at - br_multicast_flood(struct net_bridge_mdb_entry *mdst, ....) .... <code snippet> while (p || rp) { .... rp = rcu_dereference(hlist_first_rcu(&br->router_list)); p = mdst ? rcu_dereference(mdst->ports) : NULL; } if (!prev) { /******* packets getting dropped here. *********/ goto out; } ........ The three pointers mdst, p and rp are NULL. Prior to reaching here, the packet traversed successfully via br_handle_frame()->br_handle_frame_finish()->br_multicast_forward()->br_multicast_flood(). The source and multicast destination address in the skb look alright. Additional Note: I have another ethernet interface on AP1 which is eth0. If I remove wlan0 and add eth0, then multicast packets successfully pass from eth1 to eth0 in the bridge module. Could anybody share some pointer on this? Thank you. With Regards, Saurav -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.linuxfoundation.org/pipermail/bridge/attachments/20150731/3d1d95a7/attachment.html>
Linus Lüssing
2015-Jul-31 13:57 UTC
[Bridge] Multicast packets are not bridged from ethernet to wireless interface
Hi Saurav, On Fri, Jul 31, 2015 at 03:50:35PM +0530, saurav barik wrote:> I am working on an Access Point device (AP1) running linux kernel 3.0.34 on > which my bridge configuration is as follows.There were quite some crucial bugs, I'm not quite sure whether 3.0.34 was actually usuable for multicast snooping. Any chance to try a recent kernel? Cheers, Linus