diff options
author | Steven Barth <cyrus@openwrt.org> | 2015-09-03 15:53:33 +0000 |
---|---|---|
committer | Steven Barth <cyrus@openwrt.org> | 2015-09-03 15:53:33 +0000 |
commit | 72b4ed113a07ebc7eee82c331111853aa81f9b36 (patch) | |
tree | 030d84b62db0edc7845fe423492267b5b3a3fa9a /package | |
parent | f5ba6aad341ac268efb9cc425488136a99c83478 (diff) | |
download | mtk-20170518-72b4ed113a07ebc7eee82c331111853aa81f9b36.zip mtk-20170518-72b4ed113a07ebc7eee82c331111853aa81f9b36.tar.gz mtk-20170518-72b4ed113a07ebc7eee82c331111853aa81f9b36.tar.bz2 |
odhcp6c: add RFC 7278 3gpp IPv6 prefix extension
Use option extendprefix 1 to enable
Signed-off-by: Steven Barth <steven@midlink.org>
SVN-Revision: 46779
Diffstat (limited to 'package')
-rw-r--r-- | package/network/ipv6/odhcp6c/Makefile | 2 | ||||
-rwxr-xr-x | package/network/ipv6/odhcp6c/files/dhcpv6.script | 5 | ||||
-rwxr-xr-x | package/network/ipv6/odhcp6c/files/dhcpv6.sh | 6 |
3 files changed, 10 insertions, 3 deletions
diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile index aa81e02..4968631 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:=2015-07-29 +PKG_VERSION:=2015-09-03 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 677d35f..3177eef 100755 --- a/package/network/ipv6/odhcp6c/files/dhcpv6.script +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.script @@ -77,6 +77,11 @@ setup_interface () { -z "$RA_DNS" -a "$FAKE_ROUTES" = 1 ]; then RA_ROUTES="::/0,$SERVER,$valid,4096" fi + + # RFC 7278 + if [ "$mask" -eq 64 -a -z "$PREFIXES" -a -n "$EXTENDPREFIX" ]; then + proto_add_ipv6_prefix "$entry" + fi done for entry in $RA_ROUTES; do diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh index 4a453fd..6c47399 100755 --- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh @@ -13,6 +13,7 @@ proto_dhcpv6_init_config() { proto_config_add_string 'reqopts:list(uinteger)' proto_config_add_string 'noslaaconly:bool' proto_config_add_string 'forceprefix:bool' + proto_config_add_string 'extendprefix:bool' proto_config_add_string 'norelease:bool' proto_config_add_string 'ip6prefix:ip6addr' proto_config_add_string iface_dslite @@ -35,8 +36,8 @@ proto_dhcpv6_setup() { local config="$1" local iface="$2" - local reqaddress reqprefix clientid reqopts noslaaconly forceprefix 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 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 + 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 # Configure @@ -78,6 +79,7 @@ proto_dhcpv6_setup() { [ -n "$zone" ] && proto_export "ZONE=$zone" [ "$fakeroutes" != "0" ] && proto_export "FAKE_ROUTES=1" [ "$sourcefilter" = "0" ] && proto_export "NOSOURCEFILTER=1" + [ "$extendprefix" = "1" ] && proto_export "EXTENDPREFIX=1" proto_export "INTERFACE=$config" proto_run_command "$config" odhcp6c \ |