diff --git a/daemon/main.c b/daemon/main.c index 841c3f16a..ce6f35ab1 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -677,7 +677,7 @@ static void options(int *argc, char ***argv) { const char *err; if (nftables_start) err = nftables_setup(rtpe_config.nftables_chain, rtpe_config.nftables_base_chain, - rtpe_config.kernel_table); + (nftables_args) {.table = rtpe_config.kernel_table}); else // nftables_stop err = nftables_shutdown(rtpe_config.nftables_chain, rtpe_config.nftables_base_chain); if (err) @@ -1170,7 +1170,7 @@ static void create_everything(void) { goto no_kernel; #ifndef WITHOUT_NFTABLES const char *err = nftables_setup(rtpe_config.nftables_chain, rtpe_config.nftables_base_chain, - rtpe_config.kernel_table); + (nftables_args) {.table = rtpe_config.kernel_table}); if (err) die("Failed to create nftables chains or rules: %s (%s)", err, strerror(errno)); #endif diff --git a/daemon/nftables.c b/daemon/nftables.c index 988f2d85a..50b752277 100644 --- a/daemon/nftables.c +++ b/daemon/nftables.c @@ -620,8 +620,8 @@ static const char *nftables_do(const char *chain, const char *base_chain, } -const char *nftables_setup(const char *chain, const char *base_chain, int table) { - return nftables_do(chain, base_chain, nftables_setup_family, &table); +const char *nftables_setup(const char *chain, const char *base_chain, nftables_args args) { + return nftables_do(chain, base_chain, nftables_setup_family, &args.table); } const char *nftables_shutdown(const char *chain, const char *base_chain) { diff --git a/include/nftables.h b/include/nftables.h index bd1857910..da27930e4 100644 --- a/include/nftables.h +++ b/include/nftables.h @@ -1,7 +1,11 @@ #ifndef _NFTABLES_H_ #define _NFTABLES_H_ -const char *nftables_setup(const char *chain, const char *base_chain, int table); +typedef struct { + int table; +} nftables_args; + +const char *nftables_setup(const char *chain, const char *base_chain, nftables_args); const char *nftables_shutdown(const char *chain, const char *base_chain); #endif