Add manual page for the sctp DTrace provider.

Sponsored by:	Smule, Inc.
This commit is contained in:
Devin Teske 2018-05-27 18:43:14 +00:00
parent ae266f9f94
commit 3a42a33d43
2 changed files with 132 additions and 0 deletions

View File

@ -910,6 +910,7 @@ _dtrace_provs= dtrace_io.4 \
dtrace_lockstat.4 \
dtrace_proc.4 \
dtrace_sched.4 \
dtrace_sctp.4 \
dtrace_tcp.4 \
dtrace_udp.4
.endif

View File

@ -0,0 +1,131 @@
.\" Copyright (c) 2018 Devin Teske <dteske@FreeBSD.org>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd April 22, 2018
.Dt DTRACE_SCTP 4
.Os
.Sh NAME
.Nm dtrace_sctp
.Nd a DTrace provider for tracing events related to the
.Xr sctp 4
protocol
.Sh SYNOPSIS
.Fn sctp:cwnd::init uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::ack uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::rttvar uint64_t uint64_t uint64_t uint64_t uint64_t
.Fn sctp:cwnd::rttstep uint64_t uint64_t uint64_t uint64_t uint64_t
.Fn sctp:cwnd::fr uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::to uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::bl uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::ecn uint32_t uint32_t uintptr_t int int
.Fn sctp:cwnd::pd uint32_t uint32_t uintptr_t int int
.Fn sctp:rwnd:assoc:val uint32_t uint32_t int int
.Fn sctp:flightsize:net:val uint32_t uint32_t uintptr_t int int
.Fn sctp:flightsize:assoc:val uint32_t uint32_t int int
.Sh DESCRIPTION
The DTrace
.Nm sctp
provider allows users to trace events in the
.Xr sctp 4
protocol implementation.
This provider is similar to the
.Xr dtrace_ip 4
and
.Xr dtrace_udp 4
providers,
but additionally contains probes corresponding to protocol events at a level
higher than packet reception and transmission.
.Pp
The
.Fn sctp:cwnd::
probes track changes in the congestion window on a netp.
The
.Fn sctp:rwnd::
probes track changes in the receiver window for an assoc.
The
.Fn sctp:flightsize:net:val
probe tracks changes in the flight size on a net or assoc and the
.Fn sctp:flightsize:assoc:val
probe provides the total flight version.
.Pp
The arguments of all
.Nm sctp
probes except for
.Fn sctp:cwnd::rtt*
and
.Fn sctp::assoc:val
are the Vtag for this end,
the port number of the local side,
the pointer to
.Dv struct sctp_nets *changing ,
the old value of the cwnd,
and the new value of the cwnd.
.Pp
The arguments of
.Fn sctp:::val
are similar to the above except the fourth argument is the up/down amount.
.Pp
The
.Fn sctp:cwnd::rtt*
probe arguments are a bitmap of
.Dv Vtag << 32 | localport << 16 | remoteport ,
a bitmap of
.Dv obw | nbw ,
a bitmap of
.Dv bwrtt | newrtt ,
.Dv flight ,
and a bitmap of
.Dv (cwnd << 32) | point << 16 | retval(0/1) .
.Pp
The
.Fn sctp:cwnd::init
probe fires when a remotely-initiated active SCTP open succeeds.
At this point the new connection is in the ESTABLISHED state, and the probe
arguments expose the headers associated with the final ACK of the four-way
handshake.
.\" .Sh ARGUMENTS
.\" .Sh FILES
.\" .Sh EXAMPLES
.\" .Sh COMPATIBILITY
.\" This provider has not been tested for compatiblity with the
.\" .Nm sctp
.\" provider in Solaris
.\" .Pq if one exists .
.Sh SEE ALSO
.Xr dtrace 1 ,
.Xr dtrace_ip 4 ,
.Xr dtrace_udp 4 ,
.Xr sctp 4 ,
.Xr SDT 9
.\" .Sh HISTORY
.\" The
.\" .Nm sctp
.\" provider first appeared in
.\" .Fx
.\" UNKNOWN.
.Sh AUTHORS
This manual page was written by
.An Devin Teske Aq Mt dteske@FreeBSD.org .