summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2016-07-06 14:53:06 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-07-08 14:55:14 +0200
commitc8607e020014cf11a61601a0005270bad81cabdf (patch)
tree9e2c1565bebf826797ff8998124548f828f4b318 /include/net
parent9cc1c73ad66610bffc80b691136ffc1e9a3b1a58 (diff)
downloadlinux-c8607e020014cf11a61601a0005270bad81cabdf.tar.gz
linux-c8607e020014cf11a61601a0005270bad81cabdf.tar.bz2
linux-c8607e020014cf11a61601a0005270bad81cabdf.zip
netfilter: nft_ct: fix expiration getter
We need to compute timeout.expires - jiffies, not the other way around. Add a helper, another patch can then later change more places in conntrack code where we currently open-code this. Will allow us to only change one place later when we remove per-ct timer. 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_conntrack.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h
index dd78bea227c8..b6083c34ef0d 100644
--- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h
@@ -284,6 +284,14 @@ static inline bool nf_is_loopback_packet(const struct sk_buff *skb)
return skb->dev && skb->skb_iif && skb->dev->flags & IFF_LOOPBACK;
}
+/* jiffies until ct expires, 0 if already expired */
+static inline unsigned long nf_ct_expires(const struct nf_conn *ct)
+{
+ long timeout = (long)ct->timeout.expires - (long)jiffies;
+
+ return timeout > 0 ? timeout : 0;
+}
+
struct kernel_param;
int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp);