Author: jow Date: 2015-11-25 16:43:50 +0100 (Wed, 25 Nov 2015) New Revision: 47648
Modified: trunk/package/base-files/files/bin/config_generate Log: base-files: config_generate: handle switch port attributes and better group json_select Signed-off-by: Jo-Philipp Wich <[email protected]> Modified: trunk/package/base-files/files/bin/config_generate =================================================================== --- trunk/package/base-files/files/bin/config_generate 2015-11-25 15:43:43 UTC (rev 47647) +++ trunk/package/base-files/files/bin/config_generate 2015-11-25 15:43:50 UTC (rev 47648) @@ -96,7 +96,7 @@ 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 @@ 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 @@ 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 @@ fi fi - - json_select .. done json_select .. _______________________________________________ openwrt-commits mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits
