]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
airoha: support openwrt,netdev-name for renaming interfaces 20475/head
authorKenneth Kasilag <kenneth@kasilag.me>
Mon, 20 Oct 2025 22:53:09 +0000 (22:53 +0000)
committerRobert Marko <robimarko@gmail.com>
Wed, 29 Oct 2025 21:01:23 +0000 (22:01 +0100)
Add support to the airoha target for the OpenWrt-specific DT property
`openwrt,netdev-name`. In particular, this is for interfaces under
non-DSA `airoha_eth` interfaces.

This will avoid conflicts with upstream code[1]; and maintain forward
compatibility with OpenWrt configurations if/when `airoha_eth` becomes
a full DSA driver.

[1] https://lore.kernel.org/netdev/20240709124503.pubki5nwjfbedhhy@skbuf/

Borrowed from d4d6c48 (mediatek: filogic: support openwrt,netdev-name for renaming interfaces)

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/20475
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/airoha/base-files/lib/preinit/04_set_netdev_label [new file with mode: 0755]

diff --git a/target/linux/airoha/base-files/lib/preinit/04_set_netdev_label b/target/linux/airoha/base-files/lib/preinit/04_set_netdev_label
new file mode 100755 (executable)
index 0000000..2042d56
--- /dev/null
@@ -0,0 +1,15 @@
+set_netdev_labels() {
+       local dir
+       local label
+       local netdev
+
+       for dir in /sys/class/net/*; do
+               [ -r "$dir/of_node/openwrt,netdev-name" ] || continue
+               read -r label < "$dir/of_node/openwrt,netdev-name"
+               netdev="${dir##*/}"
+               [ "$netdev" = "$label" ] && continue
+               ip link set "$netdev" name "$label"
+       done
+}
+
+boot_hook_add preinit_main set_netdev_labels