|
@@ -33,12 +33,12 @@ index 1e0c9d0..d0ab238 100644
|
|
|
}
|
|
|
diff --git a/batman-adv/patches/1001-batman-adv-introduce-no_rebroadcast-option.patch b/batman-adv/patches/1001-batman-adv-introduce-no_rebroadcast-option.patch
|
|
|
new file mode 100644
|
|
|
-index 0000000..e9f5ffb
|
|
|
+index 0000000..2d274d1
|
|
|
--- /dev/null
|
|
|
+++ b/batman-adv/patches/1001-batman-adv-introduce-no_rebroadcast-option.patch
|
|
|
@@ -0,0 +1,189 @@
|
|
|
-+From bb66988dc6972d5400b4ff4f0b49ed090007d635 Mon Sep 17 00:00:00 2001
|
|
|
-+Message-Id: <bb66988dc6972d5400b4ff4f0b49ed090007d635.1466049319.git.mschiffer@universe-factory.net>
|
|
|
++From eaeec9a5366d5e21fe07063ccede2edb7aa55e8e Mon Sep 17 00:00:00 2001
|
|
|
++Message-Id: <eaeec9a5366d5e21fe07063ccede2edb7aa55e8e.1481414736.git.mschiffer@universe-factory.net>
|
|
|
+From: =?UTF-8?q?Linus=20L=C3=BCssing?= <linus.luessing@web.de>
|
|
|
+Date: Tue, 24 Sep 2013 04:36:27 +0200
|
|
|
+Subject: [PATCH 1/2] batman-adv: introduce 'no_rebroadcast' option
|
|
@@ -74,13 +74,13 @@ index 0000000..e9f5ffb
|
|
|
+ 5 files changed, 77 insertions(+)
|
|
|
+
|
|
|
+diff --git a/Documentation/ABI/testing/sysfs-class-net-batman-adv b/Documentation/ABI/testing/sysfs-class-net-batman-adv
|
|
|
-+index 518f6a1..896c480 100644
|
|
|
++index 8981068..738c46d 100644
|
|
|
+--- a/Documentation/ABI/testing/sysfs-class-net-batman-adv
|
|
|
++++ b/Documentation/ABI/testing/sysfs-class-net-batman-adv
|
|
|
-+@@ -28,3 +28,14 @@ Description:
|
|
|
-+ The /sys/class/net/<iface>/batman-adv/mesh_iface file
|
|
|
-+ displays the batman mesh interface this <iface>
|
|
|
-+ currently is associated with.
|
|
|
++@@ -28,3 +28,14 @@ description:
|
|
|
++ when estimating the link throughput using this interface.
|
|
|
++ If the value is set to 0 then batman-adv will try to
|
|
|
++ estimate the throughput by itself.
|
|
|
++
|
|
|
++What: /sys/class/net/<iface>/batman-adv/no_rebroadcast
|
|
|
++Date: Sep 2013
|
|
@@ -93,23 +93,23 @@ index 0000000..e9f5ffb
|
|
|
++ or wired links. Using this option wrongly is going to
|
|
|
++ break your mesh network, use at your own risk!
|
|
|
+diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
|
|
|
-+index 8c2f399..48e53d0 100644
|
|
|
++index 08ce361..b0e2896 100644
|
|
|
+--- a/net/batman-adv/hard-interface.c
|
|
|
++++ b/net/batman-adv/hard-interface.c
|
|
|
-+@@ -690,6 +690,8 @@ batadv_hardif_add_interface(struct net_device *net_dev)
|
|
|
-+ kref_init(&hard_iface->refcount);
|
|
|
-+ kref_get(&hard_iface->refcount);
|
|
|
++@@ -702,6 +702,8 @@ batadv_hardif_add_interface(struct net_device *net_dev)
|
|
|
++
|
|
|
++ batadv_v_hardif_init(hard_iface);
|
|
|
+
|
|
|
++ atomic_set(&hard_iface->no_rebroadcast, 0);
|
|
|
++
|
|
|
+ batadv_check_known_mac_addr(hard_iface->net_dev);
|
|
|
++ kref_get(&hard_iface->refcount);
|
|
|
+ list_add_tail_rcu(&hard_iface->list, &batadv_hardif_list);
|
|
|
-+
|
|
|
+diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
|
|
|
-+index f2f1256..3736d75 100644
|
|
|
++index 8d4e1f5..c8250f9 100644
|
|
|
+--- a/net/batman-adv/send.c
|
|
|
++++ b/net/batman-adv/send.c
|
|
|
-+@@ -578,6 +578,10 @@ static void batadv_send_outstanding_bcast_packet(struct work_struct *work)
|
|
|
++@@ -636,6 +636,10 @@ static void batadv_send_outstanding_bcast_packet(struct work_struct *work)
|
|
|
+ if (forw_packet->num_packets >= hard_iface->num_bcasts)
|
|
|
+ continue;
|
|
|
+
|
|
@@ -121,10 +121,10 @@ index 0000000..e9f5ffb
|
|
|
+ continue;
|
|
|
+
|
|
|
+diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
|
|
|
-+index 414b207..9aa043f 100644
|
|
|
++index 02d96f2..f91d09c 100644
|
|
|
+--- a/net/batman-adv/sysfs.c
|
|
|
++++ b/net/batman-adv/sysfs.c
|
|
|
-+@@ -134,6 +134,17 @@ struct batadv_attribute batadv_attr_vlan_##_name = { \
|
|
|
++@@ -136,6 +136,17 @@ struct batadv_attribute batadv_attr_vlan_##_name = { \
|
|
|
+ .store = _store, \
|
|
|
+ }
|
|
|
+
|
|
@@ -142,7 +142,7 @@ index 0000000..e9f5ffb
|
|
|
+ /* Use this, if you have customized show and store functions */
|
|
|
+ #define BATADV_ATTR(_name, _mode, _show, _store) \
|
|
|
+ struct batadv_attribute batadv_attr_##_name = { \
|
|
|
-+@@ -293,6 +304,52 @@ ssize_t batadv_show_##_name(struct kobject *kobj, \
|
|
|
++@@ -295,6 +306,52 @@ ssize_t batadv_show_##_name(struct kobject *kobj, \
|
|
|
+ static BATADV_ATTR(_name, _mode, batadv_show_##_name, \
|
|
|
+ batadv_store_##_name)
|
|
|
+
|
|
@@ -195,7 +195,7 @@ index 0000000..e9f5ffb
|
|
|
+ static int batadv_store_bool_attr(char *buff, size_t count,
|
|
|
+ struct net_device *net_dev,
|
|
|
+ const char *attr_name, atomic_t *attr,
|
|
|
-+@@ -993,6 +1050,7 @@ static ssize_t batadv_show_throughput_override(struct kobject *kobj,
|
|
|
++@@ -1119,6 +1176,7 @@ static ssize_t batadv_show_throughput_override(struct kobject *kobj,
|
|
|
+ static BATADV_ATTR(mesh_iface, S_IRUGO | S_IWUSR, batadv_show_mesh_iface,
|
|
|
+ batadv_store_mesh_iface);
|
|
|
+ static BATADV_ATTR(iface_status, S_IRUGO, batadv_show_iface_status, NULL);
|
|
@@ -203,7 +203,7 @@ index 0000000..e9f5ffb
|
|
|
+ #ifdef CONFIG_BATMAN_ADV_BATMAN_V
|
|
|
+ BATADV_ATTR_HIF_UINT(elp_interval, bat_v.elp_interval, S_IRUGO | S_IWUSR,
|
|
|
+ 2 * BATADV_JITTER, INT_MAX, NULL);
|
|
|
-+@@ -1004,6 +1062,7 @@ static BATADV_ATTR(throughput_override, S_IRUGO | S_IWUSR,
|
|
|
++@@ -1130,6 +1188,7 @@ static BATADV_ATTR(throughput_override, S_IRUGO | S_IWUSR,
|
|
|
+ static struct batadv_attribute *batadv_batman_attrs[] = {
|
|
|
+ &batadv_attr_mesh_iface,
|
|
|
+ &batadv_attr_iface_status,
|
|
@@ -212,7 +212,7 @@ index 0000000..e9f5ffb
|
|
|
+ &batadv_attr_elp_interval,
|
|
|
+ &batadv_attr_throughput_override,
|
|
|
+diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
|
|
|
-+index ba846b0..1a596c5 100644
|
|
|
++index b3dd1a3..9ee810d 100644
|
|
|
+--- a/net/batman-adv/types.h
|
|
|
++++ b/net/batman-adv/types.h
|
|
|
+@@ -156,6 +156,7 @@ struct batadv_hard_iface {
|
|
@@ -224,5 +224,5 @@ index 0000000..e9f5ffb
|
|
|
+
|
|
|
+ /**
|
|
|
+--
|
|
|
-+2.8.3
|
|
|
++2.10.2
|
|
|
+
|