From 5d4137bd63c1bfe9ae3ff4555ccfe8ea9bb702fa Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Fri, 30 Apr 2021 11:21:57 +0200 Subject: [PATCH] Add outer-vlan/inner-vlan config --- src/bbl_config.c | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/bbl_config.c b/src/bbl_config.c index 6715f5aa..111d841b 100644 --- a/src/bbl_config.c +++ b/src/bbl_config.c @@ -119,25 +119,39 @@ json_parse_access_interface (bbl_ctx_s *ctx, json_t *access_interface, bbl_acces return false; } - value = json_object_get(access_interface, "outer-vlan-min"); + value = json_object_get(access_interface, "outer-vlan"); if (json_is_number(value)) { access_config->access_outer_vlan_min = json_number_value(value); access_config->access_outer_vlan_min &= 4095; + access_config->access_outer_vlan_max = access_config->access_outer_vlan_min; + } else { + value = json_object_get(access_interface, "outer-vlan-min"); + if (json_is_number(value)) { + access_config->access_outer_vlan_min = json_number_value(value); + access_config->access_outer_vlan_min &= 4095; + } + value = json_object_get(access_interface, "outer-vlan-max"); + if (value) { + access_config->access_outer_vlan_max = json_number_value(value); + access_config->access_outer_vlan_max &= 4095; + } } - value = json_object_get(access_interface, "outer-vlan-max"); - if (value) { - access_config->access_outer_vlan_max = json_number_value(value); - access_config->access_outer_vlan_max &= 4095; - } - value = json_object_get(access_interface, "inner-vlan-min"); - if (value) { + value = json_object_get(access_interface, "inner-vlan"); + if (json_is_number(value)) { access_config->access_inner_vlan_min = json_number_value(value); access_config->access_inner_vlan_min &= 4095; - } - value = json_object_get(access_interface, "inner-vlan-max"); - if (value) { - access_config->access_inner_vlan_max = json_number_value(value); - access_config->access_inner_vlan_max &= 4095; + access_config->access_inner_vlan_max = access_config->access_inner_vlan_min; + } else { + value = json_object_get(access_interface, "inner-vlan-min"); + if (value) { + access_config->access_inner_vlan_min = json_number_value(value); + access_config->access_inner_vlan_min &= 4095; + } + value = json_object_get(access_interface, "inner-vlan-max"); + if (value) { + access_config->access_inner_vlan_max = json_number_value(value); + access_config->access_inner_vlan_max &= 4095; + } } if(access_config->access_outer_vlan_min > access_config->access_outer_vlan_max || access_config->access_inner_vlan_min > access_config->access_inner_vlan_max) {