From 99b69fd9c5a5645f2894da031832b9cfd8d4ab8e Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Tue, 12 Feb 2013 08:23:54 +0000
Subject: [PATCH] odhcp6c: allow setting a user-provided prefix as well

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

diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile
index d88b97dd568..8bf3ebe434f 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:=2013-02-11
+PKG_VERSION:=2013-02-12
 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 1f019353d50..56f8c39ca4f 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.script
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script
@@ -28,6 +28,8 @@ setup_interface () {
 		proto_add_ipv6_prefix "$prefix"
 	done
 
+	[ -n "$USERPREFIX" ] && proto_add_ipv6_prefix "$USERPREFIX"
+
 	# Merge addresses
 	for entry in $RA_ADDRESSES; do
 		local duplicate=0
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index 4bd3a67ed90..b1837a9c6a9 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -10,14 +10,15 @@ proto_dhcpv6_init_config() {
 	proto_config_add_string "clientid"
 	proto_config_add_string "reqopts"
 	proto_config_add_string "noslaaconly"
+	proto_config_add_string "ip6prefix"
 }
 
 proto_dhcpv6_setup() {
 	local config="$1"
 	local iface="$2"
 
-	local reqaddress reqprefix clientid reqopts noslaaconly
-	json_get_vars reqaddress reqprefix clientid reqopts noslaaconly
+	local reqaddress reqprefix clientid reqopts noslaaconly ip6prefix
+	json_get_vars reqaddress reqprefix clientid reqopts noslaaconly ip6prefix
 
 
 	# Configure
@@ -35,6 +36,7 @@ proto_dhcpv6_setup() {
 		append opts "-r$opt"
 	done
 
+	[ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix"
 
 	proto_export "INTERFACE=$config"
 	proto_run_command "$config" odhcp6c \
-- 
GitLab