From c523238f82d9e01deef38948b8526a41f1cb8d1f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 8 Feb 2016 19:50:36 +0100 Subject: [PATCH] Update routing packages --- modules | 2 +- ...-adv-introduce-no_rebroadcast-option.patch | 41 +++++++----- ...n-adv-decrease-maximum-fragment-size.patch | 19 +++--- ...erface-but-also-a-link-local-address.patch | 62 ------------------- ... 0004-alfred-use-batman-adv-visdata.patch} | 2 +- 5 files changed, 41 insertions(+), 85 deletions(-) delete mode 100644 patches/packages/routing/0004-alfred-not-only-wait-for-the-interface-but-also-a-link-local-address.patch rename patches/packages/routing/{0005-alfred-use-batman-adv-visdata.patch => 0004-alfred-use-batman-adv-visdata.patch} (98%) diff --git a/modules b/modules index 805af847..58dfda33 100644 --- a/modules +++ b/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 diff --git a/patches/packages/routing/0002-batman-adv-introduce-no_rebroadcast-option.patch b/patches/packages/routing/0002-batman-adv-introduce-no_rebroadcast-option.patch index f4745ca3..f6d1646a 100644 --- a/patches/packages/routing/0002-batman-adv-introduce-no_rebroadcast-option.patch +++ b/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: +@@ -0,0 +1,185 @@ ++From bb9feeed3b49a55034cce90be996b11cd095b1ce Mon Sep 17 00:00:00 2001 ++Message-Id: +From: =?UTF-8?q?Linus=20L=C3=BCssing?= +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 ++ diff --git a/patches/packages/routing/0003-batman-adv-decrease-maximum-fragment-size.patch b/patches/packages/routing/0003-batman-adv-decrease-maximum-fragment-size.patch index e7b5580e..a53bef28 100644 --- a/patches/packages/routing/0003-batman-adv-decrease-maximum-fragment-size.patch +++ b/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: -+References: +@@ -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: ++References: +From: Matthias Schiffer +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 ++ diff --git a/patches/packages/routing/0004-alfred-not-only-wait-for-the-interface-but-also-a-link-local-address.patch b/patches/packages/routing/0004-alfred-not-only-wait-for-the-interface-but-also-a-link-local-address.patch deleted file mode 100644 index e6873c7b..00000000 --- a/patches/packages/routing/0004-alfred-not-only-wait-for-the-interface-but-also-a-link-local-address.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Matthias Schiffer -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 - -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 diff --git a/patches/packages/routing/0005-alfred-use-batman-adv-visdata.patch b/patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch similarity index 98% rename from patches/packages/routing/0005-alfred-use-batman-adv-visdata.patch rename to patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch index 6064774d..48b720be 100644 --- a/patches/packages/routing/0005-alfred-use-batman-adv-visdata.patch +++ b/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