netfilter: ctnetlink: helper modules load-on-demand support
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 18 Nov 2008 10:54:05 +0000 (11:54 +0100)
committerPatrick McHardy <kaber@trash.net>
Tue, 18 Nov 2008 10:54:05 +0000 (11:54 +0100)
commit226c0c0ef2abdf91b8d9cce1aaf7d4635a5e5926
treec1f5504d7942f0514ad38430668c8a7add4b7576
parent4dc06f9633444f426ef9960c53426f2d2ded64ac
netfilter: ctnetlink: helper modules load-on-demand support

This patch adds module loading for helpers via ctnetlink.

* Creation path: We support explicit and implicit helper assignation. For
  the explicit case, we try to load the module. If the module is correctly
  loaded and the helper is present, we return EAGAIN to re-start the
  creation. Otherwise, we return EOPNOTSUPP.
* Update path: release the spin lock, load the module and check. If it is
  present, then return EAGAIN to re-start the update.

This patch provides a refactorized function to lookup-and-set the
connection tracking helper. The function removes the exported symbol
__nf_ct_helper_find as it has not clients anymore.

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