]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/net/netns/conntrack.h
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / include / net / netns / conntrack.h
index a053a19870cf9e0614be8c431a5337bf5e06b249..3aecdc7a84fb145255d6ae2c8457945d55a3c732 100644 (file)
@@ -4,10 +4,64 @@
 #include <linux/list.h>
 #include <linux/list_nulls.h>
 #include <linux/atomic.h>
+#include <linux/netfilter/nf_conntrack_tcp.h>
 
 struct ctl_table_header;
 struct nf_conntrack_ecache;
 
+struct nf_proto_net {
+#ifdef CONFIG_SYSCTL
+       struct ctl_table_header *ctl_table_header;
+       struct ctl_table        *ctl_table;
+#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
+       struct ctl_table_header *ctl_compat_header;
+       struct ctl_table        *ctl_compat_table;
+#endif
+#endif
+       unsigned int            users;
+};
+
+struct nf_generic_net {
+       struct nf_proto_net pn;
+       unsigned int timeout;
+};
+
+struct nf_tcp_net {
+       struct nf_proto_net pn;
+       unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX];
+       unsigned int tcp_loose;
+       unsigned int tcp_be_liberal;
+       unsigned int tcp_max_retrans;
+};
+
+enum udp_conntrack {
+       UDP_CT_UNREPLIED,
+       UDP_CT_REPLIED,
+       UDP_CT_MAX
+};
+
+struct nf_udp_net {
+       struct nf_proto_net pn;
+       unsigned int timeouts[UDP_CT_MAX];
+};
+
+struct nf_icmp_net {
+       struct nf_proto_net pn;
+       unsigned int timeout;
+};
+
+struct nf_ip_net {
+       struct nf_generic_net   generic;
+       struct nf_tcp_net       tcp;
+       struct nf_udp_net       udp;
+       struct nf_icmp_net      icmp;
+       struct nf_icmp_net      icmpv6;
+#if defined(CONFIG_SYSCTL) && defined(CONFIG_NF_CONNTRACK_PROC_COMPAT)
+       struct ctl_table_header *ctl_table_header;
+       struct ctl_table        *ctl_table;
+#endif
+};
+
 struct netns_ct {
        atomic_t                count;
        unsigned int            expect_count;
@@ -28,6 +82,7 @@ struct netns_ct {
        unsigned int            sysctl_log_invalid; /* Log invalid packets */
        int                     sysctl_auto_assign_helper;
        bool                    auto_assign_helper_warned;
+       struct nf_ip_net        nf_ct_proto;
 #ifdef CONFIG_SYSCTL
        struct ctl_table_header *sysctl_header;
        struct ctl_table_header *acct_sysctl_header;