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

LEDE Commits lede-commits at lists.infradead.org
Tue Aug 29 12:10:49 PDT 2017


dedeckeh pushed a commit to source.git, branch master:
https://git.lede-project.org/1b3ded7225e86988a48804e5efaa05bf25084d80

commit 1b3ded7225e86988a48804e5efaa05bf25084d80
Author: Hans Dedecker <dedeckeh at gmail.com>
AuthorDate: Sun Aug 27 18:52:57 2017 +0200

    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 at gmail.com>
---
 package/network/ipv6/map/Makefile     |  2 +-
 package/network/ipv6/map/files/map.sh | 16 ++++++++++------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/package/network/ipv6/map/Makefile b/package/network/ipv6/map/Makefile
index c4f62a9..ce04235 100644
--- a/package/network/ipv6/map/Makefile
+++ b/package/network/ipv6/map/Makefile
@@ -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
diff --git a/package/network/ipv6/map/files/map.sh b/package/network/ipv6/map/files/map.sh
index e0dc034..4205018 100755
--- a/package/network/ipv6/map/files/map.sh
+++ b/package/network/ipv6/map/files/map.sh
@@ -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



More information about the lede-commits mailing list