summaryrefslogtreecommitdiffstats
path: root/net/ipv4/netfilter/nf_dup_ipv4.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2015-05-31 18:04:11 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2015-08-07 11:49:49 +0200
commitd877f07112f1e5a247c6b585c971a93895c9f738 (patch)
tree6ff7fa3d31b94ef6cbe88284d63f93bdab8a35fb /net/ipv4/netfilter/nf_dup_ipv4.c
parentbbde9fc1824aab58bc78c084163007dd6c03fe5b (diff)
downloadlinux-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.c2
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