sctp_dtrace_define.h revision 254350
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 254350 2013-08-15 04:08:55Z markj $");
34
35#ifndef _NETINET_SCTP_DTRACE_DEFINE_H_
36#define _NETINET_SCTP_DTRACE_DEFINE_H_
37
38#include "opt_kdtrace.h"
39#include <sys/kernel.h>
40#include <sys/sdt.h>
41
42SDT_PROVIDER_DEFINE(sctp);
43
44/********************************************************/
45/* Cwnd probe - tracks changes in the congestion window on a netp */
46/********************************************************/
47/* Initial */
48SDT_PROBE_DEFINE5(sctp, cwnd, net, init, init,
49    "uint32_t",		/* The Vtag for this end */
50    "uint32_t",		/*
51			 * The port number of the local side << 16 | port number
52			 * of remote in network byte order.
53			 */
54    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
55    "int",		/* The old value of the cwnd */
56    "int");		/* The new value of the cwnd */
57
58/* ACK-INCREASE */
59SDT_PROBE_DEFINE5(sctp, cwnd, net, ack, ack,
60    "uint32_t",		/* The Vtag for this end */
61    "uint32_t",		/*
62			 * The port number of the local side << 16 | port number
63			 * of remote in network byte order.
64			 */
65    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
66    "int",		/* The old value of the cwnd */
67    "int");		/* The new value of the cwnd */
68
69/* ACK-INCREASE */
70SDT_PROBE_DEFINE5(sctp, cwnd, net, rttvar, rttvar,
71    "uint64_t",		/* The Vtag << 32 | localport << 16 | 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, rttstep,
78    "uint64_t",		/* The Vtag << 32 | localport << 16 | remoteport */
79    "uint64_t",		/* obw | nbw */
80    "uint64_t",		/* bwrtt | newrtt */
81    "uint64_t",		/* flight */
82    "uint64_t");	/* (cwnd << 32) | point << 16 | retval(0/1) */
83
84/* FastRetransmit-DECREASE */
85SDT_PROBE_DEFINE5(sctp, cwnd, net, fr, fr,
86    "uint32_t",		/* The Vtag for this end */
87    "uint32_t",		/*
88			 * The port number of the local side << 16 | port number
89			 * of remote in network byte order.
90			 */
91    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
92    "int",		/* The old value of the cwnd */
93    "int");		/* The new value of the cwnd */
94
95/* TimeOut-DECREASE */
96SDT_PROBE_DEFINE5(sctp, cwnd, net, to, to,
97    "uint32_t",		/* The Vtag for this end */
98    "uint32_t",		/*
99			 * The port number of the local side << 16 | port number
100			 * of remote in network byte order.
101			 */
102    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
103    "int",		/* The old value of the cwnd */
104    "int");		/* The new value of the cwnd */
105
106/* BurstLimit-DECREASE */
107SDT_PROBE_DEFINE5(sctp, cwnd, net, bl, bl,
108    "uint32_t",		/* The Vtag for this end */
109    "uint32_t",		/*
110			 * The port number of the local side << 16 | port number
111			 * of remote in network byte order.
112			 */
113    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
114    "int",		/* The old value of the cwnd */
115    "int");		/* The new value of the cwnd */
116
117/* ECN-DECREASE */
118SDT_PROBE_DEFINE5(sctp, cwnd, net, ecn, ecn,
119    "uint32_t",		/* The Vtag for this end */
120    "uint32_t",		/*
121			 * The port number of the local side << 16 | port number
122			 * of remote in network byte order.
123			 */
124    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
125    "int",		/* The old value of the cwnd */
126    "int");		/* The new value of the cwnd */
127
128/* PacketDrop-DECREASE */
129SDT_PROBE_DEFINE5(sctp, cwnd, net, pd, pd,
130    "uint32_t",		/* The Vtag for this end */
131    "uint32_t",		/*
132			 * The port number of the local side << 16 | port number
133			 * of remote in network byte order.
134			 */
135    "uintptr_t",	/* The pointer to the struct sctp_nets * changing */
136    "int",		/* The old value of the cwnd */
137    "int");		/* The new value of the cwnd */
138
139/********************************************************/
140/* Rwnd probe - tracks changes in the receiver window for an assoc */
141/********************************************************/
142SDT_PROBE_DEFINE4(sctp, rwnd, assoc, val, val,
143    "uint32_t",		/* The Vtag for this end */
144    "uint32_t",		/*
145			 * The port number of the local side << 16 | port number
146			 * of remote in network byte order.
147			 */
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, val,
155    "uint32_t",		/* The Vtag for this end */
156    "uint32_t",		/*
157			 * The port number of the local side << 16 | port number
158			 * of remote in network byte order.
159			 */
160    "uintptr_t",        /* The pointer to the struct sctp_nets * 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, val,
168    "uint32_t",		/* The Vtag for this end */
169    "uint32_t",		/*
170			 * The port number of the local side << 16 | port number
171			 * of remote in network byte order.
172			 */
173    "int",		/* The up/down amount */
174    "int");		/* The new value of the cwnd */
175
176#endif
177