summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas2026-01-13 17:19:48 +0000
committerÁlvaro Fernández Rojas2026-01-15 10:06:32 +0000
commitb5d094635118ba1e9cc89abbbabd7e267bd7af3a (patch)
tree67cb7f026f6e5a49c691594c988f39a5a5f3edca
parent073a8d07e9a91acd7325202b55a67164c5e7c31f (diff)
downloadopenwrt-b5d094635118ba1e9cc89abbbabd7e267bd7af3a.tar.gz
base-files: introduce a function to generate IAID
Add new function "network_generate_iface_iaid()" to generate a stable IAID from an interface name. (cherry picked from commit e1f2b666ff94f2b8a50ca000d69f5b5f0b89a27c) Link: https://github.com/openwrt/openwrt/pull/21489 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
-rw-r--r--package/base-files/files/lib/functions/network.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh
index 4851a5817a..54ca7b00d4 100644
--- a/package/base-files/files/lib/functions/network.sh
+++ b/package/base-files/files/lib/functions/network.sh
@@ -24,6 +24,17 @@ __network_ifstatus() {
eval "$__tmp"
}
+# determine the IAID of the given logical interface
+# 1: destination variable
+# 2: interface
+network_generate_iface_iaid() {
+ local __iaid
+
+ __iaid=$(printf '%s' "$2" | md5sum | cut -c 1-8)
+
+ export "$1=$__iaid"
+}
+
# determine first IPv4 address of given logical interface
# 1: destination variable
# 2: interface