summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/json.c22
-rw-r--r--tests/monitor/testcases/flowtable-simple.t2
2 files changed, 15 insertions, 9 deletions
diff --git a/src/json.c b/src/json.c
index a46aed27..5bd5daf3 100644
--- a/src/json.c
+++ b/src/json.c
@@ -493,18 +493,24 @@ static json_t *flowtable_print_json(const struct flowtable *ftable)
json_t *root, *devs = NULL;
int i, priority = 0;
+ root = nft_json_pack("{s:s, s:s, s:s, s:I}",
+ "family", family2str(ftable->handle.family),
+ "name", ftable->handle.flowtable.name,
+ "table", ftable->handle.table.name,
+ "handle", ftable->handle.handle.id);
+
if (ftable->priority.expr) {
+ json_t *tmp;
+
mpz_export_data(&priority, ftable->priority.expr->value,
BYTEORDER_HOST_ENDIAN, sizeof(int));
- }
- root = nft_json_pack("{s:s, s:s, s:s, s:I, s:s, s:i}",
- "family", family2str(ftable->handle.family),
- "name", ftable->handle.flowtable.name,
- "table", ftable->handle.table.name,
- "handle", ftable->handle.handle.id,
- "hook", hooknum2str(NFPROTO_NETDEV, ftable->hook.num),
- "prio", priority);
+ tmp = nft_json_pack("{s:s, s:i}",
+ "hook", hooknum2str(NFPROTO_NETDEV,
+ ftable->hook.num),
+ "prio", priority);
+ json_object_update_new(root, tmp);
+ }
for (i = 0; i < ftable->dev_array_len; i++) {
const char *dev = ftable->dev_array[i];
diff --git a/tests/monitor/testcases/flowtable-simple.t b/tests/monitor/testcases/flowtable-simple.t
index df8eccbd..b373cca2 100644
--- a/tests/monitor/testcases/flowtable-simple.t
+++ b/tests/monitor/testcases/flowtable-simple.t
@@ -7,4 +7,4 @@ J {"add": {"flowtable": {"family": "ip", "name": "ft", "table": "t", "handle": 0
I delete flowtable ip t ft
O -
-J {"delete": {"flowtable": {"family": "ip", "name": "ft", "table": "t", "handle": 0, "hook": "ingress", "prio": 0, "dev": "lo"}}}
+J {"delete": {"flowtable": {"family": "ip", "name": "ft", "table": "t", "handle": 0}}}