netfilter: ctnetlink: deliver events for conntracks changed from userspace
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 18 Nov 2008 10:56:20 +0000 (11:56 +0100)
committerPatrick McHardy <kaber@trash.net>
Tue, 18 Nov 2008 10:56:20 +0000 (11:56 +0100)
commit19abb7b090a6bce88d4e9b2914a0367f4f684432
tree3603eafaf214ef1ab200c6e5d6d05318512a3bd6
parent226c0c0ef2abdf91b8d9cce1aaf7d4635a5e5926
netfilter: ctnetlink: deliver events for conntracks changed from userspace

As for now, the creation and update of conntracks via ctnetlink do not
propagate an event to userspace. This can result in inconsistent situations
if several userspace processes modify the connection tracking table by means
of ctnetlink at the same time. Specifically, using the conntrack command
line tool and conntrackd at the same time can trigger unconsistencies.

This patch also modifies the event cache infrastructure to pass the
process PID and the ECHO flag to nfnetlink_send() to report back
to userspace if the process that triggered the change needs so.
Based on a suggestion from Patrick McHardy.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/net/netfilter/nf_conntrack.h
include/net/netfilter/nf_conntrack_ecache.h
include/net/netfilter/nf_conntrack_expect.h
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_conntrack_ecache.c
net/netfilter/nf_conntrack_expect.c
net/netfilter/nf_conntrack_netlink.c