summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-07-04 12:48:04 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-07-30 11:52:02 +0200
commit222440b4e832059c0ddf18d1e409f0552ab53a7d (patch)
tree38cd3a76fc7b67cfec8e6d2edd684cfa6d54439f /include/net
parentecbcd689d74a394b711d2360aef7e5d007ec9d98 (diff)
downloadlinux-222440b4e832059c0ddf18d1e409f0552ab53a7d.tar.gz
linux-222440b4e832059c0ddf18d1e409f0552ab53a7d.tar.bz2
linux-222440b4e832059c0ddf18d1e409f0552ab53a7d.zip
netfilter: nf_tables: handle meta/lookup with direct call
Currently nft uses inlined variants for common operations such as 'ip saddr 1.2.3.4' instead of an indirect call. Also handle meta get operations and lookups without indirect call, both are builtin. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/netfilter/nf_tables_core.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/netfilter/nf_tables_core.h b/include/net/netfilter/nf_tables_core.h
index a05134507e7b..8da837d2aaf9 100644
--- a/include/net/netfilter/nf_tables_core.h
+++ b/include/net/netfilter/nf_tables_core.h
@@ -71,4 +71,11 @@ extern struct nft_set_type nft_set_hash_fast_type;
extern struct nft_set_type nft_set_rbtree_type;
extern struct nft_set_type nft_set_bitmap_type;
+struct nft_expr;
+struct nft_regs;
+struct nft_pktinfo;
+void nft_meta_get_eval(const struct nft_expr *expr,
+ struct nft_regs *regs, const struct nft_pktinfo *pkt);
+void nft_lookup_eval(const struct nft_expr *expr,
+ struct nft_regs *regs, const struct nft_pktinfo *pkt);
#endif /* _NET_NF_TABLES_CORE_H */