From: Eric Leblond <eric@regit.org>
To: netfilter-devel@vger.kernel.org
Cc: Eric Leblond <eric@regit.org>
Subject: [nftables PATCH] rule: add flag to display rule handle as comment
Date: Thu, 30 May 2013 16:22:46 +0200 [thread overview]
Message-ID: <1369923766-15549-1-git-send-email-eric@regit.org> (raw)
In-Reply-To: <20130521135328.GA5301@localhost>
Knowing the rule handle is necessary to be able to delete a single
rule. It was not displayed till now in the output and it was thus
impossible to remove a single rule.
This patch modify the listing output to add a comment containing
the handle when the -a/--handle flag is provided.
Signed-off-by: Eric Leblond <eric@regit.org>
---
include/nftables.h | 1 +
src/main.c | 12 +++++++++++-
src/rule.c | 3 +++
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/include/nftables.h b/include/nftables.h
index 0eab1e5..ff91d93 100644
--- a/include/nftables.h
+++ b/include/nftables.h
@@ -21,6 +21,7 @@ enum debug_level {
#define INCLUDE_PATHS_MAX 16
extern unsigned int numeric_output;
+extern unsigned int handle_output;
extern unsigned int debug_level;
extern const char *include_paths[INCLUDE_PATHS_MAX];
diff --git a/src/main.c b/src/main.c
index 283ec28..48d4e03 100644
--- a/src/main.c
+++ b/src/main.c
@@ -26,6 +26,7 @@
#include <erec.h>
unsigned int numeric_output;
+unsigned int handle_output;
#ifdef DEBUG
unsigned int debug_level;
#endif
@@ -41,10 +42,11 @@ enum opt_vals {
OPT_INCLUDEPATH = 'I',
OPT_NUMERIC = 'n',
OPT_DEBUG = 'd',
+ OPT_HANDLE_OUTPUT = 'a',
OPT_INVALID = '?',
};
-#define OPTSTRING "hvf:iI:vn"
+#define OPTSTRING "hvf:iI:vna"
static const struct option options[] = {
{
@@ -81,6 +83,10 @@ static const struct option options[] = {
},
#endif
{
+ .name = "handle",
+ .val = OPT_HANDLE_OUTPUT,
+ },
+ {
.name = NULL
}
};
@@ -100,6 +106,7 @@ static void show_help(const char *name)
" -n/--numeric When specified once, show network addresses numerically.\n"
" When specified twice, also show Internet protocols,\n"
" Internet services, user IDs and group IDs numerically.\n"
+" -a/--handle Output rule handle.\n"
" -I/--includepath <directory> Add <directory> to the paths searched for include files.\n"
#ifdef DEBUG
" --debug <level [,level...]> Specify debugging level (scanner, parser, eval, netlink, all)\n"
@@ -244,6 +251,9 @@ int main(int argc, char * const *argv)
}
break;
#endif
+ case OPT_HANDLE_OUTPUT:
+ handle_output++;
+ break;
case OPT_INVALID:
exit(NFT_EXIT_FAILURE);
}
diff --git a/src/rule.c b/src/rule.c
index 9d9eaee..e77323d 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -13,6 +13,7 @@
#include <stdio.h>
#include <stdint.h>
#include <string.h>
+#include <inttypes.h>
#include <statement.h>
#include <rule.h>
@@ -136,6 +137,8 @@ void rule_print(const struct rule *rule)
printf(" ");
stmt->ops->print(stmt);
}
+ if (handle_output > 0)
+ printf(" # handle %" PRIu64, rule->handle.handle);
printf("\n");
}
--
1.7.10.4
next prev parent reply other threads:[~2013-05-30 14:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-20 23:09 [nftables PATCH] rule: display rule handle as comment Eric Leblond
2013-05-21 13:53 ` Pablo Neira Ayuso
2013-05-30 14:22 ` Eric Leblond [this message]
2013-05-31 11:11 ` [nftables PATCH] rule: add flag to " Pablo Neira Ayuso
2013-05-21 19:06 ` [nftables PATCH] rule: " Patrick McHardy
2013-05-22 13:53 ` Jesper Dangaard Brouer
2013-05-22 15:35 ` Patrick McHardy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1369923766-15549-1-git-send-email-eric@regit.org \
--to=eric@regit.org \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.