From 48169840569b45e7695b125935bf30967f30b10c Mon Sep 17 00:00:00 2001
From: Harsha Sharma <harshasharmaiitr@gmail.com>
Date: Sun, 8 Jul 2018 12:41:03 +0200
Subject: [PATCH] rule: list only the table containing object
For e.g.
% nft list ct helper ip raw cthelp1
table ip filter {
}
table ip raw {
ct helper cthelp1 {
type "ftp" protocol tcp
l3proto ip
}
}
With this patch, print only table raw.
Signed-off-by: Harsha Sharma <harshasharmaiitr@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
(cherry picked from commit 88456a7ef011728a98c950447630f0a128dcad13)
Signed-off-by: Phil Sutter <psutter@redhat.com>
---
src/rule.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/src/rule.c b/src/rule.c
index a157ac91683cc..3b5468d00e79c 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1593,15 +1593,13 @@ static int do_list_obj(struct netlink_ctx *ctx, struct cmd *cmd, uint32_t type)
cmd->handle.family != table->handle.family)
continue;
- nft_print(ctx->octx, "table %s %s {\n",
- family2str(table->handle.family),
- table->handle.table.name);
-
if (cmd->handle.table.name != NULL &&
- strcmp(cmd->handle.table.name, table->handle.table.name)) {
- nft_print(ctx->octx, "}\n");
+ !strcmp(cmd->handle.table.name, table->handle.table.name)) {
+ nft_print(ctx->octx, "table %s %s {\n",
+ family2str(table->handle.family),
+ cmd->handle.table.name);
+ } else
continue;
- }
list_for_each_entry(obj, &table->objs, list) {
if (obj->type != type ||
--
2.21.0