summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-07-15 21:53:25 +0200
committerHans Dedecker <dedeckeh@gmail.com>2018-07-15 22:23:09 +0200
commit3539430b3daa07cfe2e0d6cbf1b5bc4b13f9d921 (patch)
treec262d87d101e5740c813fe145a02ef2e1ed11d50
parent6363377c477f8d176316fc0b5f9dbf189973411c (diff)
downloadopenwrt-3539430b3daa07cfe2e0d6cbf1b5bc4b13f9d921.tar.gz
openwrt-3539430b3daa07cfe2e0d6cbf1b5bc4b13f9d921.tar.bz2
openwrt-3539430b3daa07cfe2e0d6cbf1b5bc4b13f9d921.zip
odhcp6c: add noserverunicast config option for broken DHCPv6 servers
Fix broken DHCPv6 servers which provide the server unicast option but do not reply on DHCPv6 renew messages directed to the IPv6 address contained in the server unicast option which results in broken IPv6 connectivity. 67ae6a7 odhcp6c: add option to ignore Server Unicast option Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--package/network/ipv6/odhcp6c/Makefile8
-rwxr-xr-xpackage/network/ipv6/odhcp6c/files/dhcpv6.sh7
2 files changed, 9 insertions, 6 deletions
diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile
index 3456061177..7f5f745fb8 100644
--- a/package/network/ipv6/odhcp6c/Makefile
+++ b/package/network/ipv6/odhcp6c/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=odhcp6c
-PKG_RELEASE:=13
+PKG_RELEASE:=14
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
-PKG_SOURCE_DATE:=2018-06-20
-PKG_SOURCE_VERSION:=b99c1f63b6e1897de84e0a9dc420a240271fb70c
-PKG_MIRROR_HASH:=d32fb6c851d276a75f6ed72593bda2329312e84961a5730298c9f31b169719bd
+PKG_SOURCE_DATE:=2018-07-14
+PKG_SOURCE_VERSION:=67ae6a71b5762292e114b281d0e329cc24209ae6
+PKG_MIRROR_HASH:=176b637b3856af0d6bb9c526afbddca4e569ea056fc36fc026345e7e22a6cef5
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index 000b42398c..7f67f8b1be 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -16,6 +16,7 @@ proto_dhcpv6_init_config() {
proto_config_add_string 'forceprefix:bool'
proto_config_add_string 'extendprefix:bool'
proto_config_add_string 'norelease:bool'
+ proto_config_add_string 'noserverunicast:bool'
proto_config_add_array 'ip6prefix:list(ip6addr)'
proto_config_add_string iface_dslite
proto_config_add_string zone_dslite
@@ -50,8 +51,8 @@ proto_dhcpv6_setup() {
local config="$1"
local iface="$2"
- local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
- json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+ local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
+ json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
json_for_each_item proto_dhcpv6_add_prefix ip6prefix ip6prefixes
# Configure
@@ -71,6 +72,8 @@ proto_dhcpv6_setup() {
[ "$norelease" = "1" ] && append opts "-k"
+ [ "$noserverunicast" = "1" ] && append opts "-U"
+
[ -n "$ifaceid" ] && append opts "-i$ifaceid"
[ -n "$vendorclass" ] && append opts "-V$vendorclass"