summaryrefslogtreecommitdiffstats
path: root/src/json.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-02-07 13:03:20 +0100
committerFlorian Westphal <fw@strlen.de>2022-02-07 14:56:26 +0100
commit160d44c91113849b9c09f6bbad159e10ded1ca54 (patch)
tree3658e1284bf03294a9ebf4c71d5d261f8fa551c3 /src/json.c
parent425a27dbd22d12574cedf9b67abc5fd38771fddb (diff)
json: add flow statement json export + parser
flow statement has no export, its shown as: ".. }, "flow add @ft" ] } }" With this patch: ".. }, {"flow": {"op": "add", "flowtable": "@ft"}}]}}" Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/json.c b/src/json.c
index 63b325af..4f800c90 100644
--- a/src/json.c
+++ b/src/json.c
@@ -1122,6 +1122,13 @@ json_t *expr_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
return expr_print_json(stmt->expr, octx);
}
+json_t *flow_offload_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
+{
+ return json_pack("{s:{s:s, s:s+}}", "flow",
+ "op", "add", "flowtable",
+ "@", stmt->flow.table_name);
+}
+
json_t *payload_stmt_json(const struct stmt *stmt, struct output_ctx *octx)
{
return json_pack("{s: {s:o, s:o}}", "mangle",