From: Pablo Neira Ayuso Date: Thu, 16 Jan 2014 16:42:02 +0000 (+0100) Subject: src: add new --debug=mnl option to enable libmnl debugging X-Git-Tag: v0.099~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4b1c0c704d082a70fe68b3a97a9c03416f63ccf;p=thirdparty%2Fnftables.git 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 --- 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 Add to the paths searched for include files.\n" #ifdef DEBUG -" --debug Specify debugging level (scanner, parser, eval, netlink, segtree, all)\n" +" --debug Specify debugging level (scanner, parser, eval, netlink, mnl, segtree, all)\n" #endif "\n", name); @@ -138,6 +138,10 @@ static const struct { .name = "netlink", .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),