~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/net/netns/conntrack.h

Version: ~ [ linux-5.3-rc5 ] ~ [ linux-5.2.9 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.67 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.139 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.189 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.189 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.72 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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/workqueue.h>
  8 #include <linux/netfilter/nf_conntrack_tcp.h>
  9 #ifdef CONFIG_NF_CT_PROTO_DCCP
 10 #include <linux/netfilter/nf_conntrack_dccp.h>
 11 #endif
 12 #ifdef CONFIG_NF_CT_PROTO_SCTP
 13 #include <linux/netfilter/nf_conntrack_sctp.h>
 14 #endif
 15 #include <linux/seqlock.h>
 16 
 17 struct ctl_table_header;
 18 struct nf_conntrack_ecache;
 19 
 20 struct nf_proto_net {
 21 #ifdef CONFIG_SYSCTL
 22         struct ctl_table_header *ctl_table_header;
 23         struct ctl_table        *ctl_table;
 24 #endif
 25         unsigned int            users;
 26 };
 27 
 28 struct nf_generic_net {
 29         struct nf_proto_net pn;
 30         unsigned int timeout;
 31 };
 32 
 33 struct nf_tcp_net {
 34         struct nf_proto_net pn;
 35         unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX];
 36         unsigned int tcp_loose;
 37         unsigned int tcp_be_liberal;
 38         unsigned int tcp_max_retrans;
 39 };
 40 
 41 enum udp_conntrack {
 42         UDP_CT_UNREPLIED,
 43         UDP_CT_REPLIED,
 44         UDP_CT_MAX
 45 };
 46 
 47 struct nf_udp_net {
 48         struct nf_proto_net pn;
 49         unsigned int timeouts[UDP_CT_MAX];
 50 };
 51 
 52 struct nf_icmp_net {
 53         struct nf_proto_net pn;
 54         unsigned int timeout;
 55 };
 56 
 57 #ifdef CONFIG_NF_CT_PROTO_DCCP
 58 struct nf_dccp_net {
 59         struct nf_proto_net pn;
 60         int dccp_loose;
 61         unsigned int dccp_timeout[CT_DCCP_MAX + 1];
 62 };
 63 #endif
 64 
 65 #ifdef CONFIG_NF_CT_PROTO_SCTP
 66 struct nf_sctp_net {
 67         struct nf_proto_net pn;
 68         unsigned int timeouts[SCTP_CONNTRACK_MAX];
 69 };
 70 #endif
 71 
 72 #ifdef CONFIG_NF_CT_PROTO_UDPLITE
 73 enum udplite_conntrack {
 74         UDPLITE_CT_UNREPLIED,
 75         UDPLITE_CT_REPLIED,
 76         UDPLITE_CT_MAX
 77 };
 78 
 79 struct nf_udplite_net {
 80         struct nf_proto_net pn;
 81         unsigned int timeouts[UDPLITE_CT_MAX];
 82 };
 83 #endif
 84 
 85 struct nf_ip_net {
 86         struct nf_generic_net   generic;
 87         struct nf_tcp_net       tcp;
 88         struct nf_udp_net       udp;
 89         struct nf_icmp_net      icmp;
 90         struct nf_icmp_net      icmpv6;
 91 #ifdef CONFIG_NF_CT_PROTO_DCCP
 92         struct nf_dccp_net      dccp;
 93 #endif
 94 #ifdef CONFIG_NF_CT_PROTO_SCTP
 95         struct nf_sctp_net      sctp;
 96 #endif
 97 #ifdef CONFIG_NF_CT_PROTO_UDPLITE
 98         struct nf_udplite_net   udplite;
 99 #endif
100 };
101 
102 struct ct_pcpu {
103         spinlock_t              lock;
104         struct hlist_nulls_head unconfirmed;
105         struct hlist_nulls_head dying;
106 };
107 
108 struct netns_ct {
109         atomic_t                count;
110         unsigned int            expect_count;
111 #ifdef CONFIG_NF_CONNTRACK_EVENTS
112         struct delayed_work ecache_dwork;
113         bool ecache_dwork_pending;
114 #endif
115 #ifdef CONFIG_SYSCTL
116         struct ctl_table_header *sysctl_header;
117         struct ctl_table_header *acct_sysctl_header;
118         struct ctl_table_header *tstamp_sysctl_header;
119         struct ctl_table_header *event_sysctl_header;
120         struct ctl_table_header *helper_sysctl_header;
121 #endif
122         unsigned int            sysctl_log_invalid; /* Log invalid packets */
123         int                     sysctl_events;
124         int                     sysctl_acct;
125         int                     sysctl_auto_assign_helper;
126         bool                    auto_assign_helper_warned;
127         int                     sysctl_tstamp;
128         int                     sysctl_checksum;
129 
130         struct ct_pcpu __percpu *pcpu_lists;
131         struct ip_conntrack_stat __percpu *stat;
132         struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb;
133         struct nf_exp_event_notifier __rcu *nf_expect_event_cb;
134         struct nf_ip_net        nf_ct_proto;
135 #if defined(CONFIG_NF_CONNTRACK_LABELS)
136         unsigned int            labels_used;
137 #endif
138 };
139 #endif
140 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp