svn commit: r339867 - in stable/12: share/man/man4 sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Mon Oct 29 19:01:49 UTC 2018
Author: tuexen
Date: Mon Oct 29 19:01:47 2018
New Revision: 339867
URL: https://svnweb.freebsd.org/changeset/base/339867
Log:
MFC r339791:
Add initial descriptions for SCTP related MIB variable.
This work was mostly done by Marie-Helene Kvello-Aune.
Approved by: re (gjb)
Differential Revision: https://reviews.freebsd.org/D3583
Modified:
stable/12/share/man/man4/sctp.4
stable/12/sys/netinet/sctp_sysctl.h
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/share/man/man4/sctp.4
==============================================================================
--- stable/12/share/man/man4/sctp.4 Mon Oct 29 17:55:26 2018 (r339866)
+++ stable/12/share/man/man4/sctp.4 Mon Oct 29 19:01:47 2018 (r339867)
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 15, 2006
+.Dd October 10, 2018
.Dt SCTP 4
.Os
.Sh NAME
@@ -145,7 +145,7 @@ with no regard to the ordering of any other message.
The FreeBSD implementation of
.Tn SCTP
also supports the following extensions:
-.Bl -hang -width indent
+.Bl -tag -width "sctp partial reliability"
.It "sctp partial reliability"
This extension allows one to have message be skipped and
not delivered based on some user specified parameters.
@@ -168,7 +168,7 @@ utilization.
This extension allows a user on either side to reset the
stream sequence numbers used by any or all streams.
.El
-.Pp
+.Ss Socket Options
.Tn SCTP
supports a number of socket options which can be set with
.Xr setsockopt 2
@@ -176,7 +176,7 @@ and tested with
.Xr getsockopt 2
or
.Xr sctp_opt_info 3 :
-.Bl -tag -width ".Dv SCTP_SET_PEER_PRIMARY_ADDR"
+.Bl -tag -indent
.It Dv SCTP_NODELAY
Under most circumstances,
.Tn SCTP
@@ -409,6 +409,191 @@ Note that the peer
endpoint must also support the stream reset extension
as well.
.El
+.Ss MIB Variables
+The
+.Tn SCTP
+protocol implements a number of variables in the
+.Va net.inet.sctp
+branch of the
+.Xr sysctl 3
+MIB.
+.Bl -ohang
+.It Sy Congestion Control
+.Bl -tag -width indent
+.It Va default_cc_module
+Default congestion control module.
+Default value is 0.
+The minimum is 0, and the maximum is 3.
+A value of 0 enables the default congestion control algorithm.
+A value of 1 enables the High Speed congestion control algorithm.
+A value of 2 enables the HTCP congestion control algorithm.
+A value of 3 enables the data center congestion control (DCCC) algorithm.
+.It Va initial_cwnd
+Defines the initial congestion window size in MTUs.
+.It Va cwnd_maxburst
+Use congestion control instead of 'blind' logic to limit maximum burst when sending.
+Default value is 1. May be set to 0 or 1.
+.It Va ecn_enable
+Enable Explicit Congestion Notification (ECN).
+Default value is 1. May be set to 0 or 1.
+.It Va rttvar_steady_step
+Number of identical bandwidth measurements DCCC takes to try step down the congestion window.
+Default value is 20.
+The minimum is 0, and the maximum is 65535.
+.It Va rttvar_eqret
+Whether DCCC reduces the congestion window size when round-trip time and bandwidth remain unchanged.
+Default value is 0.
+May be set to 0 or 1.
+.It Va rttvar_bw
+Shift amount DCCC uses for bandwidth smoothing on round-trip-time calculation.
+Default value is 4.
+The minimum is 0, and the maximum is 32.
+.It Va rttvar_rtt
+Shift amount DCCC uses for round-trip-time smoothing on round-trip-time calculation.
+Default value is 5.
+The minimum is 0, and the maximum is 32.
+.It Va use_dcccecn
+Enable ECN when using DCCC.
+Default value is 1.
+May be set to 0 or 1.
+.El
+.It Sy Misc
+.Bl -tag -width indent
+.It Va getcred
+Get the ucred of a SCTP connection.
+.It Va assoclist
+List of active SCTP associations.
+.It Va stats
+SCTP statistics (struct sctp_stat).
+.It Va diag_info_code
+Diagnostic information error cause code.
+.It Va blackhole
+Enable SCTP blackholing.
+See
+.Xr blackhole 4
+for more details.
+.It Va buffer_splitting
+Enable send/receive buffer splitting.
+.It Va vtag_time_wait
+Vtag wait time in seconds, 0 to disable.
+.It Va nat_friendly_init
+Enable sending of the NAT-friendly SCTP option on INITs.
+.It Va enable_sack_immediately
+Enable sending of the SACK-IMMEDIATELY bit.
+.It Va udp_tunneling_port
+Set the SCTP/UDP tunneling port.
+.It Va mobility_fasthandoff
+Enable SCTP fast handoff.
+.It Va mobility_base
+Enable SCTP base mobility
+.It Va default_frag_interleave
+Default fragment interleave level.
+.It Va default_ss_module
+Default stream scheduling module.
+.It Va log_level
+Ltrace/KTR trace logging level.
+.It Va max_retran_chunk
+Number of retransmissions of a DATA chunk before an association is aborted.
+.It Va min_residual
+Minimum residual data chunk in second part of split.
+.It Va strict_data_order
+Enforce strict data ordering, abort if control inside data.
+.It Va abort_at_limit
+Abort when one-to-one hits qlimit.
+.It Va hb_max_burst
+Confirmation heartbeat max burst.
+.It Va do_sctp_drain
+Flush chunks in receive queues with TSN higher than the cumulative TSN if the
+system is low on mbufs.
+.It Va max_chained_mbufs
+Default max number of small mbufs on a chain.
+.It Va abc_l_var
+SCTP ABC max increase per SACK (L).
+.It Va nat_friendly
+SCTP NAT friendly operation.
+.It Va cmt_use_dac
+CMT DAC on/off flag.
+.It Va cmt_on_off
+CMT settings.
+.It Va outgoing_streams
+Default number of outgoing streams.
+.It Va incoming_streams
+Default number of incoming streams.
+.It Va add_more_on_output
+When space-wise is it worthwhile to try to add more to a socket send buffer.
+.It Va path_pf_threshold
+Default potentially failed threshold.
+.It Va path_rtx_max
+Default maximum of retransmissions per path.
+.It Va assoc_rtx_max
+Default maximum number of retransmissions per association.
+.It Va init_rtx_max
+Default maximum number of retransmissions for INIT chunks.
+.It Va valid_cookie_life
+Default cookie lifetime in seconds.
+.It Va init_rto_max
+Default maximum retransmission timeout during association setup in ms.
+.It Va rto_initial
+Default initial retransmission timeout in ms.
+.It Va rto_min
+Default minimum retransmission timeout in ms.
+.It Va rto_max
+Default maximum retransmission timeout in ms.
+.It Va secret_lifetime
+Default secret lifetime in seconds.
+.It Va shutdown_guard_time
+Shutdown guard timer in seconds (0 means 5 times RTO.Max).
+.It Va pmtu_raise_time
+Default PMTU raise timer in seconds.
+.It Va heartbeat_interval
+Default heartbeat interval in ms.
+.It Va asoc_resource
+Max number of cached resources in an association.
+.It Va sys_resource
+Max number of cached resources in the system.
+.It Va sack_freq
+Default SACK frequency.
+.It Va delayed_sack_time
+Default delayed SACK timer in ms.
+.It Va chunkscale
+Tunable for scaling of number of chunks and messages.
+.It Va min_split_point
+Minimum size when splitting a chunk.
+.It Va pcbhashsize
+Tunable for PCB hash table sizes.
+.It Va tcbhashsize
+Tunable for TCB hash table sizes.
+.It Va maxchunks
+Default max chunks on queue per association.
+.It Va fr_maxburst
+Default max burst for SCTP endpoints when fast retransmitting.
+.It Va maxburst
+Default max burst for SCTP endpoints.
+.It Va peer_chkoh
+Amount to debit peers rwnd per chunk sent.
+.It Va strict_sacks
+Enable SCTP Strict SACK checking.
+.It Va pktdrop_enable
+Enable SCTP PKTDROP.
+.It Va nrsack_enable
+Enable SCTP NR-SACK.
+.It Va reconfig_enable
+Enable SCTP RE-CONFIG.
+.It Va asconf_enable
+Enable SCTP ASCONF.
+.It Va auth_enable
+Enable SCTP AUTH.
+.It Va pr_enable
+Enable PR-SCTP.
+.It Va auto_asconf
+Enable SCTP Auto-ASCONF.
+.It Va recvspace
+Maximum incoming SCTP buffer size.
+.It Va sendspace
+Maximum outgoing SCTP buffer size.
+.El
+.El
+
.Sh SEE ALSO
.Xr accept 2 ,
.Xr bind 2 ,
@@ -418,4 +603,5 @@ as well.
.Xr sctp_connectx 3 ,
.Xr sctp_opt_info 3 ,
.Xr sctp_recvmsg 3 ,
-.Xr sctp_sendmsg 3
+.Xr sctp_sendmsg 3 ,
+.Xr blackhole 4
Modified: stable/12/sys/netinet/sctp_sysctl.h
==============================================================================
--- stable/12/sys/netinet/sctp_sysctl.h Mon Oct 29 17:55:26 2018 (r339866)
+++ stable/12/sys/netinet/sctp_sysctl.h Mon Oct 29 19:01:47 2018 (r339867)
@@ -212,7 +212,7 @@ struct sctp_sysctl {
#define SCTPCTL_MAXBURST_DEFAULT SCTP_DEF_MAX_BURST
/* fr_maxburst: Default max burst for sctp endpoints when fast retransmitting */
-#define SCTPCTL_FRMAXBURST_DESC "Default fr max burst for sctp endpoints"
+#define SCTPCTL_FRMAXBURST_DESC "Default max burst for SCTP endpoints when fast retransmitting"
#define SCTPCTL_FRMAXBURST_MIN 0
#define SCTPCTL_FRMAXBURST_MAX 0xFFFFFFFF
#define SCTPCTL_FRMAXBURST_DEFAULT SCTP_DEF_FRMAX_BURST
@@ -243,7 +243,7 @@ struct sctp_sysctl {
#define SCTPCTL_MIN_SPLIT_POINT_DEFAULT SCTP_DEFAULT_SPLIT_POINT_MIN
/* chunkscale: Tunable for Scaling of number of chunks and messages */
-#define SCTPCTL_CHUNKSCALE_DESC "Tunable for Scaling of number of chunks and messages"
+#define SCTPCTL_CHUNKSCALE_DESC "Tunable for scaling of number of chunks and messages"
#define SCTPCTL_CHUNKSCALE_MIN 1
#define SCTPCTL_CHUNKSCALE_MAX 0xFFFFFFFF
#define SCTPCTL_CHUNKSCALE_DEFAULT SCTP_CHUNKQUEUE_SCALE
@@ -327,7 +327,7 @@ struct sctp_sysctl {
#define SCTPCTL_VALID_COOKIE_LIFE_DEFAULT SCTP_DEFAULT_COOKIE_LIFE
/* init_rtx_max: Default maximum number of retransmission for INIT chunks */
-#define SCTPCTL_INIT_RTX_MAX_DESC "Default maximum number of retransmission for INIT chunks"
+#define SCTPCTL_INIT_RTX_MAX_DESC "Default maximum number of retransmissions for INIT chunks"
#define SCTPCTL_INIT_RTX_MAX_MIN 0
#define SCTPCTL_INIT_RTX_MAX_MAX 0xFFFFFFFF
#define SCTPCTL_INIT_RTX_MAX_DEFAULT SCTP_DEF_MAX_INIT
@@ -380,8 +380,8 @@ struct sctp_sysctl {
#define SCTPCTL_CMT_USE_DAC_MAX 1
#define SCTPCTL_CMT_USE_DAC_DEFAULT 0
-/* cwnd_maxburst: Use a CWND adjusting maxburst */
-#define SCTPCTL_CWND_MAXBURST_DESC "Use a CWND adjusting maxburst"
+/* cwnd_maxburst: Use a CWND adjusting to implement maxburst */
+#define SCTPCTL_CWND_MAXBURST_DESC "Adjust congestion control window to limit maximum burst when sending"
#define SCTPCTL_CWND_MAXBURST_MIN 0
#define SCTPCTL_CWND_MAXBURST_MAX 1
#define SCTPCTL_CWND_MAXBURST_DEFAULT 1
@@ -417,7 +417,7 @@ struct sctp_sysctl {
#define SCTPCTL_HB_MAX_BURST_DEFAULT SCTP_DEF_HBMAX_BURST
/* abort_at_limit: When one-2-one hits qlimit abort */
-#define SCTPCTL_ABORT_AT_LIMIT_DESC "When one-2-one hits qlimit abort"
+#define SCTPCTL_ABORT_AT_LIMIT_DESC "Abort when one-to-one hits qlimit"
#define SCTPCTL_ABORT_AT_LIMIT_MIN 0
#define SCTPCTL_ABORT_AT_LIMIT_MAX 1
#define SCTPCTL_ABORT_AT_LIMIT_DEFAULT 0
@@ -429,7 +429,7 @@ struct sctp_sysctl {
#define SCTPCTL_MIN_RESIDUAL_DEFAULT 1452
/* max_retran_chunk: max chunk retransmissions */
-#define SCTPCTL_MAX_RETRAN_CHUNK_DESC "Maximum times an unlucky chunk can be retran'd before assoc abort"
+#define SCTPCTL_MAX_RETRAN_CHUNK_DESC "Maximum times an unlucky chunk can be retransmitted before assoc abort"
#define SCTPCTL_MAX_RETRAN_CHUNK_MIN 0
#define SCTPCTL_MAX_RETRAN_CHUNK_MAX 65535
#define SCTPCTL_MAX_RETRAN_CHUNK_DEFAULT 30
@@ -477,63 +477,63 @@ struct sctp_sysctl {
#define SCTPCTL_UDP_TUNNELING_PORT_DEFAULT 0
/* Enable sending of the SACK-IMMEDIATELY bit */
-#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_DESC "Enable sending of the SACK-IMMEDIATELY-bit."
+#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_DESC "Enable sending of the SACK-IMMEDIATELY-bit"
#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_MIN 0
#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_MAX 1
#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT SCTPCTL_SACK_IMMEDIATELY_ENABLE_MAX
/* Enable sending of the NAT-FRIENDLY message */
-#define SCTPCTL_NAT_FRIENDLY_INITS_DESC "Enable sending of the nat-friendly SCTP option on INITs."
+#define SCTPCTL_NAT_FRIENDLY_INITS_DESC "Enable sending of the nat-friendly SCTP option on INITs"
#define SCTPCTL_NAT_FRIENDLY_INITS_MIN 0
#define SCTPCTL_NAT_FRIENDLY_INITS_MAX 1
#define SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT SCTPCTL_NAT_FRIENDLY_INITS_MIN
/* Vtag time wait in seconds */
-#define SCTPCTL_TIME_WAIT_DESC "Vtag time wait time in seconds, 0 disables it."
+#define SCTPCTL_TIME_WAIT_DESC "Vtag time wait time in seconds, 0 disables it"
#define SCTPCTL_TIME_WAIT_MIN 0
#define SCTPCTL_TIME_WAIT_MAX 0xffffffff
#define SCTPCTL_TIME_WAIT_DEFAULT SCTP_TIME_WAIT
/* Enable Send/Receive buffer splitting */
-#define SCTPCTL_BUFFER_SPLITTING_DESC "Enable send/receive buffer splitting."
+#define SCTPCTL_BUFFER_SPLITTING_DESC "Enable send/receive buffer splitting"
#define SCTPCTL_BUFFER_SPLITTING_MIN 0
#define SCTPCTL_BUFFER_SPLITTING_MAX 0x3
#define SCTPCTL_BUFFER_SPLITTING_DEFAULT SCTPCTL_BUFFER_SPLITTING_MIN
-/* Initial congestion window in MTU */
-#define SCTPCTL_INITIAL_CWND_DESC "Initial congestion window in MTUs"
+/* Initial congestion window in MTUs */
+#define SCTPCTL_INITIAL_CWND_DESC "Defines the initial congestion window size in MTUs"
#define SCTPCTL_INITIAL_CWND_MIN 0
#define SCTPCTL_INITIAL_CWND_MAX 0xffffffff
#define SCTPCTL_INITIAL_CWND_DEFAULT 3
/* rttvar smooth avg for bw calc */
-#define SCTPCTL_RTTVAR_BW_DESC "Shift amount for bw smoothing on rtt calc"
+#define SCTPCTL_RTTVAR_BW_DESC "Shift amount DCCC uses for bw smoothing on rtt calc"
#define SCTPCTL_RTTVAR_BW_MIN 0
#define SCTPCTL_RTTVAR_BW_MAX 32
#define SCTPCTL_RTTVAR_BW_DEFAULT 4
/* rttvar smooth avg for bw calc */
-#define SCTPCTL_RTTVAR_RTT_DESC "Shift amount for rtt smoothing on rtt calc"
+#define SCTPCTL_RTTVAR_RTT_DESC "Shift amount DCCC uses for rtt smoothing on rtt calc"
#define SCTPCTL_RTTVAR_RTT_MIN 0
#define SCTPCTL_RTTVAR_RTT_MAX 32
#define SCTPCTL_RTTVAR_RTT_DEFAULT 5
-#define SCTPCTL_RTTVAR_EQRET_DESC "What to return when rtt and bw are unchanged"
+#define SCTPCTL_RTTVAR_EQRET_DESC "Whether DCCC increases cwnd when the rtt and bw are unchanged"
#define SCTPCTL_RTTVAR_EQRET_MIN 0
#define SCTPCTL_RTTVAR_EQRET_MAX 1
#define SCTPCTL_RTTVAR_EQRET_DEFAULT 0
-#define SCTPCTL_RTTVAR_STEADYS_DESC "How many the sames it takes to try step down of cwnd"
+#define SCTPCTL_RTTVAR_STEADYS_DESC "Number of identical bw measurements DCCC takes to try step down of cwnd"
#define SCTPCTL_RTTVAR_STEADYS_MIN 0
#define SCTPCTL_RTTVAR_STEADYS_MAX 0xFFFF
#define SCTPCTL_RTTVAR_STEADYS_DEFAULT 20 /* 0 means disable feature */
-#define SCTPCTL_RTTVAR_DCCCECN_DESC "Enable for RTCC CC datacenter ECN"
+#define SCTPCTL_RTTVAR_DCCCECN_DESC "Enable ECN for DCCC."
#define SCTPCTL_RTTVAR_DCCCECN_MIN 0
#define SCTPCTL_RTTVAR_DCCCECN_MAX 1
#define SCTPCTL_RTTVAR_DCCCECN_DEFAULT 1 /* 0 means disable feature */
-#define SCTPCTL_BLACKHOLE_DESC "Enable SCTP blackholing. See blackhole(4) for more details."
+#define SCTPCTL_BLACKHOLE_DESC "Enable SCTP blackholing, see blackhole(4) for more details"
#define SCTPCTL_BLACKHOLE_MIN 0
#define SCTPCTL_BLACKHOLE_MAX 2
#define SCTPCTL_BLACKHOLE_DEFAULT SCTPCTL_BLACKHOLE_MIN
@@ -553,7 +553,7 @@ struct sctp_sysctl {
#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
-#define SCTPCTL_OUTPUT_UNLOCKED_DESC "Unlock socket when sending packets down to IP."
+#define SCTPCTL_OUTPUT_UNLOCKED_DESC "Unlock socket when sending packets down to IP"
#define SCTPCTL_OUTPUT_UNLOCKED_MIN 0
#define SCTPCTL_OUTPUT_UNLOCKED_MAX 1
#define SCTPCTL_OUTPUT_UNLOCKED_DEFAULT SCTPCTL_OUTPUT_UNLOCKED_MIN
More information about the svn-src-stable-12
mailing list