aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-03-20 21:03:59 -0500
committerDavid S. Miller <davem@davemloft.net>2006-03-20 21:03:59 -0500
commita24276924875802853b5bdc12c56d29f1c1bbc79 (patch)
tree5725689bf434004143ae875bbfee3d3d29ddcdb0 /net/ipv4
parentc4b885139203d37f76662c37ae645fe8e0f4e4e5 (diff)
[NETFILTER]: ctnetlink: avoid unneccessary event message generation
Avoid unneccessary event message generation by checking for netlink listeners before building a message. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/netfilter/ip_conntrack_netlink.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_netlink.c b/net/ipv4/netfilter/ip_conntrack_netlink.c
index e0b5926c76f9..5ce2e3fc2c7f 100644
--- a/net/ipv4/netfilter/ip_conntrack_netlink.c
+++ b/net/ipv4/netfilter/ip_conntrack_netlink.c
@@ -327,9 +327,10 @@ static int ctnetlink_conntrack_event(struct notifier_block *this,
327 group = NFNLGRP_CONNTRACK_UPDATE; 327 group = NFNLGRP_CONNTRACK_UPDATE;
328 } else 328 } else
329 return NOTIFY_DONE; 329 return NOTIFY_DONE;
330 330
331 /* FIXME: Check if there are any listeners before, don't hurt performance */ 331 if (!nfnetlink_has_listeners(group))
332 332 return NOTIFY_DONE;
333
333 skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC); 334 skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);
334 if (!skb) 335 if (!skb)
335 return NOTIFY_DONE; 336 return NOTIFY_DONE;