From c8e68dce61140460ff38ac04fa84e57246f8ae63 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sat, 15 May 2021 23:04:35 +0200 Subject: [PATCH] base-files: migrate old UCI network bridge ports syntax MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit netifd supports more accurate "ports" option (instead of "ifname") for years now. Relevant changes were even backported to OpenWrt 21.02. Add uci-defaults script that translates config files using deprecated syntax. Identical commit f716c30241d5 ended up reverted back in 2021 by 80be798d4a4f due to breaking downgrades. With 19.07 support ended it should no longer be an issue. Signed-off-by: Rafał Miłecki --- .../uci-defaults/11_network-migrate-bridges | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/base-files/files/etc/uci-defaults/11_network-migrate-bridges diff --git a/package/base-files/files/etc/uci-defaults/11_network-migrate-bridges b/package/base-files/files/etc/uci-defaults/11_network-migrate-bridges new file mode 100644 index 0000000000..ad13d1a353 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/11_network-migrate-bridges @@ -0,0 +1,23 @@ +. /lib/functions.sh + +migrate_ports() { + local config="$1" + local type ports ifname + + config_get type "$config" type + [ "$type" != "bridge" ] && return + + config_get ports "$config" ports + [ -n "$ports" ] && return + + config_get ifname "$config" ifname + [ -z "$ifname" ] && return + + for port in $ifname; do + uci add_list network.$config.ports="$port" + done + uci delete network.$config.ifname +} + +config_load network +config_foreach migrate_ports device -- 2.30.2