|
|
|
@ -96,7 +96,7 @@ EOF |
|
|
|
|
|
|
|
|
|
calculate_switch_vlans() { |
|
|
|
|
local switch=$1 |
|
|
|
|
local ports port |
|
|
|
|
local ports port attr val |
|
|
|
|
local prev_role |
|
|
|
|
local num device role index |
|
|
|
|
local n_cpu=0 cpu0 cpu1 cpu2 cpu3 |
|
|
|
@ -113,6 +113,26 @@ calculate_switch_vlans() { |
|
|
|
|
json_select "$port" |
|
|
|
|
json_get_vars num device role |
|
|
|
|
|
|
|
|
|
if json_is_a attr object; then |
|
|
|
|
json_get_keys attr attr |
|
|
|
|
json_select attr |
|
|
|
|
|
|
|
|
|
uci -q batch <<-EOF |
|
|
|
|
add network switch_port |
|
|
|
|
set network.@switch_port[-1].device='$switch' |
|
|
|
|
set network.@switch_port[-1].port=$num |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
for attr in $attr; do |
|
|
|
|
json_get_var val "$attr" |
|
|
|
|
uci -q set network.@switch_port[-1].$attr="$val" |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
json_select .. |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
json_select .. |
|
|
|
|
|
|
|
|
|
if [ -n "$num" ] && [ -n "$device" ]; then |
|
|
|
|
export "cpu$n_cpu=$num" |
|
|
|
|
export "dev$n_cpu=$device" |
|
|
|
@ -122,18 +142,16 @@ calculate_switch_vlans() { |
|
|
|
|
n_vlan=$((n_vlan + 1)) |
|
|
|
|
prev_role="$role" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
json_select .. |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
unset prev_role |
|
|
|
|
|
|
|
|
|
# autogenerate vlans |
|
|
|
|
for port in $ports ""; do |
|
|
|
|
json_select "$port" |
|
|
|
|
|
|
|
|
|
if [ -n "$port" ]; then |
|
|
|
|
json_select "$port" |
|
|
|
|
json_get_vars num device role |
|
|
|
|
json_select .. |
|
|
|
|
else |
|
|
|
|
num="-"; role="-" |
|
|
|
|
fi |
|
|
|
@ -160,8 +178,6 @@ calculate_switch_vlans() { |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
json_select .. |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
json_select .. |
|
|
|
|