mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
netfilter: conntrack: place confirm-bit setting in a helper
... so it can be re-used from clash resolution in followup patch. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
3d1e0b406d
commit
b1b32552c1
@ -894,6 +894,19 @@ static void nf_ct_acct_merge(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
|
||||
}
|
||||
}
|
||||
|
||||
static void __nf_conntrack_insert_prepare(struct nf_conn *ct)
|
||||
{
|
||||
struct nf_conn_tstamp *tstamp;
|
||||
|
||||
atomic_inc(&ct->ct_general.use);
|
||||
ct->status |= IPS_CONFIRMED;
|
||||
|
||||
/* set conntrack timestamp, if enabled. */
|
||||
tstamp = nf_conn_tstamp_find(ct);
|
||||
if (tstamp)
|
||||
tstamp->start = ktime_get_real_ns();
|
||||
}
|
||||
|
||||
/**
|
||||
* nf_ct_resolve_clash - attempt to handle clash without packet drop
|
||||
*
|
||||
@ -965,7 +978,6 @@ __nf_conntrack_confirm(struct sk_buff *skb)
|
||||
struct nf_conntrack_tuple_hash *h;
|
||||
struct nf_conn *ct;
|
||||
struct nf_conn_help *help;
|
||||
struct nf_conn_tstamp *tstamp;
|
||||
struct hlist_nulls_node *n;
|
||||
enum ip_conntrack_info ctinfo;
|
||||
struct net *net;
|
||||
@ -1042,13 +1054,8 @@ __nf_conntrack_confirm(struct sk_buff *skb)
|
||||
setting time, otherwise we'd get timer wrap in
|
||||
weird delay cases. */
|
||||
ct->timeout += nfct_time_stamp;
|
||||
atomic_inc(&ct->ct_general.use);
|
||||
ct->status |= IPS_CONFIRMED;
|
||||
|
||||
/* set conntrack timestamp, if enabled. */
|
||||
tstamp = nf_conn_tstamp_find(ct);
|
||||
if (tstamp)
|
||||
tstamp->start = ktime_get_real_ns();
|
||||
__nf_conntrack_insert_prepare(ct);
|
||||
|
||||
/* Since the lookup is lockless, hash insertion must be done after
|
||||
* starting the timer and setting the CONFIRMED bit. The RCU barriers
|
||||
|
Loading…
Reference in New Issue
Block a user