@@ -28,6 +28,8 @@ MODULE_DESCRIPTION("IRC (DCC) NAT helper");
MODULE_LICENSE("GPL");
MODULE_ALIAS_NFCT_HELPER_NAT("irc");
+static struct nf_conntrack_helper_nat helper_nat_irc;
+
static unsigned int help(struct sk_buff *skb,
enum ip_conntrack_info ctinfo,
unsigned int protoff,
@@ -96,6 +98,7 @@ static unsigned int help(struct sk_buff *skb,
static void __exit nf_nat_irc_fini(void)
{
+ nf_conntrack_helper_nat_unregister(&helper_nat_irc);
RCU_INIT_POINTER(nf_nat_irc_hook, NULL);
synchronize_rcu();
}
@@ -103,6 +106,9 @@ static void __exit nf_nat_irc_fini(void)
static int __init nf_nat_irc_init(void)
{
BUG_ON(nf_nat_irc_hook != NULL);
+ nf_ct_helper_nat_init(&helper_nat_irc,
+ NF_CT_NAT_HELPER_MOD_NAME("irc"), THIS_MODULE);
+ nf_conntrack_helper_nat_register(&helper_nat_irc);
RCU_INIT_POINTER(nf_nat_irc_hook, help);
return 0;
}
Signed-off-by: Flavio Leitner <fbl@sysclose.org> --- net/netfilter/nf_nat_irc.c | 6 ++++++ 1 file changed, 6 insertions(+)