odhcp6c: add sendopts config support and update to latest git HEAD
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 16 Jan 2018 14:59:03 +0000 (15:59 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 18 Jan 2018 10:39:42 +0000 (11:39 +0100)
Add sendopts config support allowing to add options in sent DHCPv6 packets.

Options can be configured as follows :
uci set network.wan6.sendopts="sntpservers:3001:3001::1,3001:3001::2 11:00000000000000000000006674692F 0x3e8:ABCDEF"

Based on a patch by Frank Andrieu <fandrieu@gmail.com>

See https://git.openwrt.org/?p=project/odhcp6c.git;a=commit;h=510aaf6d528210c5e8a6159f9b80b32615e88c5f
for a more detailed description.

Latest git changes :
1f93bd4 dhcpv6: rework option passthrough logic
a477e95 odhcp6c: rework userclass and vendorclass command handling
510aaf6 odhcp6c: add -x opt:val support
ab75be1 treewide: update copyrights to 2018
f3a4609 odhcp6c: let odhcp6c_add_state return a success/failure indication

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
package/network/ipv6/odhcp6c/Makefile
package/network/ipv6/odhcp6c/files/dhcpv6.sh

index 24cbe0b..891e8d9 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
 PKG_SOURCE_DATE:=2017-09-05
-PKG_SOURCE_VERSION:=51733a6d3bfe0fb9e8c53aea22231e5b8a1f64c3
-PKG_MIRROR_HASH:=fdccfb9a6cb00d6dbf1a3160bd36622ee8e188a9d58bcd282c71a9368972e184
+PKG_SOURCE_VERSION:=1f93bd4c6d267813d1bbe803358499050c47bdeb
+PKG_MIRROR_HASH:=1642d23019671b1b3efd74cefb515a8d8e9e7ebc65a3e5c8c8289320428a5aae
 PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
 PKG_LICENSE:=GPL-2.0
 
index 56f7552..fa3c44c 100755 (executable)
@@ -26,6 +26,7 @@ proto_dhcpv6_init_config() {
        proto_config_add_string 'ifaceid:ip6addr'
        proto_config_add_string "userclass"
        proto_config_add_string "vendorclass"
+       proto_config_add_string "sendopts"
        proto_config_add_boolean delegate
        proto_config_add_int "soltimeout"
        proto_config_add_boolean fakeroutes
@@ -38,8 +39,8 @@ proto_dhcpv6_setup() {
        local config="$1"
        local iface="$2"
 
-       local reqaddress reqprefix clientid reqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
-       json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+       local reqaddress reqprefix clientid reqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+       json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
 
 
        # Configure
@@ -67,10 +68,15 @@ proto_dhcpv6_setup() {
 
        [ -n "$ra_holdoff" ] && append opts "-m$ra_holdoff"
 
+       local opt
        for opt in $reqopts; do
                append opts "-r$opt"
        done
 
+       for opt in $sendopts; do
+               append opts "-x$opt"
+       done
+
        append opts "-t${soltimeout:-120}"
 
        [ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix"