Skip to content
Snippets Groups Projects
Commit e9aa0533 authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

Update netifd and odhcp6c from Barrier Breaker

parent a4a5b9a3
No related branches found
No related tags found
No related merge requests found
From: Matthias Schiffer <mschiffer@universe-factory.net> From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 11 Jan 2014 11:47:31 +0100 Date: Sat, 11 Jan 2014 11:47:31 +0100
Subject: Update netifd and its dependencies from Barrier Breaker Subject: Update netifd and its dependencies from Barrier Breaker (r41831)
diff --git a/package/libubox/Makefile b/package/libubox/Makefile diff --git a/package/libubox/Makefile b/package/libubox/Makefile
index bcf4481..fc9834a 100644 index bcf4481..6cbfc08 100644
--- a/package/libubox/Makefile --- a/package/libubox/Makefile
+++ b/package/libubox/Makefile +++ b/package/libubox/Makefile
@@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
...@@ -11,7 +11,7 @@ index bcf4481..fc9834a 100644 ...@@ -11,7 +11,7 @@ index bcf4481..fc9834a 100644
PKG_NAME:=libubox PKG_NAME:=libubox
-PKG_VERSION:=2013-10-19 -PKG_VERSION:=2013-10-19
+PKG_VERSION:=2014-03-18 +PKG_VERSION:=2014-07-16
PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
...@@ -19,7 +19,7 @@ index bcf4481..fc9834a 100644 ...@@ -19,7 +19,7 @@ index bcf4481..fc9834a 100644
+PKG_SOURCE_URL:=http://git.openwrt.org/project/libubox.git +PKG_SOURCE_URL:=http://git.openwrt.org/project/libubox.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=734d28eb1a46358743cf8837c91e5d46695c3b91 -PKG_SOURCE_VERSION:=734d28eb1a46358743cf8837c91e5d46695c3b91
+PKG_SOURCE_VERSION:=4f44401ae8d23465261cef80b87630ffccd5a864 +PKG_SOURCE_VERSION:=bd388d2b6c2c151bf513c1e449417d18ce02d10b
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_MD5SUM:= PKG_MIRROR_MD5SUM:=
CMAKE_INSTALL:=1 CMAKE_INSTALL:=1
...@@ -60,7 +60,7 @@ index bcf4481..fc9834a 100644 ...@@ -60,7 +60,7 @@ index bcf4481..fc9834a 100644
$(eval $(call BuildPackage,libjson-script)) $(eval $(call BuildPackage,libjson-script))
+$(eval $(call BuildPackage,libubox-lua)) +$(eval $(call BuildPackage,libubox-lua))
diff --git a/package/netifd/Makefile b/package/netifd/Makefile diff --git a/package/netifd/Makefile b/package/netifd/Makefile
index 5f2ee03..1d7f363 100644 index 5f2ee03..62d64e5 100644
--- a/package/netifd/Makefile --- a/package/netifd/Makefile
+++ b/package/netifd/Makefile +++ b/package/netifd/Makefile
@@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
...@@ -68,7 +68,7 @@ index 5f2ee03..1d7f363 100644 ...@@ -68,7 +68,7 @@ index 5f2ee03..1d7f363 100644
PKG_NAME:=netifd PKG_NAME:=netifd
-PKG_VERSION:=2013-07-16 -PKG_VERSION:=2013-07-16
+PKG_VERSION:=2014-04-19 +PKG_VERSION:=2014-07-26
PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
...@@ -76,7 +76,7 @@ index 5f2ee03..1d7f363 100644 ...@@ -76,7 +76,7 @@ index 5f2ee03..1d7f363 100644
+PKG_SOURCE_URL:=http://git.openwrt.org/project/netifd.git +PKG_SOURCE_URL:=http://git.openwrt.org/project/netifd.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=2674941b06c1ec67f1aff1bff9212e1372106641 -PKG_SOURCE_VERSION:=2674941b06c1ec67f1aff1bff9212e1372106641
+PKG_SOURCE_VERSION:=ede9739fe90f5da09f14481d10a4f11c000072de +PKG_SOURCE_VERSION:=c430d3278b91369204c83cd135673a5d5cded699
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org> PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
# PKG_MIRROR_MD5SUM:= # PKG_MIRROR_MD5SUM:=
...@@ -110,10 +110,27 @@ index c50cda6..023025c 100644 ...@@ -110,10 +110,27 @@ index c50cda6..023025c 100644
uci_toggle_state network "$INTERFACE" device "$(uci -q get network.$INTERFACE.ifname)" uci_toggle_state network "$INTERFACE" device "$(uci -q get network.$INTERFACE.ifname)"
uci_toggle_state network "$INTERFACE" ifname "$DEVICE" uci_toggle_state network "$INTERFACE" ifname "$DEVICE"
diff --git a/package/netifd/files/lib/netifd/dhcp.script b/package/netifd/files/lib/netifd/dhcp.script diff --git a/package/netifd/files/lib/netifd/dhcp.script b/package/netifd/files/lib/netifd/dhcp.script
index 50163da..948c3cd 100755 index 50163da..db3fc01 100755
--- a/package/netifd/files/lib/netifd/dhcp.script --- a/package/netifd/files/lib/netifd/dhcp.script
+++ b/package/netifd/files/lib/netifd/dhcp.script +++ b/package/netifd/files/lib/netifd/dhcp.script
@@ -44,19 +44,20 @@ setup_interface () { @@ -33,9 +33,15 @@ setup_interface () {
for domain in $domain; do
proto_add_dns_search "$domain"
done
+
+ proto_add_data
+ [ -n "$ZONE" ] && json_add_string zone "$ZONE"
+ proto_close_data
+
proto_send_update "$INTERFACE"
- if [ -n "$IFACE6RD" -a -n "$ip6rd" ]; then
+
+ if [ "$IFACE6RD" != 0 -a -n "$ip6rd" ]; then
local v4mask="${ip6rd%% *}"
ip6rd="${ip6rd#* }"
local ip6rdprefixlen="${ip6rd%% *}"
@@ -44,19 +50,24 @@ setup_interface () {
ip6rd="${ip6rd#* }" ip6rd="${ip6rd#* }"
local ip6rdbr="${ip6rd%% *}" local ip6rdbr="${ip6rd%% *}"
...@@ -126,6 +143,13 @@ index 50163da..948c3cd 100755 ...@@ -126,6 +143,13 @@ index 50163da..948c3cd 100755
-set network.$IFACE6RD.ip6prefixlen=$ip6rdprefixlen -set network.$IFACE6RD.ip6prefixlen=$ip6rdprefixlen
-commit network -commit network
-EOF -EOF
-
- ifdown "$IFACE6RD"
- /etc/init.d/network reload
- ifup "$IFACE6RD"
+ [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
+ [ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6rd
+
+ json_init + json_init
+ json_add_string name "$IFACE6RD" + json_add_string name "$IFACE6RD"
+ json_add_string ifname "@$INTERFACE" + json_add_string ifname "@$INTERFACE"
...@@ -136,21 +160,19 @@ index 50163da..948c3cd 100755 ...@@ -136,21 +160,19 @@ index 50163da..948c3cd 100755
+ json_add_int ip6prefixlen "$ip6rdprefixlen" + json_add_int ip6prefixlen "$ip6rdprefixlen"
+ json_add_string tunlink "$INTERFACE" + json_add_string tunlink "$INTERFACE"
+ [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE" + [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE"
+ [ -n "$ZONE6RD" ] || ZONE6RD=$ZONE
+ [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD" + [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD"
+ json_close_object + json_close_object
+
- ifdown "$IFACE6RD"
- /etc/init.d/network reload
- ifup "$IFACE6RD"
+ ubus call network add_dynamic "$(json_dump)" + ubus call network add_dynamic "$(json_dump)"
fi fi
# TODO # TODO
diff --git a/package/netifd/files/lib/netifd/proto/dhcp.sh b/package/netifd/files/lib/netifd/proto/dhcp.sh diff --git a/package/netifd/files/lib/netifd/proto/dhcp.sh b/package/netifd/files/lib/netifd/proto/dhcp.sh
index a270c68..2e58c19 100755 index a270c68..b14f7be 100755
--- a/package/netifd/files/lib/netifd/proto/dhcp.sh --- a/package/netifd/files/lib/netifd/proto/dhcp.sh
+++ b/package/netifd/files/lib/netifd/proto/dhcp.sh +++ b/package/netifd/files/lib/netifd/proto/dhcp.sh
@@ -5,31 +5,42 @@ @@ -5,31 +5,44 @@
init_proto "$@" init_proto "$@"
proto_dhcp_init_config() { proto_dhcp_init_config() {
...@@ -174,6 +196,7 @@ index a270c68..2e58c19 100755 ...@@ -174,6 +196,7 @@ index a270c68..2e58c19 100755
+ proto_config_add_string sendopts + proto_config_add_string sendopts
+ proto_config_add_boolean delegate + proto_config_add_boolean delegate
+ proto_config_add_string zone6rd + proto_config_add_string zone6rd
+ proto_config_add_string zone
} }
proto_dhcp_setup() { proto_dhcp_setup() {
...@@ -182,8 +205,8 @@ index a270c68..2e58c19 100755 ...@@ -182,8 +205,8 @@ index a270c68..2e58c19 100755
- local ipaddr hostname clientid vendorid broadcast reqopts iface6rd - local ipaddr hostname clientid vendorid broadcast reqopts iface6rd
- json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd - json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd
+ local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd + local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
+ json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd + json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
local opt dhcpopts local opt dhcpopts
for opt in $reqopts; do for opt in $reqopts; do
...@@ -199,11 +222,12 @@ index a270c68..2e58c19 100755 ...@@ -199,11 +222,12 @@ index a270c68..2e58c19 100755
[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd" [ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd"
+ [ -n "$iface6rd" ] && append dhcpopts "-O 212" + [ -n "$iface6rd" ] && append dhcpopts "-O 212"
+ [ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd" + [ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd"
+ [ -n "$zone" ] && proto_export "ZONE=$zone"
+ [ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0" + [ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0"
proto_export "INTERFACE=$config" proto_export "INTERFACE=$config"
proto_run_command "$config" udhcpc \ proto_run_command "$config" udhcpc \
@@ -42,6 +53,13 @@ proto_dhcp_setup() { @@ -42,10 +55,16 @@ proto_dhcp_setup() {
$clientid $broadcast $dhcpopts $clientid $broadcast $dhcpopts
} }
...@@ -217,6 +241,10 @@ index a270c68..2e58c19 100755 ...@@ -217,6 +241,10 @@ index a270c68..2e58c19 100755
proto_dhcp_teardown() { proto_dhcp_teardown() {
local interface="$1" local interface="$1"
proto_kill_command "$interface" proto_kill_command "$interface"
}
add_protocol dhcp
-
diff --git a/package/netifd/patches/001-musl_af_inet_include.patch b/package/netifd/patches/001-musl_af_inet_include.patch diff --git a/package/netifd/patches/001-musl_af_inet_include.patch b/package/netifd/patches/001-musl_af_inet_include.patch
new file mode 100644 new file mode 100644
index 0000000..510ee05 index 0000000..510ee05
...@@ -234,8 +262,48 @@ index 0000000..510ee05 ...@@ -234,8 +262,48 @@ index 0000000..510ee05
+ +
+ void + void
+ __vlist_simple_init(struct vlist_simple_tree *tree, int offset) + __vlist_simple_init(struct vlist_simple_tree *tree, int offset)
diff --git a/package/netifd/patches/002-fix_compile_with_old_includes.patch b/package/netifd/patches/002-fix_compile_with_old_includes.patch
new file mode 100644
index 0000000..361b2d1
--- /dev/null
+++ b/package/netifd/patches/002-fix_compile_with_old_includes.patch
@@ -0,0 +1,34 @@
+--- a/system-linux.c
++++ b/system-linux.c
+@@ -43,6 +43,31 @@
+ #define RTN_FAILED_POLICY 12
+ #endif
+
++
++#ifndef IFLA_IPTUN_MAX
++enum {
++ IFLA_IPTUN_UNSPEC,
++ IFLA_IPTUN_LINK,
++ IFLA_IPTUN_LOCAL,
++ IFLA_IPTUN_REMOTE,
++ IFLA_IPTUN_TTL,
++ IFLA_IPTUN_TOS,
++ IFLA_IPTUN_ENCAP_LIMIT,
++ IFLA_IPTUN_FLOWINFO,
++ IFLA_IPTUN_FLAGS,
++ IFLA_IPTUN_PROTO,
++ IFLA_IPTUN_PMTUDISC,
++ IFLA_IPTUN_6RD_PREFIX,
++ IFLA_IPTUN_6RD_RELAY_PREFIX,
++ IFLA_IPTUN_6RD_PREFIXLEN,
++ IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
++ __IFLA_IPTUN_MAX,
++};
++#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
++#endif
++
++
++
+ #include <string.h>
+ #include <fcntl.h>
+ #include <glob.h>
diff --git a/package/ubus/Makefile b/package/ubus/Makefile diff --git a/package/ubus/Makefile b/package/ubus/Makefile
index be18fb5..53fb586 100644 index be18fb5..ba96b3b 100644
--- a/package/ubus/Makefile --- a/package/ubus/Makefile
+++ b/package/ubus/Makefile +++ b/package/ubus/Makefile
@@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
...@@ -243,14 +311,14 @@ index be18fb5..53fb586 100644 ...@@ -243,14 +311,14 @@ index be18fb5..53fb586 100644
PKG_NAME:=ubus PKG_NAME:=ubus
-PKG_VERSION:=2013-08-08 -PKG_VERSION:=2013-08-08
+PKG_VERSION:=2014-03-18 +PKG_VERSION:=2014-07-03
PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=git://nbd.name/luci2/ubus.git PKG_SOURCE_URL:=git://nbd.name/luci2/ubus.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=b20a8a01c7faea5bcc9d34d10dcf7736589021b8 -PKG_SOURCE_VERSION:=b20a8a01c7faea5bcc9d34d10dcf7736589021b8
+PKG_SOURCE_VERSION:=1d5ac421a5b3dca60562e876ba70d0c2fe46b3d2 +PKG_SOURCE_VERSION:=f688c7ad0b2435a89bfd13f5496cabf596b54c8f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_MD5SUM:= PKG_MIRROR_MD5SUM:=
CMAKE_INSTALL:=1 CMAKE_INSTALL:=1
......
From: Matthias Schiffer <mschiffer@universe-factory.net> From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 11 Jan 2014 11:47:58 +0100 Date: Sat, 11 Jan 2014 11:47:58 +0100
Subject: Update odhcp6c from Barrier Breaker (r41447) Subject: Update odhcp6c from Barrier Breaker (r41830)
diff --git a/package/odhcp6c/Makefile b/package/odhcp6c/Makefile diff --git a/package/odhcp6c/Makefile b/package/odhcp6c/Makefile
index e767064..7ad9bd2 100644 index e767064..3ec58e1 100644
--- a/package/odhcp6c/Makefile --- a/package/odhcp6c/Makefile
+++ b/package/odhcp6c/Makefile +++ b/package/odhcp6c/Makefile
@@ -8,26 +8,55 @@ @@ -8,26 +8,55 @@
...@@ -12,7 +12,7 @@ index e767064..7ad9bd2 100644 ...@@ -12,7 +12,7 @@ index e767064..7ad9bd2 100644
PKG_NAME:=odhcp6c PKG_NAME:=odhcp6c
-PKG_VERSION:=2013-10-02 -PKG_VERSION:=2013-10-02
-PKG_RELEASE=$(PKG_SOURCE_VERSION)-1 -PKG_RELEASE=$(PKG_SOURCE_VERSION)-1
+PKG_VERSION:=2014-06-04 +PKG_VERSION:=2014-07-21
+PKG_RELEASE=$(PKG_SOURCE_VERSION) +PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
...@@ -20,7 +20,7 @@ index e767064..7ad9bd2 100644 ...@@ -20,7 +20,7 @@ index e767064..7ad9bd2 100644
PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git PKG_SOURCE_URL:=git://github.com/sbyx/odhcp6c.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=357ecc1f5163bc7f74c64f4bca387e8d44a2eac5 -PKG_SOURCE_VERSION:=357ecc1f5163bc7f74c64f4bca387e8d44a2eac5
+PKG_SOURCE_VERSION:=26c5466e626735f27dd073b727b02612c5a807cd +PKG_SOURCE_VERSION:=67b311ab81736b35858664219d345844ab08fcc7
PKG_MAINTAINER:=Steven Barth <steven@midlink.org> PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
...@@ -68,10 +68,10 @@ index e767064..7ad9bd2 100644 ...@@ -68,10 +68,10 @@ index e767064..7ad9bd2 100644
$(INSTALL_DIR) $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcp6c $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcp6c $(1)/usr/sbin/
diff --git a/package/odhcp6c/files/dhcpv6.script b/package/odhcp6c/files/dhcpv6.script diff --git a/package/odhcp6c/files/dhcpv6.script b/package/odhcp6c/files/dhcpv6.script
index 324a823..42c67c1 100755 index 324a823..8c1ba18 100755
--- a/package/odhcp6c/files/dhcpv6.script --- a/package/odhcp6c/files/dhcpv6.script
+++ b/package/odhcp6c/files/dhcpv6.script +++ b/package/odhcp6c/files/dhcpv6.script
@@ -64,23 +64,63 @@ setup_interface () { @@ -64,23 +64,68 @@ setup_interface () {
entry="${entry#*,}" entry="${entry#*,}"
local metric="${entry%%,*}" local metric="${entry%%,*}"
...@@ -90,11 +90,12 @@ index 324a823..42c67c1 100755 ...@@ -90,11 +90,12 @@ index 324a823..42c67c1 100755
+ proto_add_data + proto_add_data
+ [ -n "$CER" ] && json_add_string cer "$CER" + [ -n "$CER" ] && json_add_string cer "$CER"
+ [ -n "$PASSTHRU" ] && json_add_string passthru "$PASSTHRU" + [ -n "$PASSTHRU" ] && json_add_string passthru "$PASSTHRU"
+ [ -n "$ZONE" ] && json_add_string zone "$ZONE"
+ proto_close_data + proto_close_data
+ +
proto_send_update "$INTERFACE" proto_send_update "$INTERFACE"
if [ -n "$AFTR_IP " -a -n "$IFACE_DSLITE" ]; then - if [ -n "$AFTR_IP " -a -n "$IFACE_DSLITE" ]; then
-uci -q batch <<-EOF >/dev/null -uci -q batch <<-EOF >/dev/null
-set network.$IFACE_DSLITE.proto=dslite -set network.$IFACE_DSLITE.proto=dslite
-set network.$IFACE_DSLITE.auto=0 -set network.$IFACE_DSLITE.auto=0
...@@ -106,33 +107,24 @@ index 324a823..42c67c1 100755 ...@@ -106,33 +107,24 @@ index 324a823..42c67c1 100755
- ifdown "$IFACE_DSLITE" - ifdown "$IFACE_DSLITE"
- /etc/init.d/network reload - /etc/init.d/network reload
- ifup "$IFACE_DSLITE" - ifup "$IFACE_DSLITE"
+ json_init
+ json_add_string name "$IFACE_DSLITE"
+ json_add_string ifname "@$INTERFACE"
+ json_add_string proto "dslite"
+ json_add_string peeraddr "$AFTR_IP"
+ json_add_string tunlink "$INTERFACE"
+ [ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE"
+ [ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
+ json_close_object
+ ubus call network add_dynamic "$(json_dump)"
+ fi
+
+ MAPTYPE="" + MAPTYPE=""
+ MAPRULE="" + MAPRULE=""
+ +
+ if [ -n "$MAPE" ]; then + if [ -n "$MAPE" -a -f /lib/netifd/proto/map.sh ]; then
+ MAPTYPE="map-e" + MAPTYPE="map-e"
+ MAPRULE="$MAPE" + MAPRULE="$MAPE"
+ elif [ -n "$MAPT" ]; then + elif [ -n "$MAPT" -a -f /lib/netifd/proto/map.sh -a -f /proc/net/nat46/control ]; then
+ MAPTYPE="map-t" + MAPTYPE="map-t"
+ MAPRULE="$MAPT" + MAPRULE="$MAPT"
+ elif [ -n "$LW4O6" ]; then + elif [ -n "$LW4O6" -a -f /lib/netifd/proto/map.sh ]; then
+ MAPTYPE="lw4o6" + MAPTYPE="lw4o6"
+ MAPRULE="$LW4O6" + MAPRULE="$LW4O6"
+ fi + fi
+ +
+ if [ -n "$IFACE_MAP" -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then + [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
+
+ if [ "$IFACE_MAP" != 0 -a -n "$MAPTYPE" -a -n "$MAPRULE" ]; then
+ [ -z "$IFACE_MAP" -o "$IFACE_MAP" = 1 ] && IFACE_MAP=${INTERFACE}_map
+ json_init + json_init
+ json_add_string name "$IFACE_MAP" + json_add_string name "$IFACE_MAP"
+ json_add_string ifname "@$INTERFACE" + json_add_string ifname "@$INTERFACE"
...@@ -140,18 +132,32 @@ index 324a823..42c67c1 100755 ...@@ -140,18 +132,32 @@ index 324a823..42c67c1 100755
+ json_add_string type "$MAPTYPE" + json_add_string type "$MAPTYPE"
+ json_add_string rule "$MAPRULE" + json_add_string rule "$MAPRULE"
+ json_add_string tunlink "$INTERFACE" + json_add_string tunlink "$INTERFACE"
+ [ -n "$ZONE_MAP" ] || ZONE_MAP=$ZONE
+ [ -n "$ZONE_MAP" ] && json_add_string zone "$ZONE_MAP" + [ -n "$ZONE_MAP" ] && json_add_string zone "$ZONE_MAP"
+ [ -n "$IFACE_MAP_DELEGATE" ] && json_add_boolean delegate "$IFACE_MAP_DELEGATE" + [ -n "$IFACE_MAP_DELEGATE" ] && json_add_boolean delegate "$IFACE_MAP_DELEGATE"
+ json_close_object + json_close_object
+ ubus call network add_dynamic "$(json_dump)"
+ elif [ -n "$AFTR_IP " -a "$IFACE_DSLITE" != 0 -a -f /lib/netifd/proto/dslite.sh ]; then
+ [ -z "$IFACE_DSLITE" -o "$IFACE_DSLITE" = 1 ] && IFACE_DSLITE=${INTERFACE}_dslite
+ json_init
+ json_add_string name "$IFACE_DSLITE"
+ json_add_string ifname "@$INTERFACE"
+ json_add_string proto "dslite"
+ json_add_string peeraddr "$AFTR_IP"
+ json_add_string tunlink "$INTERFACE"
+ [ -n "$ZONE_DSLITE" ] || ZONE_DSLITE=$ZONE
+ [ -n "$ZONE_DSLITE" ] && json_add_string zone "$ZONE_DSLITE"
+ [ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
+ json_close_object
+ ubus call network add_dynamic "$(json_dump)" + ubus call network add_dynamic "$(json_dump)"
fi fi
# TODO: $SNTP_IP $SIP_IP $SNTP_FQDN $SIP_DOMAIN # TODO: $SNTP_IP $SIP_IP $SNTP_FQDN $SIP_DOMAIN
diff --git a/package/odhcp6c/files/dhcpv6.sh b/package/odhcp6c/files/dhcpv6.sh diff --git a/package/odhcp6c/files/dhcpv6.sh b/package/odhcp6c/files/dhcpv6.sh
index bf6cd9a..1c6d609 100755 index bf6cd9a..0690bd1 100755
--- a/package/odhcp6c/files/dhcpv6.sh --- a/package/odhcp6c/files/dhcpv6.sh
+++ b/package/odhcp6c/files/dhcpv6.sh +++ b/package/odhcp6c/files/dhcpv6.sh
@@ -5,23 +5,34 @@ @@ -5,23 +5,35 @@
init_proto "$@" init_proto "$@"
proto_dhcpv6_init_config() { proto_dhcpv6_init_config() {
...@@ -178,6 +184,7 @@ index bf6cd9a..1c6d609 100755 ...@@ -178,6 +184,7 @@ index bf6cd9a..1c6d609 100755
+ proto_config_add_string zone_dslite + proto_config_add_string zone_dslite
+ proto_config_add_string iface_map + proto_config_add_string iface_map
+ proto_config_add_string zone_map + proto_config_add_string zone_map
+ proto_config_add_string zone
+ proto_config_add_string 'ifaceid:ip6addr' + proto_config_add_string 'ifaceid:ip6addr'
+ proto_config_add_string 'sourcerouting:bool' + proto_config_add_string 'sourcerouting:bool'
+ proto_config_add_string "userclass" + proto_config_add_string "userclass"
...@@ -192,12 +199,12 @@ index bf6cd9a..1c6d609 100755 ...@@ -192,12 +199,12 @@ index bf6cd9a..1c6d609 100755
- local reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid - local reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid
- json_get_vars reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid - json_get_vars reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite ifaceid
+ local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map soltimeout + local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout
+ json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map soltimeout + json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite iface_map ifaceid sourcerouting userclass vendorclass delegate zone_dslite zone_map zone soltimeout
# Configure # Configure
@@ -35,16 +46,30 @@ proto_dhcpv6_setup() { @@ -35,16 +47,31 @@ proto_dhcpv6_setup() {
[ "$noslaaconly" = "1" ] && append opts "-S" [ "$noslaaconly" = "1" ] && append opts "-S"
...@@ -225,10 +232,11 @@ index bf6cd9a..1c6d609 100755 ...@@ -225,10 +232,11 @@ index bf6cd9a..1c6d609 100755
+ [ "$delegate" = "0" ] && proto_export "IFACE_MAP_DELEGATE=0" + [ "$delegate" = "0" ] && proto_export "IFACE_MAP_DELEGATE=0"
+ [ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite" + [ -n "$zone_dslite" ] && proto_export "ZONE_DSLITE=$zone_dslite"
+ [ -n "$zone_map" ] && proto_export "ZONE_MAP=$zone_map" + [ -n "$zone_map" ] && proto_export "ZONE_MAP=$zone_map"
+ [ -n "$zone" ] && proto_export "ZONE=$zone"
proto_export "INTERFACE=$config" proto_export "INTERFACE=$config"
proto_run_command "$config" odhcp6c \ proto_run_command "$config" odhcp6c \
@@ -52,6 +77,13 @@ proto_dhcpv6_setup() { @@ -52,6 +79,13 @@ proto_dhcpv6_setup() {
$opts $iface $opts $iface
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment