diff options
authorPhil Sutter <>2019-06-12 19:27:37 +0200
committerPablo Neira Ayuso <>2019-06-13 12:39:53 +0200
commitcc1ea7ef36868c0708741392c99fcd2f2c395131 (patch)
parent8358ee1bf3236f0d2b1ccfdcf7d31cd7063815a5 (diff)
monitor: Accept -j flag
Make 'nft -j monitor' equal to 'nft monitor json' and change documentation to use only the first variant since that is more intuitive and also consistent with other commands. While being at it, drop references to XML from monitor section - it was never supported. Signed-off-by: Phil Sutter <> Signed-off-by: Pablo Neira Ayuso <>
2 files changed, 5 insertions, 7 deletions
diff --git a/doc/nft.txt b/doc/nft.txt
index 4fca5c91..3f1074b8 100644
--- a/doc/nft.txt
+++ b/doc/nft.txt
@@ -713,7 +713,7 @@ MONITOR
The monitor command allows you to listen to Netlink events produced by the
nf_tables subsystem, related to creation and deletion of objects. When they
-occur, nft will print to stdout the monitored events in either XML, JSON or
+occur, nft will print to stdout the monitored events in either JSON or
native nft format. +
To filter events related to a concrete object, use one of the keywords 'tables', 'chains', 'sets', 'rules', 'elements', 'ruleset'. +
@@ -727,14 +727,9 @@ Hit ^C to finish the monitor operation.
% nft monitor
-.Listen to added tables, report in XML format
-% nft monitor new tables xml
.Listen to deleted rules, report in JSON format
-% nft monitor destroy rules json
+% nft -j monitor destroy rules
.Listen to both new and destroyed chains, in native nft format
diff --git a/src/rule.c b/src/rule.c
index 7eb89a00..8de5aa62 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -2435,6 +2435,9 @@ static int do_command_monitor(struct netlink_ctx *ctx, struct cmd *cmd)
.debug_mask = ctx->nft->debug_mask,
+ if (nft_output_json(&ctx->nft->output))
+ monhandler.format = NFTNL_OUTPUT_JSON;
monhandler.cache_needed = need_cache(cmd);
if (monhandler.cache_needed) {
struct rule *rule, *nrule;