From: David Härdeman Date: Sun, 5 Oct 2025 11:27:29 +0000 (+0200) Subject: luci-mod-status: support DUID%IAID for static leases X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=85cb4bbd82129f4bb77418c53de14f69b8ae0333;p=project%2Fluci.git luci-mod-status: support DUID%IAID for static leases Add support for creating DUID%IAID style static leases in luci-mod-status. Also, this contains a bugfix. lease.ip6addrs[i] is a string of the format "/128", which validation.parseIPv6() doesn't like (it expects an IPv6 addr without the "/128" suffix). Signed-off-by: David Härdeman --- diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js index 7804cb72f7..aa03bb9ef2 100644 --- a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js @@ -52,10 +52,14 @@ return baseclass.extend({ ev.currentTarget.blur(); var cfg = uci.add('dhcp', 'host'), - ip6arr = lease.ip6addrs[0] ? validation.parseIPv6(lease.ip6addrs[0]) : null; + ip6arr = lease.ip6addrs[0] ? validation.parseIPv6(lease.ip6addrs[0].replace(/\/128$/,'')) : null, + duid_iaid = lease.duid.toUpperCase(); + + if (lease.iaid) + duid_iaid += '%' + lease.iaid; uci.set('dhcp', cfg, 'name', lease.hostname); - uci.set('dhcp', cfg, 'duid', lease.duid.toUpperCase()); + uci.set('dhcp', cfg, 'duid', duid_iaid); uci.set('dhcp', cfg, 'mac', [lease.macaddr]); if (ip6arr) uci.set('dhcp', cfg, 'hostid', (ip6arr[6] * 0xFFFF + ip6arr[7]).toString(16));