Update routing packages

This commit is contained in:
Matthias Schiffer 2016-02-08 19:50:36 +01:00
parent d84028301e
commit c523238f82
5 changed files with 41 additions and 85 deletions

View File

@ -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

View File

@ -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
+

View File

@ -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
+

View File

@ -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

View File

@ -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