{ "nftables": [ { "metainfo": { "version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1 } }, { "table": { "family": "ip", "name": "t", "handle": 0 } }, { "chain": { "family": "ip", "table": "t", "name": "c", "handle": 0 } }, { "set": { "family": "ip", "name": "s", "table": "t", "type": "ipv4_addr", "handle": 0 } }, { "map": { "family": "ip", "name": "m", "table": "t", "type": "ipv4_addr", "handle": 0, "map": "inet_service" } }, { "set": { "family": "ip", "name": "f", "table": "t", "type": "ipv4_addr", "handle": 0, "size": 1024, "flags": [ "dynamic" ] } }, { "rule": { "family": "ip", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "tcp", "field": "dport" } }, "right": 80 } }, { "set": { "op": "add", "elem": { "payload": { "protocol": "ip", "field": "saddr" } }, "set": "@f", "stmt": [ { "limit": { "rate": 10, "burst": 5, "per": "second" } } ] } } ] } } ] }