diff options
author | Patrick McHardy <kaber@trash.net> | 2009-02-18 15:30:34 +0100 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2009-02-18 15:30:34 +0100 |
commit | 5962fc6d5fff09c8e6fb8cadcb18327a0f4277f7 (patch) | |
tree | 2cc5e20956687640229913c60b043db147321772 | |
parent | netfilter: nfnetlink_log: fix timeout handling (diff) | |
download | linux-5962fc6d5fff09c8e6fb8cadcb18327a0f4277f7.tar.xz linux-5962fc6d5fff09c8e6fb8cadcb18327a0f4277f7.zip |
netfilter: nf_conntrack: don't try to deliver events for untracked connections
The untracked conntrack actually does usually have events marked for
delivery as its not special-cased in that part of the code. Skip the
actual delivery since it impacts performance noticeably.
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | include/net/netfilter/nf_conntrack_core.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/netfilter/nf_conntrack_core.h b/include/net/netfilter/nf_conntrack_core.h index e78afe7f28e3..c25068e38516 100644 --- a/include/net/netfilter/nf_conntrack_core.h +++ b/include/net/netfilter/nf_conntrack_core.h @@ -59,7 +59,7 @@ static inline int nf_conntrack_confirm(struct sk_buff *skb) struct nf_conn *ct = (struct nf_conn *)skb->nfct; int ret = NF_ACCEPT; - if (ct) { + if (ct && ct != &nf_conntrack_untracked) { if (!nf_ct_is_confirmed(ct) && !nf_ct_is_dying(ct)) ret = __nf_conntrack_confirm(skb); nf_ct_deliver_cached_events(ct); |