static int __init nf_nat_l3proto_ipv4_init(void) { int err; err = nf_nat_l4proto_register(NFPROTO_IPV4, &nf_nat_l4proto_icmp); if (err < 0) goto err1; err = nf_nat_l3proto_register(&nf_nat_l3proto_ipv4); if (err < 0) goto err2; return err; err2: nf_nat_l4proto_unregister(NFPROTO_IPV4, &nf_nat_l4proto_icmp); err1: return err; }
static int __init nf_nat_proto_sctp_init(void) { int err; err = nf_nat_l4proto_register(NFPROTO_IPV4, &nf_nat_l4proto_sctp); if (err < 0) goto err1; err = nf_nat_l4proto_register(NFPROTO_IPV6, &nf_nat_l4proto_sctp); if (err < 0) goto err2; return 0; err2: nf_nat_l4proto_unregister(NFPROTO_IPV4, &nf_nat_l4proto_sctp); err1: return err; }
static void __exit nf_nat_l3proto_ipv4_exit(void) { nf_nat_l3proto_unregister(&nf_nat_l3proto_ipv4); nf_nat_l4proto_unregister(NFPROTO_IPV4, &nf_nat_l4proto_icmp); }
static void __exit nf_nat_proto_gre_fini(void) { nf_nat_l4proto_unregister(NFPROTO_IPV4, &gre); }
static void __exit nf_nat_l3proto_ipv6_exit(void) { nf_nat_l3proto_unregister(&nf_nat_l3proto_ipv6); nf_nat_l4proto_unregister(NFPROTO_IPV6, &nf_nat_l4proto_icmpv6); }
static void __exit nf_nat_proto_sctp_exit(void) { nf_nat_l4proto_unregister(NFPROTO_IPV6, &nf_nat_l4proto_sctp); nf_nat_l4proto_unregister(NFPROTO_IPV4, &nf_nat_l4proto_sctp); }
static void __exit nf_nat_proto_dccp_fini(void) { nf_nat_l4proto_unregister(NFPROTO_IPV6, &nf_nat_l4proto_dccp); nf_nat_l4proto_unregister(NFPROTO_IPV4, &nf_nat_l4proto_dccp); }