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