From 37682ded6f0cf8ca495f7ea95f72a15995ffaa03 Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Tue, 5 Nov 2024 18:33:05 +0100 Subject: [PATCH] luci-base: network; implement getIP6Prefixes() Signed-off-by: Paul Donald --- .../htdocs/luci-static/resources/network.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/luci-base/htdocs/luci-static/resources/network.js b/modules/luci-base/htdocs/luci-static/resources/network.js index 3bd344a61e..d9a0ef24c0 100644 --- a/modules/luci-base/htdocs/luci-static/resources/network.js +++ b/modules/luci-base/htdocs/luci-static/resources/network.js @@ -2387,6 +2387,25 @@ Protocol = baseclass.extend(/** @lends LuCI.network.Protocol.prototype */ { return null; }, + /** + * Query the routed IPv6 prefixes associated with the logical interface. + * + * @returns {null|string[]} + * Returns an array of the routed IPv6 prefixes registered by the remote + * protocol handler or `null` if no prefixes are present. + */ + getIP6Prefixes: function() { + var prefixes = this._ubus('ipv6-prefix'); + var rv = []; + + if (Array.isArray(prefixes)) + for (var i = 0; i < prefixes.length; i++) + if (L.isObject(prefixes[i])) + rv.push('%s/%d'.format(prefixes[i].address, prefixes[i].mask)); + + return rv.length > 0 ? rv: null; + }, + /** * Query interface error messages published in `ubus` runtime state. * -- 2.30.2