-by: Linus Lüssing
---
net/bridge/br_multicast.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 135d929..45dcf10 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1014,7 +1014,7 @@ static
Hello everyone,
While testing the (very awesome!) bridge igmp/mld snooping support I came across
two issues which are breaking IPv6 multicast snooping and IPv6
non-link-local multicast on bridges with multicast snooping support enabled
in general. The first two patches shall fix these issues.
The
The protocol type for IPv6 entries in the hash table for multicast
bridge snooping is falsely set to ETH_P_IP, marking it as an IPv4
address, instead of setting it to ETH_P_IPV6, which results in negative
look-ups in the hash table later.
Signed-off-by: Linus Lüssing
---
net/bridge
This commit adds the missing IPv6 multicast address flag defines to
complement the already existing multicast address scope defines and to
be able to check these flags nicely in the future.
Signed-off-by: Linus Lüssing
---
include/net/ipv6.h | 12
1 files changed, 12 insertions
The nsrcs number is 2 Byte wide, therefore we need to call ntohs()
before using it.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 45dcf10
transient multicast addresses instead of non-link-local
addresses.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |9 -
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index e8fdaab..b5eb28a 100644
--- a
> These look correct. Did you test them with real traffic?
Yes, I did. With these patches the hashlist and linked lists per port
are being filled correctly for IPv6 - initially. Verified that with
both some printk()s for the per port mglists as well as with vlc. With
patch 5/5 this also worked fin
with a MLD response (which
was not the case before).
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index f904a2e..2d88861 100644
--- a/net/bridge/br_multica
eries destination MAC should always be 33:33:00:00:00:01 which
matches the IPv6 header's multicast destination ff02::1.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multica
and only after that fetching the source address.
Reported-by: Jan Beulich
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 030a002..f61eb2e 100644
> One unrelated other observation with this change of yours:
> daddr is an input argument to ipv6_dev_get_saddr(), yet
> it gets initialized only after the function was called. Is that
> really correct?
Hmm, that wasn't intentional. I tested that again and so far I still always
got the right source
Hi everyone,
Somehow I'm having trouble with the IPv6 bridge snooping again:
MLDv2 Reports are dropped by the multicast snooping feature, looks
like it has something to do with checksums. Wireshark does not
display any weirdness, it at least reports the MLD reports
checksum as correct.
The setup
Hi everyone,
The following two patches are fixing two issues, related to the parsing of
IPv6 MLD messages.
The first one fixes an observed issue which lead to ignored MLD messages.
In the tests this patch fixes the issue in my scenario. However I'm not
so familiar with the checksumming functions
ion for the checksum validation when
parsing a snooped IPv6 MLDv1/2 message of another host, leading to
possibly ignored, though valid MLDv1/2 messages. This commit shall fix
this issue.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |5 -
1 files changed, 4 insertions(+), 1 deleti
underrun when substracting the offset and therefore to a very
high new value of 'len' due to its unsignedness. This will ultimately
lead to the pskb_trim_rcsum() practically never being called, even in
the cases where it should.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multica
Hmm, if so, then I don't know how to test and verify that now though.
Cheers, Linus
On Sun, Mar 27, 2011 at 02:37:49PM +0800, Herbert Xu wrote:
> On Sun, Mar 27, 2011 at 08:27:23AM +0200, Linus Lüssing wrote:
> > In contrast to IGMP, the MLDv1/2 message checksum needs to include
net_device itself.
A multicast optimization currently implemented for batman-adv requires
this data.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 17 +
net/bridge/br_multicast.c | 59 +
net/bridge/br_private.h | 11
on 7.3+7.8)
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 81f2389..d6448e3 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -46
("bridge: Only flood unregistered groups
to routers") did for IPv4, let's do the same for IPv6 with the same
reasoning.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast
Hi Herbert,
Were there any reasons I might not be aware of which prevented you
from adding the same change you introduced in
"bridge: Only flood unregistered groups to routers" for IPv6, too?
If not and if no one else comes up with any objection, then I'd
still be happy if this patch could find i
mum Response Delay of the querier is added to
give multicast responses enough time to arrive and to be learned from
before disabling the flooding behaviour again.
Signed-off-by: Linus Lüssing
---
net/bridge/br_device.c|3 ++-
net/bridge/br_input.c |3 ++-
net/bri
mum Response Delay of the querier is added to
give multicast responses enough time to arrive and to be learned from
before disabling the flooding behaviour again.
Signed-off-by: Linus Lüssing
---
v2: added missing, empty br_multicast_querier_exists() to avoid
build failures if CONFIG_BRIDGE_IGMP_S
On Thu, Jul 25, 2013 at 09:01:40AM -0700, Stephen Hemminger wrote:
> On Thu, 25 Jul 2013 15:56:20 +0200
> Linus Lüssing wrote:
>
> >
> > +static void br_multicast_update_querier_timer(struct net_bridge *br,
> > +
On Fri, Jul 26, 2013 at 11:19:00PM +0100, Adam Baker wrote:
> On 25/07/13 14:56, Linus Lüssing wrote:
> >If there is no querier on a link then we won't get periodic reports and
> >therefore won't be able to learn about multicast listeners behind ports,
> >potent
mum Response Delay of the querier is added to
give multicast responses enough time to arrive and to be learned from
before disabling the flooding behaviour again.
Signed-off-by: Linus Lüssing
---
v3: changed type of multicast_querier_delay_time from
atomic64_t to unsigned long
:
"bridge: disable snooping if there is no querier" (b00589af3b04)
Reported-by: Paul Bolle
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 61c5e8
his patch we are flooding multicast packets if our querier is
> > > disabled and if we didn't detect any other querier.
> > >
> > > A grace period of the Maximum Response Delay of the querier is added to
> > > give multicast responses enough time to arrive an
On Mon, Aug 05, 2013 at 03:42:22PM -0700, Stephen Hemminger wrote:
> On Tue, 6 Aug 2013 00:32:05 +0200
> Linus Lüssing wrote:
>
> > Currently we are reading an uninitialized value for the max_delay
> > variable when snooping an MLD query message of invalid length and would
pecific by using separate timers for the snooped IGMP and MLD queries
as well as separate timers for our internal IGMP and MLD queriers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_device.c|2 +-
net/bridge/br_input.c |2 +-
net/bridge/br_mdb.c | 14 +-
net/bridge/br_m
pecific by using separate timers for the snooped IGMP and MLD queries
as well as separate timers for our internal IGMP and MLD queriers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_device.c|2 +-
net/bridge/br_input.c |2 +-
net/bridge/br_mdb.c | 14 ++-
net/bridge/br_m
Hi,
Here are two, small feature changes I would like to submit to increase
the usefulness of the multicast snooping of the bridge code.
The first patch is an unaltered one I had submitted before, but since it
got no feedback I'm resubmitting it here for net-next. With the recently
added patch to
The multicast snooping code should have matured enough to be safely
applicable to IPv6 link-local multicast addresses (excluding the
link-local all nodes address, ff02::1), too.
Signed-off-by: Linus Lüssing
---
net/bridge/br_mdb.c |3 ++-
net/bridge/br_multicast.c |7 ---
net
("bridge: Only flood unregistered groups
to routers") did for IPv4, let's do the same for IPv6 with the same
reasoning.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast
Hi Jan,
On Mon, Mar 03, 2014 at 02:47:15PM -0500, Jan Stancek wrote:
> I'm seeing an issue where bridge (sometimes) stops forwarding ICMP6
> neighbor solicitation packets to KVM guest and as result KVM guest doesn't
> respond with neighbor advertisement.
Hm, okay, that's not supposed to happen.
On Mon, Mar 03, 2014 at 04:40:40PM -0500, Vlad Yasevich wrote:
> I did notice a minor issue in the bridge code. The following
> code:
>/* Prevent flooding this packet if there is no listener present */
> if (!ipv6_addr_is_ll_all_nodes(&ip6h->daddr))
> BR_INPUT_SKB_C
Hi Jan,
On Mon, Mar 03, 2014 at 05:45:49PM -0500, Jan Stancek wrote:
> There is also bridge on host B. I assume that doesn't matter
> but I could set up host B without bridge if needed.
It can matter, but in this case it doesn't :).
> > What I'm curious about is, whether the guest receives
> > t
about these listeners.
Reported-by: Jan Stancek
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |6 ++
1 file changed, 6 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index ef66365..fb0e36f 100644
--- a/net/bridge/br_multicast.c
+++ b/net
On Tue, Mar 04, 2014 at 10:06:14AM +0100, Hannes Frederic Sowa wrote:
> > diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> > index ef66365..fb0e36f 100644
> > --- a/net/bridge/br_multicast.c
> > +++ b/net/bridge/br_multicast.c
> > @@ -1235,6 +1235,12 @@ static int br_ip6_multica
Hi Jan,
On Tue, Mar 04, 2014 at 03:02:36AM -0500, Jan Stancek wrote:
> > For the broken query, ok, it's your manually crafted query. But
> > did you see a query with such a bogus source address "in the
> > wild", too? (I'm curious how urgent this sanity check is)
>
> It's real packet I managed to
On Tue, Mar 04, 2014 at 06:06:29AM -0500, Jan Stancek wrote:
>
>
> - Original Message -
> > From: "Linus Lüssing"
> > To: "Jan Stancek"
> > Cc: net...@vger.kernel.org, "Florian Westphal" ,
> > bridge@lists.linux-foundati
On Wed, Mar 05, 2014 at 07:10:07AM -0500, Jan Stancek wrote:
>
>
> - Original Message -
> > From: "Linus Lüssing"
> > To: "Jan Stancek"
> > Cc: net...@vger.kernel.org, "Florian Westphal" ,
> > bridge@lists.linux-foundati
multicast traffic as the
bridge did not learn about these listeners.
Reported-by: Jan Stancek
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index fb0e36f
traffic as the bridge did not learn
about these listeners.
With this patch the snooping code is enabled upon receiving valid,
general queries only.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/bridge
traffic as the bridge did not learn
about these listeners.
With this patch the snooping code is enabled upon receiving valid,
general queries only.
Signed-off-by: Linus Lüssing
---
v2: unchanged
net/bridge/br_multicast.c |8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a
multicast traffic as the
bridge did not learn about these listeners.
Reported-by: Jan Stancek
Signed-off-by: Linus Lüssing
---
v2: simplified is_general_query variable assignment (thanks Cong!)
net/bridge/br_multicast.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/net
On Mon, Mar 10, 2014 at 11:56:00PM +0100, Hannes Frederic Sowa wrote:
> On Mon, Mar 10, 2014 at 10:25:25PM +0100, Linus Lüssing wrote:
> > br_multicast_query_received(br, port, &br->ip6_querier,
> > - !ipv6_addr_any(&a
- Original Message -----
> > From: "Linus Lüssing"
> > To: "Jan Stancek"
> > Cc: net...@vger.kernel.org, "Florian Westphal" ,
> > bridge@lists.linux-foundation.org
> > Sent: Wednesday, 5 March, 2014 3:27:07 PM
> > S
eported-by: Hannes Frederic Sowa
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 7b757b5..d2c3aae 100644
--- a/net/bridge/br_multicast.c
+++ b/
On Wed, Apr 23, 2014 at 02:47:48PM -0400, David Miller wrote:
> > --- a/net/bridge/br_multicast.c
> > +++ b/net/bridge/br_multicast.c
> > @@ -1282,8 +1282,7 @@ static int br_ip6_multicast_query(struct net_bridge
> > *br,
> > goto out;
> > }
> >
> > - br_multicast_query_received
s than the currently selected one. This slight optimization is
supposed to make it more RFC compliant (but is rather uncritical and
therefore probably not necessary to be queued for stable kernels).
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicas
Hi,
The first patch is simply a cosmetic patch. So far I (and maybe others
too?) have been regularly confusing these two structs, therefore I'd
suggest renaming them and therefore making the follow-up patches easier
to understand and nicer to fit in.
The second patch fixes a minor issue, but prob
the
"struct bridge_mcast_querier" but for storing information about the
selected querier (no matter if our own or a foreign querier).
Signed-off-by: Linus Lüssing
---
net/bridge/br_mdb.c |4 +-
net/bridge/br_multicast.c | 169 +++--
net_device itself.
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in multicast
listeners to be able to reliably serve them with multicast packets.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 18
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in IGMP/MLD queriers
to be able to reliably serve any multicast listener behind this same
bridge.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h |1 +
net
Changes in v2:
* fix a nasty typo in PATCH 1/4, br_multicast_update_query_timer():
"br->multicast_query_interval" vs. "br->multicast_querier_interval"
=> this accidentally reduced the other querier present timer
from 255 to 125 seconds
* fix a typo in PATCH 2/4, br_ip{4,6}_multicast_quer
the
"struct bridge_mcast_querier" but for storing information about the
selected querier (no matter if our own or a foreign querier).
Signed-off-by: Linus Lüssing
---
net/bridge/br_mdb.c |4 +-
net/bridge/br_multicast.c | 169 +++--
net_device itself.
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in multicast
listeners to be able to reliably serve them with multicast packets.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 18
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in IGMP/MLD queriers
to be able to reliably serve any multicast listener behind this same
bridge.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h |1 +
net
s than the currently selected one. This slight optimization is
supposed to make it more RFC compliant (but is rather uncritical and
therefore probably not necessary to be queued for stable kernels).
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicas
the
"struct bridge_mcast_querier" but for storing information about the
selected querier (no matter if our own or a foreign querier).
Signed-off-by: Linus Lüssing
---
net/bridge/br_mdb.c |4 +-
net/bridge/br_multicast.c | 169 +++--
net_device itself.
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in multicast
listeners to be able to reliably serve them with multicast packets.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 18
s than the currently selected one. This slight optimization is
supposed to make it more RFC compliant (but is rather uncritical and
therefore probably not necessary to be queued for stable kernels).
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicas
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in IGMP/MLD queriers
to be able to reliably serve any multicast listener behind this same
bridge.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h |1 +
net
Changes in v3:
* use EXPORT_SYMBOL_GPL() instead of EXPORT_SYMBOL()
Cheers
On Thu, Jun 05, 2014 at 12:43:11AM -0700, David Miller wrote:
> From: Linus Lüssing
> Date: Mon, 2 Jun 2014 20:42:15 +0200
>
> > Changes in v3:
> >
> > * use EXPORT_SYMBOL_GPL() instead of EXPORT_SYMBOL()
>
> This is not a sufficient header posting.
>
>
The first patch is simply a cosmetic patch. So far I (and maybe others
too?) have been regularly confusing these two structs, therefore I'd
suggest renaming them and therefore making the follow-up patches easier
to understand and nicer to fit in.
The second patch fixes a minor issue, but probably
net_device itself.
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in multicast
listeners to be able to reliably serve them with multicast packets.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 18
the
"struct bridge_mcast_querier" but for storing information about the
selected querier (no matter if our own or a foreign querier).
Signed-off-by: Linus Lüssing
---
net/bridge/br_mdb.c |4 +-
net/bridge/br_multicast.c | 169 +++--
s than the currently selected one. This slight optimization is
supposed to make it more RFC compliant (but is rather uncritical and
therefore probably not necessary to be queued for stable kernels).
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicas
Adding bridge support to the batman-adv multicast optimization requires
batman-adv knowing about the existence of bridged-in IGMP/MLD queriers
to be able to reliably serve any multicast listener behind this same
bridge.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h |1 +
net
Once my last patchset got applied, I got slapped by an automatic smatch
and build bot. Here are two patches fixing the according issues, a potential
null pointer dereference and a compile error when compiling without IPv6.
[PATCH 1/2] is probably not the ideal solution - the assignment of the
grou
pointer
dereference.
Fixing this by skipping the multicast specific MLD Query parsing again
if no multicast group address is available.
Introduced by dc4eb53a996a78bfb8ea07b47423ff5a3aadc362
("bridge: adhere to querier election mechanism specified by RFCs")
Reported-by: Dan Carpenter
ted IGMP/MLD querier port")
Reported-by: kbuild test robot
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 876e5fb..abfa0b65 100644
--- a/net/bridge/br_mul
Hi Ajith,
On Mon, Jun 23, 2014 at 07:58:21AM +0530, Ajith Adapa wrote:
> Hi Luessing,
>
> As per RFC 4541, snooping switches send query with source address as
> 0.0.0.0 since port in a L2 switch doesn't have ip-address configured.
Hm, I'm not quite sure whether this is true. Do you have a
secti
Hi,
Some people pointed out to me that it might be helpful to add stubs for
the newly added multicast exports. That way e.g. batman-adv should continue
to be compile and useable without having to have a kernel compiled
with bridge code in the future. This is what the first patch is supposed
to do.
To make users (e.g. batman-adv soon) load- and runnable even if the
bridge was compiled without snooping capabilities - or even if the
kernel was compiled without any bridge code at all.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h | 14 ++
1 file changed, 14
future.
Signed-off-by: Linus Lüssing
---
include/linux/if_bridge.h |6 ++
net/bridge/br_multicast.c | 37 +
2 files changed, 43 insertions(+)
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
index e0c575c..808dcb8 100644
--- a
nt since 3.14)
7) bridge: multicast: enable snooping on general queries only
-> 20a599bec (present since 3.14)
Let me know what you'd think about that or if there's any trouble
applying them to older kernels.
Cheers, Linus
On Tue, Mar 25, 2014 at 02:06:07PM +0100, Linus Lüssing wrote:
DST=ff02:::::::0001, \
IPv6 priority=0x0, Next Header=0
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c |3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 7751c92..9d0
On Mon, Sep 22, 2014 at 01:32:44AM +0200, Linus Lüssing wrote:
> Ebtables on the OUTPUT chain (NF_BR_LOCAL_OUT) would not work as expected
> for both locally generated IGMP and MLD queries. The IP header specific
> filter options are off by 14 Bytes for netfilter (actual output on
> i
On Mon, Nov 03, 2014 at 06:01:46AM +0800, Herbert Xu wrote:
> On Mon, Sep 22, 2014 at 01:32:44AM +0200, Linus Lüssing wrote:
> > Signed-off-by: Linus Lüssing
>
> Acked-by: Herbert Xu
Hi David,
are there any unanswered questions left?
Cheers, Linus
cally generated queries
-> f0b4eeced (since 3.18)
If there's anything unclear, just let me know. Thanks :)!
Cheers, Linus
On Wed, Sep 10, 2014 at 03:33:41PM +0200, Linus Lüssing wrote:
> I just got a complaint about bridges, multicast and a
> 3.10 kernel again. Seems like nobody had a
Hi Vasily,
On Tue, Feb 10, 2015 at 11:44:29AM +0300, Vasily Averin wrote:
> This patch prevent forwarding of ICMPv6 in bridges,
> so containers/VMs with virtual eth adapters connected in local bridge cannot
> ping each other via ipv6 (but can do it via ipv4)
If a host wants to receive packets, t
On Tue, Feb 10, 2015 at 04:59:09PM +0300, Vasily Averin wrote:
> I'm trying to fix ICMPv6 processing broken in OpenVZ after rebase to last
> RHEL6u6 kernel.
> After some unclear manipulation bridge begins to forward icmp6 NS (fe02::1)
> into wrong port,
> and at present I do not found the reason
The last round of multicast patches send to the batman-adv mailinglist
to add support for the multicast optimizations in bridged scenarios, too,
unfortunately had one major conceptual flaw: It could lead to packet loss.
It's not sufficient to have the unicasting of reports implemented on
bridge-nod
Let's use these new, neat helpers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index c465876..3c630c7 100644
--- a/net/b
With this patch, the IGMP and MLD message validation functions are moved
from the bridge code to the IPv4/IPv6 multicast files. Some small
refactoring was done to enhance readibility and to iron out some
differences in behaviour between the IGMP and MLD parsing code (e.g. the
skb-cloning of MLD mes
With this patch IGMP or MLD reports are only forwarded to the selected
IGMP/MLD querier as RFC4541 suggests. This is necessary to avoid
multicast packet loss in bridged scenarios later:
An IGMPv2/MLDv1 querier does not actively join the multicast group the
reports are sent to. Because of this, thi
The multicast optimizations bridge integration will require the just
implemented IGMP/MLD report handling later. Therefore bumping the
version number.
---
net/batman-adv/multicast.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/batman-adv/multicast.c b/net/ba
The last round of multicast patches send to the batman-adv mailinglist
to add support for the multicast optimizations in bridged scenarios, too,
unfortunately had one major conceptual flaw: It could lead to packet loss.
It's not sufficient to have the unicasting of reports implemented on
bridge-nod
Let's use these new, neat helpers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index c465876..3c630c7 100644
--- a/net/b
With this patch, the IGMP and MLD message validation functions are moved
from the bridge code to the IPv4/IPv6 multicast files. Some small
refactoring was done to enhance readibility and to iron out some
differences in behaviour between the IGMP and MLD parsing code (e.g. the
skb-cloning of MLD mes
The multicast optimizations bridge integration will require the just
implemented IGMP/MLD report handling later. Therefore bumping the
version number.
---
net/batman-adv/multicast.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/batman-adv/multicast.c b/net/ba
With this patch IGMP or MLD reports are only forwarded to the selected
IGMP/MLD querier as RFC4541 suggests. This is necessary to avoid
multicast packet loss in bridged scenarios later:
An IGMPv2/MLDv1 querier does not actively join the multicast group the
reports are sent to. Because of this, thi
On Fri, Apr 10, 2015 at 07:46:39PM +0200, Linus Lüssing wrote:
> diff --git a/net/ipv6/mcast_snoop.c b/net/ipv6/mcast_snoop.c
> new file mode 100644
> index 000..95b34c0
> --- /dev/null
> +++ b/net/ipv6/mcast_snoop.c
> @@ -0,0 +1,198 @@
> +/* Copyright (C) 2015: Linu
messages is now only done if necessary, just like the
IGMP part always did).
Finally, these IGMP and MLD message validation functions are exported so
that not only the bridge can use it but batman-adv later, too.
Signed-off-by: Linus Lüssing
---
include/linux/igmp.h |1 +
include/linux
Let's use these new, neat helpers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 4b6722f..b52f4cb 100644
--- a/net/b
The multicast optimizations in batman-adv are yet only usable and
enabled in non-bridged scenarios. To be able to support bridged setups
batman-adv needs to be able to detect IGMP/MLD queriers and reports on
mesh nodes without bridges, too. See the following link for details:
http://www.open-mesh.
The multicast optimizations in batman-adv are yet only usable and
enabled in non-bridged scenarios. To be able to support bridged setups
batman-adv needs to be able to detect IGMP/MLD queriers and reports on
mesh nodes without bridges, too. See the following link for details:
http://www.open-mesh.
Let's use these new, neat helpers.
Signed-off-by: Linus Lüssing
---
net/bridge/br_multicast.c | 28
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 4b6722f..b52f4cb 100644
--- a/net/b
1 - 100 of 242 matches
Mail list logo