From ccd1fcb6d76f1f7ec60b5568f4d029b67b53d824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sat, 15 May 2021 21:06:27 +0200 Subject: [PATCH] base-files: generate "device" UCI type section for bridge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This switches from the old way of defining bridges in an "interface" UCI section type (that should be used for layer 3 only). From now a defualt board switch will have its own "device" UCI section type. It's a new & preferred way of defining L2 devices. Before: config interface 'lan' option type 'bridge' option ifname 'lan1 lan2 lan3 lan4' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' After: config device option name 'lan' option type 'bridge' list ports 'lan1' list ports 'lan2' list ports 'lan3' list ports 'lan4' config interface 'lan' option ifname 'lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' Signed-off-by: Rafał Miłecki Signed-off-by: maurerr --- package/base-files/files/bin/config_generate | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index 56f6c4423b3..0f6f280cf09 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -110,8 +110,14 @@ generate_network() { } [ -n "$ports" ] && { - type="bridge" - ifname="$ports" + uci -q batch <<-EOF + add network device + set network.@device[-1].name='$1' + set network.@device[-1].type='bridge' + EOF + for port in $ports; do uci add_list network.@device[-1].ports="$port"; done + ifname=$1 + type= } [ -n "$bridge" ] && {