Browse Source

Update routing packages

Matthias Schiffer 8 years ago
parent
commit
c523238f82

+ 1 - 1
modules

@@ -11,7 +11,7 @@ PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
 PACKAGES_GLUON_COMMIT=fd06c7d67da69713f0361dadab16393c26cb609b
 
 PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
-PACKAGES_ROUTING_COMMIT=ae65d4fe027592652376f8dbd3ff2ef37f5a84bc
+PACKAGES_ROUTING_COMMIT=2a8338559de5c4b077cde7a83f43f4700a17d5cc
 
 PACKAGES_LUCI_REPO=git://github.com/openwrt/luci.git
 PACKAGES_LUCI_COMMIT=cdcdfd2594634804ab09dc8105e46116edce0cd6

+ 27 - 14
patches/packages/routing/0002-batman-adv-introduce-no_rebroadcast-option.patch

@@ -30,12 +30,12 @@ index 632a209..01f567f 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..f461ddc
+index 0000000..3324102
 --- /dev/null
 +++ b/batman-adv/patches/1001-batman-adv-introduce-no_rebroadcast-option.patch
-@@ -0,0 +1,172 @@
-+From a20c87779270f509227feecc4487e36a7d850c0f Mon Sep 17 00:00:00 2001
-+Message-Id: <a20c87779270f509227feecc4487e36a7d850c0f.1438892883.git.mschiffer@universe-factory.net>
+@@ -0,0 +1,185 @@
++From bb9feeed3b49a55034cce90be996b11cd095b1ce Mon Sep 17 00:00:00 2001
++Message-Id: <bb9feeed3b49a55034cce90be996b11cd095b1ce.1454958586.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
@@ -70,6 +70,8 @@ index 0000000..f461ddc
 + net/batman-adv/types.h                             |  1 +
 + 5 files changed, 76 insertions(+)
 +
++diff --git a/Documentation/ABI/testing/sysfs-class-net-batman-adv b/Documentation/ABI/testing/sysfs-class-net-batman-adv
++index 7f34a95..cf7fe00 100644
 +--- a/Documentation/ABI/testing/sysfs-class-net-batman-adv
 ++++ b/Documentation/ABI/testing/sysfs-class-net-batman-adv
 +@@ -13,3 +13,13 @@ Description:
@@ -86,9 +88,11 @@ index 0000000..f461ddc
 ++                and symmetric only, for instance point-to-point wifi longshots
 ++                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 aea4d06..66a703d 100644
 +--- a/net/batman-adv/hard-interface.c
 ++++ b/net/batman-adv/hard-interface.c
-+@@ -639,6 +639,8 @@ batadv_hardif_add_interface(struct net_d
++@@ -657,6 +657,8 @@ batadv_hardif_add_interface(struct net_device *net_dev)
 + 	/* extra reference for return */
 + 	atomic_set(&hard_iface->refcount, 2);
 + 
@@ -97,9 +101,11 @@ index 0000000..f461ddc
 + 	batadv_check_known_mac_addr(hard_iface->net_dev);
 + 	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 c188f46..145f7cb 100644
 +--- a/net/batman-adv/send.c
 ++++ b/net/batman-adv/send.c
-+@@ -531,6 +531,10 @@ static void batadv_send_outstanding_bcas
++@@ -535,6 +535,10 @@ static void batadv_send_outstanding_bcast_packet(struct work_struct *work)
 + 		if (forw_packet->num_packets >= hard_iface->num_bcasts)
 + 			continue;
 + 
@@ -110,9 +116,11 @@ index 0000000..f461ddc
 + 		/* send a copy of the saved skb */
 + 		skb1 = skb_clone(forw_packet->skb, GFP_ATOMIC);
 + 		if (skb1)
++diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
++index f38d7b7..600633c 100644
 +--- a/net/batman-adv/sysfs.c
 ++++ b/net/batman-adv/sysfs.c
-+@@ -129,6 +129,17 @@ struct batadv_attribute batadv_attr_vlan
++@@ -131,6 +131,17 @@ struct batadv_attribute batadv_attr_vlan_##_name = {	\
 + 	.store  = _store,				\
 + }
 + 
@@ -130,7 +138,7 @@ index 0000000..f461ddc
 + /* Use this, if you have customized show and store functions */
 + #define BATADV_ATTR(_name, _mode, _show, _store)	\
 + struct batadv_attribute batadv_attr_##_name = {		\
-+@@ -239,6 +250,52 @@ ssize_t batadv_show_vlan_##_name(struct
++@@ -241,6 +252,52 @@ ssize_t batadv_show_vlan_##_name(struct kobject *kobj,			\
 + 	static BATADV_ATTR_VLAN(_name, _mode, batadv_show_vlan_##_name,	\
 + 				batadv_store_vlan_##_name)
 + 
@@ -182,8 +190,8 @@ index 0000000..f461ddc
 ++
 + static int batadv_store_bool_attr(char *buff, size_t count,
 + 				  struct net_device *net_dev,
-+ 				  const char *attr_name, atomic_t *attr)
-+@@ -863,10 +920,12 @@ static ssize_t batadv_show_iface_status(
++ 				  const char *attr_name, atomic_t *attr,
++@@ -870,10 +927,12 @@ static ssize_t batadv_show_iface_status(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);
@@ -196,13 +204,18 @@ index 0000000..f461ddc
 + 	NULL,
 + };
 + 
++diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
++index 5e8c8df..913f104 100644
 +--- a/net/batman-adv/types.h
 ++++ b/net/batman-adv/types.h
-+@@ -115,6 +115,7 @@ struct batadv_hard_iface {
-+ 	struct batadv_hard_iface_bat_iv bat_iv;
-+ 	struct work_struct cleanup_work;
-+ 	struct dentry *debug_dir;
++@@ -120,6 +120,7 @@ struct batadv_hard_iface {
++ 	struct hlist_head neigh_list;
++ 	/* neigh_list_lock protects: neigh_list */
++ 	spinlock_t neigh_list_lock;
 ++	atomic_t no_rebroadcast;
 + };
 + 
 + /**
++-- 
++2.7.0
++

+ 12 - 7
patches/packages/routing/0003-batman-adv-decrease-maximum-fragment-size.patch

@@ -4,14 +4,14 @@ Subject: batman-adv: decrease maximum fragment size
 
 diff --git a/batman-adv/patches/1002-batman-adv-decrease-maximum-fragment-size.patch b/batman-adv/patches/1002-batman-adv-decrease-maximum-fragment-size.patch
 new file mode 100644
-index 0000000..16cb023
+index 0000000..56311ea
 --- /dev/null
 +++ b/batman-adv/patches/1002-batman-adv-decrease-maximum-fragment-size.patch
-@@ -0,0 +1,23 @@
-+From 02c861b6aa334dff1ce8031ffc328924c78beec1 Mon Sep 17 00:00:00 2001
-+Message-Id: <02c861b6aa334dff1ce8031ffc328924c78beec1.1438892883.git.mschiffer@universe-factory.net>
-+In-Reply-To: <a20c87779270f509227feecc4487e36a7d850c0f.1438892883.git.mschiffer@universe-factory.net>
-+References: <a20c87779270f509227feecc4487e36a7d850c0f.1438892883.git.mschiffer@universe-factory.net>
+@@ -0,0 +1,28 @@
++From 3de3f885d441f9059a4d4c88504845851667a68c Mon Sep 17 00:00:00 2001
++Message-Id: <3de3f885d441f9059a4d4c88504845851667a68c.1454958586.git.mschiffer@universe-factory.net>
++In-Reply-To: <bb9feeed3b49a55034cce90be996b11cd095b1ce.1454958586.git.mschiffer@universe-factory.net>
++References: <bb9feeed3b49a55034cce90be996b11cd095b1ce.1454958586.git.mschiffer@universe-factory.net>
 +From: Matthias Schiffer <mschiffer@universe-factory.net>
 +Date: Thu, 6 Aug 2015 22:27:01 +0200
 +Subject: [PATCH 2/2] batman-adv: decrease maximum fragment size
@@ -20,9 +20,11 @@ index 0000000..16cb023
 + net/batman-adv/main.h | 2 +-
 + 1 file changed, 1 insertion(+), 1 deletion(-)
 +
++diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
++index 34f56ef..81a7cc2 100644
 +--- a/net/batman-adv/main.h
 ++++ b/net/batman-adv/main.h
-+@@ -148,7 +148,7 @@ enum batadv_uev_type {
++@@ -147,7 +147,7 @@ enum batadv_uev_type {
 + /* Maximum number of fragments for one packet */
 + #define BATADV_FRAG_MAX_FRAGMENTS 16
 + /* Maxumim size of each fragment */
@@ -31,3 +33,6 @@ index 0000000..16cb023
 + /* Time to keep fragments while waiting for rest of the fragments */
 + #define BATADV_FRAG_TIMEOUT 10000
 + 
++-- 
++2.7.0
++

+ 0 - 62
patches/packages/routing/0004-alfred-not-only-wait-for-the-interface-but-also-a-link-local-address.patch

@@ -1,62 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Sun, 9 Aug 2015 18:03:28 +0200
-Subject: alfred: not only wait for the interface, but also a link-local address
-
-Changes between alfred 2015.0 and 2015.1 cause alfred to print an error
-and exit when the interface to bind to is not completely set up (has no
-non-tentative link-local address). As a workaround, wait for such an
-address by reading /proc/net/if_inet6 before alfred is started.
-
-In the long term, it would be nice to make alfred more robust against
-missing interfaces (allowing alfred to start without the interface
-existing, and keeping it working even when the interface is removed and
-re-added while alfred is running).
-
-Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-
-diff --git a/alfred/files/alfred.init b/alfred/files/alfred.init
-index 5ce06c0..8e1f11d 100755
---- a/alfred/files/alfred.init
-+++ b/alfred/files/alfred.init
-@@ -37,6 +37,32 @@ wait_for_dir()
- 	fi
- }
- 
-+wait_for_ll_address()
-+{
-+	local iface="$1"
-+	local timeout
-+
-+	timeout=30
-+	echo "${initscript}: waiting $timeout secs for $iface address..."
-+	for i in $(seq $timeout); do
-+		# We look for
-+		# - the link-local address (starts with fe80)
-+		# - without tentative flag (bit 0x40 in the flags field; the first char of the flags field begins 38 columns after the fe80 prefix
-+		# - on interface $iface
-+		if awk '
-+			BEGIN { RET=1 }
-+			/^fe80.{37} [012389ab]/ { if ($6 == "'"$iface"'") RET=0 }
-+			END { exit RET }
-+		' /proc/net/if_inet6; then
-+			return
-+		fi
-+		sleep 1
-+	done
-+
-+	echo "${initscript}: $iface address not detected, alfred not starting."
-+	exit 1
-+}
-+
- alfred_start()
- {
- 	local args=""
-@@ -62,7 +88,7 @@ alfred_start()
- 		wait_for_dir "$batmanif" "/sys/class/net/$batmanif/mesh"
- 	fi
- 
--	wait_for_dir "$interface" "/sys/class/net/$interface/"
-+	wait_for_ll_address "$interface"
- 
- 	append alfred_args "$args"
- 	enable=1

+ 1 - 1
patches/packages/routing/0005-alfred-use-batman-adv-visdata.patch → patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch

@@ -3,7 +3,7 @@ Date: Mon, 14 Dec 2015 03:08:42 +0100
 Subject: alfred: use batman-adv-visdata
 
 diff --git a/alfred/Makefile b/alfred/Makefile
-index 8f49b5a..f1d7c6e 100644
+index 504fddd..f356f55 100644
 --- a/alfred/Makefile
 +++ b/alfred/Makefile
 @@ -28,7 +28,7 @@ define Package/alfred