base-files: simplify setting device MAC
[openwrt/staging/ynezz.git] / package / base-files / files / bin / config_generate
index d8950903099a1f08d2b22a6a11aee884ceba968a..0dca5549e8a91749217d959b543a16f1258b0af0 100755 (executable)
@@ -133,6 +133,14 @@ generate_network() {
                type=""
        }
 
+       if [ -n "$macaddr" ]; then
+               uci -q batch <<-EOF
+                       add network device
+                       set network.@device[-1].name='$device'
+                       set network.@device[-1].macaddr='$macaddr'
+               EOF
+       fi
+
        uci -q batch <<-EOF
                delete network.$1
                set network.$1='interface'
@@ -141,17 +149,6 @@ generate_network() {
                set network.$1.proto='none'
        EOF
 
-       if [ -n "$macaddr" ]; then
-               for name in $device; do
-                       uci -q batch <<-EOF
-                               delete network.$1_${name/./_}_dev
-                               set network.$1_${name/./_}_dev='device'
-                               set network.$1_${name/./_}_dev.name='$name'
-                               set network.$1_${name/./_}_dev.macaddr='$macaddr'
-                       EOF
-               done
-       fi
-
        case "$protocol" in
                static)
                        local ipad