xref: /freebsd/sys/netinet/in_kdtrace.h (revision 8aaffd78c0f517985c12fd1e3cbceeb6c6b98ef5)
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright (c) 2013 Mark Johnston <markj@FreeBSD.org>
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the
13  *    distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  */
27 
28 #ifndef _SYS_IN_KDTRACE_H_
29 #define	_SYS_IN_KDTRACE_H_
30 
31 #include <sys/sdt.h>
32 
33 #define	IP_PROBE(probe, arg0, arg1, arg2, arg3, arg4, arg5)		\
34 	SDT_PROBE6(ip, , , probe, arg0, arg1, arg2, arg3, arg4, arg5)
35 #define	UDP_PROBE(probe, arg0, arg1, arg2, arg3, arg4)			\
36 	SDT_PROBE5(udp, , , probe, arg0, arg1, arg2, arg3, arg4)
37 #define	UDPLITE_PROBE(probe, arg0, arg1, arg2, arg3, arg4)		\
38 	SDT_PROBE5(udplite, , , probe, arg0, arg1, arg2, arg3, arg4)
39 #define	TCP_PROBE1(probe, arg0)						\
40 	SDT_PROBE1(tcp, , , probe, arg0)
41 #define	TCP_PROBE2(probe, arg0, arg1)					\
42 	SDT_PROBE2(tcp, , , probe, arg0, arg1)
43 #define	TCP_PROBE3(probe, arg0, arg1, arg2)				\
44 	SDT_PROBE3(tcp, , , probe, arg0, arg1, arg2)
45 #define	TCP_PROBE4(probe, arg0, arg1, arg2, arg3)			\
46 	SDT_PROBE4(tcp, , , probe, arg0, arg1, arg2, arg3)
47 #define	TCP_PROBE5(probe, arg0, arg1, arg2, arg3, arg4)			\
48 	SDT_PROBE5(tcp, , , probe, arg0, arg1, arg2, arg3, arg4)
49 #define	TCP_PROBE6(probe, arg0, arg1, arg2, arg3, arg4, arg5)		\
50 	SDT_PROBE6(tcp, , , probe, arg0, arg1, arg2, arg3, arg4, arg5)
51 
52 SDT_PROVIDER_DECLARE(ip);
53 SDT_PROVIDER_DECLARE(tcp);
54 SDT_PROVIDER_DECLARE(udp);
55 SDT_PROVIDER_DECLARE(udplite);
56 
57 #ifndef KDTRACE_NO_MIB_SDT
58 SDT_PROVIDER_DECLARE(mib);
59 
60 SDT_PROBE_DECLARE(mib, ip, count, ips_total);
61 SDT_PROBE_DECLARE(mib, ip, count, ips_badsum);
62 SDT_PROBE_DECLARE(mib, ip, count, ips_tooshort);
63 SDT_PROBE_DECLARE(mib, ip, count, ips_toosmall);
64 SDT_PROBE_DECLARE(mib, ip, count, ips_badhlen);
65 SDT_PROBE_DECLARE(mib, ip, count, ips_badlen);
66 SDT_PROBE_DECLARE(mib, ip, count, ips_fragments);
67 SDT_PROBE_DECLARE(mib, ip, count, ips_fragdropped);
68 SDT_PROBE_DECLARE(mib, ip, count, ips_fragtimeout);
69 SDT_PROBE_DECLARE(mib, ip, count, ips_forward);
70 SDT_PROBE_DECLARE(mib, ip, count, ips_fastforward);
71 SDT_PROBE_DECLARE(mib, ip, count, ips_cantforward);
72 SDT_PROBE_DECLARE(mib, ip, count, ips_redirectsent);
73 SDT_PROBE_DECLARE(mib, ip, count, ips_noproto);
74 SDT_PROBE_DECLARE(mib, ip, count, ips_delivered);
75 SDT_PROBE_DECLARE(mib, ip, count, ips_localout);
76 SDT_PROBE_DECLARE(mib, ip, count, ips_odropped);
77 SDT_PROBE_DECLARE(mib, ip, count, ips_reassembled);
78 SDT_PROBE_DECLARE(mib, ip, count, ips_fragmented);
79 SDT_PROBE_DECLARE(mib, ip, count, ips_ofragments);
80 SDT_PROBE_DECLARE(mib, ip, count, ips_cantfrag);
81 SDT_PROBE_DECLARE(mib, ip, count, ips_badoptions);
82 SDT_PROBE_DECLARE(mib, ip, count, ips_noroute);
83 SDT_PROBE_DECLARE(mib, ip, count, ips_badvers);
84 SDT_PROBE_DECLARE(mib, ip, count, ips_rawout);
85 SDT_PROBE_DECLARE(mib, ip, count, ips_toolong);
86 SDT_PROBE_DECLARE(mib, ip, count, ips_notmember);
87 SDT_PROBE_DECLARE(mib, ip, count, ips_nogif);
88 SDT_PROBE_DECLARE(mib, ip, count, ips_badaddr);
89 
90 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_total);
91 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_tooshort);
92 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_toosmall);
93 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragments);
94 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragdropped);
95 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragtimeout);
96 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragoverflow);
97 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_forward);
98 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_cantforward);
99 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_redirectsent);
100 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_delivered);
101 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_localout);
102 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_odropped);
103 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_reassembled);
104 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_atomicfrags);
105 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragmented);
106 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_ofragments);
107 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_cantfrag);
108 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badoptions);
109 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_noroute);
110 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badvers);
111 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_rawout);
112 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badscope);
113 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_notmember);
114 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_nxthist);
115 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_m1);
116 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_m2m);
117 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_mext1);
118 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_mext2m);
119 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_exthdrtoolong);
120 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_nogif);
121 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_toomanyhdr);
122 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_none);
123 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_sameif);
124 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_otherif);
125 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_samescope);
126 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_otherscope);
127 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_deprecated);
128 SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_rule);
129 
130 SDT_PROBE_DECLARE(mib, icmp, count, icps_error);
131 SDT_PROBE_DECLARE(mib, icmp, count, icps_oldshort);
132 SDT_PROBE_DECLARE(mib, icmp, count, icps_oldicmp);
133 SDT_PROBE_DECLARE(mib, icmp, count, icps_outhist);
134 SDT_PROBE_DECLARE(mib, icmp, count, icps_badcode);
135 SDT_PROBE_DECLARE(mib, icmp, count, icps_tooshort);
136 SDT_PROBE_DECLARE(mib, icmp, count, icps_checksum);
137 SDT_PROBE_DECLARE(mib, icmp, count, icps_badlen);
138 SDT_PROBE_DECLARE(mib, icmp, count, icps_reflect);
139 SDT_PROBE_DECLARE(mib, icmp, count, icps_inhist);
140 SDT_PROBE_DECLARE(mib, icmp, count, icps_bmcastecho);
141 SDT_PROBE_DECLARE(mib, icmp, count, icps_bmcasttstamp);
142 SDT_PROBE_DECLARE(mib, icmp, count, icps_badaddr);
143 SDT_PROBE_DECLARE(mib, icmp, count, icps_noroute);
144 
145 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_error);
146 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_canterror);
147 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_toofreq);
148 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_outhist);
149 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badcode);
150 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_tooshort);
151 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_checksum);
152 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badlen);
153 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_dropped);
154 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_reflect);
155 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_inhist);
156 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_nd_toomanyopt);
157 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_noroute);
158 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_admin);
159 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_beyondscope);
160 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_addr);
161 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_noport);
162 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_opacket_too_big);
163 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_otime_exceed_transit);
164 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_otime_exceed_reassembly);
165 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_header);
166 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_nextheader);
167 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_option);
168 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oredirect);
169 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_ounknown);
170 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_pmtuchg);
171 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_nd_badopt);
172 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badns);
173 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badna);
174 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badrs);
175 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badra);
176 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badredirect);
177 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowdefrtr);
178 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowprfx);
179 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflownndp);
180 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowredirect);
181 SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_invlhlim);
182 
183 SDT_PROBE_DECLARE(mib, udp, count, udps_ipackets);
184 SDT_PROBE_DECLARE(mib, udp, count, udps_hdrops);
185 SDT_PROBE_DECLARE(mib, udp, count, udps_badsum);
186 SDT_PROBE_DECLARE(mib, udp, count, udps_nosum);
187 SDT_PROBE_DECLARE(mib, udp, count, udps_badlen);
188 SDT_PROBE_DECLARE(mib, udp, count, udps_noport);
189 SDT_PROBE_DECLARE(mib, udp, count, udps_noportbcast);
190 SDT_PROBE_DECLARE(mib, udp, count, udps_fullsock);
191 SDT_PROBE_DECLARE(mib, udp, count, udps_pcbcachemiss);
192 SDT_PROBE_DECLARE(mib, udp, count, udps_pcbhashmiss);
193 SDT_PROBE_DECLARE(mib, udp, count, udps_opackets);
194 SDT_PROBE_DECLARE(mib, udp, count, udps_fastout);
195 SDT_PROBE_DECLARE(mib, udp, count, udps_noportmcast);
196 SDT_PROBE_DECLARE(mib, udp, count, udps_filtermcast);
197 
198 SDT_PROBE_DECLARE(mib, tcp, count, tcps_connattempt);
199 SDT_PROBE_DECLARE(mib, tcp, count, tcps_accepts);
200 SDT_PROBE_DECLARE(mib, tcp, count, tcps_connects);
201 SDT_PROBE_DECLARE(mib, tcp, count, tcps_drops);
202 SDT_PROBE_DECLARE(mib, tcp, count, tcps_conndrops);
203 SDT_PROBE_DECLARE(mib, tcp, count, tcps_minmssdrops);
204 SDT_PROBE_DECLARE(mib, tcp, count, tcps_closed);
205 SDT_PROBE_DECLARE(mib, tcp, count, tcps_segstimed);
206 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rttupdated);
207 SDT_PROBE_DECLARE(mib, tcp, count, tcps_delack);
208 SDT_PROBE_DECLARE(mib, tcp, count, tcps_timeoutdrop);
209 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rexmttimeo);
210 SDT_PROBE_DECLARE(mib, tcp, count, tcps_persisttimeo);
211 SDT_PROBE_DECLARE(mib, tcp, count, tcps_keeptimeo);
212 SDT_PROBE_DECLARE(mib, tcp, count, tcps_keepprobe);
213 SDT_PROBE_DECLARE(mib, tcp, count, tcps_keepdrops);
214 SDT_PROBE_DECLARE(mib, tcp, count, tcps_progdrops);
215 
216 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndtotal);
217 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndpack);
218 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndbyte);
219 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitpack);
220 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitbyte);
221 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitbad);
222 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndacks);
223 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndprobe);
224 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndurg);
225 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndwinup);
226 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndctrl);
227 
228 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvtotal);
229 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpack);
230 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbyte);
231 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbadsum);
232 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbadoff);
233 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvreassfull);
234 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvshort);
235 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvduppack);
236 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvdupbyte);
237 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpartduppack);
238 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpartdupbyte);
239 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvoopack);
240 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvoobyte);
241 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpackafterwin);
242 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbyteafterwin);
243 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvafterclose);
244 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvwinprobe);
245 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvdupack);
246 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvacktoomuch);
247 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvackpack);
248 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvackbyte);
249 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvwinupd);
250 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pawsdrop);
251 SDT_PROBE_DECLARE(mib, tcp, count, tcps_predack);
252 SDT_PROBE_DECLARE(mib, tcp, count, tcps_preddat);
253 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pcbcachemiss);
254 SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedrtt);
255 SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedrttvar);
256 SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedssthresh);
257 SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedrtt);
258 SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedrttvar);
259 SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedssthresh);
260 SDT_PROBE_DECLARE(mib, tcp, count, tcps_persistdrop);
261 SDT_PROBE_DECLARE(mib, tcp, count, tcps_badsyn);
262 SDT_PROBE_DECLARE(mib, tcp, count, tcps_mturesent);
263 SDT_PROBE_DECLARE(mib, tcp, count, tcps_listendrop);
264 SDT_PROBE_DECLARE(mib, tcp, count, tcps_badrst);
265 
266 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_added);
267 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_retransmitted);
268 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_dupsyn);
269 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_dropped);
270 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_completed);
271 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_bucketoverflow);
272 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_cacheoverflow);
273 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_reset);
274 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_stale);
275 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_aborted);
276 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_badack);
277 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_unreach);
278 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_zonefail);
279 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_sendcookie);
280 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_recvcookie);
281 
282 SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_added);
283 SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_bucketoverflow);
284 
285 SDT_PROBE_DECLARE(mib, tcp, count, tcps_finwait2_drops);
286 
287 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_recovery_episode);
288 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits);
289 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits_tso);
290 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmit_bytes);
291 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rcv_blocks);
292 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_send_blocks);
293 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_lostrexmt);
294 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_sboverflow);
295 
296 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvce);
297 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect0);
298 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect1);
299 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_shs);
300 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcwnd);
301 
302 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvgoodsig);
303 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvbadsig);
304 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_buildsig);
305 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_sigopt);
306 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_nosigopt);
307 
308 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated);
309 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated_min_mss);
310 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_failed);
311 
312 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_pkts);
313 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_errs);
314 
315 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_count);
316 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_bytes);
317 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_tlp_bytes);
318 
319 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_recycles);
320 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_resets);
321 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_responds);
322 
323 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_nect);
324 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect1);
325 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect0);
326 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ce);
327 
328 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect0);
329 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect1);
330 
331 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresends);
332 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresend_bytes);
333 
334 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvghostack);
335 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvacktooold);
336 #endif
337 
338 SDT_PROBE_DECLARE(ip, , , receive);
339 SDT_PROBE_DECLARE(ip, , , send);
340 
341 SDT_PROBE_DECLARE(tcp, , , accept__established);
342 SDT_PROBE_DECLARE(tcp, , , accept__refused);
343 SDT_PROBE_DECLARE(tcp, , , connect__established);
344 SDT_PROBE_DECLARE(tcp, , , connect__refused);
345 SDT_PROBE_DECLARE(tcp, , , connect__request);
346 SDT_PROBE_DECLARE(tcp, , , receive);
347 SDT_PROBE_DECLARE(tcp, , , send);
348 SDT_PROBE_DECLARE(tcp, , , siftr);
349 SDT_PROBE_DECLARE(tcp, , , state__change);
350 SDT_PROBE_DECLARE(tcp, , , debug__input);
351 SDT_PROBE_DECLARE(tcp, , , debug__output);
352 SDT_PROBE_DECLARE(tcp, , , debug__user);
353 SDT_PROBE_DECLARE(tcp, , , debug__drop);
354 SDT_PROBE_DECLARE(tcp, , , receive__autoresize);
355 
356 SDT_PROBE_DECLARE(udp, , , receive);
357 SDT_PROBE_DECLARE(udp, , , send);
358 
359 SDT_PROBE_DECLARE(udplite, , , receive);
360 SDT_PROBE_DECLARE(udplite, , , send);
361 
362 /*
363  * These constants originate from the 4.4BSD sys/protosw.h.  They lost
364  * their initial purpose in 2c37256e5a59, when single pr_usrreq method
365  * was split into multiple methods.  However, they were used by TCPDEBUG,
366  * a feature barely used, but it kept them in the tree for many years.
367  * In 5d06879adb95 DTrace probes started to use them.  Note that they
368  * are not documented in dtrace_tcp(4), so they are likely to be
369  * eventually renamed to something better and extended/trimmed.
370  */
371 #define	PRU_ATTACH		0	/* attach protocol to up */
372 #define	PRU_DETACH		1	/* detach protocol from up */
373 #define	PRU_BIND		2	/* bind socket to address */
374 #define	PRU_LISTEN		3	/* listen for connection */
375 #define	PRU_CONNECT		4	/* establish connection to peer */
376 #define	PRU_ACCEPT		5	/* accept connection from peer */
377 #define	PRU_DISCONNECT		6	/* disconnect from peer */
378 #define	PRU_SHUTDOWN		7	/* won't send any more data */
379 #define	PRU_RCVD		8	/* have taken data; more room now */
380 #define	PRU_SEND		9	/* send this data */
381 #define	PRU_ABORT		10	/* abort (fast DISCONNECT, DETATCH) */
382 #define	PRU_CONTROL		11	/* control operations on protocol */
383 #define	PRU_SENSE		12	/* return status into m */
384 #define	PRU_RCVOOB		13	/* retrieve out of band data */
385 #define	PRU_SENDOOB		14	/* send out of band data */
386 #define	PRU_SOCKADDR		15	/* fetch socket's address */
387 #define	PRU_PEERADDR		16	/* fetch peer's address */
388 #define	PRU_CONNECT2		17	/* connect two sockets */
389 /* begin for protocols internal use */
390 #define	PRU_FASTTIMO		18	/* 200ms timeout */
391 #define	PRU_SLOWTIMO		19	/* 500ms timeout */
392 #define	PRU_PROTORCV		20	/* receive from below */
393 #define	PRU_PROTOSEND		21	/* send to below */
394 /* end for protocol's internal use */
395 #define PRU_SEND_EOF		22	/* send and close */
396 #define	PRU_SOSETLABEL		23	/* MAC label change */
397 #define	PRU_CLOSE		24	/* socket close */
398 #define	PRU_FLUSH		25	/* flush the socket */
399 #define	PRU_NREQ		25
400 
401 #ifdef PRUREQUESTS
402 const char *prurequests[] = {
403 	"ATTACH",	"DETACH",	"BIND",		"LISTEN",
404 	"CONNECT",	"ACCEPT",	"DISCONNECT",	"SHUTDOWN",
405 	"RCVD",		"SEND",		"ABORT",	"CONTROL",
406 	"SENSE",	"RCVOOB",	"SENDOOB",	"SOCKADDR",
407 	"PEERADDR",	"CONNECT2",	"FASTTIMO",	"SLOWTIMO",
408 	"PROTORCV",	"PROTOSEND",	"SEND_EOF",	"SOSETLABEL",
409 	"CLOSE",	"FLUSH",
410 };
411 #endif
412 
413 #endif
414