]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/netinet/sctp_dtrace_define.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / netinet / sctp_dtrace_define.h
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$");
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
42 SDT_PROVIDER_DEFINE(sctp);
43
44 /********************************************************/
45 /* Cwnd probe - tracks changes in the congestion window on a netp */
46 /********************************************************/
47 /* Initial */
48 SDT_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 */
59 SDT_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 */
70 SDT_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
77 SDT_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 */
85 SDT_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 */
96 SDT_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 */
107 SDT_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 */
118 SDT_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 */
129 SDT_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 /********************************************************/
142 SDT_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 /********************************************************/
154 SDT_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 /********************************************************/
167 SDT_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