df60d5b8a3
Copied from dtrace_tcp(4) Reviewed by: rgrimes Sponsored by: Smule, Inc.
131 lines
4.1 KiB
Groff
131 lines
4.1 KiB
Groff
.\" Copyright (c) 2018 Devin Teske <dteske@FreeBSD.org>
|
|
.\"
|
|
.\" 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 .
|