From: Marek Lindner <mareklindner@neomailbox.ch>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] [PATCHv15 1/4] batman-adv: Always flood IGMP/MLD reports
Date: Thu, 12 May 2016 23:14:11 +0800 [thread overview]
Message-ID: <2831303.pd8gzeADto@voltaire> (raw)
In-Reply-To: <1462898487-9696-2-git-send-email-linus.luessing@c0d3.blue>
[-- Attachment #1: Type: text/plain, Size: 2775 bytes --]
On Tuesday, May 10, 2016 18:41:24 Linus Lüssing wrote:
> With this patch IGMP or MLD reports are always flooded. This is
> necessary for the upcoming bridge integration to function without
> multicast packet loss.
>
> With the report handling so far bridges might miss interested multicast
> listeners, leading to wrongly excluding ports from multicast packet
> forwarding.
>
> Currently we are treating IGMP/MLD reports, the messages bridges use to
> learn about interested multicast listeners, just as any other multicast
> packet: We try to send them to nodes matching its multicast destination.
>
> Unfortunately, the destination address of reports of the older
> IGMPv2/MLDv1 protocol families do not strictly adhere to their own
> protocol: More precisely, the interested receiver, an IGMPv2 or MLDv1
> querier, itself usually does not listen to the multicast destination
> address of any reports.
>
> Therefore with this patch we are simply excluding IGMP/MLD reports from
> the multicast forwarding code path and keep flooding them. By that
> any bridge receives them and can properly learn about listeners.
>
> To avoid compatibility issues with older nodes not yet implementing this
> report handling, we need to force them to flood reports: We do this by
> bumping the multicast TVLV version to 2, effectively disabling their
> multicast optimization.
>
> Tested-by: Simon Wunderlich <sw@simonwunderlich.de>
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
> ---
> Makefile | 4 +
> compat-include/linux/igmp.h | 13 ++
> compat-include/linux/skbuff.h | 14 ++
> compat-include/net/addrconf.h | 13 ++
> compat-include/net/ip6_checksum.h | 18 +++
> compat-include/net/ipv6.h | 17 +++
> compat-sources/Makefile | 3 +
> compat-sources/net/core/skbuff.c | 212 +++++++++++++++++++++++++++++
> compat-sources/net/ipv4/igmp.c | 241
> +++++++++++++++++++++++++++++++++ compat-sources/net/ipv6/mcast_snoop.c
> | 216 +++++++++++++++++++++++++++++
> net/batman-adv/Kconfig | 2 +-
> net/batman-adv/multicast.c | 85 ++++++++++--
> 12 files changed, 825 insertions(+), 13 deletions(-)
> create mode 100644 compat-include/linux/igmp.h
> create mode 100644 compat-include/net/addrconf.h
> create mode 100644 compat-include/net/ip6_checksum.h
> create mode 100644 compat-include/net/ipv6.h
> create mode 100644 compat-sources/Makefile
> create mode 100644 compat-sources/net/core/skbuff.c
> create mode 100644 compat-sources/net/ipv4/igmp.c
> create mode 100644 compat-sources/net/ipv6/mcast_snoop.c
Applied in revision 08bf4dc.
Thanks,
Marek
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-05-12 15:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 16:41 [B.A.T.M.A.N.] [PATCHv15 0/4] Multicast optimizations for bridges Linus Lüssing
2016-05-10 16:41 ` [B.A.T.M.A.N.] [PATCHv15 1/4] batman-adv: Always flood IGMP/MLD reports Linus Lüssing
2016-05-12 15:14 ` Marek Lindner [this message]
2016-05-10 16:41 ` [B.A.T.M.A.N.] [PATCHv15 2/4] batman-adv: Add multicast optimization support for bridged setups Linus Lüssing
2016-05-12 15:19 ` Marek Lindner
2016-05-10 16:41 ` [B.A.T.M.A.N.] [PATCHv15 3/4] batman-adv: Adding logging of mcast flag changes Linus Lüssing
2016-05-12 15:21 ` Marek Lindner
2016-05-10 16:41 ` [B.A.T.M.A.N.] [PATCHv15 4/4] batman-adv: Add debugfs table for mcast flags Linus Lüssing
2016-05-12 15:22 ` Marek Lindner
2016-05-10 16:50 ` [B.A.T.M.A.N.] [PATCHv15 0/4] Multicast optimizations for bridges 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=2831303.pd8gzeADto@voltaire \
--to=mareklindner@neomailbox.ch \
--cc=b.a.t.m.a.n@lists.open-mesh.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.