map: use nested json data object to store map-e fmrs parameters

Replace the string array containing the fmrs parameters by a nested data
json object holding an array of fmrs parameters

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
openwrt-18.06
Hans Dedecker 2017-08-27 18:52:57 +02:00
parent 2f0a8558be
commit 1b3ded7225
2 changed files with 11 additions and 7 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=map
PKG_VERSION:=4
PKG_RELEASE:=8
PKG_RELEASE:=9
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk

View File

@ -86,15 +86,19 @@ proto_map_setup() {
json_add_string link $(eval "echo \$RULE_${k}_PD6IFACE")
if [ "$type" = "map-e" ]; then
json_add_array "fmrs"
json_add_object "data"
json_add_array "fmrs"
for i in $(seq $RULE_COUNT); do
[ "$(eval "echo \$RULE_${i}_FMR")" != 1 ] && continue
fmr="$(eval "echo \$RULE_${i}_IPV6PREFIX")/$(eval "echo \$RULE_${i}_PREFIX6LEN")"
fmr="$fmr,$(eval "echo \$RULE_${i}_IPV4PREFIX")/$(eval "echo \$RULE_${i}_PREFIX4LEN")"
fmr="$fmr,$(eval "echo \$RULE_${i}_EALEN"),$(eval "echo \$RULE_${i}_OFFSET")"
json_add_string "" "$fmr"
json_add_object ""
json_add_string prefix6 "$(eval "echo \$RULE_${i}_IPV6PREFIX")/$(eval "echo \$RULE_${i}_PREFIX6LEN")"
json_add_string prefix4 "$(eval "echo \$RULE_${i}_IPV4PREFIX")/$(eval "echo \$RULE_${i}_PREFIX4LEN")"
json_add_int ealen $(eval "echo \$RULE_${i}_EALEN")
json_add_int offset $(eval "echo \$RULE_${i}_OFFSET")
json_close_object
done
json_close_array
json_close_array
json_close_object
fi
proto_close_tunnel