From f1c2ace2631fa691b81a181bbbf2a3b29b0e69f6 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 23 Oct 2018 18:24:31 +0200 Subject: src: move socket open and reopen to mnl.c These functions are part of the mnl backend, move them there. Remove netlink_close_sock(), use direct call to mnl_socket_close(). Signed-off-by: Pablo Neira Ayuso --- src/mnl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/mnl.c') diff --git a/src/mnl.c b/src/mnl.c index 9a6248aa..84727094 100644 --- a/src/mnl.c +++ b/src/mnl.c @@ -28,10 +28,32 @@ #include #include #include +#include #include #include #include +struct mnl_socket *nft_mnl_socket_open(void) +{ + struct mnl_socket *nf_sock; + + nf_sock = mnl_socket_open(NETLINK_NETFILTER); + if (!nf_sock) + netlink_init_error(); + + if (fcntl(mnl_socket_get_fd(nf_sock), F_SETFL, O_NONBLOCK)) + netlink_init_error(); + + return nf_sock; +} + +struct mnl_socket *nft_mnl_socket_reopen(struct mnl_socket *nf_sock) +{ + mnl_socket_close(nf_sock); + + return nft_mnl_socket_open(); +} + uint32_t mnl_seqnum_alloc(unsigned int *seqnum) { return (*seqnum)++; -- cgit v1.2.3