All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bridge] Multicast packets are not bridged from ethernet to wireless interface
@ 2015-07-31 10:20 saurav barik
  2015-07-31 13:57 ` Linus Lüssing
  0 siblings, 1 reply; 4+ messages in thread
From: saurav barik @ 2015-07-31 10:20 UTC (permalink / raw)
  To: bridge

[-- Attachment #1: Type: text/plain, Size: 1707 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 2261 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bridge] Multicast packets are not bridged from ethernet to wireless interface
  2015-07-31 10:20 [Bridge] Multicast packets are not bridged from ethernet to wireless interface saurav barik
@ 2015-07-31 13:57 ` Linus Lüssing
  2015-07-31 14:26   ` saurav barik
  0 siblings, 1 reply; 4+ messages in thread
From: Linus Lüssing @ 2015-07-31 13:57 UTC (permalink / raw)
  To: saurav barik; +Cc: bridge

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bridge] Multicast packets are not bridged from ethernet to wireless interface
  2015-07-31 13:57 ` Linus Lüssing
@ 2015-07-31 14:26   ` saurav barik
  2015-07-31 16:30     ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: saurav barik @ 2015-07-31 14:26 UTC (permalink / raw)
  To: Linus Lüssing; +Cc: bridge

[-- Attachment #1: Type: text/plain, Size: 1352 bytes --]

Thanks Linus.
Sorry, it will not be possible to move to recent kernel.

How does the mdb gets updated for multicast addresses? Is it learnt on
basis of packets received from the network? For example, the multicast
address I use for iperf is 234.100.100.100. I mentioned two scenarios in my
earlier email. In case of eth0 being the active port on the mbr (multicast
working scenario), I see br_multicast_new_group() and
br_multicast_add_group() being called for this IP address moments after mbr
is up. However in case of wlan0 as the uplink port of mbr, I don't see
those functions being called.

I guess for unicast packets, if the entry is not present in fdb, the packet
is flooded on all other ports and its learnt and added to fdb based on the
port on which response packet arrives. Is it true for Multicast packets too?

Regards,
Saurav

On Fri, Jul 31, 2015 at 7:27 PM, Linus Lüssing <linus.luessing@c0d3.blue>
wrote:

> 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
>

[-- Attachment #2: Type: text/html, Size: 1901 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bridge] Multicast packets are not bridged from ethernet to wireless interface
  2015-07-31 14:26   ` saurav barik
@ 2015-07-31 16:30     ` Stephen Hemminger
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2015-07-31 16:30 UTC (permalink / raw)
  To: saurav barik; +Cc: bridge

On Fri, 31 Jul 2015 19:56:12 +0530
saurav barik <saurav.barik@gmail.com> wrote:

> Thanks Linus.
> Sorry, it will not be possible to move to recent kernel.
> 
> How does the mdb gets updated for multicast addresses? Is it learnt on
> basis of packets received from the network? For example, the multicast
> address I use for iperf is 234.100.100.100. I mentioned two scenarios in my
> earlier email. In case of eth0 being the active port on the mbr (multicast
> working scenario), I see br_multicast_new_group() and
> br_multicast_add_group() being called for this IP address moments after mbr
> is up. However in case of wlan0 as the uplink port of mbr, I don't see
> those functions being called.
> 
> I guess for unicast packets, if the entry is not present in fdb, the packet
> is flooded on all other ports and its learnt and added to fdb based on the
> port on which response packet arrives. Is it true for Multicast packets too?
> 
> Regards,
> Saurav
> 
> On Fri, Jul 31, 2015 at 7:27 PM, Linus Lüssing <linus.luessing@c0d3.blue>
> wrote:
> 
> > 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
> >

Multicast forwarding table is built off IGMP messages
When application joins a multicast group an IGMP is sent, and bridge
snoops for that.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-31 16:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-31 10:20 [Bridge] Multicast packets are not bridged from ethernet to wireless interface saurav barik
2015-07-31 13:57 ` Linus Lüssing
2015-07-31 14:26   ` saurav barik
2015-07-31 16:30     ` Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.