summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_tables_api.c
diff options
context:
space:
mode:
authorPatrick McHardy2015-03-25 14:07:49 +0100
committerPablo Neira Ayuso2015-03-25 17:18:34 +0100
commit3ac4c07a24007f0f45d2082b745508768a8e21cf (patch)
tree1c37bb8fbea34f181a1f1cf85ee355fa7486dff2 /net/netfilter/nf_tables_api.c
parentnetfilter: nft_hash: convert to use rhashtable callbacks (diff)
downloadkernel-qcow2-linux-3ac4c07a24007f0f45d2082b745508768a8e21cf.tar.gz
kernel-qcow2-linux-3ac4c07a24007f0f45d2082b745508768a8e21cf.tar.xz
kernel-qcow2-linux-3ac4c07a24007f0f45d2082b745508768a8e21cf.zip
netfilter: nf_tables: add set extensions
Add simple set extension infrastructure for maintaining variable sized and optional per element data. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_tables_api.c')
-rw-r--r--net/netfilter/nf_tables_api.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 0b969b66cb77..972c47f6e823 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -2827,6 +2827,22 @@ void nf_tables_unbind_set(const struct nft_ctx *ctx, struct nft_set *set,
nf_tables_set_destroy(ctx, set);
}
+const struct nft_set_ext_type nft_set_ext_types[] = {
+ [NFT_SET_EXT_KEY] = {
+ .len = sizeof(struct nft_data),
+ .align = __alignof__(struct nft_data),
+ },
+ [NFT_SET_EXT_DATA] = {
+ .len = sizeof(struct nft_data),
+ .align = __alignof__(struct nft_data),
+ },
+ [NFT_SET_EXT_FLAGS] = {
+ .len = sizeof(u8),
+ .align = __alignof__(u8),
+ },
+};
+EXPORT_SYMBOL_GPL(nft_set_ext_types);
+
/*
* Set elements
*/