aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nfnetlink.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-03-20 18:03:59 -0800
committerDavid S. Miller <davem@davemloft.net>2006-03-20 18:03:59 -0800
commita24276924875802853b5bdc12c56d29f1c1bbc79 (patch)
tree5725689bf434004143ae875bbfee3d3d29ddcdb0 /net/netfilter/nfnetlink.c
parent[NETFILTER]: x_tables: replace IPv4/IPv6 policy match by address family independant version (diff)
downloadlinux-dev-a24276924875802853b5bdc12c56d29f1c1bbc79.tar.xz
linux-dev-a24276924875802853b5bdc12c56d29f1c1bbc79.zip
[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 '')
-rw-r--r--net/netfilter/nfnetlink.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
index f6063e8f0050..b88e82a1a987 100644
--- a/net/netfilter/nfnetlink.c
+++ b/net/netfilter/nfnetlink.c
@@ -191,6 +191,12 @@ nfnetlink_check_attributes(struct nfnetlink_subsystem *subsys,
return 0;
}
+int nfnetlink_has_listeners(unsigned int group)
+{
+ return netlink_has_listeners(nfnl, group);
+}
+EXPORT_SYMBOL_GPL(nfnetlink_has_listeners);
+
int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, int echo)
{
gfp_t allocation = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL;