From f6498e8773fcc870b17e6b7e4b07520e8b90192a Mon Sep 17 00:00:00 2001 From: Matthias Schiffer <mschiffer@universe-factory.net> Date: Sat, 18 Jul 2015 17:51:03 +0200 Subject: [PATCH] Update modules --- include/toplevel.mk | 2 +- modules | 8 +- .../files/lib/gluon/upgrade/110-network | 1 + .../310-gluon-mesh-batman-adv-core-mesh | 1 + ...g-PIOs-as-sent-by-some-apple-routers.patch | 34 --- ...-support-for-tp-link-wr740n-v5.0-EU.patch} | 0 ...sourcerouting-parameter-registration.patch | 18 -- ...r71xx-add-support-for-TL-WR741ND-v5.patch} | 0 ...sourcerouting-parameter-registration.patch | 18 -- ... 0011-brcm2708-Implement-sysupgrade.patch} | 0 ...eded-source-dest-routing-workarounds.patch | 214 ------------------ ...12-sunxi-fix-uboot-install-location.patch} | 0 ...SAS-fixes-for-source-specific-routes.patch | 108 --------- ...i-respect-CONFIG_TARGET_IMAGES_GZIP.patch} | 0 ...ourcefilter-to-disable-source-filter.patch | 62 +++++ 15 files changed, 69 insertions(+), 397 deletions(-) delete mode 100644 patches/openwrt/0009-Revert-odhcp6c-work-around-RIOs-matching-PIOs-as-sent-by-some-apple-routers.patch rename patches/openwrt/{0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch => 0009-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch} (100%) delete mode 100644 patches/openwrt/0010-Revert-6to4-Remove-sourcerouting-parameter-registration.patch rename patches/openwrt/{0015-ar71xx-add-support-for-TL-WR741ND-v5.patch => 0010-ar71xx-add-support-for-TL-WR741ND-v5.patch} (100%) delete mode 100644 patches/openwrt/0011-Revert-6rd-Remove-sourcerouting-parameter-registration.patch rename patches/openwrt/{0016-brcm2708-Implement-sysupgrade.patch => 0011-brcm2708-Implement-sysupgrade.patch} (100%) delete mode 100644 patches/openwrt/0012-Revert-ipv6-remove-now-unneeded-source-dest-routing-workarounds.patch rename patches/openwrt/{0017-sunxi-fix-uboot-install-location.patch => 0012-sunxi-fix-uboot-install-location.patch} (100%) delete mode 100644 patches/openwrt/0013-Revert-linux-backport-IPv6-SAS-fixes-for-source-specific-routes.patch rename patches/openwrt/{0018-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch => 0013-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch} (100%) create mode 100644 patches/openwrt/0014-odhcp6c-add-option-sourcefilter-to-disable-source-filter.patch diff --git a/include/toplevel.mk b/include/toplevel.mk index 72522da57..087a7a19a 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -7,7 +7,7 @@ # See /LICENSE for more information. # -RELEASE:=Barrier Breaker +RELEASE:=Chaos Calmer PREP_MK= OPENWRT_BUILD= QUIET=0 export IS_TTY=$(shell tty -s && echo 1 || echo 0) diff --git a/modules b/modules index 99b180a6f..b67364b74 100644 --- a/modules +++ b/modules @@ -1,18 +1,18 @@ GLUON_FEEDS='openwrt gluon routing luci' OPENWRT_REPO=git://git.openwrt.org/15.05/openwrt.git -OPENWRT_COMMIT=7400cfec550b5fd3e12093006b3d42734ac2fd91 +OPENWRT_COMMIT=12a75ad198a96ec39e98fa1fdd3740aa1316a255 PACKAGES_OPENWRT_REPO=git://github.com/openwrt/packages.git -PACKAGES_OPENWRT_COMMIT=62037ba35fda4ae07e89c33946f229da2a941d47 +PACKAGES_OPENWRT_COMMIT=bc424ae8577ec10808cc5645eea700ebddf5183f PACKAGES_OPENWRT_BRANCH=for-15.05 PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git PACKAGES_GLUON_COMMIT=881036e1f2818d2f0f0a8a72bfdb9c59e67b0e48 PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git -PACKAGES_ROUTING_COMMIT=6c78c2ac2cb9ec3be25e68b1cef7b2e2e0e4a346 +PACKAGES_ROUTING_COMMIT=7d4e4fe21d6a7315c86fb070f2aac422f3334920 PACKAGES_LUCI_REPO=git://github.com/openwrt/luci.git -PACKAGES_LUCI_COMMIT=218e8f608e4ef988a5c74a9fb499eba4926084be +PACKAGES_LUCI_COMMIT=69fd4f14eef783076b69315c71fe57baad1f8925 PACKAGES_LUCI_BRANCH=for-15.05 diff --git a/package/gluon-core/files/lib/gluon/upgrade/110-network b/package/gluon-core/files/lib/gluon/upgrade/110-network index 07961788e..d83f6d650 100755 --- a/package/gluon-core/files/lib/gluon/upgrade/110-network +++ b/package/gluon-core/files/lib/gluon/upgrade/110-network @@ -25,6 +25,7 @@ uci:section('network', 'interface', 'wan6', ifname = 'br-wan', peerdns = 0, ip6table = 1, + sourcefilter = 0, } ) diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh index 43c4e4d46..892ef1028 100755 --- a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh +++ b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh @@ -41,6 +41,7 @@ end uci:set('network', 'client', 'igmp_snooping', 0) uci:set('network', 'client', 'macaddr', sysconfig.primary_mac) uci:set('network', 'client', 'peerdns', 1) +uci:set('network', 'client', 'sourcefilter', 0) uci:delete('network', 'bat0') uci:section('network', 'interface', 'bat0', diff --git a/patches/openwrt/0009-Revert-odhcp6c-work-around-RIOs-matching-PIOs-as-sent-by-some-apple-routers.patch b/patches/openwrt/0009-Revert-odhcp6c-work-around-RIOs-matching-PIOs-as-sent-by-some-apple-routers.patch deleted file mode 100644 index 65120445d..000000000 --- a/patches/openwrt/0009-Revert-odhcp6c-work-around-RIOs-matching-PIOs-as-sent-by-some-apple-routers.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Matthias Schiffer <mschiffer@universe-factory.net> -Date: Sun, 21 Jun 2015 05:47:46 +0200 -Subject: Revert "odhcp6c: work around RIOs matching PIOs as sent by some apple routers" - -This reverts commit c46402e106ee924e3861f9685d6187552e7f8f2b. - -diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile -index d0935eb..a90f5ce 100644 ---- a/package/network/ipv6/odhcp6c/Makefile -+++ b/package/network/ipv6/odhcp6c/Makefile -@@ -8,7 +8,7 @@ - include $(TOPDIR)/rules.mk - - PKG_NAME:=odhcp6c --PKG_VERSION:=2015-06-10 -+PKG_VERSION:=2015-06-09 - PKG_RELEASE=$(PKG_SOURCE_VERSION) - - PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script -index 84eb706..650c9b2 100755 ---- a/package/network/ipv6/odhcp6c/files/dhcpv6.script -+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script -@@ -88,10 +88,6 @@ setup_interface () { - - if [ -z "$gw" ]; then - proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" -- -- # work around if there is a PIO matching a RIO -- # Linux seems to prefer source-dest over dest-only even if metric is higher -- proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$addr/$mask" - else - for prefix in $PREFIXES $ADDRESSES; do - local paddr="${prefix%%,*}" diff --git a/patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch b/patches/openwrt/0009-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch similarity index 100% rename from patches/openwrt/0014-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch rename to patches/openwrt/0009-ar71xx-add-support-for-tp-link-wr740n-v5.0-EU.patch diff --git a/patches/openwrt/0010-Revert-6to4-Remove-sourcerouting-parameter-registration.patch b/patches/openwrt/0010-Revert-6to4-Remove-sourcerouting-parameter-registration.patch deleted file mode 100644 index 63d6b796d..000000000 --- a/patches/openwrt/0010-Revert-6to4-Remove-sourcerouting-parameter-registration.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Matthias Schiffer <mschiffer@universe-factory.net> -Date: Sun, 21 Jun 2015 05:47:54 +0200 -Subject: Revert "6to4: Remove sourcerouting parameter registration" - -This reverts commit b64e2fa3f75b9ae21d670a9084ca855ea39c25e6. - -diff --git a/package/network/ipv6/6to4/files/6to4.sh b/package/network/ipv6/6to4/files/6to4.sh -index a5d0567..57efc52 100755 ---- a/package/network/ipv6/6to4/files/6to4.sh -+++ b/package/network/ipv6/6to4/files/6to4.sh -@@ -91,6 +91,7 @@ proto_6to4_init_config() { - proto_config_add_int "mtu" - proto_config_add_int "ttl" - proto_config_add_string "tos" -+ proto_config_add_boolean "sourcerouting" - } - - [ -n "$INCLUDE_ONLY" ] || { diff --git a/patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch b/patches/openwrt/0010-ar71xx-add-support-for-TL-WR741ND-v5.patch similarity index 100% rename from patches/openwrt/0015-ar71xx-add-support-for-TL-WR741ND-v5.patch rename to patches/openwrt/0010-ar71xx-add-support-for-TL-WR741ND-v5.patch diff --git a/patches/openwrt/0011-Revert-6rd-Remove-sourcerouting-parameter-registration.patch b/patches/openwrt/0011-Revert-6rd-Remove-sourcerouting-parameter-registration.patch deleted file mode 100644 index 0be7d722e..000000000 --- a/patches/openwrt/0011-Revert-6rd-Remove-sourcerouting-parameter-registration.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Matthias Schiffer <mschiffer@universe-factory.net> -Date: Sun, 21 Jun 2015 05:48:01 +0200 -Subject: Revert "6rd: Remove sourcerouting parameter registration" - -This reverts commit cedaf068bf920099483adfad2e106e35737c964f. - -diff --git a/package/network/ipv6/6rd/files/6rd.sh b/package/network/ipv6/6rd/files/6rd.sh -index 62d35b6..6c68b3b 100644 ---- a/package/network/ipv6/6rd/files/6rd.sh -+++ b/package/network/ipv6/6rd/files/6rd.sh -@@ -94,6 +94,7 @@ proto_6rd_init_config() { - proto_config_add_string "ip6prefixlen" - proto_config_add_string "ip4prefixlen" - proto_config_add_string "tunlink" -+ proto_config_add_boolean "sourcerouting" - proto_config_add_string "zone" - } - diff --git a/patches/openwrt/0016-brcm2708-Implement-sysupgrade.patch b/patches/openwrt/0011-brcm2708-Implement-sysupgrade.patch similarity index 100% rename from patches/openwrt/0016-brcm2708-Implement-sysupgrade.patch rename to patches/openwrt/0011-brcm2708-Implement-sysupgrade.patch diff --git a/patches/openwrt/0012-Revert-ipv6-remove-now-unneeded-source-dest-routing-workarounds.patch b/patches/openwrt/0012-Revert-ipv6-remove-now-unneeded-source-dest-routing-workarounds.patch deleted file mode 100644 index 5c7b5d4ca..000000000 --- a/patches/openwrt/0012-Revert-ipv6-remove-now-unneeded-source-dest-routing-workarounds.patch +++ /dev/null @@ -1,214 +0,0 @@ -From: Matthias Schiffer <mschiffer@universe-factory.net> -Date: Sun, 21 Jun 2015 05:48:45 +0200 -Subject: Revert "ipv6: remove now unneeded source-dest-routing workarounds" - -This reverts commit 31214c38c8dd0f70366b523f9b0335145b9386bd. - -diff --git a/package/network/ipv6/6in4/Makefile b/package/network/ipv6/6in4/Makefile -index b7c2da7..21e69e6 100644 ---- a/package/network/ipv6/6in4/Makefile -+++ b/package/network/ipv6/6in4/Makefile -@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk - - PKG_NAME:=6in4 - PKG_VERSION:=21 --PKG_RELEASE:=2 -+PKG_RELEASE:=1 - PKG_LICENSE:=GPL-2.0 - - include $(INCLUDE_DIR)/package.mk -diff --git a/package/network/ipv6/6in4/files/6in4.sh b/package/network/ipv6/6in4/files/6in4.sh -index af2ddca..0289df3 100755 ---- a/package/network/ipv6/6in4/files/6in4.sh -+++ b/package/network/ipv6/6in4/files/6in4.sh -@@ -27,8 +27,8 @@ proto_6in4_setup() { - local iface="$2" - local link="6in4-$cfg" - -- local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey -- json_get_vars mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey -+ local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey sourcerouting -+ json_get_vars mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey sourcerouting - - [ -z "$peeraddr" ] && { - proto_notify_error "$cfg" "MISSING_ADDRESS" -@@ -48,17 +48,21 @@ proto_6in4_setup() { - - proto_init_update "$link" 1 - -+ local source="" -+ [ "$sourcerouting" != "0" ] && source="::/128" -+ proto_add_ipv6_route "::" 0 "" "" "" "$source" -+ - [ -n "$ip6addr" ] && { - local local6="${ip6addr%%/*}" - local mask6="${ip6addr##*/}" - [[ "$local6" = "$mask6" ]] && mask6= - proto_add_ipv6_address "$local6" "$mask6" -- proto_add_ipv6_route "::" 0 "" "" "" "$local6/$mask6" -+ [ "$sourcerouting" != "0" ] && proto_add_ipv6_route "::" 0 "" "" "" "$local6/$mask6" - } - - [ -n "$ip6prefix" ] && { - proto_add_ipv6_prefix "$ip6prefix" -- proto_add_ipv6_route "::" 0 "" "" "" "$ip6prefix" -+ [ "$sourcerouting" != "0" ] && proto_add_ipv6_route "::" 0 "" "" "" "$ip6prefix" - } - - proto_add_tunnel -@@ -142,6 +146,7 @@ proto_6in4_init_config() { - proto_config_add_int "mtu" - proto_config_add_int "ttl" - proto_config_add_string "tos" -+ proto_config_add_boolean "sourcerouting" - } - - [ -n "$INCLUDE_ONLY" ] || { -diff --git a/package/network/ipv6/6rd/Makefile b/package/network/ipv6/6rd/Makefile -index cde7117..f9b7eae 100644 ---- a/package/network/ipv6/6rd/Makefile -+++ b/package/network/ipv6/6rd/Makefile -@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk - - PKG_NAME:=6rd - PKG_VERSION:=9 --PKG_RELEASE:=2 -+PKG_RELEASE:=1 - PKG_LICENSE:=GPL-2.0 - - include $(INCLUDE_DIR)/package.mk -diff --git a/package/network/ipv6/6rd/files/6rd.sh b/package/network/ipv6/6rd/files/6rd.sh -index 6c68b3b..b485136 100644 ---- a/package/network/ipv6/6rd/files/6rd.sh -+++ b/package/network/ipv6/6rd/files/6rd.sh -@@ -14,8 +14,8 @@ proto_6rd_setup() { - local iface="$2" - local link="6rd-$cfg" - -- local mtu df ttl tos ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink zone -- json_get_vars mtu df ttl tos ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink zone -+ local mtu df ttl tos ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting zone -+ json_get_vars mtu df ttl tos ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting zone - - [ -z "$ip6prefix" -o -z "$peeraddr" ] && { - proto_notify_error "$cfg" "MISSING_ADDRESS" -@@ -54,8 +54,13 @@ proto_6rd_setup() { - proto_add_ipv6_address "$ip6addr" "$ip6prefixlen" - proto_add_ipv6_prefix "$ip6lanprefix" - -- proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 "" "$ip6addr/$ip6prefixlen" -- proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 "" "$ip6lanprefix" -+ if [ "$sourcerouting" != "0" ]; then -+ proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 "" "::/128" -+ proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 "" "$ip6addr/$ip6prefixlen" -+ proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 "" "$ip6lanprefix" -+ else -+ proto_add_ipv6_route "::" 0 "::$peeraddr" 4096 -+ fi - - proto_add_tunnel - json_add_string mode sit -diff --git a/package/network/ipv6/6to4/Makefile b/package/network/ipv6/6to4/Makefile -index fcec90d..6be2cc5 100644 ---- a/package/network/ipv6/6to4/Makefile -+++ b/package/network/ipv6/6to4/Makefile -@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk - - PKG_NAME:=6to4 - PKG_VERSION:=12 --PKG_RELEASE:=2 -+PKG_RELEASE:=1 - PKG_LICENSE:=GPL-2.0 - - include $(INCLUDE_DIR)/package.mk -diff --git a/package/network/ipv6/6to4/files/6to4.sh b/package/network/ipv6/6to4/files/6to4.sh -index 57efc52..ce1de53 100755 ---- a/package/network/ipv6/6to4/files/6to4.sh -+++ b/package/network/ipv6/6to4/files/6to4.sh -@@ -34,8 +34,8 @@ proto_6to4_setup() { - local iface="$2" - local link="6to4-$cfg" - -- local mtu ttl tos ipaddr -- json_get_vars mtu ttl tos ipaddr -+ local mtu ttl tos ipaddr sourcerouting -+ json_get_vars mtu ttl tos ipaddr sourcerouting - - ( proto_add_host_dependency "$cfg" 0.0.0.0 ) - -@@ -65,8 +65,13 @@ proto_6to4_setup() { - proto_add_ipv6_address "$local6" 16 - proto_add_ipv6_prefix "$prefix6::/48" - -- proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$local6/16" -- proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$prefix6::/48" -+ if [ "$sourcerouting" != "0" ]; then -+ proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "::/128" -+ proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$local6/16" -+ proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$prefix6::/48" -+ else -+ proto_add_ipv6_route "::" 0 "::192.88.99.1" -+ fi - - proto_add_tunnel - json_add_string mode sit -diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile -index a90f5ce..ddd6917 100644 ---- a/package/network/ipv6/odhcp6c/Makefile -+++ b/package/network/ipv6/odhcp6c/Makefile -@@ -8,7 +8,7 @@ - include $(TOPDIR)/rules.mk - - PKG_NAME:=odhcp6c --PKG_VERSION:=2015-06-09 -+PKG_VERSION:=2015-05-16 - PKG_RELEASE=$(PKG_SOURCE_VERSION) - - PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script -index 650c9b2..6cd59fa 100755 ---- a/package/network/ipv6/odhcp6c/files/dhcpv6.script -+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script -@@ -86,9 +86,10 @@ setup_interface () { - entry="${entry#*,}" - local metric="${entry%%,*}" - -- if [ -z "$gw" ]; then -+ if [ -z "$SOURCE_ROUTING" -o -z "$gw" ]; then - proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" - else -+ proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "::/128" - for prefix in $PREFIXES $ADDRESSES; do - local paddr="${prefix%%,*}" - proto_add_ipv6_route "$addr" "$mask" "$gw" "$metric" "$valid" "$paddr" -diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh -index adcb100..9fb6fa3 100755 ---- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh -+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh -@@ -23,6 +23,7 @@ proto_dhcpv6_init_config() { - proto_config_add_string zone_464xlat - proto_config_add_string zone - proto_config_add_string 'ifaceid:ip6addr' -+ proto_config_add_string 'sourcerouting:bool' - proto_config_add_string "userclass" - proto_config_add_string "vendorclass" - proto_config_add_boolean delegate -@@ -34,8 +35,8 @@ proto_dhcpv6_setup() { - local config="$1" - local iface="$2" - -- local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes -- json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes -+ local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes -+ json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes - - - # Configure -@@ -69,6 +70,7 @@ proto_dhcpv6_setup() { - [ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite" - [ -n "$iface_map" ] && proto_export "IFACE_MAP=$iface_map" - [ -n "$iface_464xlat" ] && proto_export "IFACE_464XLAT=$iface_464xlat" -+ [ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1" - [ "$delegate" = "0" ] && proto_export "IFACE_DSLITE_DELEGATE=0" - [ "$delegate" = "0" ] && proto_export "IFACE_MAP_DELEGATE=0" - [ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite" diff --git a/patches/openwrt/0017-sunxi-fix-uboot-install-location.patch b/patches/openwrt/0012-sunxi-fix-uboot-install-location.patch similarity index 100% rename from patches/openwrt/0017-sunxi-fix-uboot-install-location.patch rename to patches/openwrt/0012-sunxi-fix-uboot-install-location.patch diff --git a/patches/openwrt/0013-Revert-linux-backport-IPv6-SAS-fixes-for-source-specific-routes.patch b/patches/openwrt/0013-Revert-linux-backport-IPv6-SAS-fixes-for-source-specific-routes.patch deleted file mode 100644 index 1bc94146d..000000000 --- a/patches/openwrt/0013-Revert-linux-backport-IPv6-SAS-fixes-for-source-specific-routes.patch +++ /dev/null @@ -1,108 +0,0 @@ -From: Matthias Schiffer <mschiffer@universe-factory.net> -Date: Sun, 21 Jun 2015 05:49:05 +0200 -Subject: Revert "linux: backport IPv6 SAS fixes for source-specific routes" - -This reverts commit 5168c9a5702648eb690d32ec821647aca80aeba9. - -diff --git a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch b/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch -deleted file mode 100644 -index f67ef47..0000000 ---- a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch -+++ /dev/null -@@ -1,96 +0,0 @@ --From e16e888b525503be05b3aea64190e8b3bdef44d0 Mon Sep 17 00:00:00 2001 --From: Markus Stenberg <markus.stenberg@iki.fi> --Date: Tue, 5 May 2015 13:36:59 +0300 --Subject: [PATCH] ipv6: Fixed source specific default route handling. -- --If there are only IPv6 source specific default routes present, the --host gets -ENETUNREACH on e.g. connect() because ip6_dst_lookup_tail --calls ip6_route_output first, and given source address any, it fails, --and ip6_route_get_saddr is never called. -- --The change is to use the ip6_route_get_saddr, even if the initial --ip6_route_output fails, and then doing ip6_route_output _again_ after --we have appropriate source address available. -- --Note that this is '99% fix' to the problem; a correct fix would be to --do route lookups only within addrconf.c when picking a source address, --and never call ip6_route_output before source address has been --populated. -- --Signed-off-by: Markus Stenberg <markus.stenberg@iki.fi> --Signed-off-by: David S. Miller <davem@davemloft.net> ----- -- net/ipv6/ip6_output.c | 39 +++++++++++++++++++++++++++++++-------- -- net/ipv6/route.c | 5 +++-- -- 2 files changed, 34 insertions(+), 10 deletions(-) -- ----- a/net/ipv6/ip6_output.c --+++ b/net/ipv6/ip6_output.c --@@ -898,21 +898,45 @@ static int ip6_dst_lookup_tail(struct so -- #endif -- int err; -- --- if (*dst == NULL) --- *dst = ip6_route_output(net, sk, fl6); --- --- if ((err = (*dst)->error)) --- goto out_err_release; --+ /* The correct way to handle this would be to do --+ * ip6_route_get_saddr, and then ip6_route_output; however, --+ * the route-specific preferred source forces the --+ * ip6_route_output call _before_ ip6_route_get_saddr. --+ * --+ * In source specific routing (no src=any default route), --+ * ip6_route_output will fail given src=any saddr, though, so --+ * that's why we try it again later. --+ */ --+ if (ipv6_addr_any(&fl6->saddr) && (!*dst || !(*dst)->error)) { --+ struct rt6_info *rt; --+ bool had_dst = *dst != NULL; -- --- if (ipv6_addr_any(&fl6->saddr)) { --- struct rt6_info *rt = (struct rt6_info *) *dst; --+ if (!had_dst) --+ *dst = ip6_route_output(net, sk, fl6); --+ rt = (*dst)->error ? NULL : (struct rt6_info *)*dst; -- err = ip6_route_get_saddr(net, rt, &fl6->daddr, -- sk ? inet6_sk(sk)->srcprefs : 0, -- &fl6->saddr); -- if (err) -- goto out_err_release; --+ --+ /* If we had an erroneous initial result, pretend it --+ * never existed and let the SA-enabled version take --+ * over. --+ */ --+ if (!had_dst && (*dst)->error) { --+ dst_release(*dst); --+ *dst = NULL; --+ } -- } -- --+ if (!*dst) --+ *dst = ip6_route_output(net, sk, fl6); --+ --+ err = (*dst)->error; --+ if (err) --+ goto out_err_release; --+ -- #ifdef CONFIG_IPV6_OPTIMISTIC_DAD -- /* -- * Here if the dst entry we've looked up ----- a/net/ipv6/route.c --+++ b/net/ipv6/route.c --@@ -2182,9 +2182,10 @@ int ip6_route_get_saddr(struct net *net, -- unsigned int prefs, -- struct in6_addr *saddr) -- { --- struct inet6_dev *idev = ip6_dst_idev((struct dst_entry *)rt); --+ struct inet6_dev *idev = --+ rt ? ip6_dst_idev((struct dst_entry *)rt) : NULL; -- int err = 0; --- if (rt->rt6i_prefsrc.plen) --+ if (rt && rt->rt6i_prefsrc.plen) -- *saddr = rt->rt6i_prefsrc.addr; -- else -- err = ipv6_dev_get_saddr(net, idev ? idev->dev : NULL, diff --git a/patches/openwrt/0018-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch b/patches/openwrt/0013-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch similarity index 100% rename from patches/openwrt/0018-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch rename to patches/openwrt/0013-sunxi-respect-CONFIG_TARGET_IMAGES_GZIP.patch diff --git a/patches/openwrt/0014-odhcp6c-add-option-sourcefilter-to-disable-source-filter.patch b/patches/openwrt/0014-odhcp6c-add-option-sourcefilter-to-disable-source-filter.patch new file mode 100644 index 000000000..56d3d547e --- /dev/null +++ b/patches/openwrt/0014-odhcp6c-add-option-sourcefilter-to-disable-source-filter.patch @@ -0,0 +1,62 @@ +From: Matthias Schiffer <mschiffer@universe-factory.net> +Date: Sat, 18 Jul 2015 17:13:23 +0200 +Subject: odhcp6c: add option "sourcefilter" to disable source filter + +Signed-off-by: Steven Barth <steven@midlink.org> + +diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile +index 5bf43bd..75de54c 100644 +--- a/package/network/ipv6/odhcp6c/Makefile ++++ b/package/network/ipv6/odhcp6c/Makefile +@@ -8,7 +8,7 @@ + include $(TOPDIR)/rules.mk + + PKG_NAME:=odhcp6c +-PKG_VERSION:=2015-07-13 ++PKG_VERSION:=2015-07-18 + PKG_RELEASE=$(PKG_SOURCE_VERSION) + + PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.script b/package/network/ipv6/odhcp6c/files/dhcpv6.script +index b8cbddb..33f6d9b 100755 +--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script ++++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script +@@ -76,7 +76,7 @@ setup_interface () { + done + + for entry in $RA_ROUTES; do +- local duplicate=0 ++ local duplicate=$NOSOURCEFILTER + local addr="${entry%%/*}" + entry="${entry#*/}" + local mask="${entry%%,*}" +diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh +index adcb100..4a453fd 100755 +--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh ++++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh +@@ -28,14 +28,15 @@ proto_dhcpv6_init_config() { + proto_config_add_boolean delegate + proto_config_add_int "soltimeout" + proto_config_add_boolean fakeroutes ++ proto_config_add_boolean sourcefilter + } + + proto_dhcpv6_setup() { + local config="$1" + local iface="$2" + +- local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes +- json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes ++ local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter ++ json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter + + + # Configure +@@ -76,6 +77,7 @@ proto_dhcpv6_setup() { + [ -n "$zone_464xlat" ] && proto_export "ZONE_464XLAT=$zone_464xlat" + [ -n "$zone" ] && proto_export "ZONE=$zone" + [ "$fakeroutes" != "0" ] && proto_export "FAKE_ROUTES=1" ++ [ "$sourcefilter" = "0" ] && proto_export "NOSOURCEFILTER=1" + + proto_export "INTERFACE=$config" + proto_run_command "$config" odhcp6c \ -- GitLab