From: Cong Wang <amwang@redhat.com>
To: Herbert Xu <herbert@gondor.hengli.com.au>
Cc: "Linus Lüssing" <linus.luessing@web.de>,
netdev@vger.kernel.org,
"Stephen Hemminger" <stephen@networkplumber.org>,
"David S. Miller" <davem@davemloft.net>,
"Adam Baker" <linux@baker-net.org.uk>
Subject: Re: [net-next,v5,2/3] bridge: only expire the mdb entry when query is received
Date: Fri, 21 Jun 2013 15:31:41 +0800 [thread overview]
Message-ID: <1371799901.32026.5.camel@cr0> (raw)
In-Reply-To: <20130619044438.GA8174@gondor.apana.org.au>
On Wed, 2013-06-19 at 12:44 +0800, Herbert Xu wrote:
> On Tue, Jun 18, 2013 at 02:03:38PM +0200, Linus Lüssing wrote:
> > Hi Amerigo,
> >
> > I just tested these three patches on top of 3.10-rc6 (thanks for
> > looking into these issues so far!) but unfortunately I'm still
> > having problems if there is no querier on the link:
> >
> > We will never discover a multicast listener which sends its
> > startup MLD reports before being attached to the bridge port.
> >
> > I had reported that issue two months ago to Herbert's patch which
> > changed the querier default [1].
> >
> > I guess in such a scenario where neither our querier is activated
> > nor could we detect any querier, then the only safe thing we can
> > do is to disable the bridge multicast snooping, isn't it?
>
> If we have seen no queries then we should simply flood. The fact
> that we don't currently is a bug.
Something like this?
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index 1b8b8b8..df49d14 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -105,6 +105,10 @@ int br_handle_frame_finish(struct sk_buff *skb)
if ((mdst && mdst->mglist) ||
br_multicast_is_router(br))
skb2 = skb;
+ else if (hlist_empty(&br->router_list)) {
+ unicast = false;
+ goto flood;
+ }
br_multicast_forward(mdst, skb, skb2);
skb = NULL;
if (!skb2)
@@ -121,6 +125,7 @@ int br_handle_frame_finish(struct sk_buff *skb)
skb = NULL;
}
+flood:
if (skb) {
if (dst) {
dst->used = jiffies;
next prev parent reply other threads:[~2013-06-21 7:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-22 7:52 [Patch net-next v5 1/3] bridge: use the bridge IP addr as source addr for querier Cong Wang
2013-05-22 7:52 ` [Patch net-next v5 2/3] bridge: only expire the mdb entry when query is received Cong Wang
2013-06-18 12:03 ` [net-next,v5,2/3] " Linus Lüssing
2013-06-19 4:44 ` Herbert Xu
2013-06-21 7:31 ` Cong Wang [this message]
2013-06-21 7:34 ` Herbert Xu
2013-05-22 7:52 ` [Patch net-next v5 3/3] bridge: send query as soon as leave " Cong Wang
2013-05-22 7:55 ` [Patch net-next v5 1/3] bridge: use the bridge IP addr as source addr for querier Herbert Xu
2013-05-25 20:52 ` Adam Baker
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=1371799901.32026.5.camel@cr0 \
--to=amwang@redhat.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.hengli.com.au \
--cc=linus.luessing@web.de \
--cc=linux@baker-net.org.uk \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.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 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.