@@ -18,6 +18,7 @@ enum debug_level {
DEBUG_EVALUATION = 0x4,
DEBUG_NETLINK = 0x8,
DEBUG_SEGTREE = 0x10,
+ DEBUG_MNL = 0x20,
};
#define INCLUDE_PATHS_MAX 16
@@ -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,
},
@@ -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),
This allows you to dump the netlink message that is send via libmnl. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> --- include/nftables.h | 1 + src/main.c | 6 +++++- src/mnl.c | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-)