{ "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": "y", "handle": 0 } }, { "map": { "family": "ip", "name": "y", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "elem": [ [ "10.141.0.1", "192.168.0.2" ], [ "*", "192.168.0.4" ] ] } }, { "map": { "family": "ip", "name": "z", "table": "x", "type": "ipv4_addr", "handle": 0, "map": "ipv4_addr", "flags": [ "interval" ], "elem": [ [ { "prefix": { "addr": "10.141.0.0", "len": 24 } }, "192.168.0.2" ], [ "*", "192.168.0.3" ] ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "snat": { "addr": { "map": { "key": { "payload": { "protocol": "ip", "field": "saddr" } }, "data": "@z" } } } } ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "snat": { "addr": { "map": { "key": { "payload": { "protocol": "ip", "field": "saddr" } }, "data": { "set": [ [ { "prefix": { "addr": "10.141.0.0", "len": 24 } }, "192.168.0.2" ], [ "*", "192.168.0.3" ] ] } } } } } ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "snat": { "addr": { "map": { "key": { "concat": [ { "payload": { "protocol": "ip", "field": "saddr" } }, { "payload": { "protocol": "ip", "field": "daddr" } } ] }, "data": { "set": [ [ { "concat": [ { "prefix": { "addr": "10.141.0.0", "len": 24 } }, { "prefix": { "addr": "10.0.0.0", "len": 8 } } ] }, "192.168.0.2" ], [ { "concat": [ { "prefix": { "addr": "192.168.9.0", "len": 24 } }, { "prefix": { "addr": "192.168.10.0", "len": 24 } } ] }, "192.168.0.4" ], [ "*", "192.168.0.3" ] ] } } } } } ] } } ] }