diff options
| author | Shengyu Qu | 2025-05-15 03:38:46 +0000 |
|---|---|---|
| committer | Kevin Darbyshire-Bryant | 2025-06-03 16:30:57 +0000 |
| commit | 4bd7daced1be3975f508ee1e4e08e6619520c462 (patch) | |
| tree | 4459d27865a6690fa171e1a72288dd3cb5e9da77 | |
| parent | 9c405cb725cd3a30e142bc74c2e991f745498f5a (diff) | |
| download | openwrt-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-x | package/network/ipv6/odhcp6c/files/dhcpv6.sh | 14 |
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" |