base-files: config_generate: split macaddr with multiple ifaces
[librecmc/librecmc.git] / package / base-files / files / bin / config_generate
index 62e928dc21d1483c894424f62df4fe1e5205a3a2..c61ba659b6d08977fef6f52b3afb7c7eec9d731c 100755 (executable)
@@ -85,12 +85,16 @@ generate_network() {
                set network.$1.proto='none'
        EOF
 
-       [ -n "$macaddr" ] && uci -q batch <<-EOF
-               delete network.$1_dev
-               set network.$1_dev='device'
-               set network.$1_dev.name='$ifname'
-               set network.$1_dev.macaddr='$macaddr'
-       EOF
+       if [ -n "$macaddr" ]; then
+               for name in $ifname; 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)