summaryrefslogtreecommitdiffstats
path: root/src/json.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2023-06-20 11:45:53 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2023-06-20 18:10:56 +0200
commitae8786756b0ca9fd308a0089842b93dc3c329e25 (patch)
treebbd57c8e9ebb55a0335e82c6f3cc6ad774c29b72 /src/json.c
parent29bed4fa594c3f6e343a8b5669d61e20c7129cca (diff)
src: add json support for last statement
This patch adds json support for the last statement, it works for me here. However, tests/py still displays a warning: any/last.t: WARNING: line 12: '{"nftables": [{"add": {"rule": {"family": "ip", "table": "test-ip4", "chain": "input", "expr": [{"last": {"used": 300000}}]}}}]}': '[{"last": {"used": 300000}}]' mismatches '[{"last": null}]' Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/json.c b/src/json.c
index 981d177b..305eb6e3 100644
--- a/src/json.c
+++ b/src/json.c
@@ -1482,6 +1482,14 @@ json_t *counter_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
"bytes", stmt->counter.bytes);
}
+json_t *last_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
+{
+ if (nft_output_stateless(octx) || stmt->last.set == 0)
+ return json_pack("{s:n}", "last");
+
+ return json_pack("{s:{s:I}}", "last", "used", stmt->last.used);
+}
+
json_t *set_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
{
json_t *root;