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 whihc results in broken IPv6
connectivity.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
This commit is contained in:
Hans Dedecker 2018-07-15 21:53:25 +02:00
parent 0f54489f75
commit def5b7f285
2 changed files with 9 additions and 6 deletions

View file

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=odhcp6c PKG_NAME:=odhcp6c
PKG_RELEASE:=13 PKG_RELEASE:=14
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
PKG_SOURCE_DATE:=2018-06-20 PKG_SOURCE_DATE:=2018-07-14
PKG_SOURCE_VERSION:=b99c1f63b6e1897de84e0a9dc420a240271fb70c PKG_SOURCE_VERSION:=67ae6a71b5762292e114b281d0e329cc24209ae6
PKG_MIRROR_HASH:=d32fb6c851d276a75f6ed72593bda2329312e84961a5730298c9f31b169719bd PKG_MIRROR_HASH:=176b637b3856af0d6bb9c526afbddca4e569ea056fc36fc026345e7e22a6cef5
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com> PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0

View file

@ -16,6 +16,7 @@ proto_dhcpv6_init_config() {
proto_config_add_string 'forceprefix:bool' proto_config_add_string 'forceprefix:bool'
proto_config_add_string 'extendprefix:bool' proto_config_add_string 'extendprefix:bool'
proto_config_add_string 'norelease:bool' proto_config_add_string 'norelease:bool'
proto_config_add_string 'noserverunicast:bool'
proto_config_add_array 'ip6prefix:list(ip6addr)' proto_config_add_array 'ip6prefix:list(ip6addr)'
proto_config_add_string iface_dslite proto_config_add_string iface_dslite
proto_config_add_string zone_dslite proto_config_add_string zone_dslite
@ -50,8 +51,8 @@ proto_dhcpv6_setup() {
local config="$1" local config="$1"
local iface="$2" 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 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 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_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 json_for_each_item proto_dhcpv6_add_prefix ip6prefix ip6prefixes
# Configure # Configure
@ -71,6 +72,8 @@ proto_dhcpv6_setup() {
[ "$norelease" = "1" ] && append opts "-k" [ "$norelease" = "1" ] && append opts "-k"
[ "$noserverunicast" = "1" ] && append opts "-U"
[ -n "$ifaceid" ] && append opts "-i$ifaceid" [ -n "$ifaceid" ] && append opts "-i$ifaceid"
[ -n "$vendorclass" ] && append opts "-V$vendorclass" [ -n "$vendorclass" ] && append opts "-V$vendorclass"