Browse Source

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 <[email protected]>
Álvaro Fernández Rojas 4 weeks ago
parent
commit
b5d0946351
1 changed files with 11 additions and 0 deletions
  1. 11 0
      package/base-files/files/lib/functions/network.sh

+ 11 - 0
package/base-files/files/lib/functions/network.sh

@@ -24,6 +24,17 @@ __network_ifstatus() {
 	eval "$__tmp"
 	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
 # determine first IPv4 address of given logical interface
 # 1: destination variable
 # 1: destination variable
 # 2: interface
 # 2: interface