summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2014-01-16 17:42:02 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2014-01-16 19:47:50 +0100
commita4b1c0c704d082a70fe68b3a97a9c03416f63ccf (patch)
treec5d304c9e72641fe6bf85262ba7ec8be4a7373e5
parent998f010120cf91578717d3ed037bad16f80c963f (diff)
src: add new --debug=mnl option to enable libmnl debugging
This allows you to dump the netlink message that is send via libmnl. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/nftables.h1
-rw-r--r--src/main.c6
-rw-r--r--src/mnl.c4
3 files changed, 8 insertions, 3 deletions
diff --git a/include/nftables.h b/include/nftables.h
index f9891619..b36e10ae 100644
--- a/include/nftables.h
+++ b/include/nftables.h
@@ -18,6 +18,7 @@ enum debug_level {
DEBUG_EVALUATION = 0x4,
DEBUG_NETLINK = 0x8,
DEBUG_SEGTREE = 0x10,
+ DEBUG_MNL = 0x20,
};
#define INCLUDE_PATHS_MAX 16
diff --git a/src/main.c b/src/main.c
index d78eea79..3f5dd04e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -111,7 +111,7 @@ static void show_help(const char *name)
" -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, segtree, all)\n"
+" --debug <level [,level...]> Specify debugging level (scanner, parser, eval, netlink, mnl, segtree, all)\n"
#endif
"\n",
name);
@@ -139,6 +139,10 @@ static const struct {
.level = DEBUG_NETLINK,
},
{
+ .name = "mnl",
+ .level = DEBUG_MNL,
+ },
+ {
.name = "segtree",
.level = DEBUG_SEGTREE,
},
diff --git a/src/mnl.c b/src/mnl.c
index a4a4c4af..16625000 100644
--- a/src/mnl.c
+++ b/src/mnl.c
@@ -39,7 +39,7 @@ mnl_talk(struct mnl_socket *nf_sock, const void *data, unsigned int len,
int ret;
#ifdef DEBUG
- if (debug_level & DEBUG_NETLINK)
+ if (debug_level & DEBUG_MNL)
mnl_nlmsg_fprintf(stdout, data, len, sizeof(struct nfgenmsg));
#endif
@@ -207,7 +207,7 @@ static ssize_t mnl_nft_socket_sendmsg(const struct mnl_socket *nl)
iov[i].iov_len = mnl_nlmsg_batch_size(batch_page->batch);
i++;
#ifdef DEBUG
- if (debug_level & DEBUG_NETLINK) {
+ if (debug_level & DEBUG_MNL) {
mnl_nlmsg_fprintf(stdout,
mnl_nlmsg_batch_head(batch_page->batch),
mnl_nlmsg_batch_size(batch_page->batch),