odhcp6c: add option "keep_ra_dnslifetime"
authorHans Dedecker <dedeckeh@gmail.com>
Mon, 9 Jan 2017 10:43:23 +0000 (11:43 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Mon, 9 Jan 2017 12:28:22 +0000 (13:28 +0100)
Add option keep_ra_dnslifetime which will preserve the received
lifetime for RDNSS and DNSSL RA records and not overwrite it
by the RA router lifetime as specified in RFC6106.
This allows to accept RDNNS records from RAs that don't announce
a default route by setting router lifetime to 0 in the RAs.

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

index 863a2f66a944a8396567ec33895608694ef7866a..60602f5554717e743b3ee791d05fff4d0cdab9d9 100644 (file)
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=git://git.lede-project.org/project/odhcp6c.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2017-01-02
-PKG_SOURCE_VERSION:=5d6fec3a5c2a1a3015a2f26aaa27e05315e188f3
-PKG_MIRROR_HASH:=2a645e264d93cca7545427818acc3781eeb2564c6c9d27a85085a9851c30bb5d
+PKG_SOURCE_DATE:=2017-01-07
+PKG_SOURCE_VERSION:=d420f49396c627ce1072b83170889baf0720bc8b
+PKG_MIRROR_HASH:=a7c599b5600b6cca9aec221dd32fc7754e0e942b0192bd902f1e789f53345127
 PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
 PKG_LICENSE:=GPL-2.0
 
index 6c47399916a35e91304a3c35295841cac8447df7..9e3f6697335a55cf4be1751fec907a4ac93f09ec 100755 (executable)
@@ -30,14 +30,15 @@ proto_dhcpv6_init_config() {
        proto_config_add_int "soltimeout"
        proto_config_add_boolean fakeroutes
        proto_config_add_boolean sourcefilter
+       proto_config_add_boolean keep_ra_dnslifetime
 }
 
 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
-       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
+       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
+       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
 
 
        # Configure
@@ -61,6 +62,8 @@ proto_dhcpv6_setup() {
 
        [ -n "$userclass" ] && append opts "-u$userclass"
 
+       [ "$keep_ra_dnslifetime" = "1" ] && append opts "-L"
+
        for opt in $reqopts; do
                append opts "-r$opt"
        done