map: use nested json data object to store map-e fmrs parameters
authorHans Dedecker <dedeckeh@gmail.com>
Sun, 27 Aug 2017 16:52:57 +0000 (18:52 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Tue, 29 Aug 2017 19:10:39 +0000 (21:10 +0200)
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>
package/network/ipv6/map/Makefile
package/network/ipv6/map/files/map.sh

index c4f62a9d17e1e2053f42cfd929d3d80de29250bf..ce04235f28a823519c8f0340d0ccf399cb18166e 100644 (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
index e0dc034ce98dbcea62ccdce701a8ac8e58fed3fe..42050183ce6cb328aee335df99b528593e1a4a32 100755 (executable)
@@ -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