diff options
author | Patrick McHardy <kaber@trash.net> | 2006-03-20 21:03:59 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-20 21:03:59 -0500 |
commit | a24276924875802853b5bdc12c56d29f1c1bbc79 (patch) | |
tree | 5725689bf434004143ae875bbfee3d3d29ddcdb0 /net/ipv4 | |
parent | c4b885139203d37f76662c37ae645fe8e0f4e4e5 (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.c | 7 |
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; |