From: "Linus Lüssing" <linus.luessing@c0d3.blue>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@lists.open-mesh.org>
Subject: Re: [PATCH v4 1/2] batman-adv: mcast: detect, distribute and maintain multicast router presence
Date: Tue, 11 Jun 2019 01:45:57 +0200 [thread overview]
Message-ID: <20190610234557.GB10498@otheros> (raw)
In-Reply-To: <20190610231414.GA10498@otheros>
On Tue, Jun 11, 2019 at 01:14:14AM +0200, Linus Lüssing wrote:
> On Mon, Jun 10, 2019 at 09:24:26AM +0200, Sven Eckelmann wrote:
> > On Monday, 10 June 2019 02:45:34 CEST Linus Lüssing wrote:
> > > @@ -107,12 +107,20 @@ enum batadv_icmp_packettype {
> > > * @BATADV_MCAST_WANT_ALL_UNSNOOPABLES: we want all packets destined for
> > > * 224.0.0.0/24 or ff02::1
> > > * @BATADV_MCAST_WANT_ALL_IPV4: we want all IPv4 multicast packets
> > > + * (both link-local and routeable ones)
> > > * @BATADV_MCAST_WANT_ALL_IPV6: we want all IPv6 multicast packets
> > > + * (both link-local and routable ones)
> > > + * @BATADV_MCAST_WANT_NO_RTR4: we have no IPv4 multicast router and therefore
> > > + * only need routeable IPv4 multicast packets we signed up for explicitly
> > > + * @BATADV_MCAST_WANT_NO_RTR6: we have no IPv6 multicast router and therefore
> > > + * only need routeable IPv6 multicast packets we signed up for explicitly
> > > */
> > > enum batadv_mcast_flags {
> > > BATADV_MCAST_WANT_ALL_UNSNOOPABLES = 1UL << 0,
> > > BATADV_MCAST_WANT_ALL_IPV4 = 1UL << 1,
> > > BATADV_MCAST_WANT_ALL_IPV6 = 1UL << 2,
> > > + BATADV_MCAST_WANT_NO_RTR4 = 1UL << 3,
> > > + BATADV_MCAST_WANT_NO_RTR6 = 1UL << 4,
> > > };
> >
> > I wonder what a good interpretation of 0x1f would be (all bits set). The code
> > doesn't seem to be able to handle this but an interpretation would be:
> >
> > * get all unsnoopable
> > * get all link-local but not rtr
Hrm, in hindsight I would have prefered a much cleaner, more clear
and more flexible flag set like:
enum batadv_mcast_flags {
BATADV_MCAST_WANT_ALL_LL4 = 1UL << 0,
BATADV_MCAST_WANT_ALL_LL6 = 1UL << 1,
BATADV_MCAST_WANT_ALL_RTR4 = 1UL << 2,
BATADV_MCAST_WANT_ALL_RTR6 = 1UL << 3,
}
The IPv4 unsnoopable case would have been equivalent to
BATADV_MCAST_WANT_ALL_LL4. And for the IPv6 unsnoopable case,
which is just the ff02::1 address which does not get any MLD
reports, we could have injected a TT entry for 33:33:00:00:00:01
instead (or just always flooding ff02::1).
Well, I guess that's too late now.
next prev parent reply other threads:[~2019-06-10 23:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-10 0:45 [PATCH v4 0/2] batman-adv: Add routeable multicast optimizations Linus Lüssing
2019-06-10 0:45 ` [PATCH v4 1/2] batman-adv: mcast: detect, distribute and maintain multicast router presence Linus Lüssing
2019-06-10 5:39 ` Sven Eckelmann
2019-06-10 7:24 ` Sven Eckelmann
2019-06-10 23:14 ` Linus Lüssing
2019-06-10 23:45 ` Linus Lüssing [this message]
2019-06-11 5:44 ` Sven Eckelmann
2019-06-11 14:12 ` Linus Lüssing
2019-06-10 0:45 ` [PATCH v4 2/2] batman-adv: mcast: apply optimizations for routeable packets, too 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=20190610234557.GB10498@otheros \
--to=linus.luessing@c0d3.blue \
--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.