2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved.
5 * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
10 * a) Redistributions of source code must retain the above copyright notice,
11 * this list of conditions and the following disclaimer.
13 * b) Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the distribution.
17 * c) Neither the name of Cisco Systems, Inc. nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
34 #include <sys/cdefs.h>
35 __FBSDID("$FreeBSD$");
37 #ifndef _NETINET_SCTP_DTRACE_DEFINE_H_
38 #define _NETINET_SCTP_DTRACE_DEFINE_H_
40 #include <sys/kernel.h>
43 SDT_PROVIDER_DECLARE(sctp);
45 /********************************************************/
46 /* Cwnd probe - tracks changes in the congestion window on a netp */
47 /********************************************************/
49 SDT_PROBE_DEFINE5(sctp, cwnd, net, init,
50 "uint32_t", /* The Vtag for this end */
51 "uint32_t", /* The port number of the local side << 16 |
52 * port number of remote in network byte
54 "uintptr_t", /* The pointer to the struct sctp_nets *
56 "int", /* The old value of the cwnd */
57 "int"); /* The new value of the cwnd */
60 SDT_PROBE_DEFINE5(sctp, cwnd, net, ack,
61 "uint32_t", /* The Vtag for this end */
62 "uint32_t", /* The port number of the local side << 16 |
63 * port number of remote in network byte
65 "uintptr_t", /* The pointer to the struct sctp_nets *
67 "int", /* The old value of the cwnd */
68 "int"); /* The new value of the cwnd */
71 SDT_PROBE_DEFINE5(sctp, cwnd, net, rttvar,
72 "uint64_t", /* The Vtag << 32 | localport << 16 |
74 "uint64_t", /* obw | nbw */
75 "uint64_t", /* bwrtt | newrtt */
76 "uint64_t", /* flight */
77 "uint64_t"); /* (cwnd << 32) | point << 16 | retval(0/1) */
79 SDT_PROBE_DEFINE5(sctp, cwnd, net, rttstep,
80 "uint64_t", /* The Vtag << 32 | localport << 16 |
82 "uint64_t", /* obw | nbw */
83 "uint64_t", /* bwrtt | newrtt */
84 "uint64_t", /* flight */
85 "uint64_t"); /* (cwnd << 32) | point << 16 | retval(0/1) */
87 /* FastRetransmit-DECREASE */
88 SDT_PROBE_DEFINE5(sctp, cwnd, net, fr,
89 "uint32_t", /* The Vtag for this end */
90 "uint32_t", /* The port number of the local side << 16 |
91 * port number of remote in network byte
93 "uintptr_t", /* The pointer to the struct sctp_nets *
95 "int", /* The old value of the cwnd */
96 "int"); /* The new value of the cwnd */
98 /* TimeOut-DECREASE */
99 SDT_PROBE_DEFINE5(sctp, cwnd, net, to,
100 "uint32_t", /* The Vtag for this end */
101 "uint32_t", /* The port number of the local side << 16 |
102 * port number of remote in network byte
104 "uintptr_t", /* The pointer to the struct sctp_nets *
106 "int", /* The old value of the cwnd */
107 "int"); /* The new value of the cwnd */
109 /* BurstLimit-DECREASE */
110 SDT_PROBE_DEFINE5(sctp, cwnd, net, bl,
111 "uint32_t", /* The Vtag for this end */
112 "uint32_t", /* The port number of the local side << 16 |
113 * port number of remote in network byte
115 "uintptr_t", /* The pointer to the struct sctp_nets *
117 "int", /* The old value of the cwnd */
118 "int"); /* The new value of the cwnd */
121 SDT_PROBE_DEFINE5(sctp, cwnd, net, ecn,
122 "uint32_t", /* The Vtag for this end */
123 "uint32_t", /* The port number of the local side << 16 |
124 * port number of remote in network byte
126 "uintptr_t", /* The pointer to the struct sctp_nets *
128 "int", /* The old value of the cwnd */
129 "int"); /* The new value of the cwnd */
131 /* PacketDrop-DECREASE */
132 SDT_PROBE_DEFINE5(sctp, cwnd, net, pd,
133 "uint32_t", /* The Vtag for this end */
134 "uint32_t", /* The port number of the local side << 16 |
135 * port number of remote in network byte
137 "uintptr_t", /* The pointer to the struct sctp_nets *
139 "int", /* The old value of the cwnd */
140 "int"); /* The new value of the cwnd */
142 /********************************************************/
143 /* Rwnd probe - tracks changes in the receiver window for an assoc */
144 /********************************************************/
145 SDT_PROBE_DEFINE4(sctp, rwnd, assoc, val,
146 "uint32_t", /* The Vtag for this end */
147 "uint32_t", /* The port number of the local side << 16 |
148 * port number of remote in network byte
150 "int", /* The up/down amount */
151 "int"); /* The new value of the cwnd */
153 /********************************************************/
154 /* flight probe - tracks changes in the flight size on a net or assoc */
155 /********************************************************/
156 SDT_PROBE_DEFINE5(sctp, flightsize, net, val,
157 "uint32_t", /* The Vtag for this end */
158 "uint32_t", /* The port number of the local side << 16 |
159 * port number of remote in network byte
161 "uintptr_t", /* The pointer to the struct sctp_nets *
163 "int", /* The up/down amount */
164 "int"); /* The new value of the cwnd */
166 /********************************************************/
167 /* The total flight version */
168 /********************************************************/
169 SDT_PROBE_DEFINE4(sctp, flightsize, assoc, val,
170 "uint32_t", /* The Vtag for this end */
171 "uint32_t", /* The port number of the local side << 16 |
172 * port number of remote in network byte
174 "int", /* The up/down amount */
175 "int"); /* The new value of the cwnd */