From 36c8a131af6217579da582bc320e16171df0f3af Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 30 Sep 2014 17:42:36 +0200 Subject: mnl: use nft_batch_begin and nft_batch_end from libnftnl Use the existing functions in libnftnl to begin and end a batch. Signed-off-by: Pablo Neira Ayuso --- src/mnl.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/mnl.c b/src/mnl.c index b01e91c2..bc8b7ea1 100644 --- a/src/mnl.c +++ b/src/mnl.c @@ -192,33 +192,20 @@ static void nft_batch_continue(void) nft_batch_page_add(); } -static uint32_t mnl_batch_put(int type) +uint32_t mnl_batch_begin(void) { - struct nlmsghdr *nlh; - struct nfgenmsg *nfg; - - nlh = mnl_nlmsg_put_header(nft_nlmsg_batch_current()); - nlh->nlmsg_type = type; - nlh->nlmsg_flags = NLM_F_REQUEST; - nlh->nlmsg_seq = mnl_seqnum_alloc(); + uint32_t seq = mnl_seqnum_alloc(); - nfg = mnl_nlmsg_put_extra_header(nlh, sizeof(*nfg)); - nfg->nfgen_family = AF_INET; - nfg->version = NFNETLINK_V0; - nfg->res_id = NFNL_SUBSYS_NFTABLES; + nft_batch_begin(nft_nlmsg_batch_current(), seq); nft_batch_continue(); - return nlh->nlmsg_seq; -} - -uint32_t mnl_batch_begin(void) -{ - return mnl_batch_put(NFNL_MSG_BATCH_BEGIN); + return seq; } void mnl_batch_end(void) { - mnl_batch_put(NFNL_MSG_BATCH_END); + nft_batch_end(nft_nlmsg_batch_current(), mnl_seqnum_alloc()); + nft_batch_continue(); } bool mnl_batch_ready(void) -- cgit v1.2.3