]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/netinet/sctp_dtrace_define.h
Add support for send, receive and state-change DTrace providers for
[FreeBSD/FreeBSD.git] / sys / netinet / sctp_dtrace_define.h
1 /*-
2  * SPDX-License-Identifier: BSD-3-Clause
3  *
4  * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved.
5  * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * a) Redistributions of source code must retain the above copyright notice,
11  *    this list of conditions and the following disclaimer.
12  *
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.
16  *
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.
20  *
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.
32  */
33
34 #include <sys/cdefs.h>
35 __FBSDID("$FreeBSD$");
36
37 #ifndef _NETINET_SCTP_DTRACE_DEFINE_H_
38 #define _NETINET_SCTP_DTRACE_DEFINE_H_
39
40 #include <sys/kernel.h>
41 #include <sys/sdt.h>
42
43 SDT_PROVIDER_DECLARE(sctp);
44
45 /********************************************************/
46 /* Cwnd probe - tracks changes in the congestion window on a netp */
47 /********************************************************/
48 /* Initial */
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
53                                  * order. */
54     "uintptr_t",                /* The pointer to the struct sctp_nets *
55                                  * changing */
56     "int",                      /* The old value of the cwnd */
57     "int");                     /* The new value of the cwnd */
58
59 /* ACK-INCREASE */
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
64                                  * order. */
65     "uintptr_t",                /* The pointer to the struct sctp_nets *
66                                  * changing */
67     "int",                      /* The old value of the cwnd */
68     "int");                     /* The new value of the cwnd */
69
70 /* ACK-INCREASE */
71 SDT_PROBE_DEFINE5(sctp, cwnd, net, rttvar,
72     "uint64_t",                 /* The Vtag << 32 | localport << 16 |
73                                  * remoteport */
74     "uint64_t",                 /* obw | nbw */
75     "uint64_t",                 /* bwrtt | newrtt */
76     "uint64_t",                 /* flight */
77     "uint64_t");                /* (cwnd << 32) | point << 16 | retval(0/1) */
78
79 SDT_PROBE_DEFINE5(sctp, cwnd, net, rttstep,
80     "uint64_t",                 /* The Vtag << 32 | localport << 16 |
81                                  * remoteport */
82     "uint64_t",                 /* obw | nbw */
83     "uint64_t",                 /* bwrtt | newrtt */
84     "uint64_t",                 /* flight */
85     "uint64_t");                /* (cwnd << 32) | point << 16 | retval(0/1) */
86
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
92                                  * order. */
93     "uintptr_t",                /* The pointer to the struct sctp_nets *
94                                  * changing */
95     "int",                      /* The old value of the cwnd */
96     "int");                     /* The new value of the cwnd */
97
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
103                                  * order. */
104     "uintptr_t",                /* The pointer to the struct sctp_nets *
105                                  * changing */
106     "int",                      /* The old value of the cwnd */
107     "int");                     /* The new value of the cwnd */
108
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
114                                  * order. */
115     "uintptr_t",                /* The pointer to the struct sctp_nets *
116                                  * changing */
117     "int",                      /* The old value of the cwnd */
118     "int");                     /* The new value of the cwnd */
119
120 /* ECN-DECREASE */
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
125                                  * order. */
126     "uintptr_t",                /* The pointer to the struct sctp_nets *
127                                  * changing */
128     "int",                      /* The old value of the cwnd */
129     "int");                     /* The new value of the cwnd */
130
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
136                                  * order. */
137     "uintptr_t",                /* The pointer to the struct sctp_nets *
138                                  * changing */
139     "int",                      /* The old value of the cwnd */
140     "int");                     /* The new value of the cwnd */
141
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
149                                  * order. */
150     "int",                      /* The up/down amount */
151     "int");                     /* The new value of the cwnd */
152
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
160                                  * order. */
161     "uintptr_t",                /* The pointer to the struct sctp_nets *
162                                  * changing */
163     "int",                      /* The up/down amount */
164     "int");                     /* The new value of the cwnd */
165
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
173                                  * order. */
174     "int",                      /* The up/down amount */
175     "int");                     /* The new value of the cwnd */
176
177 #endif