From: Phil Sutter Date: Wed, 11 Jun 2025 12:24:37 +0000 (+0200) Subject: monitor: Correctly print flowtable updates X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18ddac660dfa19a4d18fa850b377802011a76393;p=thirdparty%2Fnftables.git monitor: Correctly print flowtable updates An update deleting a hook from a flowtable was indistinguishable from a flowtable deletion. Fixes: 73a8adfc2432e ("monitor: Recognize flowtable add/del events") Signed-off-by: Phil Sutter Reviewed-by: Pablo Neira Ayuso --- diff --git a/src/monitor.c b/src/monitor.c index 4ceff948..e3e38c2a 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -577,14 +577,18 @@ static int netlink_events_flowtable_cb(const struct nlmsghdr *nlh, int type, nft_mon_print(monh, "%s ", cmd); switch (type) { + case NFT_MSG_DELFLOWTABLE: + if (!ft->dev_array_len) { + nft_mon_print(monh, "flowtable %s %s %s", + family, + ft->handle.table.name, + ft->handle.flowtable.name); + break; + } + /* fall through */ case NFT_MSG_NEWFLOWTABLE: flowtable_print_plain(ft, &monh->ctx->nft->output); break; - case NFT_MSG_DELFLOWTABLE: - nft_mon_print(monh, "flowtable %s %s %s", family, - ft->handle.table.name, - ft->handle.flowtable.name); - break; } nft_mon_print(monh, "\n"); break;