aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-10-10 07:26:33 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2013-10-14 12:00:57 -0400
commit9ddf63235749a9efa1fad2eeb74be2ee9b580f8d (patch)
tree2606a4fffe7739aa342682f48bd9817bafeeb4ce /include/uapi/linux
parentc54032e05bfcbb261f47aaadf8476e864e8712f4 (diff)
netfilter: nf_tables: add support for dormant tables
This patch allows you to temporarily disable an entire table. You can change the state of a dormant table via NFT_MSG_NEWTABLE messages. Using this operation you can wake up a table, so their chains are registered. This provides atomicity at chain level. Thus, the rule-set of one chain is applied at once, avoiding any possible intermediate state in every chain. Still, the chains that belongs to a table are registered consecutively. This also allows you to have inactive tables in the kernel. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/netfilter/nf_tables.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h
index 1563875e6942..a9c4bce1988f 100644
--- a/include/uapi/linux/netfilter/nf_tables.h
+++ b/include/uapi/linux/netfilter/nf_tables.h
@@ -97,13 +97,24 @@ enum nft_hook_attributes {
97#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1) 97#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1)
98 98
99/** 99/**
100 * enum nft_table_flags - nf_tables table flags
101 *
102 * @NFT_TABLE_F_DORMANT: this table is not active
103 */
104enum nft_table_flags {
105 NFT_TABLE_F_DORMANT = 0x1,
106};
107
108/**
100 * enum nft_table_attributes - nf_tables table netlink attributes 109 * enum nft_table_attributes - nf_tables table netlink attributes
101 * 110 *
102 * @NFTA_TABLE_NAME: name of the table (NLA_STRING) 111 * @NFTA_TABLE_NAME: name of the table (NLA_STRING)
112 * @NFTA_TABLE_FLAGS: bitmask of enum nft_table_flags (NLA_U32)
103 */ 113 */
104enum nft_table_attributes { 114enum nft_table_attributes {
105 NFTA_TABLE_UNSPEC, 115 NFTA_TABLE_UNSPEC,
106 NFTA_TABLE_NAME, 116 NFTA_TABLE_NAME,
117 NFTA_TABLE_FLAGS,
107 __NFTA_TABLE_MAX 118 __NFTA_TABLE_MAX
108}; 119};
109#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1) 120#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)