From: "Linus Lüssing" <linus.luessing@c0d3.blue>
To: bridge@lists.linux-foundation.org, b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] Roaming trouble with bridge & multicast snooping
Date: Tue, 8 Sep 2015 05:11:22 +0200 [thread overview]
Message-ID: <20150908031122.GB1562@odroid> (raw)
Hi bridge folks,
I'm currently stuck with a simple scenario where enabling bridge
multicast snooping causes packetloss for some time:
----------
(c) <~~~> (A) <---> (B)
(c) is a wifi client, connected to a wifi access point (A).
(B) is another AP connected to (A) via ethernet cable.
The wifi-ap and ethernet interface are bridged on both (A) and (B).
Now (c) roams from (A) to (B):
(A) <---> (B) <~~~> (c)
----------
Until the next multicast query is send (up to 125 seconds), (c)
will experience multicast packet loss: (B) does not know which
multicast traffic (c) wants yet and blocks forwarding multicast
traffic to it.
I couldn't find an IETF standard or discussion saying something
about how to deal with multicast snooping and roaming yet (I still
have the feeling I must have overlooked something as this scenario
seems common to me). Does anyone know anything about that or how
vendors implement that on their snooping switches?
The behaviour of (c) running a 3.16 kernel is:
After setting its wifi interface up, it stays quiet. After getting
a link / wifi connects, it sends an IGMP/MLD report first, without
waiting for a query. It then sends the IPv6 Neighbor Solicitation
messages for Duplicate Address Detection to be able to claim its
own IPv6 addresses.
However it does not resend reports / Neighbor Solicitations after
the link goes down and up again while the interface itself stays up.
I could think of two ways to solve the issue:
Either let mac80211 (hostapd?) notify the bridge once a new client
connects. Then let the bridge send a query to the client
immediately and directly.
Or once the bridge adds an fdb entry for a new host, send a query
to this host (no matter if it's wireless or not) immediately,
directly.
The "directly" could be implemented by setting the ethernet
destination to the according unicast MAC instead.
Even though slightly more latency, I'd opt (and would going to
provide a patch) for the second case.
What do others think about this?
Cheers, Linus
next reply other threads:[~2015-09-08 3:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-08 3:11 Linus Lüssing [this message]
2015-09-08 15:52 ` [B.A.T.M.A.N.] [Bridge] Roaming trouble with bridge & multicast snooping Stephen Hemminger
2015-09-10 14:42 ` Linus Lüssing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150908031122.GB1562@odroid \
--to=linus.luessing@c0d3.blue \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=bridge@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox