linux/include/net/netns/conntrack.h
<<
>>
Prefs
   1#ifndef __NETNS_CONNTRACK_H
   2#define __NETNS_CONNTRACK_H
   3
   4#include <linux/list.h>
   5#include <linux/list_nulls.h>
   6#include <linux/atomic.h>
   7#include <linux/netfilter/nf_conntrack_tcp.h>
   8
   9struct ctl_table_header;
  10struct nf_conntrack_ecache;
  11
  12struct nf_proto_net {
  13#ifdef CONFIG_SYSCTL
  14        struct ctl_table_header *ctl_table_header;
  15        struct ctl_table        *ctl_table;
  16#ifdef CONFIG_NF_CONNTRACK_PROC_COMPAT
  17        struct ctl_table_header *ctl_compat_header;
  18        struct ctl_table        *ctl_compat_table;
  19#endif
  20#endif
  21        unsigned int            users;
  22};
  23
  24struct nf_generic_net {
  25        struct nf_proto_net pn;
  26        unsigned int timeout;
  27};
  28
  29struct nf_tcp_net {
  30        struct nf_proto_net pn;
  31        unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX];
  32        unsigned int tcp_loose;
  33        unsigned int tcp_be_liberal;
  34        unsigned int tcp_max_retrans;
  35};
  36
  37enum udp_conntrack {
  38        UDP_CT_UNREPLIED,
  39        UDP_CT_REPLIED,
  40        UDP_CT_MAX
  41};
  42
  43struct nf_udp_net {
  44        struct nf_proto_net pn;
  45        unsigned int timeouts[UDP_CT_MAX];
  46};
  47
  48struct nf_icmp_net {
  49        struct nf_proto_net pn;
  50        unsigned int timeout;
  51};
  52
  53struct nf_ip_net {
  54        struct nf_generic_net   generic;
  55        struct nf_tcp_net       tcp;
  56        struct nf_udp_net       udp;
  57        struct nf_icmp_net      icmp;
  58        struct nf_icmp_net      icmpv6;
  59#if defined(CONFIG_SYSCTL) && defined(CONFIG_NF_CONNTRACK_PROC_COMPAT)
  60        struct ctl_table_header *ctl_table_header;
  61        struct ctl_table        *ctl_table;
  62#endif
  63};
  64
  65struct netns_ct {
  66        atomic_t                count;
  67        unsigned int            expect_count;
  68        unsigned int            htable_size;
  69        struct kmem_cache       *nf_conntrack_cachep;
  70        struct hlist_nulls_head *hash;
  71        struct hlist_head       *expect_hash;
  72        struct hlist_nulls_head unconfirmed;
  73        struct hlist_nulls_head dying;
  74        struct hlist_nulls_head tmpl;
  75        struct ip_conntrack_stat __percpu *stat;
  76        struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb;
  77        struct nf_exp_event_notifier __rcu *nf_expect_event_cb;
  78        int                     sysctl_events;
  79        unsigned int            sysctl_events_retry_timeout;
  80        int                     sysctl_acct;
  81        int                     sysctl_tstamp;
  82        int                     sysctl_checksum;
  83        unsigned int            sysctl_log_invalid; /* Log invalid packets */
  84        int                     sysctl_auto_assign_helper;
  85        bool                    auto_assign_helper_warned;
  86        struct nf_ip_net        nf_ct_proto;
  87#if defined(CONFIG_NF_CONNTRACK_LABELS)
  88        unsigned int            labels_used;
  89        u8                      label_words;
  90#endif
  91#ifdef CONFIG_NF_NAT_NEEDED
  92        struct hlist_head       *nat_bysource;
  93        unsigned int            nat_htable_size;
  94#endif
  95#ifdef CONFIG_SYSCTL
  96        struct ctl_table_header *sysctl_header;
  97        struct ctl_table_header *acct_sysctl_header;
  98        struct ctl_table_header *tstamp_sysctl_header;
  99        struct ctl_table_header *event_sysctl_header;
 100        struct ctl_table_header *helper_sysctl_header;
 101#endif
 102        char                    *slabname;
 103};
 104#endif
 105