diff options
Diffstat (limited to 'tests/shell/testcases/sets/dumps/set_stmt.json-nft')
-rw-r--r-- | tests/shell/testcases/sets/dumps/set_stmt.json-nft | 439 |
1 files changed, 439 insertions, 0 deletions
diff --git a/tests/shell/testcases/sets/dumps/set_stmt.json-nft b/tests/shell/testcases/sets/dumps/set_stmt.json-nft new file mode 100644 index 00000000..644413bd --- /dev/null +++ b/tests/shell/testcases/sets/dumps/set_stmt.json-nft @@ -0,0 +1,439 @@ +{ + "nftables": [ + { + "metainfo": { + "version": "VERSION", + "release_name": "RELEASE_NAME", + "json_schema_version": 1 + } + }, + { + "table": { + "family": "ip", + "name": "x", + "handle": 0 + } + }, + { + "chain": { + "family": "ip", + "table": "x", + "name": "y0", + "handle": 0 + } + }, + { + "chain": { + "family": "ip", + "table": "x", + "name": "y1", + "handle": 0 + } + }, + { + "chain": { + "family": "ip", + "table": "x", + "name": "y2", + "handle": 0 + } + }, + { + "chain": { + "family": "ip", + "table": "x", + "name": "y3", + "handle": 0 + } + }, + { + "chain": { + "family": "ip", + "table": "x", + "name": "y4", + "handle": 0 + } + }, + { + "set": { + "family": "ip", + "name": "y0", + "table": "x", + "type": "ipv4_addr", + "handle": 0, + "elem": [ + { + "elem": { + "val": "2.2.2.0", + "counter": { + "packets": 3, + "bytes": 4 + } + } + }, + { + "elem": { + "val": "3.3.3.0", + "counter": { + "packets": 1, + "bytes": 2 + } + } + }, + { + "elem": { + "val": "5.5.5.0", + "counter": { + "packets": 1, + "bytes": 2 + } + } + }, + { + "elem": { + "val": "6.6.6.0", + "counter": { + "packets": 3, + "bytes": 4 + } + } + } + ], + "stmt": [ + { + "counter": null + } + ] + } + }, + { + "set": { + "family": "ip", + "name": "y1", + "table": "x", + "type": "ipv4_addr", + "handle": 0, + "elem": [ + { + "elem": { + "val": "2.2.2.1", + "limit": { + "rate": 5, + "burst": 5, + "per": "second" + } + } + }, + { + "elem": { + "val": "3.3.3.1", + "limit": { + "rate": 1, + "burst": 5, + "per": "second" + } + } + }, + { + "elem": { + "val": "5.5.5.1", + "limit": { + "rate": 1, + "burst": 5, + "per": "second" + } + } + }, + { + "elem": { + "val": "6.6.6.1", + "limit": { + "rate": 5, + "burst": 5, + "per": "second" + } + } + } + ], + "stmt": [ + { + "limit": { + "rate": 1, + "burst": 5, + "per": "second" + } + } + ] + } + }, + { + "set": { + "family": "ip", + "name": "y2", + "table": "x", + "type": "ipv4_addr", + "handle": 0, + "elem": [ + { + "elem": { + "val": "2.2.2.2", + "ct count": { + "val": 5, + "inv": true + } + } + }, + { + "elem": { + "val": "3.3.3.2", + "ct count": { + "val": 2, + "inv": true + } + } + }, + { + "elem": { + "val": "5.5.5.2", + "ct count": { + "val": 2, + "inv": true + } + } + }, + { + "elem": { + "val": "6.6.6.2", + "ct count": { + "val": 5, + "inv": true + } + } + } + ], + "stmt": [ + { + "ct count": { + "val": 2, + "inv": true + } + } + ] + } + }, + { + "set": { + "family": "ip", + "name": "y3", + "table": "x", + "type": "ipv4_addr", + "handle": 0, + "elem": [ + { + "elem": { + "val": "2.2.2.3", + "last": null + } + }, + { + "elem": { + "val": "3.3.3.3", + "last": null + } + }, + { + "elem": { + "val": "5.5.5.3", + "last": null + } + }, + { + "elem": { + "val": "6.6.6.3", + "last": null + } + } + ], + "stmt": [ + { + "last": null + } + ] + } + }, + { + "set": { + "family": "ip", + "name": "y4", + "table": "x", + "type": "ipv4_addr", + "handle": 0, + "elem": [ + { + "elem": { + "val": "2.2.2.4", + "quota": { + "val": 30000, + "val_unit": "bytes", + "inv": true, + "used": 1000, + "used_unit": "bytes" + } + } + }, + { + "elem": { + "val": "3.3.3.4", + "quota": { + "val": 1000, + "val_unit": "bytes", + "inv": true + } + } + }, + { + "elem": { + "val": "5.5.5.4", + "quota": { + "val": 1000, + "val_unit": "bytes", + "inv": true + } + } + }, + { + "elem": { + "val": "6.6.6.4", + "quota": { + "val": 30000, + "val_unit": "bytes", + "inv": true, + "used": 1000, + "used_unit": "bytes" + } + } + } + ], + "stmt": [ + { + "quota": { + "val": 1000, + "val_unit": "bytes", + "inv": true + } + } + ] + } + }, + { + "rule": { + "family": "ip", + "table": "x", + "chain": "y0", + "handle": 0, + "expr": [ + { + "match": { + "op": "==", + "left": { + "payload": { + "protocol": "ip", + "field": "daddr" + } + }, + "right": "@y0" + } + } + ] + } + }, + { + "rule": { + "family": "ip", + "table": "x", + "chain": "y1", + "handle": 0, + "expr": [ + { + "match": { + "op": "==", + "left": { + "payload": { + "protocol": "ip", + "field": "daddr" + } + }, + "right": "@y1" + } + } + ] + } + }, + { + "rule": { + "family": "ip", + "table": "x", + "chain": "y2", + "handle": 0, + "expr": [ + { + "match": { + "op": "==", + "left": { + "payload": { + "protocol": "ip", + "field": "daddr" + } + }, + "right": "@y2" + } + } + ] + } + }, + { + "rule": { + "family": "ip", + "table": "x", + "chain": "y3", + "handle": 0, + "expr": [ + { + "match": { + "op": "==", + "left": { + "payload": { + "protocol": "ip", + "field": "daddr" + } + }, + "right": "@y3" + } + } + ] + } + }, + { + "rule": { + "family": "ip", + "table": "x", + "chain": "y4", + "handle": 0, + "expr": [ + { + "match": { + "op": "==", + "left": { + "payload": { + "protocol": "ip", + "field": "daddr" + } + }, + "right": "@y4" + } + } + ] + } + } + ] +} |