From 0ba6d54ef759930457ca8d6bea78ed9f23b113ae Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 7 Sep 2026 15:04:26 +0900 Subject: [PATCH] firewall-util: introduce fw_nftables_del_table() --- src/shared/firewall-util.c | 18 ++++++++++++++++++ src/shared/firewall-util.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/shared/firewall-util.c b/src/shared/firewall-util.c index 986cb958a1..239ccd4e8f 100644 --- a/src/shared/firewall-util.c +++ b/src/shared/firewall-util.c @@ -802,6 +802,24 @@ static int fw_nftables_init_family(sd_netlink *nfnl, int family) { return 0; } +int fw_nftables_del_table(sd_netlink *nfnl, int family) { + int r; + + assert(nfnl); + assert(IN_SET(family, AF_INET, AF_INET6)); + + _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL; + r = sd_nfnl_nft_message_new_table(nfnl, &m, /* add= */ false, family, nft_table_name()); + if (r < 0) + return r; + + r = sd_nfnl_call_batch(nfnl, &m, /* n_messages= */ 1, NFNL_DEFAULT_TIMEOUT_USECS); + if (r < 0 && r != -ENOENT) + return r; + + return 0; +} + static int nft_message_append_setelem_iprange( sd_netlink_message *m, const union in_addr_union *source, diff --git a/src/shared/firewall-util.h b/src/shared/firewall-util.h index 1bef10d880..f149e9ad6a 100644 --- a/src/shared/firewall-util.h +++ b/src/shared/firewall-util.h @@ -4,6 +4,8 @@ #include "conf-parser-forward.h" #include "forward.h" +int fw_nftables_del_table(sd_netlink *nfnl, int family); + int fw_nftables_add_masquerade( sd_netlink *nfnl, bool add,