Skip to content

Commit

Permalink
base-files: migrate old UCI network sections defining bridges
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Rafał Miłecki committed Jun 19, 2024
1 parent 070b87e commit 156f5e8
Showing 1 changed file with 26 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,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.@device[-1].name='br-$config'
set network.@device[-1].type='bridge'
EOF
for port in $ifname; do
uci add_list network.@device[-1].ports="$port"
done

uci -q batch <<-EOF
delete network.$config.type
delete network.$config.ifname
set network.$config.device='br-$config'
EOF
}

config_load network
config_foreach migrate_ports device
config_foreach migrate_bridge interface

0 comments on commit 156f5e8

Please sign in to comment.