aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/config/netifd/files
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2013-12-15 19:38:53 +0000
committerSteven Barth <cyrus@openwrt.org>2013-12-15 19:38:53 +0000
commite49d67f1925f1582138c7fcd998c6952aa5d0909 (patch)
treeed1d9b1c2f89b77edc9426e58d3d6d535ce56de1 /package/network/config/netifd/files
parent36197755dc955f1ff287270d58a607ce975cbce4 (diff)
downloadupstream-e49d67f1925f1582138c7fcd998c6952aa5d0909.tar.gz
upstream-e49d67f1925f1582138c7fcd998c6952aa5d0909.tar.bz2
upstream-e49d67f1925f1582138c7fcd998c6952aa5d0909.zip
Convert DHCP->6rd and DHCPv6->DS-Lite autoconfig to dynamic interface
SVN-Revision: 39061
Diffstat (limited to 'package/network/config/netifd/files')
-rwxr-xr-xpackage/network/config/netifd/files/lib/netifd/dhcp.script23
1 files changed, 11 insertions, 12 deletions
diff --git a/package/network/config/netifd/files/lib/netifd/dhcp.script b/package/network/config/netifd/files/lib/netifd/dhcp.script
index 50163da514..77b77f5fec 100755
--- a/package/network/config/netifd/files/lib/netifd/dhcp.script
+++ b/package/network/config/netifd/files/lib/netifd/dhcp.script
@@ -44,19 +44,18 @@ setup_interface () {
ip6rd="${ip6rd#* }"
local ip6rdbr="${ip6rd%% *}"
-uci -q batch <<-EOF >/dev/null
-set network.$IFACE6RD.proto=6rd
-set network.$IFACE6RD.auto=0
-set network.$IFACE6RD.peeraddr=$ip6rdbr
-set network.$IFACE6RD.ip4prefixlen=$v4mask
-set network.$IFACE6RD.ip6prefix=$ip6rdprefix
-set network.$IFACE6RD.ip6prefixlen=$ip6rdprefixlen
-commit network
-EOF
+ json_init
+ json_add_string name "$IFACE6RD"
+ json_add_string ifname "@$INTERFACE"
+ json_add_string proto "6rd"
+ json_add_string peeraddr "$ip6rdbr"
+ json_add_int ip4prefixlen "$v4mask"
+ json_add_string ip6prefix "$ip6rdprefix"
+ json_add_int ip6prefixlen "$ip6rdprefixlen"
+ json_add_string tunlink "$INTERFACE"
+ json_close_object
- ifdown "$IFACE6RD"
- /etc/init.d/network reload
- ifup "$IFACE6RD"
+ ubus call network add_dynamic "$(json_dump)"
fi
# TODO