summaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2015-12-03 15:46:43 +0000
committerJo-Philipp Wich <jow@openwrt.org>2015-12-03 15:46:43 +0000
commit1871619e72acfec3566f6d33003072a6273308b5 (patch)
tree008a2d45209f3dd18673d956bcfc69fc775e89a5 /package/base-files
parentde5102651501e51c036f88fe9c4dbf6974e5158a (diff)
downloadmaster-31e0f0ae-1871619e72acfec3566f6d33003072a6273308b5.tar.gz
master-31e0f0ae-1871619e72acfec3566f6d33003072a6273308b5.tar.bz2
master-31e0f0ae-1871619e72acfec3566f6d33003072a6273308b5.zip
base-files: config_generate: add missing chunks of force tag support
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47718
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/files/bin/config_generate16
1 files changed, 9 insertions, 7 deletions
diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 45dcd71616..1aa6d43e3f 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -109,12 +109,13 @@ generate_switch_vlan() {
calculate_switch_vlans() {
local switch="$1"
- local ports port attr val
- local prev_role
- local num device role index
- local n_cpu=0 cpu0 cpu1 cpu2 cpu3
- local dev0 dev1 dev2 dev3 role0 role1 role2 role3
- local n_vlan=0 vlan_off=-1
+ local ports port attr val prev_role
+ local num device role index need_tag
+ local cpu0 cpu1 cpu2 cpu3
+ local dev0 dev1 dev2 dev3
+ local tag0 tag1 tag2 tag3
+ local role0 role1 role2 role3
+ local n_cpu=0 n_vlan=0 vlan_off=-1
local vlan_ports cpu_port
json_get_keys ports ports
@@ -124,7 +125,7 @@ calculate_switch_vlans() {
# gather all cpu ports and count vlans
for port in $ports; do
json_select "$port"
- json_get_vars num device role
+ json_get_vars num device role need_tag
if json_is_a attr object; then
json_get_keys attr attr
@@ -149,6 +150,7 @@ calculate_switch_vlans() {
if [ -n "$num" ] && [ -n "$device" ]; then
export "cpu$n_cpu=$num"
export "dev$n_cpu=$device"
+ export "tag$n_cpu=${need_tag:-0}"
n_cpu=$((n_cpu + 1))
elif [ -n "$num" ] && [ -n "$role" ] && [ "$role" != "$prev_role" ]; then
export "role$n_vlan=$role"