summaryrefslogtreecommitdiffstats
path: root/tests/shell/testcases/maps
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2024-02-08 14:30:17 +0100
committerPhil Sutter <phil@nwl.cc>2024-02-08 18:28:01 +0100
commit624b034b83a66ec2263314db9dc62ac06b1ae7e7 (patch)
tree3d162db5931e09ef7e36e9df0003c44bd1d4e617 /tests/shell/testcases/maps
parentd8f2124ffe1965629d0d47ad22a27e36de279c43 (diff)
tests: shell: Pretty-print all *.json-nft dumps
The problem with single line output as produced by 'nft -j list ruleset' is its incompatibility to unified diff format as any change in this single line will produce a diff which contains the old and new lines in total. This is not just unreadable but will blow up patches which may exceed mailinglists' mail size limits. Convert them all at once by feeding their contents to tests/shell/helpers/json-pretty.sh. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'tests/shell/testcases/maps')
-rw-r--r--tests/shell/testcases/maps/dumps/0003map_add_many_elements_0.json-nft3875
-rw-r--r--tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft70
-rw-r--r--tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft52
-rw-r--r--tests/shell/testcases/maps/dumps/0007named_ifname_dtype_0.json-nft103
-rw-r--r--tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft160
-rw-r--r--tests/shell/testcases/maps/dumps/0009vmap_0.json-nft118
-rw-r--r--tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft133
-rw-r--r--tests/shell/testcases/maps/dumps/0013map_0.json-nft129
-rw-r--r--tests/shell/testcases/maps/dumps/0014destroy_0.json-nft19
-rw-r--r--tests/shell/testcases/maps/dumps/0016map_leak_0.json-nft12
-rw-r--r--tests/shell/testcases/maps/dumps/0017_map_variable_0.json-nft59
-rw-r--r--tests/shell/testcases/maps/dumps/0018map_leak_timeout_0.json-nft12
-rw-r--r--tests/shell/testcases/maps/dumps/anon_objmap_concat.json-nft117
-rw-r--r--tests/shell/testcases/maps/dumps/anonymous_snat_map_0.json-nft59
-rw-r--r--tests/shell/testcases/maps/dumps/different_map_types_1.json-nft31
-rw-r--r--tests/shell/testcases/maps/dumps/map_catchall_double_deactivate.json-nft27
-rw-r--r--tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft32
-rw-r--r--tests/shell/testcases/maps/dumps/named_snat_map_0.json-nft68
-rw-r--r--tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft284
-rw-r--r--tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft111
20 files changed, 5451 insertions, 20 deletions
diff --git a/tests/shell/testcases/maps/dumps/0003map_add_many_elements_0.json-nft b/tests/shell/testcases/maps/dumps/0003map_add_many_elements_0.json-nft
index e4daeba1..1b5c2a23 100644
--- a/tests/shell/testcases/maps/dumps/0003map_add_many_elements_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0003map_add_many_elements_0.json-nft
@@ -1 +1,3874 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "elem": [["10.0.1.1", "10.0.1.1"], ["10.0.1.2", "10.0.1.2"], ["10.0.1.3", "10.0.1.3"], ["10.0.1.4", "10.0.1.4"], ["10.0.1.5", "10.0.1.5"], ["10.0.1.6", "10.0.1.6"], ["10.0.1.7", "10.0.1.7"], ["10.0.1.8", "10.0.1.8"], ["10.0.1.9", "10.0.1.9"], ["10.0.1.10", "10.0.1.10"], ["10.0.1.11", "10.0.1.11"], ["10.0.1.12", "10.0.1.12"], ["10.0.1.13", "10.0.1.13"], ["10.0.1.14", "10.0.1.14"], ["10.0.1.15", "10.0.1.15"], ["10.0.1.16", "10.0.1.16"], ["10.0.1.17", "10.0.1.17"], ["10.0.1.18", "10.0.1.18"], ["10.0.1.19", "10.0.1.19"], ["10.0.1.20", "10.0.1.20"], ["10.0.1.21", "10.0.1.21"], ["10.0.1.22", "10.0.1.22"], ["10.0.1.23", "10.0.1.23"], ["10.0.1.24", "10.0.1.24"], ["10.0.1.25", "10.0.1.25"], ["10.0.1.26", "10.0.1.26"], ["10.0.1.27", "10.0.1.27"], ["10.0.1.28", "10.0.1.28"], ["10.0.1.29", "10.0.1.29"], ["10.0.1.30", "10.0.1.30"], ["10.0.1.31", "10.0.1.31"], ["10.0.2.1", "10.0.2.1"], ["10.0.2.2", "10.0.2.2"], ["10.0.2.3", "10.0.2.3"], ["10.0.2.4", "10.0.2.4"], ["10.0.2.5", "10.0.2.5"], ["10.0.2.6", "10.0.2.6"], ["10.0.2.7", "10.0.2.7"], ["10.0.2.8", "10.0.2.8"], ["10.0.2.9", "10.0.2.9"], ["10.0.2.10", "10.0.2.10"], ["10.0.2.11", "10.0.2.11"], ["10.0.2.12", "10.0.2.12"], ["10.0.2.13", "10.0.2.13"], ["10.0.2.14", "10.0.2.14"], ["10.0.2.15", "10.0.2.15"], ["10.0.2.16", "10.0.2.16"], ["10.0.2.17", "10.0.2.17"], ["10.0.2.18", "10.0.2.18"], ["10.0.2.19", "10.0.2.19"], ["10.0.2.20", "10.0.2.20"], ["10.0.2.21", "10.0.2.21"], ["10.0.2.22", "10.0.2.22"], ["10.0.2.23", "10.0.2.23"], ["10.0.2.24", "10.0.2.24"], ["10.0.2.25", "10.0.2.25"], ["10.0.2.26", "10.0.2.26"], ["10.0.2.27", "10.0.2.27"], ["10.0.2.28", "10.0.2.28"], ["10.0.2.29", "10.0.2.29"], ["10.0.2.30", "10.0.2.30"], ["10.0.2.31", "10.0.2.31"], ["10.0.3.1", "10.0.3.1"], ["10.0.3.2", "10.0.3.2"], ["10.0.3.3", "10.0.3.3"], ["10.0.3.4", "10.0.3.4"], ["10.0.3.5", "10.0.3.5"], ["10.0.3.6", "10.0.3.6"], ["10.0.3.7", "10.0.3.7"], ["10.0.3.8", "10.0.3.8"], ["10.0.3.9", "10.0.3.9"], ["10.0.3.10", "10.0.3.10"], ["10.0.3.11", "10.0.3.11"], ["10.0.3.12", "10.0.3.12"], ["10.0.3.13", "10.0.3.13"], ["10.0.3.14", "10.0.3.14"], ["10.0.3.15", "10.0.3.15"], ["10.0.3.16", "10.0.3.16"], ["10.0.3.17", "10.0.3.17"], ["10.0.3.18", "10.0.3.18"], ["10.0.3.19", "10.0.3.19"], ["10.0.3.20", "10.0.3.20"], ["10.0.3.21", "10.0.3.21"], ["10.0.3.22", "10.0.3.22"], ["10.0.3.23", "10.0.3.23"], ["10.0.3.24", "10.0.3.24"], ["10.0.3.25", "10.0.3.25"], ["10.0.3.26", "10.0.3.26"], ["10.0.3.27", "10.0.3.27"], ["10.0.3.28", "10.0.3.28"], ["10.0.3.29", "10.0.3.29"], ["10.0.3.30", "10.0.3.30"], ["10.0.3.31", "10.0.3.31"], ["10.0.4.1", "10.0.4.1"], ["10.0.4.2", "10.0.4.2"], ["10.0.4.3", "10.0.4.3"], ["10.0.4.4", "10.0.4.4"], ["10.0.4.5", "10.0.4.5"], ["10.0.4.6", "10.0.4.6"], ["10.0.4.7", "10.0.4.7"], ["10.0.4.8", "10.0.4.8"], ["10.0.4.9", "10.0.4.9"], ["10.0.4.10", "10.0.4.10"], ["10.0.4.11", "10.0.4.11"], ["10.0.4.12", "10.0.4.12"], ["10.0.4.13", "10.0.4.13"], ["10.0.4.14", "10.0.4.14"], ["10.0.4.15", "10.0.4.15"], ["10.0.4.16", "10.0.4.16"], ["10.0.4.17", "10.0.4.17"], ["10.0.4.18", "10.0.4.18"], ["10.0.4.19", "10.0.4.19"], ["10.0.4.20", "10.0.4.20"], ["10.0.4.21", "10.0.4.21"], ["10.0.4.22", "10.0.4.22"], ["10.0.4.23", "10.0.4.23"], ["10.0.4.24", "10.0.4.24"], ["10.0.4.25", "10.0.4.25"], ["10.0.4.26", "10.0.4.26"], ["10.0.4.27", "10.0.4.27"], ["10.0.4.28", "10.0.4.28"], ["10.0.4.29", "10.0.4.29"], ["10.0.4.30", "10.0.4.30"], ["10.0.4.31", "10.0.4.31"], ["10.0.5.1", "10.0.5.1"], ["10.0.5.2", "10.0.5.2"], ["10.0.5.3", "10.0.5.3"], ["10.0.5.4", "10.0.5.4"], ["10.0.5.5", "10.0.5.5"], ["10.0.5.6", "10.0.5.6"], ["10.0.5.7", "10.0.5.7"], ["10.0.5.8", "10.0.5.8"], ["10.0.5.9", "10.0.5.9"], ["10.0.5.10", "10.0.5.10"], ["10.0.5.11", "10.0.5.11"], ["10.0.5.12", "10.0.5.12"], ["10.0.5.13", "10.0.5.13"], ["10.0.5.14", "10.0.5.14"], ["10.0.5.15", "10.0.5.15"], ["10.0.5.16", "10.0.5.16"], ["10.0.5.17", "10.0.5.17"], ["10.0.5.18", "10.0.5.18"], ["10.0.5.19", "10.0.5.19"], ["10.0.5.20", "10.0.5.20"], ["10.0.5.21", "10.0.5.21"], ["10.0.5.22", "10.0.5.22"], ["10.0.5.23", "10.0.5.23"], ["10.0.5.24", "10.0.5.24"], ["10.0.5.25", "10.0.5.25"], ["10.0.5.26", "10.0.5.26"], ["10.0.5.27", "10.0.5.27"], ["10.0.5.28", "10.0.5.28"], ["10.0.5.29", "10.0.5.29"], ["10.0.5.30", "10.0.5.30"], ["10.0.5.31", "10.0.5.31"], ["10.0.6.1", "10.0.6.1"], ["10.0.6.2", "10.0.6.2"], ["10.0.6.3", "10.0.6.3"], ["10.0.6.4", "10.0.6.4"], ["10.0.6.5", "10.0.6.5"], ["10.0.6.6", "10.0.6.6"], ["10.0.6.7", "10.0.6.7"], ["10.0.6.8", "10.0.6.8"], ["10.0.6.9", "10.0.6.9"], ["10.0.6.10", "10.0.6.10"], ["10.0.6.11", "10.0.6.11"], ["10.0.6.12", "10.0.6.12"], ["10.0.6.13", "10.0.6.13"], ["10.0.6.14", "10.0.6.14"], ["10.0.6.15", "10.0.6.15"], ["10.0.6.16", "10.0.6.16"], ["10.0.6.17", "10.0.6.17"], ["10.0.6.18", "10.0.6.18"], ["10.0.6.19", "10.0.6.19"], ["10.0.6.20", "10.0.6.20"], ["10.0.6.21", "10.0.6.21"], ["10.0.6.22", "10.0.6.22"], ["10.0.6.23", "10.0.6.23"], ["10.0.6.24", "10.0.6.24"], ["10.0.6.25", "10.0.6.25"], ["10.0.6.26", "10.0.6.26"], ["10.0.6.27", "10.0.6.27"], ["10.0.6.28", "10.0.6.28"], ["10.0.6.29", "10.0.6.29"], ["10.0.6.30", "10.0.6.30"], ["10.0.6.31", "10.0.6.31"], ["10.0.7.1", "10.0.7.1"], ["10.0.7.2", "10.0.7.2"], ["10.0.7.3", "10.0.7.3"], ["10.0.7.4", "10.0.7.4"], ["10.0.7.5", "10.0.7.5"], ["10.0.7.6", "10.0.7.6"], ["10.0.7.7", "10.0.7.7"], ["10.0.7.8", "10.0.7.8"], ["10.0.7.9", "10.0.7.9"], ["10.0.7.10", "10.0.7.10"], ["10.0.7.11", "10.0.7.11"], ["10.0.7.12", "10.0.7.12"], ["10.0.7.13", "10.0.7.13"], ["10.0.7.14", "10.0.7.14"], ["10.0.7.15", "10.0.7.15"], ["10.0.7.16", "10.0.7.16"], ["10.0.7.17", "10.0.7.17"], ["10.0.7.18", "10.0.7.18"], ["10.0.7.19", "10.0.7.19"], ["10.0.7.20", "10.0.7.20"], ["10.0.7.21", "10.0.7.21"], ["10.0.7.22", "10.0.7.22"], ["10.0.7.23", "10.0.7.23"], ["10.0.7.24", "10.0.7.24"], ["10.0.7.25", "10.0.7.25"], ["10.0.7.26", "10.0.7.26"], ["10.0.7.27", "10.0.7.27"], ["10.0.7.28", "10.0.7.28"], ["10.0.7.29", "10.0.7.29"], ["10.0.7.30", "10.0.7.30"], ["10.0.7.31", "10.0.7.31"], ["10.0.8.1", "10.0.8.1"], ["10.0.8.2", "10.0.8.2"], ["10.0.8.3", "10.0.8.3"], ["10.0.8.4", "10.0.8.4"], ["10.0.8.5", "10.0.8.5"], ["10.0.8.6", "10.0.8.6"], ["10.0.8.7", "10.0.8.7"], ["10.0.8.8", "10.0.8.8"], ["10.0.8.9", "10.0.8.9"], ["10.0.8.10", "10.0.8.10"], ["10.0.8.11", "10.0.8.11"], ["10.0.8.12", "10.0.8.12"], ["10.0.8.13", "10.0.8.13"], ["10.0.8.14", "10.0.8.14"], ["10.0.8.15", "10.0.8.15"], ["10.0.8.16", "10.0.8.16"], ["10.0.8.17", "10.0.8.17"], ["10.0.8.18", "10.0.8.18"], ["10.0.8.19", "10.0.8.19"], ["10.0.8.20", "10.0.8.20"], ["10.0.8.21", "10.0.8.21"], ["10.0.8.22", "10.0.8.22"], ["10.0.8.23", "10.0.8.23"], ["10.0.8.24", "10.0.8.24"], ["10.0.8.25", "10.0.8.25"], ["10.0.8.26", "10.0.8.26"], ["10.0.8.27", "10.0.8.27"], ["10.0.8.28", "10.0.8.28"], ["10.0.8.29", "10.0.8.29"], ["10.0.8.30", "10.0.8.30"], ["10.0.8.31", "10.0.8.31"], ["10.0.9.1", "10.0.9.1"], ["10.0.9.2", "10.0.9.2"], ["10.0.9.3", "10.0.9.3"], ["10.0.9.4", "10.0.9.4"], ["10.0.9.5", "10.0.9.5"], ["10.0.9.6", "10.0.9.6"], ["10.0.9.7", "10.0.9.7"], ["10.0.9.8", "10.0.9.8"], ["10.0.9.9", "10.0.9.9"], ["10.0.9.10", "10.0.9.10"], ["10.0.9.11", "10.0.9.11"], ["10.0.9.12", "10.0.9.12"], ["10.0.9.13", "10.0.9.13"], ["10.0.9.14", "10.0.9.14"], ["10.0.9.15", "10.0.9.15"], ["10.0.9.16", "10.0.9.16"], ["10.0.9.17", "10.0.9.17"], ["10.0.9.18", "10.0.9.18"], ["10.0.9.19", "10.0.9.19"], ["10.0.9.20", "10.0.9.20"], ["10.0.9.21", "10.0.9.21"], ["10.0.9.22", "10.0.9.22"], ["10.0.9.23", "10.0.9.23"], ["10.0.9.24", "10.0.9.24"], ["10.0.9.25", "10.0.9.25"], ["10.0.9.26", "10.0.9.26"], ["10.0.9.27", "10.0.9.27"], ["10.0.9.28", "10.0.9.28"], ["10.0.9.29", "10.0.9.29"], ["10.0.9.30", "10.0.9.30"], ["10.0.9.31", "10.0.9.31"], ["10.0.10.1", "10.0.10.1"], ["10.0.10.2", "10.0.10.2"], ["10.0.10.3", "10.0.10.3"], ["10.0.10.4", "10.0.10.4"], ["10.0.10.5", "10.0.10.5"], ["10.0.10.6", "10.0.10.6"], ["10.0.10.7", "10.0.10.7"], ["10.0.10.8", "10.0.10.8"], ["10.0.10.9", "10.0.10.9"], ["10.0.10.10", "10.0.10.10"], ["10.0.10.11", "10.0.10.11"], ["10.0.10.12", "10.0.10.12"], ["10.0.10.13", "10.0.10.13"], ["10.0.10.14", "10.0.10.14"], ["10.0.10.15", "10.0.10.15"], ["10.0.10.16", "10.0.10.16"], ["10.0.10.17", "10.0.10.17"], ["10.0.10.18", "10.0.10.18"], ["10.0.10.19", "10.0.10.19"], ["10.0.10.20", "10.0.10.20"], ["10.0.10.21", "10.0.10.21"], ["10.0.10.22", "10.0.10.22"], ["10.0.10.23", "10.0.10.23"], ["10.0.10.24", "10.0.10.24"], ["10.0.10.25", "10.0.10.25"], ["10.0.10.26", "10.0.10.26"], ["10.0.10.27", "10.0.10.27"], ["10.0.10.28", "10.0.10.28"], ["10.0.10.29", "10.0.10.29"], ["10.0.10.30", "10.0.10.30"], ["10.0.10.31", "10.0.10.31"], ["10.0.11.1", "10.0.11.1"], ["10.0.11.2", "10.0.11.2"], ["10.0.11.3", "10.0.11.3"], ["10.0.11.4", "10.0.11.4"], ["10.0.11.5", "10.0.11.5"], ["10.0.11.6", "10.0.11.6"], ["10.0.11.7", "10.0.11.7"], ["10.0.11.8", "10.0.11.8"], ["10.0.11.9", "10.0.11.9"], ["10.0.11.10", "10.0.11.10"], ["10.0.11.11", "10.0.11.11"], ["10.0.11.12", "10.0.11.12"], ["10.0.11.13", "10.0.11.13"], ["10.0.11.14", "10.0.11.14"], ["10.0.11.15", "10.0.11.15"], ["10.0.11.16", "10.0.11.16"], ["10.0.11.17", "10.0.11.17"], ["10.0.11.18", "10.0.11.18"], ["10.0.11.19", "10.0.11.19"], ["10.0.11.20", "10.0.11.20"], ["10.0.11.21", "10.0.11.21"], ["10.0.11.22", "10.0.11.22"], ["10.0.11.23", "10.0.11.23"], ["10.0.11.24", "10.0.11.24"], ["10.0.11.25", "10.0.11.25"], ["10.0.11.26", "10.0.11.26"], ["10.0.11.27", "10.0.11.27"], ["10.0.11.28", "10.0.11.28"], ["10.0.11.29", "10.0.11.29"], ["10.0.11.30", "10.0.11.30"], ["10.0.11.31", "10.0.11.31"], ["10.0.12.1", "10.0.12.1"], ["10.0.12.2", "10.0.12.2"], ["10.0.12.3", "10.0.12.3"], ["10.0.12.4", "10.0.12.4"], ["10.0.12.5", "10.0.12.5"], ["10.0.12.6", "10.0.12.6"], ["10.0.12.7", "10.0.12.7"], ["10.0.12.8", "10.0.12.8"], ["10.0.12.9", "10.0.12.9"], ["10.0.12.10", "10.0.12.10"], ["10.0.12.11", "10.0.12.11"], ["10.0.12.12", "10.0.12.12"], ["10.0.12.13", "10.0.12.13"], ["10.0.12.14", "10.0.12.14"], ["10.0.12.15", "10.0.12.15"], ["10.0.12.16", "10.0.12.16"], ["10.0.12.17", "10.0.12.17"], ["10.0.12.18", "10.0.12.18"], ["10.0.12.19", "10.0.12.19"], ["10.0.12.20", "10.0.12.20"], ["10.0.12.21", "10.0.12.21"], ["10.0.12.22", "10.0.12.22"], ["10.0.12.23", "10.0.12.23"], ["10.0.12.24", "10.0.12.24"], ["10.0.12.25", "10.0.12.25"], ["10.0.12.26", "10.0.12.26"], ["10.0.12.27", "10.0.12.27"], ["10.0.12.28", "10.0.12.28"], ["10.0.12.29", "10.0.12.29"], ["10.0.12.30", "10.0.12.30"], ["10.0.12.31", "10.0.12.31"], ["10.0.13.1", "10.0.13.1"], ["10.0.13.2", "10.0.13.2"], ["10.0.13.3", "10.0.13.3"], ["10.0.13.4", "10.0.13.4"], ["10.0.13.5", "10.0.13.5"], ["10.0.13.6", "10.0.13.6"], ["10.0.13.7", "10.0.13.7"], ["10.0.13.8", "10.0.13.8"], ["10.0.13.9", "10.0.13.9"], ["10.0.13.10", "10.0.13.10"], ["10.0.13.11", "10.0.13.11"], ["10.0.13.12", "10.0.13.12"], ["10.0.13.13", "10.0.13.13"], ["10.0.13.14", "10.0.13.14"], ["10.0.13.15", "10.0.13.15"], ["10.0.13.16", "10.0.13.16"], ["10.0.13.17", "10.0.13.17"], ["10.0.13.18", "10.0.13.18"], ["10.0.13.19", "10.0.13.19"], ["10.0.13.20", "10.0.13.20"], ["10.0.13.21", "10.0.13.21"], ["10.0.13.22", "10.0.13.22"], ["10.0.13.23", "10.0.13.23"], ["10.0.13.24", "10.0.13.24"], ["10.0.13.25", "10.0.13.25"], ["10.0.13.26", "10.0.13.26"], ["10.0.13.27", "10.0.13.27"], ["10.0.13.28", "10.0.13.28"], ["10.0.13.29", "10.0.13.29"], ["10.0.13.30", "10.0.13.30"], ["10.0.13.31", "10.0.13.31"], ["10.0.14.1", "10.0.14.1"], ["10.0.14.2", "10.0.14.2"], ["10.0.14.3", "10.0.14.3"], ["10.0.14.4", "10.0.14.4"], ["10.0.14.5", "10.0.14.5"], ["10.0.14.6", "10.0.14.6"], ["10.0.14.7", "10.0.14.7"], ["10.0.14.8", "10.0.14.8"], ["10.0.14.9", "10.0.14.9"], ["10.0.14.10", "10.0.14.10"], ["10.0.14.11", "10.0.14.11"], ["10.0.14.12", "10.0.14.12"], ["10.0.14.13", "10.0.14.13"], ["10.0.14.14", "10.0.14.14"], ["10.0.14.15", "10.0.14.15"], ["10.0.14.16", "10.0.14.16"], ["10.0.14.17", "10.0.14.17"], ["10.0.14.18", "10.0.14.18"], ["10.0.14.19", "10.0.14.19"], ["10.0.14.20", "10.0.14.20"], ["10.0.14.21", "10.0.14.21"], ["10.0.14.22", "10.0.14.22"], ["10.0.14.23", "10.0.14.23"], ["10.0.14.24", "10.0.14.24"], ["10.0.14.25", "10.0.14.25"], ["10.0.14.26", "10.0.14.26"], ["10.0.14.27", "10.0.14.27"], ["10.0.14.28", "10.0.14.28"], ["10.0.14.29", "10.0.14.29"], ["10.0.14.30", "10.0.14.30"], ["10.0.14.31", "10.0.14.31"], ["10.0.15.1", "10.0.15.1"], ["10.0.15.2", "10.0.15.2"], ["10.0.15.3", "10.0.15.3"], ["10.0.15.4", "10.0.15.4"], ["10.0.15.5", "10.0.15.5"], ["10.0.15.6", "10.0.15.6"], ["10.0.15.7", "10.0.15.7"], ["10.0.15.8", "10.0.15.8"], ["10.0.15.9", "10.0.15.9"], ["10.0.15.10", "10.0.15.10"], ["10.0.15.11", "10.0.15.11"], ["10.0.15.12", "10.0.15.12"], ["10.0.15.13", "10.0.15.13"], ["10.0.15.14", "10.0.15.14"], ["10.0.15.15", "10.0.15.15"], ["10.0.15.16", "10.0.15.16"], ["10.0.15.17", "10.0.15.17"], ["10.0.15.18", "10.0.15.18"], ["10.0.15.19", "10.0.15.19"], ["10.0.15.20", "10.0.15.20"], ["10.0.15.21", "10.0.15.21"], ["10.0.15.22", "10.0.15.22"], ["10.0.15.23", "10.0.15.23"], ["10.0.15.24", "10.0.15.24"], ["10.0.15.25", "10.0.15.25"], ["10.0.15.26", "10.0.15.26"], ["10.0.15.27", "10.0.15.27"], ["10.0.15.28", "10.0.15.28"], ["10.0.15.29", "10.0.15.29"], ["10.0.15.30", "10.0.15.30"], ["10.0.15.31", "10.0.15.31"], ["10.0.16.1", "10.0.16.1"], ["10.0.16.2", "10.0.16.2"], ["10.0.16.3", "10.0.16.3"], ["10.0.16.4", "10.0.16.4"], ["10.0.16.5", "10.0.16.5"], ["10.0.16.6", "10.0.16.6"], ["10.0.16.7", "10.0.16.7"], ["10.0.16.8", "10.0.16.8"], ["10.0.16.9", "10.0.16.9"], ["10.0.16.10", "10.0.16.10"], ["10.0.16.11", "10.0.16.11"], ["10.0.16.12", "10.0.16.12"], ["10.0.16.13", "10.0.16.13"], ["10.0.16.14", "10.0.16.14"], ["10.0.16.15", "10.0.16.15"], ["10.0.16.16", "10.0.16.16"], ["10.0.16.17", "10.0.16.17"], ["10.0.16.18", "10.0.16.18"], ["10.0.16.19", "10.0.16.19"], ["10.0.16.20", "10.0.16.20"], ["10.0.16.21", "10.0.16.21"], ["10.0.16.22", "10.0.16.22"], ["10.0.16.23", "10.0.16.23"], ["10.0.16.24", "10.0.16.24"], ["10.0.16.25", "10.0.16.25"], ["10.0.16.26", "10.0.16.26"], ["10.0.16.27", "10.0.16.27"], ["10.0.16.28", "10.0.16.28"], ["10.0.16.29", "10.0.16.29"], ["10.0.16.30", "10.0.16.30"], ["10.0.16.31", "10.0.16.31"], ["10.0.17.1", "10.0.17.1"], ["10.0.17.2", "10.0.17.2"], ["10.0.17.3", "10.0.17.3"], ["10.0.17.4", "10.0.17.4"], ["10.0.17.5", "10.0.17.5"], ["10.0.17.6", "10.0.17.6"], ["10.0.17.7", "10.0.17.7"], ["10.0.17.8", "10.0.17.8"], ["10.0.17.9", "10.0.17.9"], ["10.0.17.10", "10.0.17.10"], ["10.0.17.11", "10.0.17.11"], ["10.0.17.12", "10.0.17.12"], ["10.0.17.13", "10.0.17.13"], ["10.0.17.14", "10.0.17.14"], ["10.0.17.15", "10.0.17.15"], ["10.0.17.16", "10.0.17.16"], ["10.0.17.17", "10.0.17.17"], ["10.0.17.18", "10.0.17.18"], ["10.0.17.19", "10.0.17.19"], ["10.0.17.20", "10.0.17.20"], ["10.0.17.21", "10.0.17.21"], ["10.0.17.22", "10.0.17.22"], ["10.0.17.23", "10.0.17.23"], ["10.0.17.24", "10.0.17.24"], ["10.0.17.25", "10.0.17.25"], ["10.0.17.26", "10.0.17.26"], ["10.0.17.27", "10.0.17.27"], ["10.0.17.28", "10.0.17.28"], ["10.0.17.29", "10.0.17.29"], ["10.0.17.30", "10.0.17.30"], ["10.0.17.31", "10.0.17.31"], ["10.0.18.1", "10.0.18.1"], ["10.0.18.2", "10.0.18.2"], ["10.0.18.3", "10.0.18.3"], ["10.0.18.4", "10.0.18.4"], ["10.0.18.5", "10.0.18.5"], ["10.0.18.6", "10.0.18.6"], ["10.0.18.7", "10.0.18.7"], ["10.0.18.8", "10.0.18.8"], ["10.0.18.9", "10.0.18.9"], ["10.0.18.10", "10.0.18.10"], ["10.0.18.11", "10.0.18.11"], ["10.0.18.12", "10.0.18.12"], ["10.0.18.13", "10.0.18.13"], ["10.0.18.14", "10.0.18.14"], ["10.0.18.15", "10.0.18.15"], ["10.0.18.16", "10.0.18.16"], ["10.0.18.17", "10.0.18.17"], ["10.0.18.18", "10.0.18.18"], ["10.0.18.19", "10.0.18.19"], ["10.0.18.20", "10.0.18.20"], ["10.0.18.21", "10.0.18.21"], ["10.0.18.22", "10.0.18.22"], ["10.0.18.23", "10.0.18.23"], ["10.0.18.24", "10.0.18.24"], ["10.0.18.25", "10.0.18.25"], ["10.0.18.26", "10.0.18.26"], ["10.0.18.27", "10.0.18.27"], ["10.0.18.28", "10.0.18.28"], ["10.0.18.29", "10.0.18.29"], ["10.0.18.30", "10.0.18.30"], ["10.0.18.31", "10.0.18.31"], ["10.0.19.1", "10.0.19.1"], ["10.0.19.2", "10.0.19.2"], ["10.0.19.3", "10.0.19.3"], ["10.0.19.4", "10.0.19.4"], ["10.0.19.5", "10.0.19.5"], ["10.0.19.6", "10.0.19.6"], ["10.0.19.7", "10.0.19.7"], ["10.0.19.8", "10.0.19.8"], ["10.0.19.9", "10.0.19.9"], ["10.0.19.10", "10.0.19.10"], ["10.0.19.11", "10.0.19.11"], ["10.0.19.12", "10.0.19.12"], ["10.0.19.13", "10.0.19.13"], ["10.0.19.14", "10.0.19.14"], ["10.0.19.15", "10.0.19.15"], ["10.0.19.16", "10.0.19.16"], ["10.0.19.17", "10.0.19.17"], ["10.0.19.18", "10.0.19.18"], ["10.0.19.19", "10.0.19.19"], ["10.0.19.20", "10.0.19.20"], ["10.0.19.21", "10.0.19.21"], ["10.0.19.22", "10.0.19.22"], ["10.0.19.23", "10.0.19.23"], ["10.0.19.24", "10.0.19.24"], ["10.0.19.25", "10.0.19.25"], ["10.0.19.26", "10.0.19.26"], ["10.0.19.27", "10.0.19.27"], ["10.0.19.28", "10.0.19.28"], ["10.0.19.29", "10.0.19.29"], ["10.0.19.30", "10.0.19.30"], ["10.0.19.31", "10.0.19.31"], ["10.0.20.1", "10.0.20.1"], ["10.0.20.2", "10.0.20.2"], ["10.0.20.3", "10.0.20.3"], ["10.0.20.4", "10.0.20.4"], ["10.0.20.5", "10.0.20.5"], ["10.0.20.6", "10.0.20.6"], ["10.0.20.7", "10.0.20.7"], ["10.0.20.8", "10.0.20.8"], ["10.0.20.9", "10.0.20.9"], ["10.0.20.10", "10.0.20.10"], ["10.0.20.11", "10.0.20.11"], ["10.0.20.12", "10.0.20.12"], ["10.0.20.13", "10.0.20.13"], ["10.0.20.14", "10.0.20.14"], ["10.0.20.15", "10.0.20.15"], ["10.0.20.16", "10.0.20.16"], ["10.0.20.17", "10.0.20.17"], ["10.0.20.18", "10.0.20.18"], ["10.0.20.19", "10.0.20.19"], ["10.0.20.20", "10.0.20.20"], ["10.0.20.21", "10.0.20.21"], ["10.0.20.22", "10.0.20.22"], ["10.0.20.23", "10.0.20.23"], ["10.0.20.24", "10.0.20.24"], ["10.0.20.25", "10.0.20.25"], ["10.0.20.26", "10.0.20.26"], ["10.0.20.27", "10.0.20.27"], ["10.0.20.28", "10.0.20.28"], ["10.0.20.29", "10.0.20.29"], ["10.0.20.30", "10.0.20.30"], ["10.0.20.31", "10.0.20.31"], ["10.0.21.1", "10.0.21.1"], ["10.0.21.2", "10.0.21.2"], ["10.0.21.3", "10.0.21.3"], ["10.0.21.4", "10.0.21.4"], ["10.0.21.5", "10.0.21.5"], ["10.0.21.6", "10.0.21.6"], ["10.0.21.7", "10.0.21.7"], ["10.0.21.8", "10.0.21.8"], ["10.0.21.9", "10.0.21.9"], ["10.0.21.10", "10.0.21.10"], ["10.0.21.11", "10.0.21.11"], ["10.0.21.12", "10.0.21.12"], ["10.0.21.13", "10.0.21.13"], ["10.0.21.14", "10.0.21.14"], ["10.0.21.15", "10.0.21.15"], ["10.0.21.16", "10.0.21.16"], ["10.0.21.17", "10.0.21.17"], ["10.0.21.18", "10.0.21.18"], ["10.0.21.19", "10.0.21.19"], ["10.0.21.20", "10.0.21.20"], ["10.0.21.21", "10.0.21.21"], ["10.0.21.22", "10.0.21.22"], ["10.0.21.23", "10.0.21.23"], ["10.0.21.24", "10.0.21.24"], ["10.0.21.25", "10.0.21.25"], ["10.0.21.26", "10.0.21.26"], ["10.0.21.27", "10.0.21.27"], ["10.0.21.28", "10.0.21.28"], ["10.0.21.29", "10.0.21.29"], ["10.0.21.30", "10.0.21.30"], ["10.0.21.31", "10.0.21.31"], ["10.0.22.1", "10.0.22.1"], ["10.0.22.2", "10.0.22.2"], ["10.0.22.3", "10.0.22.3"], ["10.0.22.4", "10.0.22.4"], ["10.0.22.5", "10.0.22.5"], ["10.0.22.6", "10.0.22.6"], ["10.0.22.7", "10.0.22.7"], ["10.0.22.8", "10.0.22.8"], ["10.0.22.9", "10.0.22.9"], ["10.0.22.10", "10.0.22.10"], ["10.0.22.11", "10.0.22.11"], ["10.0.22.12", "10.0.22.12"], ["10.0.22.13", "10.0.22.13"], ["10.0.22.14", "10.0.22.14"], ["10.0.22.15", "10.0.22.15"], ["10.0.22.16", "10.0.22.16"], ["10.0.22.17", "10.0.22.17"], ["10.0.22.18", "10.0.22.18"], ["10.0.22.19", "10.0.22.19"], ["10.0.22.20", "10.0.22.20"], ["10.0.22.21", "10.0.22.21"], ["10.0.22.22", "10.0.22.22"], ["10.0.22.23", "10.0.22.23"], ["10.0.22.24", "10.0.22.24"], ["10.0.22.25", "10.0.22.25"], ["10.0.22.26", "10.0.22.26"], ["10.0.22.27", "10.0.22.27"], ["10.0.22.28", "10.0.22.28"], ["10.0.22.29", "10.0.22.29"], ["10.0.22.30", "10.0.22.30"], ["10.0.22.31", "10.0.22.31"], ["10.0.23.1", "10.0.23.1"], ["10.0.23.2", "10.0.23.2"], ["10.0.23.3", "10.0.23.3"], ["10.0.23.4", "10.0.23.4"], ["10.0.23.5", "10.0.23.5"], ["10.0.23.6", "10.0.23.6"], ["10.0.23.7", "10.0.23.7"], ["10.0.23.8", "10.0.23.8"], ["10.0.23.9", "10.0.23.9"], ["10.0.23.10", "10.0.23.10"], ["10.0.23.11", "10.0.23.11"], ["10.0.23.12", "10.0.23.12"], ["10.0.23.13", "10.0.23.13"], ["10.0.23.14", "10.0.23.14"], ["10.0.23.15", "10.0.23.15"], ["10.0.23.16", "10.0.23.16"], ["10.0.23.17", "10.0.23.17"], ["10.0.23.18", "10.0.23.18"], ["10.0.23.19", "10.0.23.19"], ["10.0.23.20", "10.0.23.20"], ["10.0.23.21", "10.0.23.21"], ["10.0.23.22", "10.0.23.22"], ["10.0.23.23", "10.0.23.23"], ["10.0.23.24", "10.0.23.24"], ["10.0.23.25", "10.0.23.25"], ["10.0.23.26", "10.0.23.26"], ["10.0.23.27", "10.0.23.27"], ["10.0.23.28", "10.0.23.28"], ["10.0.23.29", "10.0.23.29"], ["10.0.23.30", "10.0.23.30"], ["10.0.23.31", "10.0.23.31"], ["10.0.24.1", "10.0.24.1"], ["10.0.24.2", "10.0.24.2"], ["10.0.24.3", "10.0.24.3"], ["10.0.24.4", "10.0.24.4"], ["10.0.24.5", "10.0.24.5"], ["10.0.24.6", "10.0.24.6"], ["10.0.24.7", "10.0.24.7"], ["10.0.24.8", "10.0.24.8"], ["10.0.24.9", "10.0.24.9"], ["10.0.24.10", "10.0.24.10"], ["10.0.24.11", "10.0.24.11"], ["10.0.24.12", "10.0.24.12"], ["10.0.24.13", "10.0.24.13"], ["10.0.24.14", "10.0.24.14"], ["10.0.24.15", "10.0.24.15"], ["10.0.24.16", "10.0.24.16"], ["10.0.24.17", "10.0.24.17"], ["10.0.24.18", "10.0.24.18"], ["10.0.24.19", "10.0.24.19"], ["10.0.24.20", "10.0.24.20"], ["10.0.24.21", "10.0.24.21"], ["10.0.24.22", "10.0.24.22"], ["10.0.24.23", "10.0.24.23"], ["10.0.24.24", "10.0.24.24"], ["10.0.24.25", "10.0.24.25"], ["10.0.24.26", "10.0.24.26"], ["10.0.24.27", "10.0.24.27"], ["10.0.24.28", "10.0.24.28"], ["10.0.24.29", "10.0.24.29"], ["10.0.24.30", "10.0.24.30"], ["10.0.24.31", "10.0.24.31"], ["10.0.25.1", "10.0.25.1"], ["10.0.25.2", "10.0.25.2"], ["10.0.25.3", "10.0.25.3"], ["10.0.25.4", "10.0.25.4"], ["10.0.25.5", "10.0.25.5"], ["10.0.25.6", "10.0.25.6"], ["10.0.25.7", "10.0.25.7"], ["10.0.25.8", "10.0.25.8"], ["10.0.25.9", "10.0.25.9"], ["10.0.25.10", "10.0.25.10"], ["10.0.25.11", "10.0.25.11"], ["10.0.25.12", "10.0.25.12"], ["10.0.25.13", "10.0.25.13"], ["10.0.25.14", "10.0.25.14"], ["10.0.25.15", "10.0.25.15"], ["10.0.25.16", "10.0.25.16"], ["10.0.25.17", "10.0.25.17"], ["10.0.25.18", "10.0.25.18"], ["10.0.25.19", "10.0.25.19"], ["10.0.25.20", "10.0.25.20"], ["10.0.25.21", "10.0.25.21"], ["10.0.25.22", "10.0.25.22"], ["10.0.25.23", "10.0.25.23"], ["10.0.25.24", "10.0.25.24"], ["10.0.25.25", "10.0.25.25"], ["10.0.25.26", "10.0.25.26"], ["10.0.25.27", "10.0.25.27"], ["10.0.25.28", "10.0.25.28"], ["10.0.25.29", "10.0.25.29"], ["10.0.25.30", "10.0.25.30"], ["10.0.25.31", "10.0.25.31"], ["10.0.26.1", "10.0.26.1"], ["10.0.26.2", "10.0.26.2"], ["10.0.26.3", "10.0.26.3"], ["10.0.26.4", "10.0.26.4"], ["10.0.26.5", "10.0.26.5"], ["10.0.26.6", "10.0.26.6"], ["10.0.26.7", "10.0.26.7"], ["10.0.26.8", "10.0.26.8"], ["10.0.26.9", "10.0.26.9"], ["10.0.26.10", "10.0.26.10"], ["10.0.26.11", "10.0.26.11"], ["10.0.26.12", "10.0.26.12"], ["10.0.26.13", "10.0.26.13"], ["10.0.26.14", "10.0.26.14"], ["10.0.26.15", "10.0.26.15"], ["10.0.26.16", "10.0.26.16"], ["10.0.26.17", "10.0.26.17"], ["10.0.26.18", "10.0.26.18"], ["10.0.26.19", "10.0.26.19"], ["10.0.26.20", "10.0.26.20"], ["10.0.26.21", "10.0.26.21"], ["10.0.26.22", "10.0.26.22"], ["10.0.26.23", "10.0.26.23"], ["10.0.26.24", "10.0.26.24"], ["10.0.26.25", "10.0.26.25"], ["10.0.26.26", "10.0.26.26"], ["10.0.26.27", "10.0.26.27"], ["10.0.26.28", "10.0.26.28"], ["10.0.26.29", "10.0.26.29"], ["10.0.26.30", "10.0.26.30"], ["10.0.26.31", "10.0.26.31"], ["10.0.27.1", "10.0.27.1"], ["10.0.27.2", "10.0.27.2"], ["10.0.27.3", "10.0.27.3"], ["10.0.27.4", "10.0.27.4"], ["10.0.27.5", "10.0.27.5"], ["10.0.27.6", "10.0.27.6"], ["10.0.27.7", "10.0.27.7"], ["10.0.27.8", "10.0.27.8"], ["10.0.27.9", "10.0.27.9"], ["10.0.27.10", "10.0.27.10"], ["10.0.27.11", "10.0.27.11"], ["10.0.27.12", "10.0.27.12"], ["10.0.27.13", "10.0.27.13"], ["10.0.27.14", "10.0.27.14"], ["10.0.27.15", "10.0.27.15"], ["10.0.27.16", "10.0.27.16"], ["10.0.27.17", "10.0.27.17"], ["10.0.27.18", "10.0.27.18"], ["10.0.27.19", "10.0.27.19"], ["10.0.27.20", "10.0.27.20"], ["10.0.27.21", "10.0.27.21"], ["10.0.27.22", "10.0.27.22"], ["10.0.27.23", "10.0.27.23"], ["10.0.27.24", "10.0.27.24"], ["10.0.27.25", "10.0.27.25"], ["10.0.27.26", "10.0.27.26"], ["10.0.27.27", "10.0.27.27"], ["10.0.27.28", "10.0.27.28"], ["10.0.27.29", "10.0.27.29"], ["10.0.27.30", "10.0.27.30"], ["10.0.27.31", "10.0.27.31"], ["10.0.28.1", "10.0.28.1"], ["10.0.28.2", "10.0.28.2"], ["10.0.28.3", "10.0.28.3"], ["10.0.28.4", "10.0.28.4"], ["10.0.28.5", "10.0.28.5"], ["10.0.28.6", "10.0.28.6"], ["10.0.28.7", "10.0.28.7"], ["10.0.28.8", "10.0.28.8"], ["10.0.28.9", "10.0.28.9"], ["10.0.28.10", "10.0.28.10"], ["10.0.28.11", "10.0.28.11"], ["10.0.28.12", "10.0.28.12"], ["10.0.28.13", "10.0.28.13"], ["10.0.28.14", "10.0.28.14"], ["10.0.28.15", "10.0.28.15"], ["10.0.28.16", "10.0.28.16"], ["10.0.28.17", "10.0.28.17"], ["10.0.28.18", "10.0.28.18"], ["10.0.28.19", "10.0.28.19"], ["10.0.28.20", "10.0.28.20"], ["10.0.28.21", "10.0.28.21"], ["10.0.28.22", "10.0.28.22"], ["10.0.28.23", "10.0.28.23"], ["10.0.28.24", "10.0.28.24"], ["10.0.28.25", "10.0.28.25"], ["10.0.28.26", "10.0.28.26"], ["10.0.28.27", "10.0.28.27"], ["10.0.28.28", "10.0.28.28"], ["10.0.28.29", "10.0.28.29"], ["10.0.28.30", "10.0.28.30"], ["10.0.28.31", "10.0.28.31"], ["10.0.29.1", "10.0.29.1"], ["10.0.29.2", "10.0.29.2"], ["10.0.29.3", "10.0.29.3"], ["10.0.29.4", "10.0.29.4"], ["10.0.29.5", "10.0.29.5"], ["10.0.29.6", "10.0.29.6"], ["10.0.29.7", "10.0.29.7"], ["10.0.29.8", "10.0.29.8"], ["10.0.29.9", "10.0.29.9"], ["10.0.29.10", "10.0.29.10"], ["10.0.29.11", "10.0.29.11"], ["10.0.29.12", "10.0.29.12"], ["10.0.29.13", "10.0.29.13"], ["10.0.29.14", "10.0.29.14"], ["10.0.29.15", "10.0.29.15"], ["10.0.29.16", "10.0.29.16"], ["10.0.29.17", "10.0.29.17"], ["10.0.29.18", "10.0.29.18"], ["10.0.29.19", "10.0.29.19"], ["10.0.29.20", "10.0.29.20"], ["10.0.29.21", "10.0.29.21"], ["10.0.29.22", "10.0.29.22"], ["10.0.29.23", "10.0.29.23"], ["10.0.29.24", "10.0.29.24"], ["10.0.29.25", "10.0.29.25"], ["10.0.29.26", "10.0.29.26"], ["10.0.29.27", "10.0.29.27"], ["10.0.29.28", "10.0.29.28"], ["10.0.29.29", "10.0.29.29"], ["10.0.29.30", "10.0.29.30"], ["10.0.29.31", "10.0.29.31"], ["10.0.30.1", "10.0.30.1"], ["10.0.30.2", "10.0.30.2"], ["10.0.30.3", "10.0.30.3"], ["10.0.30.4", "10.0.30.4"], ["10.0.30.5", "10.0.30.5"], ["10.0.30.6", "10.0.30.6"], ["10.0.30.7", "10.0.30.7"], ["10.0.30.8", "10.0.30.8"], ["10.0.30.9", "10.0.30.9"], ["10.0.30.10", "10.0.30.10"], ["10.0.30.11", "10.0.30.11"], ["10.0.30.12", "10.0.30.12"], ["10.0.30.13", "10.0.30.13"], ["10.0.30.14", "10.0.30.14"], ["10.0.30.15", "10.0.30.15"], ["10.0.30.16", "10.0.30.16"], ["10.0.30.17", "10.0.30.17"], ["10.0.30.18", "10.0.30.18"], ["10.0.30.19", "10.0.30.19"], ["10.0.30.20", "10.0.30.20"], ["10.0.30.21", "10.0.30.21"], ["10.0.30.22", "10.0.30.22"], ["10.0.30.23", "10.0.30.23"], ["10.0.30.24", "10.0.30.24"], ["10.0.30.25", "10.0.30.25"], ["10.0.30.26", "10.0.30.26"], ["10.0.30.27", "10.0.30.27"], ["10.0.30.28", "10.0.30.28"], ["10.0.30.29", "10.0.30.29"], ["10.0.30.30", "10.0.30.30"], ["10.0.30.31", "10.0.30.31"], ["10.0.31.1", "10.0.31.1"], ["10.0.31.2", "10.0.31.2"], ["10.0.31.3", "10.0.31.3"], ["10.0.31.4", "10.0.31.4"], ["10.0.31.5", "10.0.31.5"], ["10.0.31.6", "10.0.31.6"], ["10.0.31.7", "10.0.31.7"], ["10.0.31.8", "10.0.31.8"], ["10.0.31.9", "10.0.31.9"], ["10.0.31.10", "10.0.31.10"], ["10.0.31.11", "10.0.31.11"], ["10.0.31.12", "10.0.31.12"], ["10.0.31.13", "10.0.31.13"], ["10.0.31.14", "10.0.31.14"], ["10.0.31.15", "10.0.31.15"], ["10.0.31.16", "10.0.31.16"], ["10.0.31.17", "10.0.31.17"], ["10.0.31.18", "10.0.31.18"], ["10.0.31.19", "10.0.31.19"], ["10.0.31.20", "10.0.31.20"], ["10.0.31.21", "10.0.31.21"], ["10.0.31.22", "10.0.31.22"], ["10.0.31.23", "10.0.31.23"], ["10.0.31.24", "10.0.31.24"], ["10.0.31.25", "10.0.31.25"], ["10.0.31.26", "10.0.31.26"], ["10.0.31.27", "10.0.31.27"], ["10.0.31.28", "10.0.31.28"], ["10.0.31.29", "10.0.31.29"], ["10.0.31.30", "10.0.31.30"], ["10.0.31.31", "10.0.31.31"]]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "y",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "elem": [
+ [
+ "10.0.1.1",
+ "10.0.1.1"
+ ],
+ [
+ "10.0.1.2",
+ "10.0.1.2"
+ ],
+ [
+ "10.0.1.3",
+ "10.0.1.3"
+ ],
+ [
+ "10.0.1.4",
+ "10.0.1.4"
+ ],
+ [
+ "10.0.1.5",
+ "10.0.1.5"
+ ],
+ [
+ "10.0.1.6",
+ "10.0.1.6"
+ ],
+ [
+ "10.0.1.7",
+ "10.0.1.7"
+ ],
+ [
+ "10.0.1.8",
+ "10.0.1.8"
+ ],
+ [
+ "10.0.1.9",
+ "10.0.1.9"
+ ],
+ [
+ "10.0.1.10",
+ "10.0.1.10"
+ ],
+ [
+ "10.0.1.11",
+ "10.0.1.11"
+ ],
+ [
+ "10.0.1.12",
+ "10.0.1.12"
+ ],
+ [
+ "10.0.1.13",
+ "10.0.1.13"
+ ],
+ [
+ "10.0.1.14",
+ "10.0.1.14"
+ ],
+ [
+ "10.0.1.15",
+ "10.0.1.15"
+ ],
+ [
+ "10.0.1.16",
+ "10.0.1.16"
+ ],
+ [
+ "10.0.1.17",
+ "10.0.1.17"
+ ],
+ [
+ "10.0.1.18",
+ "10.0.1.18"
+ ],
+ [
+ "10.0.1.19",
+ "10.0.1.19"
+ ],
+ [
+ "10.0.1.20",
+ "10.0.1.20"
+ ],
+ [
+ "10.0.1.21",
+ "10.0.1.21"
+ ],
+ [
+ "10.0.1.22",
+ "10.0.1.22"
+ ],
+ [
+ "10.0.1.23",
+ "10.0.1.23"
+ ],
+ [
+ "10.0.1.24",
+ "10.0.1.24"
+ ],
+ [
+ "10.0.1.25",
+ "10.0.1.25"
+ ],
+ [
+ "10.0.1.26",
+ "10.0.1.26"
+ ],
+ [
+ "10.0.1.27",
+ "10.0.1.27"
+ ],
+ [
+ "10.0.1.28",
+ "10.0.1.28"
+ ],
+ [
+ "10.0.1.29",
+ "10.0.1.29"
+ ],
+ [
+ "10.0.1.30",
+ "10.0.1.30"
+ ],
+ [
+ "10.0.1.31",
+ "10.0.1.31"
+ ],
+ [
+ "10.0.2.1",
+ "10.0.2.1"
+ ],
+ [
+ "10.0.2.2",
+ "10.0.2.2"
+ ],
+ [
+ "10.0.2.3",
+ "10.0.2.3"
+ ],
+ [
+ "10.0.2.4",
+ "10.0.2.4"
+ ],
+ [
+ "10.0.2.5",
+ "10.0.2.5"
+ ],
+ [
+ "10.0.2.6",
+ "10.0.2.6"
+ ],
+ [
+ "10.0.2.7",
+ "10.0.2.7"
+ ],
+ [
+ "10.0.2.8",
+ "10.0.2.8"
+ ],
+ [
+ "10.0.2.9",
+ "10.0.2.9"
+ ],
+ [
+ "10.0.2.10",
+ "10.0.2.10"
+ ],
+ [
+ "10.0.2.11",
+ "10.0.2.11"
+ ],
+ [
+ "10.0.2.12",
+ "10.0.2.12"
+ ],
+ [
+ "10.0.2.13",
+ "10.0.2.13"
+ ],
+ [
+ "10.0.2.14",
+ "10.0.2.14"
+ ],
+ [
+ "10.0.2.15",
+ "10.0.2.15"
+ ],
+ [
+ "10.0.2.16",
+ "10.0.2.16"
+ ],
+ [
+ "10.0.2.17",
+ "10.0.2.17"
+ ],
+ [
+ "10.0.2.18",
+ "10.0.2.18"
+ ],
+ [
+ "10.0.2.19",
+ "10.0.2.19"
+ ],
+ [
+ "10.0.2.20",
+ "10.0.2.20"
+ ],
+ [
+ "10.0.2.21",
+ "10.0.2.21"
+ ],
+ [
+ "10.0.2.22",
+ "10.0.2.22"
+ ],
+ [
+ "10.0.2.23",
+ "10.0.2.23"
+ ],
+ [
+ "10.0.2.24",
+ "10.0.2.24"
+ ],
+ [
+ "10.0.2.25",
+ "10.0.2.25"
+ ],
+ [
+ "10.0.2.26",
+ "10.0.2.26"
+ ],
+ [
+ "10.0.2.27",
+ "10.0.2.27"
+ ],
+ [
+ "10.0.2.28",
+ "10.0.2.28"
+ ],
+ [
+ "10.0.2.29",
+ "10.0.2.29"
+ ],
+ [
+ "10.0.2.30",
+ "10.0.2.30"
+ ],
+ [
+ "10.0.2.31",
+ "10.0.2.31"
+ ],
+ [
+ "10.0.3.1",
+ "10.0.3.1"
+ ],
+ [
+ "10.0.3.2",
+ "10.0.3.2"
+ ],
+ [
+ "10.0.3.3",
+ "10.0.3.3"
+ ],
+ [
+ "10.0.3.4",
+ "10.0.3.4"
+ ],
+ [
+ "10.0.3.5",
+ "10.0.3.5"
+ ],
+ [
+ "10.0.3.6",
+ "10.0.3.6"
+ ],
+ [
+ "10.0.3.7",
+ "10.0.3.7"
+ ],
+ [
+ "10.0.3.8",
+ "10.0.3.8"
+ ],
+ [
+ "10.0.3.9",
+ "10.0.3.9"
+ ],
+ [
+ "10.0.3.10",
+ "10.0.3.10"
+ ],
+ [
+ "10.0.3.11",
+ "10.0.3.11"
+ ],
+ [
+ "10.0.3.12",
+ "10.0.3.12"
+ ],
+ [
+ "10.0.3.13",
+ "10.0.3.13"
+ ],
+ [
+ "10.0.3.14",
+ "10.0.3.14"
+ ],
+ [
+ "10.0.3.15",
+ "10.0.3.15"
+ ],
+ [
+ "10.0.3.16",
+ "10.0.3.16"
+ ],
+ [
+ "10.0.3.17",
+ "10.0.3.17"
+ ],
+ [
+ "10.0.3.18",
+ "10.0.3.18"
+ ],
+ [
+ "10.0.3.19",
+ "10.0.3.19"
+ ],
+ [
+ "10.0.3.20",
+ "10.0.3.20"
+ ],
+ [
+ "10.0.3.21",
+ "10.0.3.21"
+ ],
+ [
+ "10.0.3.22",
+ "10.0.3.22"
+ ],
+ [
+ "10.0.3.23",
+ "10.0.3.23"
+ ],
+ [
+ "10.0.3.24",
+ "10.0.3.24"
+ ],
+ [
+ "10.0.3.25",
+ "10.0.3.25"
+ ],
+ [
+ "10.0.3.26",
+ "10.0.3.26"
+ ],
+ [
+ "10.0.3.27",
+ "10.0.3.27"
+ ],
+ [
+ "10.0.3.28",
+ "10.0.3.28"
+ ],
+ [
+ "10.0.3.29",
+ "10.0.3.29"
+ ],
+ [
+ "10.0.3.30",
+ "10.0.3.30"
+ ],
+ [
+ "10.0.3.31",
+ "10.0.3.31"
+ ],
+ [
+ "10.0.4.1",
+ "10.0.4.1"
+ ],
+ [
+ "10.0.4.2",
+ "10.0.4.2"
+ ],
+ [
+ "10.0.4.3",
+ "10.0.4.3"
+ ],
+ [
+ "10.0.4.4",
+ "10.0.4.4"
+ ],
+ [
+ "10.0.4.5",
+ "10.0.4.5"
+ ],
+ [
+ "10.0.4.6",
+ "10.0.4.6"
+ ],
+ [
+ "10.0.4.7",
+ "10.0.4.7"
+ ],
+ [
+ "10.0.4.8",
+ "10.0.4.8"
+ ],
+ [
+ "10.0.4.9",
+ "10.0.4.9"
+ ],
+ [
+ "10.0.4.10",
+ "10.0.4.10"
+ ],
+ [
+ "10.0.4.11",
+ "10.0.4.11"
+ ],
+ [
+ "10.0.4.12",
+ "10.0.4.12"
+ ],
+ [
+ "10.0.4.13",
+ "10.0.4.13"
+ ],
+ [
+ "10.0.4.14",
+ "10.0.4.14"
+ ],
+ [
+ "10.0.4.15",
+ "10.0.4.15"
+ ],
+ [
+ "10.0.4.16",
+ "10.0.4.16"
+ ],
+ [
+ "10.0.4.17",
+ "10.0.4.17"
+ ],
+ [
+ "10.0.4.18",
+ "10.0.4.18"
+ ],
+ [
+ "10.0.4.19",
+ "10.0.4.19"
+ ],
+ [
+ "10.0.4.20",
+ "10.0.4.20"
+ ],
+ [
+ "10.0.4.21",
+ "10.0.4.21"
+ ],
+ [
+ "10.0.4.22",
+ "10.0.4.22"
+ ],
+ [
+ "10.0.4.23",
+ "10.0.4.23"
+ ],
+ [
+ "10.0.4.24",
+ "10.0.4.24"
+ ],
+ [
+ "10.0.4.25",
+ "10.0.4.25"
+ ],
+ [
+ "10.0.4.26",
+ "10.0.4.26"
+ ],
+ [
+ "10.0.4.27",
+ "10.0.4.27"
+ ],
+ [
+ "10.0.4.28",
+ "10.0.4.28"
+ ],
+ [
+ "10.0.4.29",
+ "10.0.4.29"
+ ],
+ [
+ "10.0.4.30",
+ "10.0.4.30"
+ ],
+ [
+ "10.0.4.31",
+ "10.0.4.31"
+ ],
+ [
+ "10.0.5.1",
+ "10.0.5.1"
+ ],
+ [
+ "10.0.5.2",
+ "10.0.5.2"
+ ],
+ [
+ "10.0.5.3",
+ "10.0.5.3"
+ ],
+ [
+ "10.0.5.4",
+ "10.0.5.4"
+ ],
+ [
+ "10.0.5.5",
+ "10.0.5.5"
+ ],
+ [
+ "10.0.5.6",
+ "10.0.5.6"
+ ],
+ [
+ "10.0.5.7",
+ "10.0.5.7"
+ ],
+ [
+ "10.0.5.8",
+ "10.0.5.8"
+ ],
+ [
+ "10.0.5.9",
+ "10.0.5.9"
+ ],
+ [
+ "10.0.5.10",
+ "10.0.5.10"
+ ],
+ [
+ "10.0.5.11",
+ "10.0.5.11"
+ ],
+ [
+ "10.0.5.12",
+ "10.0.5.12"
+ ],
+ [
+ "10.0.5.13",
+ "10.0.5.13"
+ ],
+ [
+ "10.0.5.14",
+ "10.0.5.14"
+ ],
+ [
+ "10.0.5.15",
+ "10.0.5.15"
+ ],
+ [
+ "10.0.5.16",
+ "10.0.5.16"
+ ],
+ [
+ "10.0.5.17",
+ "10.0.5.17"
+ ],
+ [
+ "10.0.5.18",
+ "10.0.5.18"
+ ],
+ [
+ "10.0.5.19",
+ "10.0.5.19"
+ ],
+ [
+ "10.0.5.20",
+ "10.0.5.20"
+ ],
+ [
+ "10.0.5.21",
+ "10.0.5.21"
+ ],
+ [
+ "10.0.5.22",
+ "10.0.5.22"
+ ],
+ [
+ "10.0.5.23",
+ "10.0.5.23"
+ ],
+ [
+ "10.0.5.24",
+ "10.0.5.24"
+ ],
+ [
+ "10.0.5.25",
+ "10.0.5.25"
+ ],
+ [
+ "10.0.5.26",
+ "10.0.5.26"
+ ],
+ [
+ "10.0.5.27",
+ "10.0.5.27"
+ ],
+ [
+ "10.0.5.28",
+ "10.0.5.28"
+ ],
+ [
+ "10.0.5.29",
+ "10.0.5.29"
+ ],
+ [
+ "10.0.5.30",
+ "10.0.5.30"
+ ],
+ [
+ "10.0.5.31",
+ "10.0.5.31"
+ ],
+ [
+ "10.0.6.1",
+ "10.0.6.1"
+ ],
+ [
+ "10.0.6.2",
+ "10.0.6.2"
+ ],
+ [
+ "10.0.6.3",
+ "10.0.6.3"
+ ],
+ [
+ "10.0.6.4",
+ "10.0.6.4"
+ ],
+ [
+ "10.0.6.5",
+ "10.0.6.5"
+ ],
+ [
+ "10.0.6.6",
+ "10.0.6.6"
+ ],
+ [
+ "10.0.6.7",
+ "10.0.6.7"
+ ],
+ [
+ "10.0.6.8",
+ "10.0.6.8"
+ ],
+ [
+ "10.0.6.9",
+ "10.0.6.9"
+ ],
+ [
+ "10.0.6.10",
+ "10.0.6.10"
+ ],
+ [
+ "10.0.6.11",
+ "10.0.6.11"
+ ],
+ [
+ "10.0.6.12",
+ "10.0.6.12"
+ ],
+ [
+ "10.0.6.13",
+ "10.0.6.13"
+ ],
+ [
+ "10.0.6.14",
+ "10.0.6.14"
+ ],
+ [
+ "10.0.6.15",
+ "10.0.6.15"
+ ],
+ [
+ "10.0.6.16",
+ "10.0.6.16"
+ ],
+ [
+ "10.0.6.17",
+ "10.0.6.17"
+ ],
+ [
+ "10.0.6.18",
+ "10.0.6.18"
+ ],
+ [
+ "10.0.6.19",
+ "10.0.6.19"
+ ],
+ [
+ "10.0.6.20",
+ "10.0.6.20"
+ ],
+ [
+ "10.0.6.21",
+ "10.0.6.21"
+ ],
+ [
+ "10.0.6.22",
+ "10.0.6.22"
+ ],
+ [
+ "10.0.6.23",
+ "10.0.6.23"
+ ],
+ [
+ "10.0.6.24",
+ "10.0.6.24"
+ ],
+ [
+ "10.0.6.25",
+ "10.0.6.25"
+ ],
+ [
+ "10.0.6.26",
+ "10.0.6.26"
+ ],
+ [
+ "10.0.6.27",
+ "10.0.6.27"
+ ],
+ [
+ "10.0.6.28",
+ "10.0.6.28"
+ ],
+ [
+ "10.0.6.29",
+ "10.0.6.29"
+ ],
+ [
+ "10.0.6.30",
+ "10.0.6.30"
+ ],
+ [
+ "10.0.6.31",
+ "10.0.6.31"
+ ],
+ [
+ "10.0.7.1",
+ "10.0.7.1"
+ ],
+ [
+ "10.0.7.2",
+ "10.0.7.2"
+ ],
+ [
+ "10.0.7.3",
+ "10.0.7.3"
+ ],
+ [
+ "10.0.7.4",
+ "10.0.7.4"
+ ],
+ [
+ "10.0.7.5",
+ "10.0.7.5"
+ ],
+ [
+ "10.0.7.6",
+ "10.0.7.6"
+ ],
+ [
+ "10.0.7.7",
+ "10.0.7.7"
+ ],
+ [
+ "10.0.7.8",
+ "10.0.7.8"
+ ],
+ [
+ "10.0.7.9",
+ "10.0.7.9"
+ ],
+ [
+ "10.0.7.10",
+ "10.0.7.10"
+ ],
+ [
+ "10.0.7.11",
+ "10.0.7.11"
+ ],
+ [
+ "10.0.7.12",
+ "10.0.7.12"
+ ],
+ [
+ "10.0.7.13",
+ "10.0.7.13"
+ ],
+ [
+ "10.0.7.14",
+ "10.0.7.14"
+ ],
+ [
+ "10.0.7.15",
+ "10.0.7.15"
+ ],
+ [
+ "10.0.7.16",
+ "10.0.7.16"
+ ],
+ [
+ "10.0.7.17",
+ "10.0.7.17"
+ ],
+ [
+ "10.0.7.18",
+ "10.0.7.18"
+ ],
+ [
+ "10.0.7.19",
+ "10.0.7.19"
+ ],
+ [
+ "10.0.7.20",
+ "10.0.7.20"
+ ],
+ [
+ "10.0.7.21",
+ "10.0.7.21"
+ ],
+ [
+ "10.0.7.22",
+ "10.0.7.22"
+ ],
+ [
+ "10.0.7.23",
+ "10.0.7.23"
+ ],
+ [
+ "10.0.7.24",
+ "10.0.7.24"
+ ],
+ [
+ "10.0.7.25",
+ "10.0.7.25"
+ ],
+ [
+ "10.0.7.26",
+ "10.0.7.26"
+ ],
+ [
+ "10.0.7.27",
+ "10.0.7.27"
+ ],
+ [
+ "10.0.7.28",
+ "10.0.7.28"
+ ],
+ [
+ "10.0.7.29",
+ "10.0.7.29"
+ ],
+ [
+ "10.0.7.30",
+ "10.0.7.30"
+ ],
+ [
+ "10.0.7.31",
+ "10.0.7.31"
+ ],
+ [
+ "10.0.8.1",
+ "10.0.8.1"
+ ],
+ [
+ "10.0.8.2",
+ "10.0.8.2"
+ ],
+ [
+ "10.0.8.3",
+ "10.0.8.3"
+ ],
+ [
+ "10.0.8.4",
+ "10.0.8.4"
+ ],
+ [
+ "10.0.8.5",
+ "10.0.8.5"
+ ],
+ [
+ "10.0.8.6",
+ "10.0.8.6"
+ ],
+ [
+ "10.0.8.7",
+ "10.0.8.7"
+ ],
+ [
+ "10.0.8.8",
+ "10.0.8.8"
+ ],
+ [
+ "10.0.8.9",
+ "10.0.8.9"
+ ],
+ [
+ "10.0.8.10",
+ "10.0.8.10"
+ ],
+ [
+ "10.0.8.11",
+ "10.0.8.11"
+ ],
+ [
+ "10.0.8.12",
+ "10.0.8.12"
+ ],
+ [
+ "10.0.8.13",
+ "10.0.8.13"
+ ],
+ [
+ "10.0.8.14",
+ "10.0.8.14"
+ ],
+ [
+ "10.0.8.15",
+ "10.0.8.15"
+ ],
+ [
+ "10.0.8.16",
+ "10.0.8.16"
+ ],
+ [
+ "10.0.8.17",
+ "10.0.8.17"
+ ],
+ [
+ "10.0.8.18",
+ "10.0.8.18"
+ ],
+ [
+ "10.0.8.19",
+ "10.0.8.19"
+ ],
+ [
+ "10.0.8.20",
+ "10.0.8.20"
+ ],
+ [
+ "10.0.8.21",
+ "10.0.8.21"
+ ],
+ [
+ "10.0.8.22",
+ "10.0.8.22"
+ ],
+ [
+ "10.0.8.23",
+ "10.0.8.23"
+ ],
+ [
+ "10.0.8.24",
+ "10.0.8.24"
+ ],
+ [
+ "10.0.8.25",
+ "10.0.8.25"
+ ],
+ [
+ "10.0.8.26",
+ "10.0.8.26"
+ ],
+ [
+ "10.0.8.27",
+ "10.0.8.27"
+ ],
+ [
+ "10.0.8.28",
+ "10.0.8.28"
+ ],
+ [
+ "10.0.8.29",
+ "10.0.8.29"
+ ],
+ [
+ "10.0.8.30",
+ "10.0.8.30"
+ ],
+ [
+ "10.0.8.31",
+ "10.0.8.31"
+ ],
+ [
+ "10.0.9.1",
+ "10.0.9.1"
+ ],
+ [
+ "10.0.9.2",
+ "10.0.9.2"
+ ],
+ [
+ "10.0.9.3",
+ "10.0.9.3"
+ ],
+ [
+ "10.0.9.4",
+ "10.0.9.4"
+ ],
+ [
+ "10.0.9.5",
+ "10.0.9.5"
+ ],
+ [
+ "10.0.9.6",
+ "10.0.9.6"
+ ],
+ [
+ "10.0.9.7",
+ "10.0.9.7"
+ ],
+ [
+ "10.0.9.8",
+ "10.0.9.8"
+ ],
+ [
+ "10.0.9.9",
+ "10.0.9.9"
+ ],
+ [
+ "10.0.9.10",
+ "10.0.9.10"
+ ],
+ [
+ "10.0.9.11",
+ "10.0.9.11"
+ ],
+ [
+ "10.0.9.12",
+ "10.0.9.12"
+ ],
+ [
+ "10.0.9.13",
+ "10.0.9.13"
+ ],
+ [
+ "10.0.9.14",
+ "10.0.9.14"
+ ],
+ [
+ "10.0.9.15",
+ "10.0.9.15"
+ ],
+ [
+ "10.0.9.16",
+ "10.0.9.16"
+ ],
+ [
+ "10.0.9.17",
+ "10.0.9.17"
+ ],
+ [
+ "10.0.9.18",
+ "10.0.9.18"
+ ],
+ [
+ "10.0.9.19",
+ "10.0.9.19"
+ ],
+ [
+ "10.0.9.20",
+ "10.0.9.20"
+ ],
+ [
+ "10.0.9.21",
+ "10.0.9.21"
+ ],
+ [
+ "10.0.9.22",
+ "10.0.9.22"
+ ],
+ [
+ "10.0.9.23",
+ "10.0.9.23"
+ ],
+ [
+ "10.0.9.24",
+ "10.0.9.24"
+ ],
+ [
+ "10.0.9.25",
+ "10.0.9.25"
+ ],
+ [
+ "10.0.9.26",
+ "10.0.9.26"
+ ],
+ [
+ "10.0.9.27",
+ "10.0.9.27"
+ ],
+ [
+ "10.0.9.28",
+ "10.0.9.28"
+ ],
+ [
+ "10.0.9.29",
+ "10.0.9.29"
+ ],
+ [
+ "10.0.9.30",
+ "10.0.9.30"
+ ],
+ [
+ "10.0.9.31",
+ "10.0.9.31"
+ ],
+ [
+ "10.0.10.1",
+ "10.0.10.1"
+ ],
+ [
+ "10.0.10.2",
+ "10.0.10.2"
+ ],
+ [
+ "10.0.10.3",
+ "10.0.10.3"
+ ],
+ [
+ "10.0.10.4",
+ "10.0.10.4"
+ ],
+ [
+ "10.0.10.5",
+ "10.0.10.5"
+ ],
+ [
+ "10.0.10.6",
+ "10.0.10.6"
+ ],
+ [
+ "10.0.10.7",
+ "10.0.10.7"
+ ],
+ [
+ "10.0.10.8",
+ "10.0.10.8"
+ ],
+ [
+ "10.0.10.9",
+ "10.0.10.9"
+ ],
+ [
+ "10.0.10.10",
+ "10.0.10.10"
+ ],
+ [
+ "10.0.10.11",
+ "10.0.10.11"
+ ],
+ [
+ "10.0.10.12",
+ "10.0.10.12"
+ ],
+ [
+ "10.0.10.13",
+ "10.0.10.13"
+ ],
+ [
+ "10.0.10.14",
+ "10.0.10.14"
+ ],
+ [
+ "10.0.10.15",
+ "10.0.10.15"
+ ],
+ [
+ "10.0.10.16",
+ "10.0.10.16"
+ ],
+ [
+ "10.0.10.17",
+ "10.0.10.17"
+ ],
+ [
+ "10.0.10.18",
+ "10.0.10.18"
+ ],
+ [
+ "10.0.10.19",
+ "10.0.10.19"
+ ],
+ [
+ "10.0.10.20",
+ "10.0.10.20"
+ ],
+ [
+ "10.0.10.21",
+ "10.0.10.21"
+ ],
+ [
+ "10.0.10.22",
+ "10.0.10.22"
+ ],
+ [
+ "10.0.10.23",
+ "10.0.10.23"
+ ],
+ [
+ "10.0.10.24",
+ "10.0.10.24"
+ ],
+ [
+ "10.0.10.25",
+ "10.0.10.25"
+ ],
+ [
+ "10.0.10.26",
+ "10.0.10.26"
+ ],
+ [
+ "10.0.10.27",
+ "10.0.10.27"
+ ],
+ [
+ "10.0.10.28",
+ "10.0.10.28"
+ ],
+ [
+ "10.0.10.29",
+ "10.0.10.29"
+ ],
+ [
+ "10.0.10.30",
+ "10.0.10.30"
+ ],
+ [
+ "10.0.10.31",
+ "10.0.10.31"
+ ],
+ [
+ "10.0.11.1",
+ "10.0.11.1"
+ ],
+ [
+ "10.0.11.2",
+ "10.0.11.2"
+ ],
+ [
+ "10.0.11.3",
+ "10.0.11.3"
+ ],
+ [
+ "10.0.11.4",
+ "10.0.11.4"
+ ],
+ [
+ "10.0.11.5",
+ "10.0.11.5"
+ ],
+ [
+ "10.0.11.6",
+ "10.0.11.6"
+ ],
+ [
+ "10.0.11.7",
+ "10.0.11.7"
+ ],
+ [
+ "10.0.11.8",
+ "10.0.11.8"
+ ],
+ [
+ "10.0.11.9",
+ "10.0.11.9"
+ ],
+ [
+ "10.0.11.10",
+ "10.0.11.10"
+ ],
+ [
+ "10.0.11.11",
+ "10.0.11.11"
+ ],
+ [
+ "10.0.11.12",
+ "10.0.11.12"
+ ],
+ [
+ "10.0.11.13",
+ "10.0.11.13"
+ ],
+ [
+ "10.0.11.14",
+ "10.0.11.14"
+ ],
+ [
+ "10.0.11.15",
+ "10.0.11.15"
+ ],
+ [
+ "10.0.11.16",
+ "10.0.11.16"
+ ],
+ [
+ "10.0.11.17",
+ "10.0.11.17"
+ ],
+ [
+ "10.0.11.18",
+ "10.0.11.18"
+ ],
+ [
+ "10.0.11.19",
+ "10.0.11.19"
+ ],
+ [
+ "10.0.11.20",
+ "10.0.11.20"
+ ],
+ [
+ "10.0.11.21",
+ "10.0.11.21"
+ ],
+ [
+ "10.0.11.22",
+ "10.0.11.22"
+ ],
+ [
+ "10.0.11.23",
+ "10.0.11.23"
+ ],
+ [
+ "10.0.11.24",
+ "10.0.11.24"
+ ],
+ [
+ "10.0.11.25",
+ "10.0.11.25"
+ ],
+ [
+ "10.0.11.26",
+ "10.0.11.26"
+ ],
+ [
+ "10.0.11.27",
+ "10.0.11.27"
+ ],
+ [
+ "10.0.11.28",
+ "10.0.11.28"
+ ],
+ [
+ "10.0.11.29",
+ "10.0.11.29"
+ ],
+ [
+ "10.0.11.30",
+ "10.0.11.30"
+ ],
+ [
+ "10.0.11.31",
+ "10.0.11.31"
+ ],
+ [
+ "10.0.12.1",
+ "10.0.12.1"
+ ],
+ [
+ "10.0.12.2",
+ "10.0.12.2"
+ ],
+ [
+ "10.0.12.3",
+ "10.0.12.3"
+ ],
+ [
+ "10.0.12.4",
+ "10.0.12.4"
+ ],
+ [
+ "10.0.12.5",
+ "10.0.12.5"
+ ],
+ [
+ "10.0.12.6",
+ "10.0.12.6"
+ ],
+ [
+ "10.0.12.7",
+ "10.0.12.7"
+ ],
+ [
+ "10.0.12.8",
+ "10.0.12.8"
+ ],
+ [
+ "10.0.12.9",
+ "10.0.12.9"
+ ],
+ [
+ "10.0.12.10",
+ "10.0.12.10"
+ ],
+ [
+ "10.0.12.11",
+ "10.0.12.11"
+ ],
+ [
+ "10.0.12.12",
+ "10.0.12.12"
+ ],
+ [
+ "10.0.12.13",
+ "10.0.12.13"
+ ],
+ [
+ "10.0.12.14",
+ "10.0.12.14"
+ ],
+ [
+ "10.0.12.15",
+ "10.0.12.15"
+ ],
+ [
+ "10.0.12.16",
+ "10.0.12.16"
+ ],
+ [
+ "10.0.12.17",
+ "10.0.12.17"
+ ],
+ [
+ "10.0.12.18",
+ "10.0.12.18"
+ ],
+ [
+ "10.0.12.19",
+ "10.0.12.19"
+ ],
+ [
+ "10.0.12.20",
+ "10.0.12.20"
+ ],
+ [
+ "10.0.12.21",
+ "10.0.12.21"
+ ],
+ [
+ "10.0.12.22",
+ "10.0.12.22"
+ ],
+ [
+ "10.0.12.23",
+ "10.0.12.23"
+ ],
+ [
+ "10.0.12.24",
+ "10.0.12.24"
+ ],
+ [
+ "10.0.12.25",
+ "10.0.12.25"
+ ],
+ [
+ "10.0.12.26",
+ "10.0.12.26"
+ ],
+ [
+ "10.0.12.27",
+ "10.0.12.27"
+ ],
+ [
+ "10.0.12.28",
+ "10.0.12.28"
+ ],
+ [
+ "10.0.12.29",
+ "10.0.12.29"
+ ],
+ [
+ "10.0.12.30",
+ "10.0.12.30"
+ ],
+ [
+ "10.0.12.31",
+ "10.0.12.31"
+ ],
+ [
+ "10.0.13.1",
+ "10.0.13.1"
+ ],
+ [
+ "10.0.13.2",
+ "10.0.13.2"
+ ],
+ [
+ "10.0.13.3",
+ "10.0.13.3"
+ ],
+ [
+ "10.0.13.4",
+ "10.0.13.4"
+ ],
+ [
+ "10.0.13.5",
+ "10.0.13.5"
+ ],
+ [
+ "10.0.13.6",
+ "10.0.13.6"
+ ],
+ [
+ "10.0.13.7",
+ "10.0.13.7"
+ ],
+ [
+ "10.0.13.8",
+ "10.0.13.8"
+ ],
+ [
+ "10.0.13.9",
+ "10.0.13.9"
+ ],
+ [
+ "10.0.13.10",
+ "10.0.13.10"
+ ],
+ [
+ "10.0.13.11",
+ "10.0.13.11"
+ ],
+ [
+ "10.0.13.12",
+ "10.0.13.12"
+ ],
+ [
+ "10.0.13.13",
+ "10.0.13.13"
+ ],
+ [
+ "10.0.13.14",
+ "10.0.13.14"
+ ],
+ [
+ "10.0.13.15",
+ "10.0.13.15"
+ ],
+ [
+ "10.0.13.16",
+ "10.0.13.16"
+ ],
+ [
+ "10.0.13.17",
+ "10.0.13.17"
+ ],
+ [
+ "10.0.13.18",
+ "10.0.13.18"
+ ],
+ [
+ "10.0.13.19",
+ "10.0.13.19"
+ ],
+ [
+ "10.0.13.20",
+ "10.0.13.20"
+ ],
+ [
+ "10.0.13.21",
+ "10.0.13.21"
+ ],
+ [
+ "10.0.13.22",
+ "10.0.13.22"
+ ],
+ [
+ "10.0.13.23",
+ "10.0.13.23"
+ ],
+ [
+ "10.0.13.24",
+ "10.0.13.24"
+ ],
+ [
+ "10.0.13.25",
+ "10.0.13.25"
+ ],
+ [
+ "10.0.13.26",
+ "10.0.13.26"
+ ],
+ [
+ "10.0.13.27",
+ "10.0.13.27"
+ ],
+ [
+ "10.0.13.28",
+ "10.0.13.28"
+ ],
+ [
+ "10.0.13.29",
+ "10.0.13.29"
+ ],
+ [
+ "10.0.13.30",
+ "10.0.13.30"
+ ],
+ [
+ "10.0.13.31",
+ "10.0.13.31"
+ ],
+ [
+ "10.0.14.1",
+ "10.0.14.1"
+ ],
+ [
+ "10.0.14.2",
+ "10.0.14.2"
+ ],
+ [
+ "10.0.14.3",
+ "10.0.14.3"
+ ],
+ [
+ "10.0.14.4",
+ "10.0.14.4"
+ ],
+ [
+ "10.0.14.5",
+ "10.0.14.5"
+ ],
+ [
+ "10.0.14.6",
+ "10.0.14.6"
+ ],
+ [
+ "10.0.14.7",
+ "10.0.14.7"
+ ],
+ [
+ "10.0.14.8",
+ "10.0.14.8"
+ ],
+ [
+ "10.0.14.9",
+ "10.0.14.9"
+ ],
+ [
+ "10.0.14.10",
+ "10.0.14.10"
+ ],
+ [
+ "10.0.14.11",
+ "10.0.14.11"
+ ],
+ [
+ "10.0.14.12",
+ "10.0.14.12"
+ ],
+ [
+ "10.0.14.13",
+ "10.0.14.13"
+ ],
+ [
+ "10.0.14.14",
+ "10.0.14.14"
+ ],
+ [
+ "10.0.14.15",
+ "10.0.14.15"
+ ],
+ [
+ "10.0.14.16",
+ "10.0.14.16"
+ ],
+ [
+ "10.0.14.17",
+ "10.0.14.17"
+ ],
+ [
+ "10.0.14.18",
+ "10.0.14.18"
+ ],
+ [
+ "10.0.14.19",
+ "10.0.14.19"
+ ],
+ [
+ "10.0.14.20",
+ "10.0.14.20"
+ ],
+ [
+ "10.0.14.21",
+ "10.0.14.21"
+ ],
+ [
+ "10.0.14.22",
+ "10.0.14.22"
+ ],
+ [
+ "10.0.14.23",
+ "10.0.14.23"
+ ],
+ [
+ "10.0.14.24",
+ "10.0.14.24"
+ ],
+ [
+ "10.0.14.25",
+ "10.0.14.25"
+ ],
+ [
+ "10.0.14.26",
+ "10.0.14.26"
+ ],
+ [
+ "10.0.14.27",
+ "10.0.14.27"
+ ],
+ [
+ "10.0.14.28",
+ "10.0.14.28"
+ ],
+ [
+ "10.0.14.29",
+ "10.0.14.29"
+ ],
+ [
+ "10.0.14.30",
+ "10.0.14.30"
+ ],
+ [
+ "10.0.14.31",
+ "10.0.14.31"
+ ],
+ [
+ "10.0.15.1",
+ "10.0.15.1"
+ ],
+ [
+ "10.0.15.2",
+ "10.0.15.2"
+ ],
+ [
+ "10.0.15.3",
+ "10.0.15.3"
+ ],
+ [
+ "10.0.15.4",
+ "10.0.15.4"
+ ],
+ [
+ "10.0.15.5",
+ "10.0.15.5"
+ ],
+ [
+ "10.0.15.6",
+ "10.0.15.6"
+ ],
+ [
+ "10.0.15.7",
+ "10.0.15.7"
+ ],
+ [
+ "10.0.15.8",
+ "10.0.15.8"
+ ],
+ [
+ "10.0.15.9",
+ "10.0.15.9"
+ ],
+ [
+ "10.0.15.10",
+ "10.0.15.10"
+ ],
+ [
+ "10.0.15.11",
+ "10.0.15.11"
+ ],
+ [
+ "10.0.15.12",
+ "10.0.15.12"
+ ],
+ [
+ "10.0.15.13",
+ "10.0.15.13"
+ ],
+ [
+ "10.0.15.14",
+ "10.0.15.14"
+ ],
+ [
+ "10.0.15.15",
+ "10.0.15.15"
+ ],
+ [
+ "10.0.15.16",
+ "10.0.15.16"
+ ],
+ [
+ "10.0.15.17",
+ "10.0.15.17"
+ ],
+ [
+ "10.0.15.18",
+ "10.0.15.18"
+ ],
+ [
+ "10.0.15.19",
+ "10.0.15.19"
+ ],
+ [
+ "10.0.15.20",
+ "10.0.15.20"
+ ],
+ [
+ "10.0.15.21",
+ "10.0.15.21"
+ ],
+ [
+ "10.0.15.22",
+ "10.0.15.22"
+ ],
+ [
+ "10.0.15.23",
+ "10.0.15.23"
+ ],
+ [
+ "10.0.15.24",
+ "10.0.15.24"
+ ],
+ [
+ "10.0.15.25",
+ "10.0.15.25"
+ ],
+ [
+ "10.0.15.26",
+ "10.0.15.26"
+ ],
+ [
+ "10.0.15.27",
+ "10.0.15.27"
+ ],
+ [
+ "10.0.15.28",
+ "10.0.15.28"
+ ],
+ [
+ "10.0.15.29",
+ "10.0.15.29"
+ ],
+ [
+ "10.0.15.30",
+ "10.0.15.30"
+ ],
+ [
+ "10.0.15.31",
+ "10.0.15.31"
+ ],
+ [
+ "10.0.16.1",
+ "10.0.16.1"
+ ],
+ [
+ "10.0.16.2",
+ "10.0.16.2"
+ ],
+ [
+ "10.0.16.3",
+ "10.0.16.3"
+ ],
+ [
+ "10.0.16.4",
+ "10.0.16.4"
+ ],
+ [
+ "10.0.16.5",
+ "10.0.16.5"
+ ],
+ [
+ "10.0.16.6",
+ "10.0.16.6"
+ ],
+ [
+ "10.0.16.7",
+ "10.0.16.7"
+ ],
+ [
+ "10.0.16.8",
+ "10.0.16.8"
+ ],
+ [
+ "10.0.16.9",
+ "10.0.16.9"
+ ],
+ [
+ "10.0.16.10",
+ "10.0.16.10"
+ ],
+ [
+ "10.0.16.11",
+ "10.0.16.11"
+ ],
+ [
+ "10.0.16.12",
+ "10.0.16.12"
+ ],
+ [
+ "10.0.16.13",
+ "10.0.16.13"
+ ],
+ [
+ "10.0.16.14",
+ "10.0.16.14"
+ ],
+ [
+ "10.0.16.15",
+ "10.0.16.15"
+ ],
+ [
+ "10.0.16.16",
+ "10.0.16.16"
+ ],
+ [
+ "10.0.16.17",
+ "10.0.16.17"
+ ],
+ [
+ "10.0.16.18",
+ "10.0.16.18"
+ ],
+ [
+ "10.0.16.19",
+ "10.0.16.19"
+ ],
+ [
+ "10.0.16.20",
+ "10.0.16.20"
+ ],
+ [
+ "10.0.16.21",
+ "10.0.16.21"
+ ],
+ [
+ "10.0.16.22",
+ "10.0.16.22"
+ ],
+ [
+ "10.0.16.23",
+ "10.0.16.23"
+ ],
+ [
+ "10.0.16.24",
+ "10.0.16.24"
+ ],
+ [
+ "10.0.16.25",
+ "10.0.16.25"
+ ],
+ [
+ "10.0.16.26",
+ "10.0.16.26"
+ ],
+ [
+ "10.0.16.27",
+ "10.0.16.27"
+ ],
+ [
+ "10.0.16.28",
+ "10.0.16.28"
+ ],
+ [
+ "10.0.16.29",
+ "10.0.16.29"
+ ],
+ [
+ "10.0.16.30",
+ "10.0.16.30"
+ ],
+ [
+ "10.0.16.31",
+ "10.0.16.31"
+ ],
+ [
+ "10.0.17.1",
+ "10.0.17.1"
+ ],
+ [
+ "10.0.17.2",
+ "10.0.17.2"
+ ],
+ [
+ "10.0.17.3",
+ "10.0.17.3"
+ ],
+ [
+ "10.0.17.4",
+ "10.0.17.4"
+ ],
+ [
+ "10.0.17.5",
+ "10.0.17.5"
+ ],
+ [
+ "10.0.17.6",
+ "10.0.17.6"
+ ],
+ [
+ "10.0.17.7",
+ "10.0.17.7"
+ ],
+ [
+ "10.0.17.8",
+ "10.0.17.8"
+ ],
+ [
+ "10.0.17.9",
+ "10.0.17.9"
+ ],
+ [
+ "10.0.17.10",
+ "10.0.17.10"
+ ],
+ [
+ "10.0.17.11",
+ "10.0.17.11"
+ ],
+ [
+ "10.0.17.12",
+ "10.0.17.12"
+ ],
+ [
+ "10.0.17.13",
+ "10.0.17.13"
+ ],
+ [
+ "10.0.17.14",
+ "10.0.17.14"
+ ],
+ [
+ "10.0.17.15",
+ "10.0.17.15"
+ ],
+ [
+ "10.0.17.16",
+ "10.0.17.16"
+ ],
+ [
+ "10.0.17.17",
+ "10.0.17.17"
+ ],
+ [
+ "10.0.17.18",
+ "10.0.17.18"
+ ],
+ [
+ "10.0.17.19",
+ "10.0.17.19"
+ ],
+ [
+ "10.0.17.20",
+ "10.0.17.20"
+ ],
+ [
+ "10.0.17.21",
+ "10.0.17.21"
+ ],
+ [
+ "10.0.17.22",
+ "10.0.17.22"
+ ],
+ [
+ "10.0.17.23",
+ "10.0.17.23"
+ ],
+ [
+ "10.0.17.24",
+ "10.0.17.24"
+ ],
+ [
+ "10.0.17.25",
+ "10.0.17.25"
+ ],
+ [
+ "10.0.17.26",
+ "10.0.17.26"
+ ],
+ [
+ "10.0.17.27",
+ "10.0.17.27"
+ ],
+ [
+ "10.0.17.28",
+ "10.0.17.28"
+ ],
+ [
+ "10.0.17.29",
+ "10.0.17.29"
+ ],
+ [
+ "10.0.17.30",
+ "10.0.17.30"
+ ],
+ [
+ "10.0.17.31",
+ "10.0.17.31"
+ ],
+ [
+ "10.0.18.1",
+ "10.0.18.1"
+ ],
+ [
+ "10.0.18.2",
+ "10.0.18.2"
+ ],
+ [
+ "10.0.18.3",
+ "10.0.18.3"
+ ],
+ [
+ "10.0.18.4",
+ "10.0.18.4"
+ ],
+ [
+ "10.0.18.5",
+ "10.0.18.5"
+ ],
+ [
+ "10.0.18.6",
+ "10.0.18.6"
+ ],
+ [
+ "10.0.18.7",
+ "10.0.18.7"
+ ],
+ [
+ "10.0.18.8",
+ "10.0.18.8"
+ ],
+ [
+ "10.0.18.9",
+ "10.0.18.9"
+ ],
+ [
+ "10.0.18.10",
+ "10.0.18.10"
+ ],
+ [
+ "10.0.18.11",
+ "10.0.18.11"
+ ],
+ [
+ "10.0.18.12",
+ "10.0.18.12"
+ ],
+ [
+ "10.0.18.13",
+ "10.0.18.13"
+ ],
+ [
+ "10.0.18.14",
+ "10.0.18.14"
+ ],
+ [
+ "10.0.18.15",
+ "10.0.18.15"
+ ],
+ [
+ "10.0.18.16",
+ "10.0.18.16"
+ ],
+ [
+ "10.0.18.17",
+ "10.0.18.17"
+ ],
+ [
+ "10.0.18.18",
+ "10.0.18.18"
+ ],
+ [
+ "10.0.18.19",
+ "10.0.18.19"
+ ],
+ [
+ "10.0.18.20",
+ "10.0.18.20"
+ ],
+ [
+ "10.0.18.21",
+ "10.0.18.21"
+ ],
+ [
+ "10.0.18.22",
+ "10.0.18.22"
+ ],
+ [
+ "10.0.18.23",
+ "10.0.18.23"
+ ],
+ [
+ "10.0.18.24",
+ "10.0.18.24"
+ ],
+ [
+ "10.0.18.25",
+ "10.0.18.25"
+ ],
+ [
+ "10.0.18.26",
+ "10.0.18.26"
+ ],
+ [
+ "10.0.18.27",
+ "10.0.18.27"
+ ],
+ [
+ "10.0.18.28",
+ "10.0.18.28"
+ ],
+ [
+ "10.0.18.29",
+ "10.0.18.29"
+ ],
+ [
+ "10.0.18.30",
+ "10.0.18.30"
+ ],
+ [
+ "10.0.18.31",
+ "10.0.18.31"
+ ],
+ [
+ "10.0.19.1",
+ "10.0.19.1"
+ ],
+ [
+ "10.0.19.2",
+ "10.0.19.2"
+ ],
+ [
+ "10.0.19.3",
+ "10.0.19.3"
+ ],
+ [
+ "10.0.19.4",
+ "10.0.19.4"
+ ],
+ [
+ "10.0.19.5",
+ "10.0.19.5"
+ ],
+ [
+ "10.0.19.6",
+ "10.0.19.6"
+ ],
+ [
+ "10.0.19.7",
+ "10.0.19.7"
+ ],
+ [
+ "10.0.19.8",
+ "10.0.19.8"
+ ],
+ [
+ "10.0.19.9",
+ "10.0.19.9"
+ ],
+ [
+ "10.0.19.10",
+ "10.0.19.10"
+ ],
+ [
+ "10.0.19.11",
+ "10.0.19.11"
+ ],
+ [
+ "10.0.19.12",
+ "10.0.19.12"
+ ],
+ [
+ "10.0.19.13",
+ "10.0.19.13"
+ ],
+ [
+ "10.0.19.14",
+ "10.0.19.14"
+ ],
+ [
+ "10.0.19.15",
+ "10.0.19.15"
+ ],
+ [
+ "10.0.19.16",
+ "10.0.19.16"
+ ],
+ [
+ "10.0.19.17",
+ "10.0.19.17"
+ ],
+ [
+ "10.0.19.18",
+ "10.0.19.18"
+ ],
+ [
+ "10.0.19.19",
+ "10.0.19.19"
+ ],
+ [
+ "10.0.19.20",
+ "10.0.19.20"
+ ],
+ [
+ "10.0.19.21",
+ "10.0.19.21"
+ ],
+ [
+ "10.0.19.22",
+ "10.0.19.22"
+ ],
+ [
+ "10.0.19.23",
+ "10.0.19.23"
+ ],
+ [
+ "10.0.19.24",
+ "10.0.19.24"
+ ],
+ [
+ "10.0.19.25",
+ "10.0.19.25"
+ ],
+ [
+ "10.0.19.26",
+ "10.0.19.26"
+ ],
+ [
+ "10.0.19.27",
+ "10.0.19.27"
+ ],
+ [
+ "10.0.19.28",
+ "10.0.19.28"
+ ],
+ [
+ "10.0.19.29",
+ "10.0.19.29"
+ ],
+ [
+ "10.0.19.30",
+ "10.0.19.30"
+ ],
+ [
+ "10.0.19.31",
+ "10.0.19.31"
+ ],
+ [
+ "10.0.20.1",
+ "10.0.20.1"
+ ],
+ [
+ "10.0.20.2",
+ "10.0.20.2"
+ ],
+ [
+ "10.0.20.3",
+ "10.0.20.3"
+ ],
+ [
+ "10.0.20.4",
+ "10.0.20.4"
+ ],
+ [
+ "10.0.20.5",
+ "10.0.20.5"
+ ],
+ [
+ "10.0.20.6",
+ "10.0.20.6"
+ ],
+ [
+ "10.0.20.7",
+ "10.0.20.7"
+ ],
+ [
+ "10.0.20.8",
+ "10.0.20.8"
+ ],
+ [
+ "10.0.20.9",
+ "10.0.20.9"
+ ],
+ [
+ "10.0.20.10",
+ "10.0.20.10"
+ ],
+ [
+ "10.0.20.11",
+ "10.0.20.11"
+ ],
+ [
+ "10.0.20.12",
+ "10.0.20.12"
+ ],
+ [
+ "10.0.20.13",
+ "10.0.20.13"
+ ],
+ [
+ "10.0.20.14",
+ "10.0.20.14"
+ ],
+ [
+ "10.0.20.15",
+ "10.0.20.15"
+ ],
+ [
+ "10.0.20.16",
+ "10.0.20.16"
+ ],
+ [
+ "10.0.20.17",
+ "10.0.20.17"
+ ],
+ [
+ "10.0.20.18",
+ "10.0.20.18"
+ ],
+ [
+ "10.0.20.19",
+ "10.0.20.19"
+ ],
+ [
+ "10.0.20.20",
+ "10.0.20.20"
+ ],
+ [
+ "10.0.20.21",
+ "10.0.20.21"
+ ],
+ [
+ "10.0.20.22",
+ "10.0.20.22"
+ ],
+ [
+ "10.0.20.23",
+ "10.0.20.23"
+ ],
+ [
+ "10.0.20.24",
+ "10.0.20.24"
+ ],
+ [
+ "10.0.20.25",
+ "10.0.20.25"
+ ],
+ [
+ "10.0.20.26",
+ "10.0.20.26"
+ ],
+ [
+ "10.0.20.27",
+ "10.0.20.27"
+ ],
+ [
+ "10.0.20.28",
+ "10.0.20.28"
+ ],
+ [
+ "10.0.20.29",
+ "10.0.20.29"
+ ],
+ [
+ "10.0.20.30",
+ "10.0.20.30"
+ ],
+ [
+ "10.0.20.31",
+ "10.0.20.31"
+ ],
+ [
+ "10.0.21.1",
+ "10.0.21.1"
+ ],
+ [
+ "10.0.21.2",
+ "10.0.21.2"
+ ],
+ [
+ "10.0.21.3",
+ "10.0.21.3"
+ ],
+ [
+ "10.0.21.4",
+ "10.0.21.4"
+ ],
+ [
+ "10.0.21.5",
+ "10.0.21.5"
+ ],
+ [
+ "10.0.21.6",
+ "10.0.21.6"
+ ],
+ [
+ "10.0.21.7",
+ "10.0.21.7"
+ ],
+ [
+ "10.0.21.8",
+ "10.0.21.8"
+ ],
+ [
+ "10.0.21.9",
+ "10.0.21.9"
+ ],
+ [
+ "10.0.21.10",
+ "10.0.21.10"
+ ],
+ [
+ "10.0.21.11",
+ "10.0.21.11"
+ ],
+ [
+ "10.0.21.12",
+ "10.0.21.12"
+ ],
+ [
+ "10.0.21.13",
+ "10.0.21.13"
+ ],
+ [
+ "10.0.21.14",
+ "10.0.21.14"
+ ],
+ [
+ "10.0.21.15",
+ "10.0.21.15"
+ ],
+ [
+ "10.0.21.16",
+ "10.0.21.16"
+ ],
+ [
+ "10.0.21.17",
+ "10.0.21.17"
+ ],
+ [
+ "10.0.21.18",
+ "10.0.21.18"
+ ],
+ [
+ "10.0.21.19",
+ "10.0.21.19"
+ ],
+ [
+ "10.0.21.20",
+ "10.0.21.20"
+ ],
+ [
+ "10.0.21.21",
+ "10.0.21.21"
+ ],
+ [
+ "10.0.21.22",
+ "10.0.21.22"
+ ],
+ [
+ "10.0.21.23",
+ "10.0.21.23"
+ ],
+ [
+ "10.0.21.24",
+ "10.0.21.24"
+ ],
+ [
+ "10.0.21.25",
+ "10.0.21.25"
+ ],
+ [
+ "10.0.21.26",
+ "10.0.21.26"
+ ],
+ [
+ "10.0.21.27",
+ "10.0.21.27"
+ ],
+ [
+ "10.0.21.28",
+ "10.0.21.28"
+ ],
+ [
+ "10.0.21.29",
+ "10.0.21.29"
+ ],
+ [
+ "10.0.21.30",
+ "10.0.21.30"
+ ],
+ [
+ "10.0.21.31",
+ "10.0.21.31"
+ ],
+ [
+ "10.0.22.1",
+ "10.0.22.1"
+ ],
+ [
+ "10.0.22.2",
+ "10.0.22.2"
+ ],
+ [
+ "10.0.22.3",
+ "10.0.22.3"
+ ],
+ [
+ "10.0.22.4",
+ "10.0.22.4"
+ ],
+ [
+ "10.0.22.5",
+ "10.0.22.5"
+ ],
+ [
+ "10.0.22.6",
+ "10.0.22.6"
+ ],
+ [
+ "10.0.22.7",
+ "10.0.22.7"
+ ],
+ [
+ "10.0.22.8",
+ "10.0.22.8"
+ ],
+ [
+ "10.0.22.9",
+ "10.0.22.9"
+ ],
+ [
+ "10.0.22.10",
+ "10.0.22.10"
+ ],
+ [
+ "10.0.22.11",
+ "10.0.22.11"
+ ],
+ [
+ "10.0.22.12",
+ "10.0.22.12"
+ ],
+ [
+ "10.0.22.13",
+ "10.0.22.13"
+ ],
+ [
+ "10.0.22.14",
+ "10.0.22.14"
+ ],
+ [
+ "10.0.22.15",
+ "10.0.22.15"
+ ],
+ [
+ "10.0.22.16",
+ "10.0.22.16"
+ ],
+ [
+ "10.0.22.17",
+ "10.0.22.17"
+ ],
+ [
+ "10.0.22.18",
+ "10.0.22.18"
+ ],
+ [
+ "10.0.22.19",
+ "10.0.22.19"
+ ],
+ [
+ "10.0.22.20",
+ "10.0.22.20"
+ ],
+ [
+ "10.0.22.21",
+ "10.0.22.21"
+ ],
+ [
+ "10.0.22.22",
+ "10.0.22.22"
+ ],
+ [
+ "10.0.22.23",
+ "10.0.22.23"
+ ],
+ [
+ "10.0.22.24",
+ "10.0.22.24"
+ ],
+ [
+ "10.0.22.25",
+ "10.0.22.25"
+ ],
+ [
+ "10.0.22.26",
+ "10.0.22.26"
+ ],
+ [
+ "10.0.22.27",
+ "10.0.22.27"
+ ],
+ [
+ "10.0.22.28",
+ "10.0.22.28"
+ ],
+ [
+ "10.0.22.29",
+ "10.0.22.29"
+ ],
+ [
+ "10.0.22.30",
+ "10.0.22.30"
+ ],
+ [
+ "10.0.22.31",
+ "10.0.22.31"
+ ],
+ [
+ "10.0.23.1",
+ "10.0.23.1"
+ ],
+ [
+ "10.0.23.2",
+ "10.0.23.2"
+ ],
+ [
+ "10.0.23.3",
+ "10.0.23.3"
+ ],
+ [
+ "10.0.23.4",
+ "10.0.23.4"
+ ],
+ [
+ "10.0.23.5",
+ "10.0.23.5"
+ ],
+ [
+ "10.0.23.6",
+ "10.0.23.6"
+ ],
+ [
+ "10.0.23.7",
+ "10.0.23.7"
+ ],
+ [
+ "10.0.23.8",
+ "10.0.23.8"
+ ],
+ [
+ "10.0.23.9",
+ "10.0.23.9"
+ ],
+ [
+ "10.0.23.10",
+ "10.0.23.10"
+ ],
+ [
+ "10.0.23.11",
+ "10.0.23.11"
+ ],
+ [
+ "10.0.23.12",
+ "10.0.23.12"
+ ],
+ [
+ "10.0.23.13",
+ "10.0.23.13"
+ ],
+ [
+ "10.0.23.14",
+ "10.0.23.14"
+ ],
+ [
+ "10.0.23.15",
+ "10.0.23.15"
+ ],
+ [
+ "10.0.23.16",
+ "10.0.23.16"
+ ],
+ [
+ "10.0.23.17",
+ "10.0.23.17"
+ ],
+ [
+ "10.0.23.18",
+ "10.0.23.18"
+ ],
+ [
+ "10.0.23.19",
+ "10.0.23.19"
+ ],
+ [
+ "10.0.23.20",
+ "10.0.23.20"
+ ],
+ [
+ "10.0.23.21",
+ "10.0.23.21"
+ ],
+ [
+ "10.0.23.22",
+ "10.0.23.22"
+ ],
+ [
+ "10.0.23.23",
+ "10.0.23.23"
+ ],
+ [
+ "10.0.23.24",
+ "10.0.23.24"
+ ],
+ [
+ "10.0.23.25",
+ "10.0.23.25"
+ ],
+ [
+ "10.0.23.26",
+ "10.0.23.26"
+ ],
+ [
+ "10.0.23.27",
+ "10.0.23.27"
+ ],
+ [
+ "10.0.23.28",
+ "10.0.23.28"
+ ],
+ [
+ "10.0.23.29",
+ "10.0.23.29"
+ ],
+ [
+ "10.0.23.30",
+ "10.0.23.30"
+ ],
+ [
+ "10.0.23.31",
+ "10.0.23.31"
+ ],
+ [
+ "10.0.24.1",
+ "10.0.24.1"
+ ],
+ [
+ "10.0.24.2",
+ "10.0.24.2"
+ ],
+ [
+ "10.0.24.3",
+ "10.0.24.3"
+ ],
+ [
+ "10.0.24.4",
+ "10.0.24.4"
+ ],
+ [
+ "10.0.24.5",
+ "10.0.24.5"
+ ],
+ [
+ "10.0.24.6",
+ "10.0.24.6"
+ ],
+ [
+ "10.0.24.7",
+ "10.0.24.7"
+ ],
+ [
+ "10.0.24.8",
+ "10.0.24.8"
+ ],
+ [
+ "10.0.24.9",
+ "10.0.24.9"
+ ],
+ [
+ "10.0.24.10",
+ "10.0.24.10"
+ ],
+ [
+ "10.0.24.11",
+ "10.0.24.11"
+ ],
+ [
+ "10.0.24.12",
+ "10.0.24.12"
+ ],
+ [
+ "10.0.24.13",
+ "10.0.24.13"
+ ],
+ [
+ "10.0.24.14",
+ "10.0.24.14"
+ ],
+ [
+ "10.0.24.15",
+ "10.0.24.15"
+ ],
+ [
+ "10.0.24.16",
+ "10.0.24.16"
+ ],
+ [
+ "10.0.24.17",
+ "10.0.24.17"
+ ],
+ [
+ "10.0.24.18",
+ "10.0.24.18"
+ ],
+ [
+ "10.0.24.19",
+ "10.0.24.19"
+ ],
+ [
+ "10.0.24.20",
+ "10.0.24.20"
+ ],
+ [
+ "10.0.24.21",
+ "10.0.24.21"
+ ],
+ [
+ "10.0.24.22",
+ "10.0.24.22"
+ ],
+ [
+ "10.0.24.23",
+ "10.0.24.23"
+ ],
+ [
+ "10.0.24.24",
+ "10.0.24.24"
+ ],
+ [
+ "10.0.24.25",
+ "10.0.24.25"
+ ],
+ [
+ "10.0.24.26",
+ "10.0.24.26"
+ ],
+ [
+ "10.0.24.27",
+ "10.0.24.27"
+ ],
+ [
+ "10.0.24.28",
+ "10.0.24.28"
+ ],
+ [
+ "10.0.24.29",
+ "10.0.24.29"
+ ],
+ [
+ "10.0.24.30",
+ "10.0.24.30"
+ ],
+ [
+ "10.0.24.31",
+ "10.0.24.31"
+ ],
+ [
+ "10.0.25.1",
+ "10.0.25.1"
+ ],
+ [
+ "10.0.25.2",
+ "10.0.25.2"
+ ],
+ [
+ "10.0.25.3",
+ "10.0.25.3"
+ ],
+ [
+ "10.0.25.4",
+ "10.0.25.4"
+ ],
+ [
+ "10.0.25.5",
+ "10.0.25.5"
+ ],
+ [
+ "10.0.25.6",
+ "10.0.25.6"
+ ],
+ [
+ "10.0.25.7",
+ "10.0.25.7"
+ ],
+ [
+ "10.0.25.8",
+ "10.0.25.8"
+ ],
+ [
+ "10.0.25.9",
+ "10.0.25.9"
+ ],
+ [
+ "10.0.25.10",
+ "10.0.25.10"
+ ],
+ [
+ "10.0.25.11",
+ "10.0.25.11"
+ ],
+ [
+ "10.0.25.12",
+ "10.0.25.12"
+ ],
+ [
+ "10.0.25.13",
+ "10.0.25.13"
+ ],
+ [
+ "10.0.25.14",
+ "10.0.25.14"
+ ],
+ [
+ "10.0.25.15",
+ "10.0.25.15"
+ ],
+ [
+ "10.0.25.16",
+ "10.0.25.16"
+ ],
+ [
+ "10.0.25.17",
+ "10.0.25.17"
+ ],
+ [
+ "10.0.25.18",
+ "10.0.25.18"
+ ],
+ [
+ "10.0.25.19",
+ "10.0.25.19"
+ ],
+ [
+ "10.0.25.20",
+ "10.0.25.20"
+ ],
+ [
+ "10.0.25.21",
+ "10.0.25.21"
+ ],
+ [
+ "10.0.25.22",
+ "10.0.25.22"
+ ],
+ [
+ "10.0.25.23",
+ "10.0.25.23"
+ ],
+ [
+ "10.0.25.24",
+ "10.0.25.24"
+ ],
+ [
+ "10.0.25.25",
+ "10.0.25.25"
+ ],
+ [
+ "10.0.25.26",
+ "10.0.25.26"
+ ],
+ [
+ "10.0.25.27",
+ "10.0.25.27"
+ ],
+ [
+ "10.0.25.28",
+ "10.0.25.28"
+ ],
+ [
+ "10.0.25.29",
+ "10.0.25.29"
+ ],
+ [
+ "10.0.25.30",
+ "10.0.25.30"
+ ],
+ [
+ "10.0.25.31",
+ "10.0.25.31"
+ ],
+ [
+ "10.0.26.1",
+ "10.0.26.1"
+ ],
+ [
+ "10.0.26.2",
+ "10.0.26.2"
+ ],
+ [
+ "10.0.26.3",
+ "10.0.26.3"
+ ],
+ [
+ "10.0.26.4",
+ "10.0.26.4"
+ ],
+ [
+ "10.0.26.5",
+ "10.0.26.5"
+ ],
+ [
+ "10.0.26.6",
+ "10.0.26.6"
+ ],
+ [
+ "10.0.26.7",
+ "10.0.26.7"
+ ],
+ [
+ "10.0.26.8",
+ "10.0.26.8"
+ ],
+ [
+ "10.0.26.9",
+ "10.0.26.9"
+ ],
+ [
+ "10.0.26.10",
+ "10.0.26.10"
+ ],
+ [
+ "10.0.26.11",
+ "10.0.26.11"
+ ],
+ [
+ "10.0.26.12",
+ "10.0.26.12"
+ ],
+ [
+ "10.0.26.13",
+ "10.0.26.13"
+ ],
+ [
+ "10.0.26.14",
+ "10.0.26.14"
+ ],
+ [
+ "10.0.26.15",
+ "10.0.26.15"
+ ],
+ [
+ "10.0.26.16",
+ "10.0.26.16"
+ ],
+ [
+ "10.0.26.17",
+ "10.0.26.17"
+ ],
+ [
+ "10.0.26.18",
+ "10.0.26.18"
+ ],
+ [
+ "10.0.26.19",
+ "10.0.26.19"
+ ],
+ [
+ "10.0.26.20",
+ "10.0.26.20"
+ ],
+ [
+ "10.0.26.21",
+ "10.0.26.21"
+ ],
+ [
+ "10.0.26.22",
+ "10.0.26.22"
+ ],
+ [
+ "10.0.26.23",
+ "10.0.26.23"
+ ],
+ [
+ "10.0.26.24",
+ "10.0.26.24"
+ ],
+ [
+ "10.0.26.25",
+ "10.0.26.25"
+ ],
+ [
+ "10.0.26.26",
+ "10.0.26.26"
+ ],
+ [
+ "10.0.26.27",
+ "10.0.26.27"
+ ],
+ [
+ "10.0.26.28",
+ "10.0.26.28"
+ ],
+ [
+ "10.0.26.29",
+ "10.0.26.29"
+ ],
+ [
+ "10.0.26.30",
+ "10.0.26.30"
+ ],
+ [
+ "10.0.26.31",
+ "10.0.26.31"
+ ],
+ [
+ "10.0.27.1",
+ "10.0.27.1"
+ ],
+ [
+ "10.0.27.2",
+ "10.0.27.2"
+ ],
+ [
+ "10.0.27.3",
+ "10.0.27.3"
+ ],
+ [
+ "10.0.27.4",
+ "10.0.27.4"
+ ],
+ [
+ "10.0.27.5",
+ "10.0.27.5"
+ ],
+ [
+ "10.0.27.6",
+ "10.0.27.6"
+ ],
+ [
+ "10.0.27.7",
+ "10.0.27.7"
+ ],
+ [
+ "10.0.27.8",
+ "10.0.27.8"
+ ],
+ [
+ "10.0.27.9",
+ "10.0.27.9"
+ ],
+ [
+ "10.0.27.10",
+ "10.0.27.10"
+ ],
+ [
+ "10.0.27.11",
+ "10.0.27.11"
+ ],
+ [
+ "10.0.27.12",
+ "10.0.27.12"
+ ],
+ [
+ "10.0.27.13",
+ "10.0.27.13"
+ ],
+ [
+ "10.0.27.14",
+ "10.0.27.14"
+ ],
+ [
+ "10.0.27.15",
+ "10.0.27.15"
+ ],
+ [
+ "10.0.27.16",
+ "10.0.27.16"
+ ],
+ [
+ "10.0.27.17",
+ "10.0.27.17"
+ ],
+ [
+ "10.0.27.18",
+ "10.0.27.18"
+ ],
+ [
+ "10.0.27.19",
+ "10.0.27.19"
+ ],
+ [
+ "10.0.27.20",
+ "10.0.27.20"
+ ],
+ [
+ "10.0.27.21",
+ "10.0.27.21"
+ ],
+ [
+ "10.0.27.22",
+ "10.0.27.22"
+ ],
+ [
+ "10.0.27.23",
+ "10.0.27.23"
+ ],
+ [
+ "10.0.27.24",
+ "10.0.27.24"
+ ],
+ [
+ "10.0.27.25",
+ "10.0.27.25"
+ ],
+ [
+ "10.0.27.26",
+ "10.0.27.26"
+ ],
+ [
+ "10.0.27.27",
+ "10.0.27.27"
+ ],
+ [
+ "10.0.27.28",
+ "10.0.27.28"
+ ],
+ [
+ "10.0.27.29",
+ "10.0.27.29"
+ ],
+ [
+ "10.0.27.30",
+ "10.0.27.30"
+ ],
+ [
+ "10.0.27.31",
+ "10.0.27.31"
+ ],
+ [
+ "10.0.28.1",
+ "10.0.28.1"
+ ],
+ [
+ "10.0.28.2",
+ "10.0.28.2"
+ ],
+ [
+ "10.0.28.3",
+ "10.0.28.3"
+ ],
+ [
+ "10.0.28.4",
+ "10.0.28.4"
+ ],
+ [
+ "10.0.28.5",
+ "10.0.28.5"
+ ],
+ [
+ "10.0.28.6",
+ "10.0.28.6"
+ ],
+ [
+ "10.0.28.7",
+ "10.0.28.7"
+ ],
+ [
+ "10.0.28.8",
+ "10.0.28.8"
+ ],
+ [
+ "10.0.28.9",
+ "10.0.28.9"
+ ],
+ [
+ "10.0.28.10",
+ "10.0.28.10"
+ ],
+ [
+ "10.0.28.11",
+ "10.0.28.11"
+ ],
+ [
+ "10.0.28.12",
+ "10.0.28.12"
+ ],
+ [
+ "10.0.28.13",
+ "10.0.28.13"
+ ],
+ [
+ "10.0.28.14",
+ "10.0.28.14"
+ ],
+ [
+ "10.0.28.15",
+ "10.0.28.15"
+ ],
+ [
+ "10.0.28.16",
+ "10.0.28.16"
+ ],
+ [
+ "10.0.28.17",
+ "10.0.28.17"
+ ],
+ [
+ "10.0.28.18",
+ "10.0.28.18"
+ ],
+ [
+ "10.0.28.19",
+ "10.0.28.19"
+ ],
+ [
+ "10.0.28.20",
+ "10.0.28.20"
+ ],
+ [
+ "10.0.28.21",
+ "10.0.28.21"
+ ],
+ [
+ "10.0.28.22",
+ "10.0.28.22"
+ ],
+ [
+ "10.0.28.23",
+ "10.0.28.23"
+ ],
+ [
+ "10.0.28.24",
+ "10.0.28.24"
+ ],
+ [
+ "10.0.28.25",
+ "10.0.28.25"
+ ],
+ [
+ "10.0.28.26",
+ "10.0.28.26"
+ ],
+ [
+ "10.0.28.27",
+ "10.0.28.27"
+ ],
+ [
+ "10.0.28.28",
+ "10.0.28.28"
+ ],
+ [
+ "10.0.28.29",
+ "10.0.28.29"
+ ],
+ [
+ "10.0.28.30",
+ "10.0.28.30"
+ ],
+ [
+ "10.0.28.31",
+ "10.0.28.31"
+ ],
+ [
+ "10.0.29.1",
+ "10.0.29.1"
+ ],
+ [
+ "10.0.29.2",
+ "10.0.29.2"
+ ],
+ [
+ "10.0.29.3",
+ "10.0.29.3"
+ ],
+ [
+ "10.0.29.4",
+ "10.0.29.4"
+ ],
+ [
+ "10.0.29.5",
+ "10.0.29.5"
+ ],
+ [
+ "10.0.29.6",
+ "10.0.29.6"
+ ],
+ [
+ "10.0.29.7",
+ "10.0.29.7"
+ ],
+ [
+ "10.0.29.8",
+ "10.0.29.8"
+ ],
+ [
+ "10.0.29.9",
+ "10.0.29.9"
+ ],
+ [
+ "10.0.29.10",
+ "10.0.29.10"
+ ],
+ [
+ "10.0.29.11",
+ "10.0.29.11"
+ ],
+ [
+ "10.0.29.12",
+ "10.0.29.12"
+ ],
+ [
+ "10.0.29.13",
+ "10.0.29.13"
+ ],
+ [
+ "10.0.29.14",
+ "10.0.29.14"
+ ],
+ [
+ "10.0.29.15",
+ "10.0.29.15"
+ ],
+ [
+ "10.0.29.16",
+ "10.0.29.16"
+ ],
+ [
+ "10.0.29.17",
+ "10.0.29.17"
+ ],
+ [
+ "10.0.29.18",
+ "10.0.29.18"
+ ],
+ [
+ "10.0.29.19",
+ "10.0.29.19"
+ ],
+ [
+ "10.0.29.20",
+ "10.0.29.20"
+ ],
+ [
+ "10.0.29.21",
+ "10.0.29.21"
+ ],
+ [
+ "10.0.29.22",
+ "10.0.29.22"
+ ],
+ [
+ "10.0.29.23",
+ "10.0.29.23"
+ ],
+ [
+ "10.0.29.24",
+ "10.0.29.24"
+ ],
+ [
+ "10.0.29.25",
+ "10.0.29.25"
+ ],
+ [
+ "10.0.29.26",
+ "10.0.29.26"
+ ],
+ [
+ "10.0.29.27",
+ "10.0.29.27"
+ ],
+ [
+ "10.0.29.28",
+ "10.0.29.28"
+ ],
+ [
+ "10.0.29.29",
+ "10.0.29.29"
+ ],
+ [
+ "10.0.29.30",
+ "10.0.29.30"
+ ],
+ [
+ "10.0.29.31",
+ "10.0.29.31"
+ ],
+ [
+ "10.0.30.1",
+ "10.0.30.1"
+ ],
+ [
+ "10.0.30.2",
+ "10.0.30.2"
+ ],
+ [
+ "10.0.30.3",
+ "10.0.30.3"
+ ],
+ [
+ "10.0.30.4",
+ "10.0.30.4"
+ ],
+ [
+ "10.0.30.5",
+ "10.0.30.5"
+ ],
+ [
+ "10.0.30.6",
+ "10.0.30.6"
+ ],
+ [
+ "10.0.30.7",
+ "10.0.30.7"
+ ],
+ [
+ "10.0.30.8",
+ "10.0.30.8"
+ ],
+ [
+ "10.0.30.9",
+ "10.0.30.9"
+ ],
+ [
+ "10.0.30.10",
+ "10.0.30.10"
+ ],
+ [
+ "10.0.30.11",
+ "10.0.30.11"
+ ],
+ [
+ "10.0.30.12",
+ "10.0.30.12"
+ ],
+ [
+ "10.0.30.13",
+ "10.0.30.13"
+ ],
+ [
+ "10.0.30.14",
+ "10.0.30.14"
+ ],
+ [
+ "10.0.30.15",
+ "10.0.30.15"
+ ],
+ [
+ "10.0.30.16",
+ "10.0.30.16"
+ ],
+ [
+ "10.0.30.17",
+ "10.0.30.17"
+ ],
+ [
+ "10.0.30.18",
+ "10.0.30.18"
+ ],
+ [
+ "10.0.30.19",
+ "10.0.30.19"
+ ],
+ [
+ "10.0.30.20",
+ "10.0.30.20"
+ ],
+ [
+ "10.0.30.21",
+ "10.0.30.21"
+ ],
+ [
+ "10.0.30.22",
+ "10.0.30.22"
+ ],
+ [
+ "10.0.30.23",
+ "10.0.30.23"
+ ],
+ [
+ "10.0.30.24",
+ "10.0.30.24"
+ ],
+ [
+ "10.0.30.25",
+ "10.0.30.25"
+ ],
+ [
+ "10.0.30.26",
+ "10.0.30.26"
+ ],
+ [
+ "10.0.30.27",
+ "10.0.30.27"
+ ],
+ [
+ "10.0.30.28",
+ "10.0.30.28"
+ ],
+ [
+ "10.0.30.29",
+ "10.0.30.29"
+ ],
+ [
+ "10.0.30.30",
+ "10.0.30.30"
+ ],
+ [
+ "10.0.30.31",
+ "10.0.30.31"
+ ],
+ [
+ "10.0.31.1",
+ "10.0.31.1"
+ ],
+ [
+ "10.0.31.2",
+ "10.0.31.2"
+ ],
+ [
+ "10.0.31.3",
+ "10.0.31.3"
+ ],
+ [
+ "10.0.31.4",
+ "10.0.31.4"
+ ],
+ [
+ "10.0.31.5",
+ "10.0.31.5"
+ ],
+ [
+ "10.0.31.6",
+ "10.0.31.6"
+ ],
+ [
+ "10.0.31.7",
+ "10.0.31.7"
+ ],
+ [
+ "10.0.31.8",
+ "10.0.31.8"
+ ],
+ [
+ "10.0.31.9",
+ "10.0.31.9"
+ ],
+ [
+ "10.0.31.10",
+ "10.0.31.10"
+ ],
+ [
+ "10.0.31.11",
+ "10.0.31.11"
+ ],
+ [
+ "10.0.31.12",
+ "10.0.31.12"
+ ],
+ [
+ "10.0.31.13",
+ "10.0.31.13"
+ ],
+ [
+ "10.0.31.14",
+ "10.0.31.14"
+ ],
+ [
+ "10.0.31.15",
+ "10.0.31.15"
+ ],
+ [
+ "10.0.31.16",
+ "10.0.31.16"
+ ],
+ [
+ "10.0.31.17",
+ "10.0.31.17"
+ ],
+ [
+ "10.0.31.18",
+ "10.0.31.18"
+ ],
+ [
+ "10.0.31.19",
+ "10.0.31.19"
+ ],
+ [
+ "10.0.31.20",
+ "10.0.31.20"
+ ],
+ [
+ "10.0.31.21",
+ "10.0.31.21"
+ ],
+ [
+ "10.0.31.22",
+ "10.0.31.22"
+ ],
+ [
+ "10.0.31.23",
+ "10.0.31.23"
+ ],
+ [
+ "10.0.31.24",
+ "10.0.31.24"
+ ],
+ [
+ "10.0.31.25",
+ "10.0.31.25"
+ ],
+ [
+ "10.0.31.26",
+ "10.0.31.26"
+ ],
+ [
+ "10.0.31.27",
+ "10.0.31.27"
+ ],
+ [
+ "10.0.31.28",
+ "10.0.31.28"
+ ],
+ [
+ "10.0.31.29",
+ "10.0.31.29"
+ ],
+ [
+ "10.0.31.30",
+ "10.0.31.30"
+ ],
+ [
+ "10.0.31.31",
+ "10.0.31.31"
+ ]
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft b/tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft
index d87f74b3..d1a46295 100644
--- a/tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft
@@ -1 +1,69 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "flags": ["interval"], "elem": [[{"prefix": {"addr": "10.1.1.0", "len": 24}}, "10.0.1.1"], [{"prefix": {"addr": "10.1.2.0", "len": 24}}, "10.0.1.2"], [{"prefix": {"addr": "10.2.1.0", "len": 24}}, "10.0.2.1"], [{"prefix": {"addr": "10.2.2.0", "len": 24}}, "10.0.2.2"]]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "y",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "flags": [
+ "interval"
+ ],
+ "elem": [
+ [
+ {
+ "prefix": {
+ "addr": "10.1.1.0",
+ "len": 24
+ }
+ },
+ "10.0.1.1"
+ ],
+ [
+ {
+ "prefix": {
+ "addr": "10.1.2.0",
+ "len": 24
+ }
+ },
+ "10.0.1.2"
+ ],
+ [
+ {
+ "prefix": {
+ "addr": "10.2.1.0",
+ "len": 24
+ }
+ },
+ "10.0.2.1"
+ ],
+ [
+ {
+ "prefix": {
+ "addr": "10.2.2.0",
+ "len": 24
+ }
+ },
+ "10.0.2.2"
+ ]
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft b/tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft
index f076e26b..1e983219 100644
--- a/tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft
@@ -1 +1,51 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "flags": ["interval"], "elem": [[{"prefix": {"addr": "10.0.1.0", "len": 24}}, "10.0.0.1"], [{"prefix": {"addr": "10.0.2.0", "len": 24}}, "10.0.0.2"]]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "y",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "flags": [
+ "interval"
+ ],
+ "elem": [
+ [
+ {
+ "prefix": {
+ "addr": "10.0.1.0",
+ "len": 24
+ }
+ },
+ "10.0.0.1"
+ ],
+ [
+ {
+ "prefix": {
+ "addr": "10.0.2.0",
+ "len": 24
+ }
+ },
+ "10.0.0.2"
+ ]
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0007named_ifname_dtype_0.json-nft b/tests/shell/testcases/maps/dumps/0007named_ifname_dtype_0.json-nft
index 691b9b80..ec409c6c 100644
--- a/tests/shell/testcases/maps/dumps/0007named_ifname_dtype_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0007named_ifname_dtype_0.json-nft
@@ -1 +1,102 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "inet", "name": "t", "handle": 0}}, {"map": {"family": "inet", "name": "m1", "table": "t", "type": "ifname", "handle": 0, "map": "ipv4_addr", "elem": [["eth0", "1.1.1.1"]]}}, {"chain": {"family": "inet", "table": "t", "name": "c", "handle": 0}}, {"rule": {"family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [{"mangle": {"key": {"payload": {"protocol": "ip", "field": "daddr"}}, "value": {"map": {"key": {"meta": {"key": "iifname"}}, "data": "@m1"}}}}]}}, {"rule": {"family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [{"mangle": {"key": {"payload": {"protocol": "ip", "field": "daddr"}}, "value": {"map": {"key": {"meta": {"key": "oifname"}}, "data": "@m1"}}}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "inet",
+ "name": "t",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "inet",
+ "name": "m1",
+ "table": "t",
+ "type": "ifname",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "elem": [
+ [
+ "eth0",
+ "1.1.1.1"
+ ]
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "inet",
+ "table": "t",
+ "name": "c",
+ "handle": 0
+ }
+ },
+ {
+ "rule": {
+ "family": "inet",
+ "table": "t",
+ "chain": "c",
+ "handle": 0,
+ "expr": [
+ {
+ "mangle": {
+ "key": {
+ "payload": {
+ "protocol": "ip",
+ "field": "daddr"
+ }
+ },
+ "value": {
+ "map": {
+ "key": {
+ "meta": {
+ "key": "iifname"
+ }
+ },
+ "data": "@m1"
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "inet",
+ "table": "t",
+ "chain": "c",
+ "handle": 0,
+ "expr": [
+ {
+ "mangle": {
+ "key": {
+ "payload": {
+ "protocol": "ip",
+ "field": "daddr"
+ }
+ },
+ "value": {
+ "map": {
+ "key": {
+ "meta": {
+ "key": "oifname"
+ }
+ },
+ "data": "@m1"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft b/tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft
index cf4a5fda..0f8f25dc 100644
--- a/tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft
@@ -1 +1,159 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "filter", "handle": 0}}, {"map": {"family": "ip", "name": "m", "table": "filter", "type": "ipv4_addr", "handle": 0, "map": "mark", "flags": ["interval"], "elem": [["127.0.0.2", 2], ["127.0.0.3", 3]]}}, {"chain": {"family": "ip", "table": "filter", "name": "input", "handle": 0, "type": "filter", "hook": "input", "prio": 0, "policy": "accept"}}, {"rule": {"family": "ip", "table": "filter", "chain": "input", "handle": 0, "expr": [{"mangle": {"key": {"meta": {"key": "mark"}}, "value": {"map": {"key": {"payload": {"protocol": "ip", "field": "daddr"}}, "data": "@m"}}}}]}}, {"rule": {"family": "ip", "table": "filter", "chain": "input", "handle": 0, "expr": [{"match": {"op": "==", "left": {"meta": {"key": "mark"}}, "right": 2}}, {"counter": {"packets": 0, "bytes": 0}}, {"accept": null}]}}, {"rule": {"family": "ip", "table": "filter", "chain": "input", "handle": 0, "expr": [{"match": {"op": "==", "left": {"meta": {"key": "mark"}}, "right": 3}}, {"counter": {"packets": 0, "bytes": 0}}, {"accept": null}]}}, {"rule": {"family": "ip", "table": "filter", "chain": "input", "handle": 0, "expr": [{"counter": {"packets": 0, "bytes": 0}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "filter",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "m",
+ "table": "filter",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "flags": [
+ "interval"
+ ],
+ "elem": [
+ [
+ "127.0.0.2",
+ 2
+ ],
+ [
+ "127.0.0.3",
+ 3
+ ]
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "filter",
+ "name": "input",
+ "handle": 0,
+ "type": "filter",
+ "hook": "input",
+ "prio": 0,
+ "policy": "accept"
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "filter",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "mangle": {
+ "key": {
+ "meta": {
+ "key": "mark"
+ }
+ },
+ "value": {
+ "map": {
+ "key": {
+ "payload": {
+ "protocol": "ip",
+ "field": "daddr"
+ }
+ },
+ "data": "@m"
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "filter",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "meta": {
+ "key": "mark"
+ }
+ },
+ "right": 2
+ }
+ },
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ },
+ {
+ "accept": null
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "filter",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "meta": {
+ "key": "mark"
+ }
+ },
+ "right": 3
+ }
+ },
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ },
+ {
+ "accept": null
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "filter",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0009vmap_0.json-nft b/tests/shell/testcases/maps/dumps/0009vmap_0.json-nft
index d82132da..345a2c74 100644
--- a/tests/shell/testcases/maps/dumps/0009vmap_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0009vmap_0.json-nft
@@ -1 +1,117 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "inet", "name": "filter", "handle": 0}}, {"chain": {"family": "inet", "table": "filter", "name": "ssh_input", "handle": 0}}, {"chain": {"family": "inet", "table": "filter", "name": "wan_input", "handle": 0}}, {"chain": {"family": "inet", "table": "filter", "name": "prerouting", "handle": 0, "type": "filter", "hook": "prerouting", "prio": -300, "policy": "accept"}}, {"rule": {"family": "inet", "table": "filter", "chain": "wan_input", "handle": 0, "expr": [{"vmap": {"key": {"payload": {"protocol": "tcp", "field": "dport"}}, "data": {"set": [[22, {"jump": {"target": "ssh_input"}}]]}}}]}}, {"rule": {"family": "inet", "table": "filter", "chain": "prerouting", "handle": 0, "expr": [{"vmap": {"key": {"meta": {"key": "iif"}}, "data": {"set": [[{"elem": {"val": "lo", "counter": {"packets": 0, "bytes": 0}}}, {"jump": {"target": "wan_input"}}]]}}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "inet",
+ "name": "filter",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "inet",
+ "table": "filter",
+ "name": "ssh_input",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "inet",
+ "table": "filter",
+ "name": "wan_input",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "inet",
+ "table": "filter",
+ "name": "prerouting",
+ "handle": 0,
+ "type": "filter",
+ "hook": "prerouting",
+ "prio": -300,
+ "policy": "accept"
+ }
+ },
+ {
+ "rule": {
+ "family": "inet",
+ "table": "filter",
+ "chain": "wan_input",
+ "handle": 0,
+ "expr": [
+ {
+ "vmap": {
+ "key": {
+ "payload": {
+ "protocol": "tcp",
+ "field": "dport"
+ }
+ },
+ "data": {
+ "set": [
+ [
+ 22,
+ {
+ "jump": {
+ "target": "ssh_input"
+ }
+ }
+ ]
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "inet",
+ "table": "filter",
+ "chain": "prerouting",
+ "handle": 0,
+ "expr": [
+ {
+ "vmap": {
+ "key": {
+ "meta": {
+ "key": "iif"
+ }
+ },
+ "data": {
+ "set": [
+ [
+ {
+ "elem": {
+ "val": "lo",
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ },
+ {
+ "jump": {
+ "target": "wan_input"
+ }
+ }
+ ]
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft b/tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft
index a8376339..08fce286 100644
--- a/tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft
@@ -1 +1,132 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "w", "table": "x", "type": ["ipv4_addr", "mark"], "handle": 0, "map": "verdict", "flags": ["interval"], "elem": [[{"elem": {"val": {"concat": [{"range": ["127.0.0.1", "127.0.0.4"]}, {"range": [1193012, 11534626]}]}, "counter": {"packets": 0, "bytes": 0}}}, {"accept": null}]], "stmt": [{"counter": null}]}}, {"chain": {"family": "ip", "table": "x", "name": "k", "handle": 0, "type": "filter", "hook": "input", "prio": 1, "policy": "accept"}}, {"rule": {"family": "ip", "table": "x", "chain": "k", "handle": 0, "expr": [{"mangle": {"key": {"meta": {"key": "mark"}}, "value": 1193012}}]}}, {"rule": {"family": "ip", "table": "x", "chain": "k", "handle": 0, "expr": [{"vmap": {"key": {"concat": [{"payload": {"protocol": "ip", "field": "saddr"}}, {"meta": {"key": "mark"}}]}, "data": "@w"}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "w",
+ "table": "x",
+ "type": [
+ "ipv4_addr",
+ "mark"
+ ],
+ "handle": 0,
+ "map": "verdict",
+ "flags": [
+ "interval"
+ ],
+ "elem": [
+ [
+ {
+ "elem": {
+ "val": {
+ "concat": [
+ {
+ "range": [
+ "127.0.0.1",
+ "127.0.0.4"
+ ]
+ },
+ {
+ "range": [
+ 1193012,
+ 11534626
+ ]
+ }
+ ]
+ },
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ },
+ {
+ "accept": null
+ }
+ ]
+ ],
+ "stmt": [
+ {
+ "counter": null
+ }
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "x",
+ "name": "k",
+ "handle": 0,
+ "type": "filter",
+ "hook": "input",
+ "prio": 1,
+ "policy": "accept"
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "x",
+ "chain": "k",
+ "handle": 0,
+ "expr": [
+ {
+ "mangle": {
+ "key": {
+ "meta": {
+ "key": "mark"
+ }
+ },
+ "value": 1193012
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "x",
+ "chain": "k",
+ "handle": 0,
+ "expr": [
+ {
+ "vmap": {
+ "key": {
+ "concat": [
+ {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ {
+ "meta": {
+ "key": "mark"
+ }
+ }
+ ]
+ },
+ "data": "@w"
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0013map_0.json-nft b/tests/shell/testcases/maps/dumps/0013map_0.json-nft
index 872ca9bc..0379746a 100644
--- a/tests/shell/testcases/maps/dumps/0013map_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0013map_0.json-nft
@@ -1 +1,128 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "filter", "handle": 0}}, {"map": {"family": "ip", "name": "forwport", "table": "filter", "type": ["ipv4_addr", "inet_proto", "inet_service"], "handle": 0, "map": "verdict", "flags": ["interval"], "elem": [[{"elem": {"val": {"concat": ["10.133.89.138", "tcp", 8081]}, "counter": {"packets": 0, "bytes": 0}}}, {"accept": null}]], "stmt": [{"counter": null}]}}, {"chain": {"family": "ip", "table": "filter", "name": "FORWARD", "handle": 0, "type": "filter", "hook": "forward", "prio": 0, "policy": "drop"}}, {"rule": {"family": "ip", "table": "filter", "chain": "FORWARD", "handle": 0, "expr": [{"match": {"op": "==", "left": {"meta": {"key": "iifname"}}, "right": "enp0s8"}}, {"vmap": {"key": {"concat": [{"payload": {"protocol": "ip", "field": "daddr"}}, {"payload": {"protocol": "ip", "field": "protocol"}}, {"payload": {"protocol": "th", "field": "dport"}}]}, "data": "@forwport"}}, {"counter": {"packets": 0, "bytes": 0}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "filter",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "forwport",
+ "table": "filter",
+ "type": [
+ "ipv4_addr",
+ "inet_proto",
+ "inet_service"
+ ],
+ "handle": 0,
+ "map": "verdict",
+ "flags": [
+ "interval"
+ ],
+ "elem": [
+ [
+ {
+ "elem": {
+ "val": {
+ "concat": [
+ "10.133.89.138",
+ "tcp",
+ 8081
+ ]
+ },
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ },
+ {
+ "accept": null
+ }
+ ]
+ ],
+ "stmt": [
+ {
+ "counter": null
+ }
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "filter",
+ "name": "FORWARD",
+ "handle": 0,
+ "type": "filter",
+ "hook": "forward",
+ "prio": 0,
+ "policy": "drop"
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "filter",
+ "chain": "FORWARD",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "meta": {
+ "key": "iifname"
+ }
+ },
+ "right": "enp0s8"
+ }
+ },
+ {
+ "vmap": {
+ "key": {
+ "concat": [
+ {
+ "payload": {
+ "protocol": "ip",
+ "field": "daddr"
+ }
+ },
+ {
+ "payload": {
+ "protocol": "ip",
+ "field": "protocol"
+ }
+ },
+ {
+ "payload": {
+ "protocol": "th",
+ "field": "dport"
+ }
+ }
+ ]
+ },
+ "data": "@forwport"
+ }
+ },
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0014destroy_0.json-nft b/tests/shell/testcases/maps/dumps/0014destroy_0.json-nft
index 0de45a8a..15ec0aac 100644
--- a/tests/shell/testcases/maps/dumps/0014destroy_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0014destroy_0.json-nft
@@ -1 +1,18 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0016map_leak_0.json-nft b/tests/shell/testcases/maps/dumps/0016map_leak_0.json-nft
index 0048e6b1..546cc597 100644
--- a/tests/shell/testcases/maps/dumps/0016map_leak_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0016map_leak_0.json-nft
@@ -1 +1,11 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0017_map_variable_0.json-nft b/tests/shell/testcases/maps/dumps/0017_map_variable_0.json-nft
index 1893f37e..725498cd 100644
--- a/tests/shell/testcases/maps/dumps/0017_map_variable_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0017_map_variable_0.json-nft
@@ -1 +1,58 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "mark", "elem": [["1.1.1.1", 2], ["*", 3]]}}, {"map": {"family": "ip", "name": "z", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "mark", "elem": [["1.1.1.1", 2], ["*", 3]]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "y",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "elem": [
+ [
+ "1.1.1.1",
+ 2
+ ],
+ [
+ "*",
+ 3
+ ]
+ ]
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "z",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "elem": [
+ [
+ "1.1.1.1",
+ 2
+ ],
+ [
+ "*",
+ 3
+ ]
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/0018map_leak_timeout_0.json-nft b/tests/shell/testcases/maps/dumps/0018map_leak_timeout_0.json-nft
index 0048e6b1..546cc597 100644
--- a/tests/shell/testcases/maps/dumps/0018map_leak_timeout_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/0018map_leak_timeout_0.json-nft
@@ -1 +1,11 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/anon_objmap_concat.json-nft b/tests/shell/testcases/maps/dumps/anon_objmap_concat.json-nft
index 4b3af99d..f8352344 100644
--- a/tests/shell/testcases/maps/dumps/anon_objmap_concat.json-nft
+++ b/tests/shell/testcases/maps/dumps/anon_objmap_concat.json-nft
@@ -1 +1,116 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "inet", "name": "filter", "handle": 0}}, {"ct helper": {"family": "inet", "name": "sip-5060u", "table": "filter", "handle": 0, "type": "sip", "protocol": "udp", "l3proto": "ip"}}, {"ct helper": {"family": "inet", "name": "sip-5060t", "table": "filter", "handle": 0, "type": "sip", "protocol": "tcp", "l3proto": "ip"}}, {"chain": {"family": "inet", "table": "filter", "name": "input", "handle": 0, "type": "filter", "hook": "input", "prio": 0, "policy": "accept"}}, {"rule": {"family": "inet", "table": "filter", "chain": "input", "handle": 0, "expr": [{"ct helper": {"map": {"key": {"concat": [{"payload": {"protocol": "ip", "field": "protocol"}}, {"payload": {"protocol": "th", "field": "dport"}}]}, "data": {"set": [[{"concat": ["udp", {"range": [10000, 20000]}]}, "sip-5060u"], [{"concat": ["tcp", {"range": [10000, 20000]}]}, "sip-5060t"]]}}}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "inet",
+ "name": "filter",
+ "handle": 0
+ }
+ },
+ {
+ "ct helper": {
+ "family": "inet",
+ "name": "sip-5060u",
+ "table": "filter",
+ "handle": 0,
+ "type": "sip",
+ "protocol": "udp",
+ "l3proto": "ip"
+ }
+ },
+ {
+ "ct helper": {
+ "family": "inet",
+ "name": "sip-5060t",
+ "table": "filter",
+ "handle": 0,
+ "type": "sip",
+ "protocol": "tcp",
+ "l3proto": "ip"
+ }
+ },
+ {
+ "chain": {
+ "family": "inet",
+ "table": "filter",
+ "name": "input",
+ "handle": 0,
+ "type": "filter",
+ "hook": "input",
+ "prio": 0,
+ "policy": "accept"
+ }
+ },
+ {
+ "rule": {
+ "family": "inet",
+ "table": "filter",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "ct helper": {
+ "map": {
+ "key": {
+ "concat": [
+ {
+ "payload": {
+ "protocol": "ip",
+ "field": "protocol"
+ }
+ },
+ {
+ "payload": {
+ "protocol": "th",
+ "field": "dport"
+ }
+ }
+ ]
+ },
+ "data": {
+ "set": [
+ [
+ {
+ "concat": [
+ "udp",
+ {
+ "range": [
+ 10000,
+ 20000
+ ]
+ }
+ ]
+ },
+ "sip-5060u"
+ ],
+ [
+ {
+ "concat": [
+ "tcp",
+ {
+ "range": [
+ 10000,
+ 20000
+ ]
+ }
+ ]
+ },
+ "sip-5060t"
+ ]
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/anonymous_snat_map_0.json-nft b/tests/shell/testcases/maps/dumps/anonymous_snat_map_0.json-nft
index d102a3de..f4c55706 100644
--- a/tests/shell/testcases/maps/dumps/anonymous_snat_map_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/anonymous_snat_map_0.json-nft
@@ -1 +1,58 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "nat", "handle": 0}}, {"chain": {"family": "ip", "table": "nat", "name": "postrouting", "handle": 0}}, {"rule": {"family": "ip", "table": "nat", "chain": "postrouting", "handle": 0, "expr": [{"snat": {"addr": {"map": {"key": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": {"set": [["1.1.1.1", "2.2.2.2"]]}}}}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "nat",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "nat",
+ "name": "postrouting",
+ "handle": 0
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "nat",
+ "chain": "postrouting",
+ "handle": 0,
+ "expr": [
+ {
+ "snat": {
+ "addr": {
+ "map": {
+ "key": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": {
+ "set": [
+ [
+ "1.1.1.1",
+ "2.2.2.2"
+ ]
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/different_map_types_1.json-nft b/tests/shell/testcases/maps/dumps/different_map_types_1.json-nft
index eae6d80e..ed0ce0ed 100644
--- a/tests/shell/testcases/maps/dumps/different_map_types_1.json-nft
+++ b/tests/shell/testcases/maps/dumps/different_map_types_1.json-nft
@@ -1 +1,30 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "filter", "handle": 0}}, {"chain": {"family": "ip", "table": "filter", "name": "output", "handle": 0, "type": "filter", "hook": "output", "prio": 0, "policy": "accept"}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "filter",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "filter",
+ "name": "output",
+ "handle": 0,
+ "type": "filter",
+ "hook": "output",
+ "prio": 0,
+ "policy": "accept"
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/map_catchall_double_deactivate.json-nft b/tests/shell/testcases/maps/dumps/map_catchall_double_deactivate.json-nft
index b9c9972d..49b8bb29 100644
--- a/tests/shell/testcases/maps/dumps/map_catchall_double_deactivate.json-nft
+++ b/tests/shell/testcases/maps/dumps/map_catchall_double_deactivate.json-nft
@@ -1 +1,26 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "test", "handle": 0}}, {"chain": {"family": "ip", "table": "test", "name": "testchain", "handle": 0}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "test",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "test",
+ "name": "testchain",
+ "handle": 0
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft b/tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft
index ce06ee3b..97b7e94e 100644
--- a/tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft
@@ -1 +1,31 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "x", "handle": 0}}, {"map": {"family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "flags": ["timeout"]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "x",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "y",
+ "table": "x",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "flags": [
+ "timeout"
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/named_snat_map_0.json-nft b/tests/shell/testcases/maps/dumps/named_snat_map_0.json-nft
index de40011f..ed141597 100644
--- a/tests/shell/testcases/maps/dumps/named_snat_map_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/named_snat_map_0.json-nft
@@ -1 +1,67 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "nat", "handle": 0}}, {"map": {"family": "ip", "name": "m", "table": "nat", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "elem": [["1.1.1.1", "2.2.2.2"]]}}, {"chain": {"family": "ip", "table": "nat", "name": "postrouting", "handle": 0}}, {"rule": {"family": "ip", "table": "nat", "chain": "postrouting", "handle": 0, "expr": [{"snat": {"addr": {"map": {"key": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": "@m"}}}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "nat",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "m",
+ "table": "nat",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "ipv4_addr",
+ "elem": [
+ [
+ "1.1.1.1",
+ "2.2.2.2"
+ ]
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "nat",
+ "name": "postrouting",
+ "handle": 0
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "nat",
+ "chain": "postrouting",
+ "handle": 0,
+ "expr": [
+ {
+ "snat": {
+ "addr": {
+ "map": {
+ "key": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": "@m"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft b/tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft
index 475a52e3..4a58602a 100644
--- a/tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft
+++ b/tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft
@@ -1 +1,283 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "dynset", "handle": 0}}, {"map": {"family": "ip", "name": "dynmark", "table": "dynset", "type": "ipv4_addr", "handle": 0, "map": "mark", "size": 64, "flags": ["timeout"], "timeout": 300, "stmt": [{"counter": null}]}}, {"chain": {"family": "ip", "table": "dynset", "name": "test_ping", "handle": 0}}, {"chain": {"family": "ip", "table": "dynset", "name": "input", "handle": 0, "type": "filter", "hook": "input", "prio": 0, "policy": "accept"}}, {"rule": {"family": "ip", "table": "dynset", "chain": "test_ping", "handle": 0, "comment": "should not increment", "expr": [{"match": {"op": "==", "left": {"payload": {"protocol": "ip", "field": "saddr"}}, "right": "@dynmark"}}, {"counter": {"packets": 0, "bytes": 0}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "test_ping", "handle": 0, "expr": [{"match": {"op": "!=", "left": {"payload": {"protocol": "ip", "field": "saddr"}}, "right": "@dynmark"}}, {"map": {"op": "add", "elem": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": 1, "map": "@dynmark"}}, {"counter": {"packets": 1, "bytes": 84}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "test_ping", "handle": 0, "comment": "should increment", "expr": [{"match": {"op": "==", "left": {"payload": {"protocol": "ip", "field": "saddr"}}, "right": "@dynmark"}}, {"counter": {"packets": 1, "bytes": 84}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "test_ping", "handle": 0, "expr": [{"match": {"op": "==", "left": {"payload": {"protocol": "ip", "field": "saddr"}}, "right": "@dynmark"}}, {"map": {"op": "delete", "elem": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": 1, "map": "@dynmark"}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "test_ping", "handle": 0, "comment": "delete should be instant but might fail under memory pressure", "expr": [{"match": {"op": "==", "left": {"payload": {"protocol": "ip", "field": "saddr"}}, "right": "@dynmark"}}, {"counter": {"packets": 0, "bytes": 0}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "input", "handle": 0, "comment": "also check timeout-gc", "expr": [{"map": {"op": "add", "elem": {"elem": {"val": "10.2.3.4", "timeout": 1}}, "data": 2, "map": "@dynmark"}}]}}, {"rule": {"family": "ip", "table": "dynset", "chain": "input", "handle": 0, "expr": [{"match": {"op": "==", "left": {"meta": {"key": "l4proto"}}, "right": "icmp"}}, {"match": {"op": "==", "left": {"payload": {"protocol": "ip", "field": "daddr"}}, "right": "127.0.0.42"}}, {"jump": {"target": "test_ping"}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "dynset",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "dynmark",
+ "table": "dynset",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "size": 64,
+ "flags": [
+ "timeout"
+ ],
+ "timeout": 300,
+ "stmt": [
+ {
+ "counter": null
+ }
+ ]
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "dynset",
+ "name": "test_ping",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "dynset",
+ "name": "input",
+ "handle": 0,
+ "type": "filter",
+ "hook": "input",
+ "prio": 0,
+ "policy": "accept"
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "test_ping",
+ "handle": 0,
+ "comment": "should not increment",
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "right": "@dynmark"
+ }
+ },
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "test_ping",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "!=",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "right": "@dynmark"
+ }
+ },
+ {
+ "map": {
+ "op": "add",
+ "elem": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": 1,
+ "map": "@dynmark"
+ }
+ },
+ {
+ "counter": {
+ "packets": 1,
+ "bytes": 84
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "test_ping",
+ "handle": 0,
+ "comment": "should increment",
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "right": "@dynmark"
+ }
+ },
+ {
+ "counter": {
+ "packets": 1,
+ "bytes": 84
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "test_ping",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "right": "@dynmark"
+ }
+ },
+ {
+ "map": {
+ "op": "delete",
+ "elem": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": 1,
+ "map": "@dynmark"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "test_ping",
+ "handle": 0,
+ "comment": "delete should be instant but might fail under memory pressure",
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "right": "@dynmark"
+ }
+ },
+ {
+ "counter": {
+ "packets": 0,
+ "bytes": 0
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "input",
+ "handle": 0,
+ "comment": "also check timeout-gc",
+ "expr": [
+ {
+ "map": {
+ "op": "add",
+ "elem": {
+ "elem": {
+ "val": "10.2.3.4",
+ "timeout": 1
+ }
+ },
+ "data": 2,
+ "map": "@dynmark"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "dynset",
+ "chain": "input",
+ "handle": 0,
+ "expr": [
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "meta": {
+ "key": "l4proto"
+ }
+ },
+ "right": "icmp"
+ }
+ },
+ {
+ "match": {
+ "op": "==",
+ "left": {
+ "payload": {
+ "protocol": "ip",
+ "field": "daddr"
+ }
+ },
+ "right": "127.0.0.42"
+ }
+ },
+ {
+ "jump": {
+ "target": "test_ping"
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft b/tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft
index 35f6518c..826785d1 100644
--- a/tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft
+++ b/tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft
@@ -1 +1,110 @@
-{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "kube-nfproxy-v4", "handle": 0}}, {"map": {"family": "ip", "name": "sticky-set-svc-M53CN2XYVUHRQ7UB", "table": "kube-nfproxy-v4", "type": "ipv4_addr", "handle": 0, "map": "mark", "size": 65535, "flags": ["timeout"], "timeout": 360}}, {"map": {"family": "ip", "name": "sticky-set-svc-153CN2XYVUHRQ7UB", "table": "kube-nfproxy-v4", "type": "ipv4_addr", "handle": 0, "map": "mark", "size": 65535, "flags": ["timeout"], "timeout": 60}}, {"chain": {"family": "ip", "table": "kube-nfproxy-v4", "name": "k8s-nfproxy-sep-TMVEFT7EX55F4T62", "handle": 0}}, {"chain": {"family": "ip", "table": "kube-nfproxy-v4", "name": "k8s-nfproxy-sep-GMVEFT7EX55F4T62", "handle": 0}}, {"rule": {"family": "ip", "table": "kube-nfproxy-v4", "chain": "k8s-nfproxy-sep-TMVEFT7EX55F4T62", "handle": 0, "expr": [{"map": {"op": "update", "elem": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": 2, "map": "@sticky-set-svc-M53CN2XYVUHRQ7UB"}}]}}, {"rule": {"family": "ip", "table": "kube-nfproxy-v4", "chain": "k8s-nfproxy-sep-GMVEFT7EX55F4T62", "handle": 0, "expr": [{"map": {"op": "update", "elem": {"payload": {"protocol": "ip", "field": "saddr"}}, "data": 3, "map": "@sticky-set-svc-153CN2XYVUHRQ7UB"}}]}}]}
+{
+ "nftables": [
+ {
+ "metainfo": {
+ "version": "VERSION",
+ "release_name": "RELEASE_NAME",
+ "json_schema_version": 1
+ }
+ },
+ {
+ "table": {
+ "family": "ip",
+ "name": "kube-nfproxy-v4",
+ "handle": 0
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "sticky-set-svc-M53CN2XYVUHRQ7UB",
+ "table": "kube-nfproxy-v4",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "size": 65535,
+ "flags": [
+ "timeout"
+ ],
+ "timeout": 360
+ }
+ },
+ {
+ "map": {
+ "family": "ip",
+ "name": "sticky-set-svc-153CN2XYVUHRQ7UB",
+ "table": "kube-nfproxy-v4",
+ "type": "ipv4_addr",
+ "handle": 0,
+ "map": "mark",
+ "size": 65535,
+ "flags": [
+ "timeout"
+ ],
+ "timeout": 60
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "kube-nfproxy-v4",
+ "name": "k8s-nfproxy-sep-TMVEFT7EX55F4T62",
+ "handle": 0
+ }
+ },
+ {
+ "chain": {
+ "family": "ip",
+ "table": "kube-nfproxy-v4",
+ "name": "k8s-nfproxy-sep-GMVEFT7EX55F4T62",
+ "handle": 0
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "kube-nfproxy-v4",
+ "chain": "k8s-nfproxy-sep-TMVEFT7EX55F4T62",
+ "handle": 0,
+ "expr": [
+ {
+ "map": {
+ "op": "update",
+ "elem": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": 2,
+ "map": "@sticky-set-svc-M53CN2XYVUHRQ7UB"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "rule": {
+ "family": "ip",
+ "table": "kube-nfproxy-v4",
+ "chain": "k8s-nfproxy-sep-GMVEFT7EX55F4T62",
+ "handle": 0,
+ "expr": [
+ {
+ "map": {
+ "op": "update",
+ "elem": {
+ "payload": {
+ "protocol": "ip",
+ "field": "saddr"
+ }
+ },
+ "data": 3,
+ "map": "@sticky-set-svc-153CN2XYVUHRQ7UB"
+ }
+ }
+ ]
+ }
+ }
+ ]
+}