[PATCH] base-files: migrate old UCI network sections defining bridges
Rafał Miłecki
zajec5 at gmail.com
Wed Jun 19 03:50:26 PDT 2024
On 18.05.2021 23:41, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal at milecki.pl>
>
> Old "interface" sections for bridges were mixing layer 2 and layer 3.
> That syntax got deprecated and UCI section "device" is used for bridge
> configuration now.
>
> Backward compatibility may be dropped from netifd soon now so migrate
> old configs using uci-defaults script.
>
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> ---
> That "soon" is relative, I'm not planning to push this patch yet. We may
> give updated /etc/config/network few months to receive proper testing.
I decided to push this PATCH after giving people 3 years to update their
configs manually.
> ---
> .../uci-defaults/11_network-migrate-bridges | 24 +++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> 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
> index 745648531f..7188c06ce3 100644
> --- a/package/base-files/files/etc/uci-defaults/11_network-migrate-bridges
> +++ b/package/base-files/files/etc/uci-defaults/11_network-migrate-bridges
> @@ -17,7 +17,31 @@ migrate_ports() {
> uci delete network.$config.ifname
> }
>
> +migrate_bridge() {
> + local config="$1"
> + local type ifname
> +
> + config_get type "$config" type
> + [ "$type" != "bridge" ] && return
> +
> + config_get ifname "$config" ifname
> +
> + uci -q batch <<-EOF
> + add network device
> + set network. at device[-1].name='br-$config'
> + set network. at device[-1].type='bridge'
> + EOF
> + for port in $ifname; do uci add_list network. at device[-1].ports="$port"; done
> +
> + uci -q batch <<-EOF
> + delete network.$config.type
> + set network.$config.ifname='br-$config'
> + EOF
> +}
> +
> config_load network
> config_foreach migrate_ports device
> +config_foreach migrate_bridge interface
> +uci commit network
>
> exit 1
More information about the openwrt-devel
mailing list