From 7ac0057c1f3a2daf2d90021799c5cc9def77b905 Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Thu, 13 Mar 2014 10:40:56 +0000
Subject: [PATCH] odhcp6c: pass on delegate-flag on to ds-lite interface

SVN-Revision: 39910
---
 package/network/ipv6/odhcp6c/Makefile            | 2 +-
 package/network/ipv6/odhcp6c/files/dhcpv6.script | 1 +
 package/network/ipv6/odhcp6c/files/dhcpv6.sh     | 6 ++++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile
index 0b98b68232b..d843c1076e8 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:=2014-03-11
+PKG_VERSION:=2014-03-13
 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 13732df0864..563c9ada0d0 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script
@@ -84,6 +84,7 @@ setup_interface () {
 		json_add_string proto "dslite"
 		json_add_string peeraddr "$AFTR_IP"
 		json_add_string tunlink "$INTERFACE"
+		[ -n "$IFACE_DSLITE_DELEGATE" ] && json_add_boolean delegate "$IFACE_DSLITE_DELEGATE"
 		json_close_object
 		ubus call network add_dynamic "$(json_dump)"
 	fi
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index d8adb71696d..aa7a2e1b088 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -18,14 +18,15 @@ proto_dhcpv6_init_config() {
 	proto_config_add_string 'sourcerouting:bool'
 	proto_config_add_string "userclass"
 	proto_config_add_string "vendorclass"
+	proto_config_add_boolean delegate
 }
 
 proto_dhcpv6_setup() {
 	local config="$1"
 	local iface="$2"
 
-	local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass
-	json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass
+	local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate
+	json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting userclass vendorclass delegate
 
 
 	# Configure
@@ -56,6 +57,7 @@ proto_dhcpv6_setup() {
 	[ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix"
 	[ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite"
 	[ "$sourcerouting" != "0" ] && proto_export "SOURCE_ROUTING=1"
+	[ "$delegate" = "0" ] && proto_export "IFACE_DSLITE_DELEGATE=0"
 
 	proto_export "INTERFACE=$config"
 	proto_run_command "$config" odhcp6c \
-- 
GitLab