base-files: config_generate did not handle setups with more than 1 switch properly
[openwrt.git] / package / base-files / files / bin / config_generate
index 3529921..7bec566 100755 (executable)
@@ -16,7 +16,7 @@ set network.loopback.ipaddr='127.0.0.1'
 set network.loopback.netmask='255.0.0.0'
 delete network.globals
 set network.globals='globals'
-set network.globals.ula_prefix='fdb1:a57f:2544::/48'
+set network.globals.ula_prefix='auto'
 EOF
 }
 
@@ -62,7 +62,7 @@ EOF
 set network.$1.proto='dhcp'
 delete network.wan6
 set network.wan6='interface'
-set network.wan6.ifname='@wan'
+set network.wan6.ifname='$ifname'
 set network.wan6.proto='dhcpv6'
 EOF
                ;;
@@ -102,8 +102,6 @@ generate_switch() {
        json_select $key
        json_get_vars enable reset blinkrate cpu_port
 
-       [ -n "$cpu_port" ] || return
-
        uci -q batch <<EOF
 add network switch
 set network.@switch[-1].name='$key'
@@ -111,9 +109,10 @@ set network.@switch[-1].reset='$reset'
 set network.@switch[-1].enable_vlan='$enable'
 set network.@switch[-1].blinkrate='$blinkrate'
 EOF
-
-       json_get_keys vlans vlans
-       for vlan in $vlans; do generate_switch_vlan $1 $vlan $cpu_port; done
+       [ -n "$cpu_port" ] && {
+               json_get_keys vlans vlans
+               for vlan in $vlans; do generate_switch_vlan $1 $vlan $cpu_port; done
+       }
        json_select ..
        json_select ..
 }