diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-05-31 18:04:11 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-08-07 11:49:49 +0200 |
commit | d877f07112f1e5a247c6b585c971a93895c9f738 (patch) | |
tree | 6ff7fa3d31b94ef6cbe88284d63f93bdab8a35fb /net/ipv4/netfilter/nf_dup_ipv4.c | |
parent | bbde9fc1824aab58bc78c084163007dd6c03fe5b (diff) | |
download | linux-stable-d877f07112f1e5a247c6b585c971a93895c9f738.tar.gz linux-stable-d877f07112f1e5a247c6b585c971a93895c9f738.tar.bz2 linux-stable-d877f07112f1e5a247c6b585c971a93895c9f738.zip |
netfilter: nf_tables: add nft_dup expression
This new expression uses the nf_dup engine to clone packets to a given gateway.
Unlike xt_TEE, we use an index to indicate output interface which should be
fine at this stage.
Moreover, change to the preemtion-safe this_cpu_read(nf_skb_duplicated) from
nf_dup_ipv{4,6} to silence a lockdep splat.
Based on the original tee expression from Arturo Borrero Gonzalez, although
this patch has diverted quite a bit from this initial effort due to the
change to support maps.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/ipv4/netfilter/nf_dup_ipv4.c')
-rw-r--r-- | net/ipv4/netfilter/nf_dup_ipv4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/netfilter/nf_dup_ipv4.c b/net/ipv4/netfilter/nf_dup_ipv4.c index eff85ab3f47d..b5bb37564b0e 100644 --- a/net/ipv4/netfilter/nf_dup_ipv4.c +++ b/net/ipv4/netfilter/nf_dup_ipv4.c @@ -69,7 +69,7 @@ void nf_dup_ipv4(struct sk_buff *skb, unsigned int hooknum, { struct iphdr *iph; - if (__this_cpu_read(nf_skb_duplicated)) + if (this_cpu_read(nf_skb_duplicated)) return; /* * Copy the skb, and route the copy. Will later return %XT_CONTINUE for |