aboutsummaryrefslogtreecommitdiff
path: root/include/net/netfilter
diff options
context:
space:
mode:
authorGravatar Pablo Neira Ayuso <pablo@netfilter.org> 2020-12-07 17:37:01 +0100
committerGravatar Pablo Neira Ayuso <pablo@netfilter.org> 2020-12-12 11:44:42 +0100
commit8cfd9b0f8515e7c361bba27e2a2684cbd427fe01 (patch)
tree4448d9e59edd49418fc55452bffab69282a8eb47 /include/net/netfilter
parentnetfilter: ctnetlink: add timeout and protoinfo to destroy events (diff)
downloadlinux-8cfd9b0f8515e7c361bba27e2a2684cbd427fe01.tar.gz
linux-8cfd9b0f8515e7c361bba27e2a2684cbd427fe01.tar.bz2
linux-8cfd9b0f8515e7c361bba27e2a2684cbd427fe01.zip
netfilter: nftables: generalize set expressions support
Currently, the set infrastucture allows for one single expressions per element. This patch extends the existing infrastructure to allow for up to two expressions. This is not updating the netlink API yet, this is coming as an initial preparation patch. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/net/netfilter')
-rw-r--r--include/net/netfilter/nf_tables.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index 55b4cadf290a..aad7e1381200 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -396,6 +396,8 @@ struct nft_set_type {
};
#define to_set_type(o) container_of(o, struct nft_set_type, ops)
+#define NFT_SET_EXPR_MAX 2
+
/**
* struct nft_set - nf_tables set instance
*
@@ -448,13 +450,14 @@ struct nft_set {
u16 policy;
u16 udlen;
unsigned char *udata;
- struct nft_expr *expr;
/* runtime data below here */
const struct nft_set_ops *ops ____cacheline_aligned;
u16 flags:14,
genmask:2;
u8 klen;
u8 dlen;
+ u8 num_exprs;
+ struct nft_expr *exprs[NFT_SET_EXPR_MAX];
unsigned char data[]
__attribute__((aligned(__alignof__(u64))));
};