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

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

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef __NETNS_SCTP_H__
  3 #define __NETNS_SCTP_H__
  4 
  5 #include <linux/timer.h>
  6 #include <net/snmp.h>
  7 
  8 struct sock;
  9 struct proc_dir_entry;
 10 struct sctp_mib;
 11 struct ctl_table_header;
 12 
 13 struct netns_sctp {
 14         DEFINE_SNMP_STAT(struct sctp_mib, sctp_statistics);
 15 
 16 #ifdef CONFIG_PROC_FS
 17         struct proc_dir_entry *proc_net_sctp;
 18 #endif
 19 #ifdef CONFIG_SYSCTL
 20         struct ctl_table_header *sysctl_header;
 21 #endif
 22         /* This is the global socket data structure used for responding to
 23          * the Out-of-the-blue (OOTB) packets.  A control sock will be created
 24          * for this socket at the initialization time.
 25          */
 26         struct sock *ctl_sock;
 27 
 28         /* UDP tunneling listening sock. */
 29         struct sock *udp4_sock;
 30         struct sock *udp6_sock;
 31         /* UDP tunneling listening port. */
 32         int udp_port;
 33         /* UDP tunneling remote encap port. */
 34         int encap_port;
 35 
 36         /* This is the global local address list.
 37          * We actively maintain this complete list of addresses on
 38          * the system by catching address add/delete events.
 39          *
 40          * It is a list of sctp_sockaddr_entry.
 41          */
 42         struct list_head local_addr_list;
 43         struct list_head addr_waitq;
 44         struct timer_list addr_wq_timer;
 45         struct list_head auto_asconf_splist;
 46         /* Lock that protects both addr_waitq and auto_asconf_splist */
 47         spinlock_t addr_wq_lock;
 48 
 49         /* Lock that protects the local_addr_list writers */
 50         spinlock_t local_addr_lock;
 51 
 52         /* RFC2960 Section 14. Suggested SCTP Protocol Parameter Values
 53          *
 54          * The following protocol parameters are RECOMMENDED:
 55          *
 56          * RTO.Initial              - 3  seconds
 57          * RTO.Min                  - 1  second
 58          * RTO.Max                 -  60 seconds
 59          * RTO.Alpha                - 1/8  (3 when converted to right shifts.)
 60          * RTO.Beta                 - 1/4  (2 when converted to right shifts.)
 61          */
 62         unsigned int rto_initial;
 63         unsigned int rto_min;
 64         unsigned int rto_max;
 65 
 66         /* Note: rto_alpha and rto_beta are really defined as inverse
 67          * powers of two to facilitate integer operations.
 68          */
 69         int rto_alpha;
 70         int rto_beta;
 71 
 72         /* Max.Burst                - 4 */
 73         int max_burst;
 74 
 75         /* Whether Cookie Preservative is enabled(1) or not(0) */
 76         int cookie_preserve_enable;
 77 
 78         /* The namespace default hmac alg */
 79         char *sctp_hmac_alg;
 80 
 81         /* Valid.Cookie.Life        - 60  seconds  */
 82         unsigned int valid_cookie_life;
 83 
 84         /* Delayed SACK timeout  200ms default*/
 85         unsigned int sack_timeout;
 86 
 87         /* HB.interval              - 30 seconds  */
 88         unsigned int hb_interval;
 89 
 90         /* The interval for PLPMTUD probe timer */
 91         unsigned int probe_interval;
 92 
 93         /* Association.Max.Retrans  - 10 attempts
 94          * Path.Max.Retrans         - 5  attempts (per destination address)
 95          * Max.Init.Retransmits     - 8  attempts
 96          */
 97         int max_retrans_association;
 98         int max_retrans_path;
 99         int max_retrans_init;
100         /* Potentially-Failed.Max.Retrans sysctl value
101          * taken from:
102          * http://tools.ietf.org/html/draft-nishida-tsvwg-sctp-failover-05
103          */
104         int pf_retrans;
105 
106         /* Primary.Switchover.Max.Retrans sysctl value
107          * taken from:
108          * https://tools.ietf.org/html/rfc7829
109          */
110         int ps_retrans;
111 
112         /*
113          * Disable Potentially-Failed feature, the feature is enabled by default
114          * pf_enable    -  0  : disable pf
115          *              - >0  : enable pf
116          */
117         int pf_enable;
118 
119         /*
120          * Disable Potentially-Failed state exposure, ignored by default
121          * pf_expose    -  0  : compatible with old applications (by default)
122          *              -  1  : disable pf state exposure
123          *              -  2  : enable  pf state exposure
124          */
125         int pf_expose;
126 
127         /*
128          * Policy for preforming sctp/socket accounting
129          * 0   - do socket level accounting, all assocs share sk_sndbuf
130          * 1   - do sctp accounting, each asoc may use sk_sndbuf bytes
131          */
132         int sndbuf_policy;
133 
134         /*
135          * Policy for preforming sctp/socket accounting
136          * 0   - do socket level accounting, all assocs share sk_rcvbuf
137          * 1   - do sctp accounting, each asoc may use sk_rcvbuf bytes
138          */
139         int rcvbuf_policy;
140 
141         int default_auto_asconf;
142 
143         /* Flag to indicate if addip is enabled. */
144         int addip_enable;
145         int addip_noauth;
146 
147         /* Flag to indicate if PR-SCTP is enabled. */
148         int prsctp_enable;
149 
150         /* Flag to indicate if PR-CONFIG is enabled. */
151         int reconf_enable;
152 
153         /* Flag to indicate if SCTP-AUTH is enabled */
154         int auth_enable;
155 
156         /* Flag to indicate if stream interleave is enabled */
157         int intl_enable;
158 
159         /* Flag to indicate if ecn is enabled */
160         int ecn_enable;
161 
162         /*
163          * Policy to control SCTP IPv4 address scoping
164          * 0   - Disable IPv4 address scoping
165          * 1   - Enable IPv4 address scoping
166          * 2   - Selectively allow only IPv4 private addresses
167          * 3   - Selectively allow only IPv4 link local address
168          */
169         int scope_policy;
170 
171         /* Threshold for rwnd update SACKS.  Receive buffer shifted this many
172          * bits is an indicator of when to send and window update SACK.
173          */
174         int rwnd_upd_shift;
175 
176         /* Threshold for autoclose timeout, in seconds. */
177         unsigned long max_autoclose;
178 
179 #ifdef CONFIG_NET_L3_MASTER_DEV
180         int l3mdev_accept;
181 #endif
182 };
183 
184 #endif /* __NETNS_SCTP_H__ */
185 

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

kernel.org | git.kernel.org | LWN.net | Project Home | 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.

sflogo.php