#ifndef __NETNS_SCTP_H__ #define __NETNS_SCTP_H__ struct sock; struct proc_dir_entry; struct sctp_mib; struct ctl_table_header; struct netns_sctp { DEFINE_SNMP_STAT(struct sctp_mib, sctp_statistics); #ifdef CONFIG_PROC_FS struct proc_dir_entry *proc_net_sctp; #endif #ifdef CONFIG_SYSCTL struct ctl_table_header *sysctl_header; #endif /* This is the global socket data structure used for responding to * the Out-of-the-blue (OOTB) packets. A control sock will be created * for this socket at the initialization time. */ struct sock *ctl_sock; /* This is the global local address list. * We actively maintain this complete list of addresses on * the system by catching address add/delete events. * * It is a list of sctp_sockaddr_entry. */ struct list_head local_addr_list; struct list_head addr_waitq; struct timer_list addr_wq_timer; struct list_head auto_asconf_splist; /* Lock that protects both addr_waitq and auto_asconf_splist */ spinlock_t addr_wq_lock; /* Lock that protects the local_addr_list writers */ spinlock_t local_addr_lock; /* RFC2960 Section 14. Suggested SCTP Protocol Parameter Values * * The following protocol parameters are RECOMMENDED: * * RTO.Initial - 3 seconds * RTO.Min - 1 second * RTO.Max - 60 seconds * RTO.Alpha - 1/8 (3 when converted to right shifts.) * RTO.Beta - 1/4 (2 when converted to right shifts.) */ unsigned int rto_initial; unsigned int rto_min; unsigned int rto_max; /* Note: rto_alpha and rto_beta are really defined as inverse * powers of two to facilitate integer operations. */ int rto_alpha; int rto_beta; /* Max.Burst - 4 */ int max_burst; /* Whether Cookie Preservative is enabled(1) or not(0) */ int cookie_preserve_enable; /* The namespace default hmac alg */ char *sctp_hmac_alg; /* Valid.Cookie.Life - 60 seconds */ unsigned int valid_cookie_life; /* Delayed SACK timeout 200ms default*/ unsigned int sack_timeout; /* HB.interval - 30 seconds */ unsigned int hb_interval; /* Association.Max.Retrans - 10 attempts * Path.Max.Retrans - 5 attempts (per destination address) * Max.Init.Retransmits - 8 attempts */ int max_retrans_association; int max_retrans_path; int max_retrans_init; /* Potentially-Failed.Max.Retrans sysctl value * taken from: * http://tools.ietf.org/html/draft-nishida-tsvwg-sctp-failover-05 */ int pf_retrans; /* * Disable Potentially-Failed feature, the feature is enabled by default * pf_enable - 0 : disable pf * - >0 : enable pf */ int pf_enable; /* * Policy for preforming sctp/socket accounting * 0 - do socket level accounting, all assocs share sk_sndbuf * 1 - do sctp accounting, each asoc may use sk_sndbuf bytes */ int sndbuf_policy; /* * Policy for preforming sctp/socket accounting * 0 - do socket level accounting, all assocs share sk_rcvbuf * 1 - do sctp accounting, each asoc may use sk_rcvbuf bytes */ int rcvbuf_policy; int default_auto_asconf; /* Flag to indicate if addip is enabled. */ int addip_enable; int addip_noauth; /* Flag to indicate if PR-SCTP is enabled. */ int prsctp_enable; /* Flag to indicate if PR-CONFIG is enabled. */ int reconf_enable; /* Flag to idicate if SCTP-AUTH is enabled */ int auth_enable; /* * Policy to control SCTP IPv4 address scoping * 0 - Disable IPv4 address scoping * 1 - Enable IPv4 address scoping * 2 - Selectively allow only IPv4 private addresses * 3 - Selectively allow only IPv4 link local address */ int scope_policy; /* Threshold for rwnd update SACKS. Receive buffer shifted this many * bits is an indicator of when to send and window update SACK. */ int rwnd_upd_shift; /* Threshold for autoclose timeout, in seconds. */ unsigned long max_autoclose; }; #endif /* __NETNS_SCTP_H__ */
authorValentin Rothberg <valentinrothberg@gmail.com>2016-10-05 07:57:26 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2016-10-27 21:52:59 +1100
commit39715bf972ed4fee18fe5409609a971fb16b1771 (patch)
tree1d423c94bc8d3199a42f16b6296c9d96e929982b /Documentation
parent09b7e37b18eecc1e347f4b1a3bc863f32801f634 (diff)
powerpc/process: Fix CONFIG_ALIVEC typo in restore_tm_state()
It should be ALTIVEC, not ALIVEC. Cyril explains: If a thread performs a transaction with altivec and then gets preempted for whatever reason, this bug may cause the kernel to not re-enable altivec when that thread runs again. This will result in an altivec unavailable fault, when that fault happens inside a user transaction the kernel has no choice but to enable altivec and doom the transaction. The result is that transactions using altivec may get aborted more often than they should. The difficulty in catching this with a selftest is my deliberate use of the word may above. Optimisations to avoid FPU/altivec/VSX faults mean that the kernel will always leave them on for 255 switches. This code prevents the kernel turning it off if it got to the 256th switch (and userspace was transactional). Fixes: dc16b553c949 ("powerpc: Always restore FPU/VEC/VSX if hardware transactional memory in use") Reviewed-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'Documentation')