netfilter: nf_tables: expression ops overloading
authorPatrick McHardy <kaber@trash.net>
Thu, 10 Oct 2013 09:41:20 +0000 (11:41 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 14 Oct 2013 15:16:08 +0000 (17:16 +0200)
commitef1f7df9170dbd875ce198ba84e6ab80f6fc139e
treeac15a3cbf8c4a05b8b1919cf195189e00c3a2956
parent20a69341f2d00cd042e81c82289fba8a13c05a25
netfilter: nf_tables: expression ops overloading

Split the expression ops into two parts and support overloading of
the runtime expression ops based on the requested function through
a ->select_ops() callback.

This can be used to provide optimized implementations, for instance
for loading small aligned amounts of data from the packet or inlining
frequently used operations into the main evaluation loop.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
17 files changed:
include/net/netfilter/nf_tables.h
net/ipv4/netfilter/nf_table_nat_ipv4.c
net/ipv4/netfilter/nft_reject_ipv4.c
net/netfilter/nf_tables_api.c
net/netfilter/nft_bitwise.c
net/netfilter/nft_byteorder.c
net/netfilter/nft_cmp.c
net/netfilter/nft_counter.c
net/netfilter/nft_ct.c
net/netfilter/nft_expr_template.c
net/netfilter/nft_exthdr.c
net/netfilter/nft_immediate.c
net/netfilter/nft_limit.c
net/netfilter/nft_log.c
net/netfilter/nft_lookup.c
net/netfilter/nft_meta.c
net/netfilter/nft_payload.c