summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShengyu Qu2025-05-15 03:38:46 +0000
committerKevin Darbyshire-Bryant2025-06-03 16:30:57 +0000
commit4bd7daced1be3975f508ee1e4e08e6619520c462 (patch)
tree4459d27865a6690fa171e1a72288dd3cb5e9da77
parent9c405cb725cd3a30e142bc74c2e991f745498f5a (diff)
downloadopenwrt-4bd7daced1be3975f508ee1e4e08e6619520c462.tar.gz
odhcp6c: Conditionally request S46 OROs
Request Softwire46 (S46) [RFC 7598] options when the map and/or ds-lite packages are installed. This is required as the behaviour of odhcp6c has changed to not include these OROs by default. See openwrt/odhcp6c#89 Signed-off-by: Richard Patterson <richard@helix.net.nz> Signed-off-by: Shengyu Qu <wiagn233@outlook.com>
-rwxr-xr-xpackage/network/ipv6/odhcp6c/files/dhcpv6.sh14
1 files changed, 12 insertions, 2 deletions
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index 18c24febd6..e8d07ebaa7 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -96,13 +96,23 @@ proto_dhcpv6_setup() {
[ "$verbose" = "1" ] && append opts "-v"
+ json_for_each_item proto_dhcpv6_add_sendopts sendopts opts
+
+ # Dynamically add OROs to support loaded packages.
+ json_load "$(ubus call network get_proto_handlers)"
+ json_get_var handler_map map
+ json_get_var handler_dslite dslite
+
+ [ -n "$handler_dslite" ] && append reqopts "64"
+ [ -n "$handler_map" ] && append reqopts "94"
+ [ -n "$handler_map" ] && append reqopts "95"
+ [ -n "$handler_map" ] && append reqopts "96"
+
local opt
for opt in $reqopts; do
append opts "-r$opt"
done
- json_for_each_item proto_dhcpv6_add_sendopts sendopts opts
-
append opts "-t${soltimeout:-120}"
[ -n "$ip6prefixes" ] && proto_export "USERPREFIX=$ip6prefixes"