[openwrt/openwrt] base-files: fix configuration generation of network if "bridge" exists

LEDE Commits lede-commits at lists.infradead.org
Thu May 27 03:55:18 PDT 2021


rmilecki pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/77d96e925fef1010f3d94a7cc722d23efd243b1e

commit 77d96e925fef1010f3d94a7cc722d23efd243b1e
Author: INAGAKI Hiroshi <musashino.open at gmail.com>
AuthorDate: Sun May 23 20:30:58 2021 +0900

    base-files: fix configuration generation of network if "bridge" exists
    
    After the commit 43fc720657c6e3b30c6ed89d7227ee6e646c158b
    ("base-files: generate "device UCI type section for bridge"), the wrong
    network configuration is generated for the devices that already have the
    bridge device section for VLAN, such as the devices in realtek target.
    
    As a result, the bridge device by additional "device" section is
    specified to the "ports" option in the "bridge-vlan" section and netifd
    shuts down the switch and the ethernet when the network service started.
    
    Fixes: 43fc720657 ("base-files: generate "device" UCI type section for bridge")
    Signed-off-by: INAGAKI Hiroshi <musashino.open at gmail.com>
    [rmilecki: use $ports for generate_bridge_vlan argument]
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
    (cherry picked from commit 8cc4e87a2f81df02dbe481759ae6c36cf056c13b)
---
 package/base-files/files/bin/config_generate | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 604c49a709..be688a4ba3 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -109,7 +109,7 @@ generate_network() {
 		ports="$ifname"
 	}
 
-	[ -n "$ports" ] && {
+	[ -n "$ports" -a -z "$bridge" ] && {
 		uci -q batch <<-EOF
 			add network device
 			set network. at device[-1].name='br-$1'
@@ -123,11 +123,12 @@ generate_network() {
 	}
 
 	[ -n "$bridge" ] && {
+		[ -z "$ports" ] && ports="$ifname"
 		if [ -z "$vlan" ]; then
 			bridge_vlan_id=$((bridge_vlan_id + 1))
 			vlan=$bridge_vlan_id
 		fi
-		generate_bridge_vlan $1 $bridge "$ifname" $vlan
+		generate_bridge_vlan $1 $bridge "$ports" $vlan
 		ifname=$bridge.$vlan
 		type=""
 	}



More information about the lede-commits mailing list