]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/netfilter/nf_conntrack_core.c
netfilter: nf_conntrack: make sequence number adjustments usuable without NAT
[karo-tx-linux.git] / net / netfilter / nf_conntrack_core.c
index da6f1787a102b34b1978ab06d3f95593eb9d9729..00a7a94d4132fd56c9c85eb90e6f8844602e8af5 100644 (file)
@@ -39,6 +39,7 @@
 #include <net/netfilter/nf_conntrack_l4proto.h>
 #include <net/netfilter/nf_conntrack_expect.h>
 #include <net/netfilter/nf_conntrack_helper.h>
+#include <net/netfilter/nf_conntrack_seqadj.h>
 #include <net/netfilter/nf_conntrack_core.h>
 #include <net/netfilter/nf_conntrack_extend.h>
 #include <net/netfilter/nf_conntrack_acct.h>
@@ -1326,6 +1327,7 @@ void nf_conntrack_cleanup_end(void)
        nf_ct_extend_unregister(&nf_ct_zone_extend);
 #endif
        nf_conntrack_proto_fini();
+       nf_conntrack_seqadj_fini();
        nf_conntrack_labels_fini();
        nf_conntrack_helper_fini();
        nf_conntrack_timeout_fini();
@@ -1531,6 +1533,10 @@ int nf_conntrack_init_start(void)
        if (ret < 0)
                goto err_labels;
 
+       ret = nf_conntrack_seqadj_init();
+       if (ret < 0)
+               goto err_seqadj;
+
 #ifdef CONFIG_NF_CONNTRACK_ZONES
        ret = nf_ct_extend_register(&nf_ct_zone_extend);
        if (ret < 0)
@@ -1555,6 +1561,8 @@ err_proto:
        nf_ct_extend_unregister(&nf_ct_zone_extend);
 err_extend:
 #endif
+       nf_conntrack_seqadj_fini();
+err_seqadj:
        nf_conntrack_labels_fini();
 err_labels:
        nf_conntrack_helper_fini();
@@ -1577,9 +1585,6 @@ void nf_conntrack_init_end(void)
        /* For use by REJECT target */
        RCU_INIT_POINTER(ip_ct_attach, nf_conntrack_attach);
        RCU_INIT_POINTER(nf_ct_destroy, destroy_conntrack);
-
-       /* Howto get NAT offsets */
-       RCU_INIT_POINTER(nf_ct_nat_offset, NULL);
 }
 
 /*
@@ -1666,8 +1671,3 @@ err_slabname:
 err_stat:
        return ret;
 }
-
-s32 (*nf_ct_nat_offset)(const struct nf_conn *ct,
-                       enum ip_conntrack_dir dir,
-                       u32 seq);
-EXPORT_SYMBOL_GPL(nf_ct_nat_offset);