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

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

Version: ~ [ linux-5.13-rc1 ] ~ [ linux-5.12.2 ] ~ [ linux-5.11.19 ] ~ [ linux-5.10.35 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.117 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.190 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.232 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.268 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.268 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ 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 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef __NETNS_CONNTRACK_H
  3 #define __NETNS_CONNTRACK_H
  4 
  5 #include <linux/list.h>
  6 #include <linux/list_nulls.h>
  7 #include <linux/atomic.h>
  8 #include <linux/workqueue.h>
  9 #include <linux/netfilter/nf_conntrack_tcp.h>
 10 #ifdef CONFIG_NF_CT_PROTO_DCCP
 11 #include <linux/netfilter/nf_conntrack_dccp.h>
 12 #endif
 13 #ifdef CONFIG_NF_CT_PROTO_SCTP
 14 #include <linux/netfilter/nf_conntrack_sctp.h>
 15 #endif
 16 #include <linux/seqlock.h>
 17 
 18 struct ctl_table_header;
 19 struct nf_conntrack_ecache;
 20 
 21 struct nf_generic_net {
 22         unsigned int timeout;
 23 };
 24 
 25 struct nf_tcp_net {
 26         unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX];
 27         int tcp_loose;
 28         int tcp_be_liberal;
 29         int tcp_max_retrans;
 30 };
 31 
 32 enum udp_conntrack {
 33         UDP_CT_UNREPLIED,
 34         UDP_CT_REPLIED,
 35         UDP_CT_MAX
 36 };
 37 
 38 struct nf_udp_net {
 39         unsigned int timeouts[UDP_CT_MAX];
 40 };
 41 
 42 struct nf_icmp_net {
 43         unsigned int timeout;
 44 };
 45 
 46 #ifdef CONFIG_NF_CT_PROTO_DCCP
 47 struct nf_dccp_net {
 48         int dccp_loose;
 49         unsigned int dccp_timeout[CT_DCCP_MAX + 1];
 50 };
 51 #endif
 52 
 53 #ifdef CONFIG_NF_CT_PROTO_SCTP
 54 struct nf_sctp_net {
 55         unsigned int timeouts[SCTP_CONNTRACK_MAX];
 56 };
 57 #endif
 58 
 59 #ifdef CONFIG_NF_CT_PROTO_GRE
 60 enum gre_conntrack {
 61         GRE_CT_UNREPLIED,
 62         GRE_CT_REPLIED,
 63         GRE_CT_MAX
 64 };
 65 
 66 struct nf_gre_net {
 67         struct list_head        keymap_list;
 68         unsigned int            timeouts[GRE_CT_MAX];
 69 };
 70 #endif
 71 
 72 struct nf_ip_net {
 73         struct nf_generic_net   generic;
 74         struct nf_tcp_net       tcp;
 75         struct nf_udp_net       udp;
 76         struct nf_icmp_net      icmp;
 77         struct nf_icmp_net      icmpv6;
 78 #ifdef CONFIG_NF_CT_PROTO_DCCP
 79         struct nf_dccp_net      dccp;
 80 #endif
 81 #ifdef CONFIG_NF_CT_PROTO_SCTP
 82         struct nf_sctp_net      sctp;
 83 #endif
 84 #ifdef CONFIG_NF_CT_PROTO_GRE
 85         struct nf_gre_net       gre;
 86 #endif
 87 };
 88 
 89 struct ct_pcpu {
 90         spinlock_t              lock;
 91         struct hlist_nulls_head unconfirmed;
 92         struct hlist_nulls_head dying;
 93 };
 94 
 95 struct netns_ct {
 96         atomic_t                count;
 97         unsigned int            expect_count;
 98 #ifdef CONFIG_NF_CONNTRACK_EVENTS
 99         struct delayed_work ecache_dwork;
100         bool ecache_dwork_pending;
101 #endif
102         bool                    auto_assign_helper_warned;
103 #ifdef CONFIG_SYSCTL
104         struct ctl_table_header *sysctl_header;
105 #endif
106         unsigned int            sysctl_log_invalid; /* Log invalid packets */
107         int                     sysctl_events;
108         int                     sysctl_acct;
109         int                     sysctl_auto_assign_helper;
110         int                     sysctl_tstamp;
111         int                     sysctl_checksum;
112 
113         struct ct_pcpu __percpu *pcpu_lists;
114         struct ip_conntrack_stat __percpu *stat;
115         struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb;
116         struct nf_exp_event_notifier __rcu *nf_expect_event_cb;
117         struct nf_ip_net        nf_ct_proto;
118 #if defined(CONFIG_NF_CONNTRACK_LABELS)
119         unsigned int            labels_used;
120 #endif
121 };
122 #endif
123 

~ [ 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