batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast support
authorLinus Lüssing <linus.luessing@web.de>
Sat, 15 Feb 2014 16:47:53 +0000 (17:47 +0100)
committerAntonio Quartulli <antonio@meshcoding.com>
Sat, 22 Mar 2014 08:18:58 +0000 (09:18 +0100)
commitab49886e3da73b6b35ece21006e191910427bb30
treed4ae8a3192413628fd8301044fcd039c57ba7066
parent1d8ab8d3c176d31530b3ffd4547cf731018e2a45
batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast support

With this patch a node may additionally perform the dropping or
unicasting behaviour for a link-local IPv4 and link-local-all-nodes
IPv6 multicast packet, too.

The extra counter and BATADV_MCAST_WANT_ALL_UNSNOOPABLES flag is needed
because with a future bridge snooping support integration a node with a
bridge on top of its soft interface is not able to reliably detect its
multicast listeners for IPv4 link-local and the IPv6
link-local-all-nodes addresses anymore (see RFC4541, section 2.1.2.2
and section 3).

Even though this new flag does make "no difference" now, it'll ensure
a seamless integration of multicast bridge support without needing to
break compatibility later.

Also note, that even with multicast bridge support it won't be possible
to optimize 224.0.0.x and ff02::1 towards nodes with bridges, they will
always receive these ranges.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/main.c
net/batman-adv/main.h
net/batman-adv/multicast.c
net/batman-adv/packet.h
net/batman-adv/soft-interface.c
net/batman-adv/types.h