aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv/main.h
diff options
context:
space:
mode:
authorLinus Lüssing <linus.luessing@web.de>2014-02-15 11:47:53 -0500
committerAntonio Quartulli <antonio@meshcoding.com>2014-03-22 04:18:58 -0400
commitab49886e3da73b6b35ece21006e191910427bb30 (patch)
treed4ae8a3192413628fd8301044fcd039c57ba7066 /net/batman-adv/main.h
parent1d8ab8d3c176d31530b3ffd4547cf731018e2a45 (diff)
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>
Diffstat (limited to 'net/batman-adv/main.h')
-rw-r--r--net/batman-adv/main.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index aa4f73a044c5..515dce752fd2 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -177,6 +177,7 @@ enum batadv_uev_type {
177#include <linux/slab.h> 177#include <linux/slab.h>
178#include <net/sock.h> /* struct sock */ 178#include <net/sock.h> /* struct sock */
179#include <net/addrconf.h> /* ipv6 address stuff */ 179#include <net/addrconf.h> /* ipv6 address stuff */
180#include <linux/ip.h>
180#include <net/rtnetlink.h> 181#include <net/rtnetlink.h>
181#include <linux/jiffies.h> 182#include <linux/jiffies.h>
182#include <linux/seq_file.h> 183#include <linux/seq_file.h>