summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_sysctl.h
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2007-09-08 17:48:46 +0000
committerrrs <rrs@FreeBSD.org>2007-09-08 17:48:46 +0000
commite1de0a1edadaa9d67f677c0aa3a582c9bcc34b9c (patch)
treec5cd7d7c9d05970381c8f80e243b1da248135d4c /sys/netinet/sctp_sysctl.h
parent4dd82bd675126ae3087b47d4425b57c8c44aa790 (diff)
downloadFreeBSD-src-e1de0a1edadaa9d67f677c0aa3a582c9bcc34b9c.zip
FreeBSD-src-e1de0a1edadaa9d67f677c0aa3a582c9bcc34b9c.tar.gz
- send call has a reference to uio->uio_resid in
the recent send code, but uio may be NULL on sendfile calls. Change to use sndlen variable. - EMSGSIZE is not being returned in non-blocking mode and needs a small tweak to look if the msg would ever fit when returning EWOULDBLOCK. - FWD-TSN has a bug in stream processing which could cause a panic. This is a follow on to the codenomicon fix. - PDAPI level 1 and 2 do not work unless the reader gets his returned buffer full. Fix so we can break out when at level 1 or 2. - Fix fast-handoff features to copy across properly on accepted sockets - Fix sctp_peeloff() system call when no true system call exists to screen arguments for errors. In cases where a real system call exists the system call itself does this. - Fix raddr leak in recent add-ip code change for bundled asconfs (even when non-bundled asconfs are received) - Make sure ipi_addr lock is held when walking global addr list. Need to change this lock type to a rwlock(). - Add don't wake flag on both input and output when the socket is closing. - When deleting an address verify the interface is correct before allowing the delete to process. This protects panda and unnumbered. - Clean up old sysctl stuff and get rid of the old Open/Net BSD structures. - Add a function to watch the ranges in the sysctl sets. - When appending in the reassembly queue, validate that the assoc has not gone to about to be freed. If so (in the middle) abort out. Note this especially effects MAC I think due to the lock/unlock they do (or with LOCK testing in place). - Netstat patch to get rid of warnings. - Make sure that no data gets queued to inactive/unconfirmed destinations. This especially effect CMT but also makes a impact on regular SCTP as well. - During init collision when we detect seq number out of sync we need to treat it like Case C and discard the cookie (no invarient needed here). - Atomic access to the random store. - When we declare a vtag good, we need to shove it into the time wait hash to prevent further use. When the tag is put into the assoc hash, we need to remove it from the twait hash (where it will surely be). This prevents duplicate tag assignments. - Move decr-ref count to better protect sysctl out of data. - ltrace error corrections in sctp6_usrreq.c - Add hook for interface up/down to be sent to us. - Make sysctl() exported structures independent of processor architecture. - Fix route and src addr cache clearing for delete address case. - Make sure address marked SCTP_DEL_IP_ADDRESS is never selected as src addr. - in icmp handling fixed so we actually look at the icmp codes to figure out what to do. - Modified mobility code. Reception of DELETE IP ADDRESS for a primary destination and SET PRIMARY for a new primary destination is used for retransmission trigger to the new primary destination. Also, in this case, destination of chunks in send_queue are changed to the new primary destination. - Fix so that we disallow sending by mbuf to ever have EEOR mode set upon it. Approved by: re@freebsd.org (B Mah)
Diffstat (limited to 'sys/netinet/sctp_sysctl.h')
-rw-r--r--sys/netinet/sctp_sysctl.h215
1 files changed, 35 insertions, 180 deletions
diff --git a/sys/netinet/sctp_sysctl.h b/sys/netinet/sctp_sysctl.h
index 573f46b..cb83f4e 100644
--- a/sys/netinet/sctp_sysctl.h
+++ b/sys/netinet/sctp_sysctl.h
@@ -278,78 +278,76 @@ __FBSDID("$FreeBSD$");
#define SCTPCTL_CMT_ON_OFF_MAX 1
#define SCTPCTL_CMT_ON_OFF_DEFAULT 0
+/* cmt_use_dac: CMT DAC on/off flag */
+#define SCTPCTL_CMT_USE_DAC 35
+#define SCTPCTL_CMT_USE_DAC_DESC "CMT DAC on/off flag"
+#define SCTPCTL_CMT_USE_DAC_MIN 0
+#define SCTPCTL_CMT_USE_DAC_MAX 1
+#define SCTPCTL_CMT_USE_DAC_DEFAULT 0
+
+/* JRS 5/2107 - CMT PF type flag */
+#define SCTPCTL_CMT_PF 36
+#define SCTPCTL_CMT_PF_DESC "CMT PF type flag"
+#define SCTPCTL_CMT_PF_MIN 0
+#define SCTPCTL_CMT_PF_MAX 2
+#define SCTPCTL_CMT_PF_DEFAULT 0
+
/* cwnd_maxburst: Use a CWND adjusting maxburst */
-#define SCTPCTL_CWND_MAXBURST 35
+#define SCTPCTL_CWND_MAXBURST 37
#define SCTPCTL_CWND_MAXBURST_DESC "Use a CWND adjusting maxburst"
#define SCTPCTL_CWND_MAXBURST_MIN 0
#define SCTPCTL_CWND_MAXBURST_MAX 1
#define SCTPCTL_CWND_MAXBURST_DEFAULT 1
/* early_fast_retran: Early Fast Retransmit with timer */
-#define SCTPCTL_EARLY_FAST_RETRAN 36
+#define SCTPCTL_EARLY_FAST_RETRAN 38
#define SCTPCTL_EARLY_FAST_RETRAN_DESC "Early Fast Retransmit with timer"
#define SCTPCTL_EARLY_FAST_RETRAN_MIN 0
#define SCTPCTL_EARLY_FAST_RETRAN_MAX 0xFFFFFFFF
#define SCTPCTL_EARLY_FAST_RETRAN_DEFAULT 0
-/* deadlock_detect: SMP Deadlock detection on/off */
-#define SCTPCTL_DEADLOCK_DETECT 37
-#define SCTPCTL_DEADLOCK_DETECT_DESC "SMP Deadlock detection on/off"
-#define SCTPCTL_DEADLOCK_DETECT_MIN 0
-#define SCTPCTL_DEADLOCK_DETECT_MAX 1
-#define SCTPCTL_DEADLOCK_DETECT_DEFAULT 0
-
/* early_fast_retran_msec: Early Fast Retransmit minimum timer value */
-#define SCTPCTL_EARLY_FAST_RETRAN_MSEC 38
+#define SCTPCTL_EARLY_FAST_RETRAN_MSEC 39
#define SCTPCTL_EARLY_FAST_RETRAN_MSEC_DESC "Early Fast Retransmit minimum timer value"
#define SCTPCTL_EARLY_FAST_RETRAN_MSEC_MIN 0
#define SCTPCTL_EARLY_FAST_RETRAN_MSEC_MAX 0xFFFFFFFF
#define SCTPCTL_EARLY_FAST_RETRAN_MSEC_DEFAULT SCTP_MINFR_MSEC_TIMER
/* asconf_auth_nochk: Disable SCTP ASCONF AUTH requirement */
-#define SCTPCTL_ASCONF_AUTH_NOCHK 39
+#define SCTPCTL_ASCONF_AUTH_NOCHK 40
#define SCTPCTL_ASCONF_AUTH_NOCHK_DESC "Disable SCTP ASCONF AUTH requirement"
#define SCTPCTL_ASCONF_AUTH_NOCHK_MIN 0
#define SCTPCTL_ASCONF_AUTH_NOCHK_MAX 1
#define SCTPCTL_ASCONF_AUTH_NOCHK_DEFAULT 0
/* auth_disable: Disable SCTP AUTH function */
-#define SCTPCTL_AUTH_DISABLE 40
+#define SCTPCTL_AUTH_DISABLE 41
#define SCTPCTL_AUTH_DISABLE_DESC "Disable SCTP AUTH function"
#define SCTPCTL_AUTH_DISABLE_MIN 0
#define SCTPCTL_AUTH_DISABLE_MAX 1
#define SCTPCTL_AUTH_DISABLE_DEFAULT 0
/* nat_friendly: SCTP NAT friendly operation */
-#define SCTPCTL_NAT_FRIENDLY 41
+#define SCTPCTL_NAT_FRIENDLY 42
#define SCTPCTL_NAT_FRIENDLY_DESC "SCTP NAT friendly operation"
#define SCTPCTL_NAT_FRIENDLY_MIN 0
#define SCTPCTL_NAT_FRIENDLY_MAX 1
#define SCTPCTL_NAT_FRIENDLY_DEFAULT 1
-
-
/* abc_l_var: SCTP ABC max increase per SACK (L) */
-#define SCTPCTL_ABC_L_VAR 42
+#define SCTPCTL_ABC_L_VAR 43
#define SCTPCTL_ABC_L_VAR_DESC "SCTP ABC max increase per SACK (L)"
#define SCTPCTL_ABC_L_VAR_MIN 0
#define SCTPCTL_ABC_L_VAR_MAX 0xFFFFFFFF
#define SCTPCTL_ABC_L_VAR_DEFAULT 1
/* max_chained_mbufs: Default max number of small mbufs on a chain */
-#define SCTPCTL_MAX_CHAINED_MBUFS 43
+#define SCTPCTL_MAX_CHAINED_MBUFS 44
#define SCTPCTL_MAX_CHAINED_MBUFS_DESC "Default max number of small mbufs on a chain"
#define SCTPCTL_MAX_CHAINED_MBUFS_MIN 0
#define SCTPCTL_MAX_CHAINED_MBUFS_MAX 0xFFFFFFFF
#define SCTPCTL_MAX_CHAINED_MBUFS_DEFAULT SCTP_DEFAULT_MBUFS_IN_CHAIN
-/* cmt_use_dac: CMT DAC on/off flag */
-#define SCTPCTL_CMT_USE_DAC 44
-#define SCTPCTL_CMT_USE_DAC_DESC "CMT DAC on/off flag"
-#define SCTPCTL_CMT_USE_DAC_MIN 0
-#define SCTPCTL_CMT_USE_DAC_MAX 1
-#define SCTPCTL_CMT_USE_DAC_DEFAULT 0
-
/* do_sctp_drain: Should SCTP respond to the drain calls */
#define SCTPCTL_DO_SCTP_DRAIN 45
#define SCTPCTL_DO_SCTP_DRAIN_DESC "Should SCTP respond to the drain calls"
@@ -359,7 +357,7 @@ __FBSDID("$FreeBSD$");
/* hb_max_burst: Confirmation Heartbeat max burst? */
#define SCTPCTL_HB_MAX_BURST 46
-#define SCTPCTL_HB_MAX_BURST_DESC "Confirmation Heartbeat max burst?"
+#define SCTPCTL_HB_MAX_BURST_DESC "Confirmation Heartbeat max burst"
#define SCTPCTL_HB_MAX_BURST_MIN 1
#define SCTPCTL_HB_MAX_BURST_MAX 0xFFFFFFFF
#define SCTPCTL_HB_MAX_BURST_DEFAULT SCTP_DEF_MAX_BURST
@@ -399,183 +397,43 @@ __FBSDID("$FreeBSD$");
#define SCTPCTL_LOGGING_LEVEL_MAX 0xffffffff
#define SCTPCTL_LOGGING_LEVEL_DEFAULT 0
-/* JRS 5/2107 - CMT PF type flag */
-#define SCTPCTL_CMT_PF 52
-#define SCTPCTL_CMT_PF_DESC "CMT PF type flag"
-#define SCTPCTL_CMT_PF_MIN 0
-#define SCTPCTL_CMT_PF_MAX 2
-#define SCTPCTL_CMT_PF_DEFAULT 0
-
/* JRS - default congestion control module sysctl */
-#define SCTPCTL_DEFAULT_CC_MODULE 53
+#define SCTPCTL_DEFAULT_CC_MODULE 52
#define SCTPCTL_DEFAULT_CC_MODULE_DESC "Default congestion control module"
#define SCTPCTL_DEFAULT_CC_MODULE_MIN 0
#define SCTPCTL_DEFAULT_CC_MODULE_MAX 2
#define SCTPCTL_DEFAULT_CC_MODULE_DEFAULT 0
-
/* RRS - default fragment interleave */
-#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE 54
+#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE 53
#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE_DESC "Default fragment interleave level"
#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE_MIN 0
#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE_MAX 2
#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE_DEFAULT 1
/* mobility_base: Enable SCTP mobility support */
-#define SCTPCTL_MOBILITY_BASE 55
+#define SCTPCTL_MOBILITY_BASE 54
#define SCTPCTL_MOBILITY_BASE_DESC "Enable SCTP base mobility"
#define SCTPCTL_MOBILITY_BASE_MIN 0
#define SCTPCTL_MOBILITY_BASE_MAX 1
#define SCTPCTL_MOBILITY_BASE_DEFAULT SCTP_DEFAULT_MOBILITY_BASE
/* mobility_fasthandoff: Enable SCTP fast handoff support */
-#define SCTPCTL_MOBILITY_FASTHANDOFF 56
+#define SCTPCTL_MOBILITY_FASTHANDOFF 55
#define SCTPCTL_MOBILITY_FASTHANDOFF_DESC "Enable SCTP fast handoff"
#define SCTPCTL_MOBILITY_FASTHANDOFF_MIN 0
#define SCTPCTL_MOBILITY_FASTHANDOFF_MAX 1
#define SCTPCTL_MOBILITY_FASTHANDOFF_DEFAULT SCTP_DEFAULT_MOBILITY_FASTHANDOFF
-
-#ifdef SCTP_DEBUG
+#if defined(SCTP_DEBUG)
/* debug: Configure debug output */
-#define SCTPCTL_DEBUG 57
+#define SCTPCTL_DEBUG 56
#define SCTPCTL_DEBUG_DESC "Configure debug output"
#define SCTPCTL_DEBUG_MIN 0
#define SCTPCTL_DEBUG_MAX 0xFFFFFFFF
#define SCTPCTL_DEBUG_DEFAULT 0
-
-
-#define SCTPCTL_MAXID 57
-#else
-#define SCTPCTL_MAXID 58
#endif
-/*
- * Names for SCTP sysctl objects variables.
- * Must match the OIDs above.
- */
-#ifdef SCTP_DEBUG
-#define SCTPCTL_NAMES { \
- { 0, 0 }, \
- { "sendspace", CTLTYPE_INT }, \
- { "recvspace", CTLTYPE_INT }, \
- { "autoasconf", CTLTYPE_INT }, \
- { "ecn_enable", CTLTYPE_INT }, \
- { "ecn_nonce", CTLTYPE_INT }, \
- { "strict_sack", CTLTYPE_INT }, \
- { "looback_nocsum", CTLTYPE_INT }, \
- { "strict_init", CTLTYPE_INT }, \
- { "peer_chkoh", CTLTYPE_INT }, \
- { "maxburst", CTLTYPE_INT }, \
- { "maxchunks", CTLTYPE_INT }, \
- { "delayed_sack_time", CTLTYPE_INT }, \
- { "sack_freq", CTLTYPE_INT }, \
- { "heartbeat_interval", CTLTYPE_INT }, \
- { "pmtu_raise_time", CTLTYPE_INT }, \
- { "shutdown_guard_time", CTLTYPE_INT }, \
- { "secret_lifetime", CTLTYPE_INT }, \
- { "rto_max", CTLTYPE_INT }, \
- { "rto_min", CTLTYPE_INT }, \
- { "rto_initial", CTLTYPE_INT }, \
- { "init_rto_max", CTLTYPE_INT }, \
- { "valid_cookie_life", CTLTYPE_INT }, \
- { "init_rtx_max", CTLTYPE_INT }, \
- { "assoc_rtx_max", CTLTYPE_INT }, \
- { "path_rtx_max", CTLTYPE_INT }, \
- { "outgoing_streams", CTLTYPE_INT }, \
- { "cmt_on_off", CTLTYPE_INT }, \
- { "cmt_on_pf", CTLTYPE_INT }, \
- { "default_cc_module", CTLTYPE_INT }, \
- { "cwnd_maxburst", CTLTYPE_INT }, \
- { "early_fast_retran", CTLTYPE_INT }, \
- { "deadlock_detect", CTLTYPE_INT }, \
- { "early_fast_retran_msec", CTLTYPE_INT }, \
- { "asconf_auth_nochk", CTLTYPE_INT }, \
- { "auth_disable", CTLTYPE_INT }, \
- { "nat_friendly", CTLTYPE_INT }, \
- { "abc_l_var", CTLTYPE_INT }, \
- { "max_mbuf_chain", CTLTYPE_INT }, \
- { "cmt_use_dac", CTLTYPE_INT }, \
- { "do_sctp_drain", CTLTYPE_INT }, \
- { "warm_crc_table", CTLTYPE_INT }, \
- { "abort_at_limit", CTLTYPE_INT }, \
- { "strict_data_order", CTLTYPE_INT }, \
- { "tcbhashsize", CTLTYPE_INT }, \
- { "pcbhashsize", CTLTYPE_INT }, \
- { "chunkscale", CTLTYPE_INT }, \
- { "min_split_point", CTLTYPE_INT }, \
- { "add_more_on_output", CTLTYPE_INT }, \
- { "sys_resource", CTLTYPE_INT }, \
- { "asoc_resource", CTLTYPE_INT }, \
- { "min_residual", CTLTYPE_INT }, \
- { "max_retran_chunk", CTLTYPE_INT }, \
- { "sctp_logging", CTLTYPE_INT }, \
- { "frag_interleave", CTLTYPE_INT }, \
- { "mobility_base", CTLTYPE_INT }, \
- { "mobility_fasthandoff", CTLTYPE_INT }, \
- { "debug", CTLTYPE_INT }, \
-}
-#else
-#define SCTPCTL_NAMES { \
- { 0, 0 }, \
- { "sendspace", CTLTYPE_INT }, \
- { "recvspace", CTLTYPE_INT }, \
- { "autoasconf", CTLTYPE_INT }, \
- { "ecn_enable", CTLTYPE_INT }, \
- { "ecn_nonce", CTLTYPE_INT }, \
- { "strict_sack", CTLTYPE_INT }, \
- { "looback_nocsum", CTLTYPE_INT }, \
- { "strict_init", CTLTYPE_INT }, \
- { "peer_chkoh", CTLTYPE_INT }, \
- { "maxburst", CTLTYPE_INT }, \
- { "maxchunks", CTLTYPE_INT }, \
- { "delayed_sack_time", CTLTYPE_INT }, \
- { "sack_freq", CTLTYPE_INT }, \
- { "heartbeat_interval", CTLTYPE_INT }, \
- { "pmtu_raise_time", CTLTYPE_INT }, \
- { "shutdown_guard_time", CTLTYPE_INT }, \
- { "secret_lifetime", CTLTYPE_INT }, \
- { "rto_max", CTLTYPE_INT }, \
- { "rto_min", CTLTYPE_INT }, \
- { "rto_initial", CTLTYPE_INT }, \
- { "init_rto_max", CTLTYPE_INT }, \
- { "valid_cookie_life", CTLTYPE_INT }, \
- { "init_rtx_max", CTLTYPE_INT }, \
- { "assoc_rtx_max", CTLTYPE_INT }, \
- { "path_rtx_max", CTLTYPE_INT }, \
- { "outgoing_streams", CTLTYPE_INT }, \
- { "cmt_on_off", CTLTYPE_INT }, \
- { "cmt_on_pf", CTLTYPE_INT }, \
- { "default_cc_module", CTLTYPE_INT }, \
- { "cwnd_maxburst", CTLTYPE_INT }, \
- { "early_fast_retran", CTLTYPE_INT }, \
- { "deadlock_detect", CTLTYPE_INT }, \
- { "early_fast_retran_msec", CTLTYPE_INT }, \
- { "asconf_auth_nochk", CTLTYPE_INT }, \
- { "auth_disable", CTLTYPE_INT }, \
- { "nat_friendly", CTLTYPE_INT }, \
- { "abc_l_var", CTLTYPE_INT }, \
- { "max_mbuf_chain", CTLTYPE_INT }, \
- { "cmt_use_dac", CTLTYPE_INT }, \
- { "do_sctp_drain", CTLTYPE_INT }, \
- { "warm_crc_table", CTLTYPE_INT }, \
- { "abort_at_limit", CTLTYPE_INT }, \
- { "strict_data_order", CTLTYPE_INT }, \
- { "tcbhashsize", CTLTYPE_INT }, \
- { "pcbhashsize", CTLTYPE_INT }, \
- { "chunkscale", CTLTYPE_INT }, \
- { "min_split_point", CTLTYPE_INT }, \
- { "add_more_on_output", CTLTYPE_INT }, \
- { "sys_resource", CTLTYPE_INT }, \
- { "asoc_resource", CTLTYPE_INT }, \
- { "min_residual", CTLTYPE_INT }, \
- { "max_retran_chunk", CTLTYPE_INT }, \
- { "sctp_logging", CTLTYPE_INT }, \
- { "frag_interleave", CTLTYPE_INT }, \
- { "mobility_base", CTLTYPE_INT }, \
- { "mobility_fasthandoff", CTLTYPE_INT }, \
-}
-#endif
#if defined(_KERNEL)
@@ -617,24 +475,18 @@ extern uint32_t sctp_path_rtx_max_default;
extern uint32_t sctp_add_more_threshold;
extern uint32_t sctp_nr_outgoing_streams_default;
extern uint32_t sctp_cmt_on_off;
+extern uint32_t sctp_cmt_use_dac;
/* JRS 5/21/07 - CMT PF type flag variables */
extern uint32_t sctp_cmt_pf;
-
-/* JRS - Variable for the default congestion control module */
-extern uint32_t sctp_default_cc_module;
-extern uint32_t sctp_default_frag_interleave;
extern uint32_t sctp_use_cwnd_based_maxburst;
extern uint32_t sctp_early_fr;
-extern uint32_t sctp_use_rttvar_cc;
-extern uint32_t sctp_says_check_for_deadlock;
extern uint32_t sctp_early_fr_msec;
extern uint32_t sctp_asconf_auth_nochk;
extern uint32_t sctp_auth_disable;
extern uint32_t sctp_nat_friendly;
extern uint32_t sctp_L2_abc_variable;
extern uint32_t sctp_mbuf_threshold_count;
-extern uint32_t sctp_cmt_use_dac;
extern uint32_t sctp_do_drain;
extern uint32_t sctp_hb_maxburst;
extern uint32_t sctp_abort_if_one_2_one_hits_limit;
@@ -642,6 +494,10 @@ extern uint32_t sctp_strict_data_order;
extern uint32_t sctp_min_residual;
extern uint32_t sctp_max_retran_chunk;
extern uint32_t sctp_logging_level;
+
+/* JRS - Variable for the default congestion control module */
+extern uint32_t sctp_default_cc_module;
+extern uint32_t sctp_default_frag_interleave;
extern uint32_t sctp_mobility_base;
extern uint32_t sctp_mobility_fasthandoff;
@@ -652,8 +508,7 @@ extern uint32_t sctp_debug_on;
extern struct sctpstat sctpstat;
-
-#ifdef SYSCTL_DECL
+#if defined(SYSCTL_DECL)
SYSCTL_DECL(_net_inet_sctp);
#endif
OpenPOWER on IntegriCloud