xref: /freebsd/sys/netinet/in_kdtrace.c (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
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
8  * met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. 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
14  *    distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28 
29 #include <sys/param.h>
30 #include <sys/systm.h>
31 #include <sys/sdt.h>
32 
33 SDT_PROVIDER_DEFINE(mib);
34 SDT_PROVIDER_DEFINE(ip);
35 SDT_PROVIDER_DEFINE(tcp);
36 SDT_PROVIDER_DEFINE(udp);
37 SDT_PROVIDER_DEFINE(udplite);
38 
39 #ifdef KDTRACE_MIB_SDT
40 #define MIB_PROBE_IP(name) \
41     SDT_PROBE_DEFINE1(mib, ip, count, name, \
42         "int")
43 
44 MIB_PROBE_IP(ips_total);
45 MIB_PROBE_IP(ips_badsum);
46 MIB_PROBE_IP(ips_tooshort);
47 MIB_PROBE_IP(ips_toosmall);
48 MIB_PROBE_IP(ips_badhlen);
49 MIB_PROBE_IP(ips_badlen);
50 MIB_PROBE_IP(ips_fragments);
51 MIB_PROBE_IP(ips_fragdropped);
52 MIB_PROBE_IP(ips_fragtimeout);
53 MIB_PROBE_IP(ips_forward);
54 MIB_PROBE_IP(ips_fastforward);
55 MIB_PROBE_IP(ips_cantforward);
56 MIB_PROBE_IP(ips_redirectsent);
57 MIB_PROBE_IP(ips_noproto);
58 MIB_PROBE_IP(ips_delivered);
59 MIB_PROBE_IP(ips_localout);
60 MIB_PROBE_IP(ips_odropped);
61 MIB_PROBE_IP(ips_reassembled);
62 MIB_PROBE_IP(ips_fragmented);
63 MIB_PROBE_IP(ips_ofragments);
64 MIB_PROBE_IP(ips_cantfrag);
65 MIB_PROBE_IP(ips_badoptions);
66 MIB_PROBE_IP(ips_noroute);
67 MIB_PROBE_IP(ips_badvers);
68 MIB_PROBE_IP(ips_rawout);
69 MIB_PROBE_IP(ips_toolong);
70 MIB_PROBE_IP(ips_notmember);
71 MIB_PROBE_IP(ips_nogif);
72 MIB_PROBE_IP(ips_badaddr);
73 
74 #define MIB_PROBE_IP6(name) \
75     SDT_PROBE_DEFINE1(mib, ip6, count, name, \
76         "int")
77 #define MIB_PROBE2_IP6(name) \
78     SDT_PROBE_DEFINE2(mib, ip6, count, name, \
79         "int", "int")
80 
81 MIB_PROBE_IP6(ip6s_total);
82 MIB_PROBE_IP6(ip6s_tooshort);
83 MIB_PROBE_IP6(ip6s_toosmall);
84 MIB_PROBE_IP6(ip6s_fragments);
85 MIB_PROBE_IP6(ip6s_fragdropped);
86 MIB_PROBE_IP6(ip6s_fragtimeout);
87 MIB_PROBE_IP6(ip6s_fragoverflow);
88 MIB_PROBE_IP6(ip6s_forward);
89 MIB_PROBE_IP6(ip6s_cantforward);
90 MIB_PROBE_IP6(ip6s_redirectsent);
91 MIB_PROBE_IP6(ip6s_delivered);
92 MIB_PROBE_IP6(ip6s_localout);
93 MIB_PROBE_IP6(ip6s_odropped);
94 MIB_PROBE_IP6(ip6s_reassembled);
95 MIB_PROBE_IP6(ip6s_atomicfrags);
96 MIB_PROBE_IP6(ip6s_fragmented);
97 MIB_PROBE_IP6(ip6s_ofragments);
98 MIB_PROBE_IP6(ip6s_cantfrag);
99 MIB_PROBE_IP6(ip6s_badoptions);
100 MIB_PROBE_IP6(ip6s_noroute);
101 MIB_PROBE_IP6(ip6s_badvers);
102 MIB_PROBE_IP6(ip6s_rawout);
103 MIB_PROBE_IP6(ip6s_badscope);
104 MIB_PROBE_IP6(ip6s_notmember);
105 MIB_PROBE2_IP6(ip6s_nxthist);
106 MIB_PROBE_IP6(ip6s_m1);
107 MIB_PROBE2_IP6(ip6s_m2m);
108 MIB_PROBE_IP6(ip6s_mext1);
109 MIB_PROBE_IP6(ip6s_mext2m);
110 MIB_PROBE_IP6(ip6s_exthdrtoolong);
111 MIB_PROBE_IP6(ip6s_nogif);
112 MIB_PROBE_IP6(ip6s_toomanyhdr);
113 MIB_PROBE_IP6(ip6s_sources_none);
114 MIB_PROBE2_IP6(ip6s_sources_sameif);
115 MIB_PROBE2_IP6(ip6s_sources_otherif);
116 MIB_PROBE2_IP6(ip6s_sources_samescope);
117 MIB_PROBE2_IP6(ip6s_sources_otherscope);
118 MIB_PROBE2_IP6(ip6s_sources_deprecated);
119 MIB_PROBE2_IP6(ip6s_sources_rule);
120 
121 #define MIB_PROBE_ICMP(name) \
122     SDT_PROBE_DEFINE1(mib, icmp, count, name, \
123         "int")
124 #define MIB_PROBE2_ICMP(name) \
125     SDT_PROBE_DEFINE2(mib, icmp, count, name, \
126         "int", "int")
127 
128 MIB_PROBE_ICMP(icps_error);
129 MIB_PROBE_ICMP(icps_oldshort);
130 MIB_PROBE_ICMP(icps_oldicmp);
131 MIB_PROBE2_ICMP(icps_outhist);
132 MIB_PROBE_ICMP(icps_badcode);
133 MIB_PROBE_ICMP(icps_tooshort);
134 MIB_PROBE_ICMP(icps_checksum);
135 MIB_PROBE_ICMP(icps_badlen);
136 MIB_PROBE_ICMP(icps_reflect);
137 MIB_PROBE2_ICMP(icps_inhist);
138 MIB_PROBE_ICMP(icps_bmcastecho);
139 MIB_PROBE_ICMP(icps_bmcasttstamp);
140 MIB_PROBE_ICMP(icps_badaddr);
141 MIB_PROBE_ICMP(icps_noroute);
142 
143 #define MIB_PROBE_ICMP6(name) \
144     SDT_PROBE_DEFINE1(mib, icmp6, count, name, \
145         "int")
146 #define MIB_PROBE2_ICMP6(name) \
147     SDT_PROBE_DEFINE2(mib, icmp6, count, name, \
148         "int", "int")
149 
150 MIB_PROBE_ICMP6(icp6s_error);
151 MIB_PROBE_ICMP6(icp6s_canterror);
152 MIB_PROBE_ICMP6(icp6s_toofreq);
153 MIB_PROBE2_ICMP6(icp6s_outhist);
154 MIB_PROBE_ICMP6(icp6s_badcode);
155 MIB_PROBE_ICMP6(icp6s_tooshort);
156 MIB_PROBE_ICMP6(icp6s_checksum);
157 MIB_PROBE_ICMP6(icp6s_badlen);
158 MIB_PROBE_ICMP6(icp6s_dropped);
159 MIB_PROBE_ICMP6(icp6s_reflect);
160 MIB_PROBE2_ICMP6(icp6s_inhist);
161 MIB_PROBE_ICMP6(icp6s_nd_toomanyopt);
162 MIB_PROBE_ICMP6(icp6s_odst_unreach_noroute);
163 MIB_PROBE_ICMP6(icp6s_odst_unreach_admin);
164 MIB_PROBE_ICMP6(icp6s_odst_unreach_beyondscope);
165 MIB_PROBE_ICMP6(icp6s_odst_unreach_addr);
166 MIB_PROBE_ICMP6(icp6s_odst_unreach_noport);
167 MIB_PROBE_ICMP6(icp6s_opacket_too_big);
168 MIB_PROBE_ICMP6(icp6s_otime_exceed_transit);
169 MIB_PROBE_ICMP6(icp6s_otime_exceed_reassembly);
170 MIB_PROBE_ICMP6(icp6s_oparamprob_header);
171 MIB_PROBE_ICMP6(icp6s_oparamprob_nextheader);
172 MIB_PROBE_ICMP6(icp6s_oparamprob_option);
173 MIB_PROBE_ICMP6(icp6s_oredirect);
174 MIB_PROBE_ICMP6(icp6s_ounknown);
175 MIB_PROBE_ICMP6(icp6s_pmtuchg);
176 MIB_PROBE_ICMP6(icp6s_nd_badopt);
177 MIB_PROBE_ICMP6(icp6s_badns);
178 MIB_PROBE_ICMP6(icp6s_badna);
179 MIB_PROBE_ICMP6(icp6s_badrs);
180 MIB_PROBE_ICMP6(icp6s_badra);
181 MIB_PROBE_ICMP6(icp6s_badredirect);
182 MIB_PROBE_ICMP6(icp6s_overflowdefrtr);
183 MIB_PROBE_ICMP6(icp6s_overflowprfx);
184 MIB_PROBE_ICMP6(icp6s_overflownndp);
185 MIB_PROBE_ICMP6(icp6s_overflowredirect);
186 MIB_PROBE_ICMP6(icp6s_invlhlim);
187 
188 #define	MIB_PROBE_UDP(name)	SDT_PROBE_DEFINE1(mib, udp, count, name, "int")
189 MIB_PROBE_UDP(udps_ipackets);
190 MIB_PROBE_UDP(udps_hdrops);
191 MIB_PROBE_UDP(udps_badsum);
192 MIB_PROBE_UDP(udps_nosum);
193 MIB_PROBE_UDP(udps_badlen);
194 MIB_PROBE_UDP(udps_noport);
195 MIB_PROBE_UDP(udps_noportbcast);
196 MIB_PROBE_UDP(udps_fullsock);
197 MIB_PROBE_UDP(udps_pcbcachemiss);
198 MIB_PROBE_UDP(udps_pcbhashmiss);
199 MIB_PROBE_UDP(udps_opackets);
200 MIB_PROBE_UDP(udps_fastout);
201 MIB_PROBE_UDP(udps_noportmcast);
202 MIB_PROBE_UDP(udps_filtermcast);
203 
204 #define	MIB_PROBE_TCP(name)	SDT_PROBE_DEFINE1(mib, tcp, count, name, "int")
205 
206 MIB_PROBE_TCP(tcps_connattempt);
207 MIB_PROBE_TCP(tcps_accepts);
208 MIB_PROBE_TCP(tcps_connects);
209 MIB_PROBE_TCP(tcps_drops);
210 MIB_PROBE_TCP(tcps_conndrops);
211 MIB_PROBE_TCP(tcps_minmmsdrops);
212 MIB_PROBE_TCP(tcps_closed);
213 MIB_PROBE_TCP(tcps_segstimed);
214 MIB_PROBE_TCP(tcps_rttupdated);
215 MIB_PROBE_TCP(tcps_delack);
216 MIB_PROBE_TCP(tcps_timeoutdrop);
217 MIB_PROBE_TCP(tcps_rexmttimeo);
218 MIB_PROBE_TCP(tcps_persisttimeo);
219 MIB_PROBE_TCP(tcps_keeptimeo);
220 MIB_PROBE_TCP(tcps_keepprobe);
221 MIB_PROBE_TCP(tcps_keepdrops);
222 MIB_PROBE_TCP(tcps_progdrops);
223 
224 MIB_PROBE_TCP(tcps_sndtotal);
225 MIB_PROBE_TCP(tcps_sndpack);
226 MIB_PROBE_TCP(tcps_sndbyte);
227 MIB_PROBE_TCP(tcps_sndrexmitpack);
228 MIB_PROBE_TCP(tcps_sndrexmitbyte);
229 MIB_PROBE_TCP(tcps_sndrexmitbad);
230 MIB_PROBE_TCP(tcps_sndacks);
231 MIB_PROBE_TCP(tcps_sndprobe);
232 MIB_PROBE_TCP(tcps_sndurg);
233 MIB_PROBE_TCP(tcps_sndwinup);
234 MIB_PROBE_TCP(tcps_sndctrl);
235 
236 MIB_PROBE_TCP(tcps_rcvtotal);
237 MIB_PROBE_TCP(tcps_rcvpack);
238 MIB_PROBE_TCP(tcps_rcvbyte);
239 MIB_PROBE_TCP(tcps_rcvbadsum);
240 MIB_PROBE_TCP(tcps_rcvbadoff);
241 MIB_PROBE_TCP(tcps_rcvreassfull);
242 MIB_PROBE_TCP(tcps_rcvshort);
243 MIB_PROBE_TCP(tcps_rcvduppack);
244 MIB_PROBE_TCP(tcps_rcvdupbyte);
245 MIB_PROBE_TCP(tcps_rcvpartduppack);
246 MIB_PROBE_TCP(tcps_rcvpartdupbyte);
247 MIB_PROBE_TCP(tcps_rcvoopack);
248 MIB_PROBE_TCP(tcps_rcvoobyte);
249 MIB_PROBE_TCP(tcps_rcvpackafterwin);
250 MIB_PROBE_TCP(tcps_rcvbyteafterwin);
251 MIB_PROBE_TCP(tcps_rcvafterclose);
252 MIB_PROBE_TCP(tcps_rcvwinprobe);
253 MIB_PROBE_TCP(tcps_rcvdupack);
254 MIB_PROBE_TCP(tcps_rcvacktoomuch);
255 MIB_PROBE_TCP(tcps_rcvackpack);
256 MIB_PROBE_TCP(tcps_rcvackbyte);
257 MIB_PROBE_TCP(tcps_rcvwinupd);
258 MIB_PROBE_TCP(tcps_pawsdrop);
259 MIB_PROBE_TCP(tcps_predack);
260 MIB_PROBE_TCP(tcps_preddat);
261 MIB_PROBE_TCP(tcps_pcbackemiss);
262 MIB_PROBE_TCP(tcps_cachedrtt);
263 MIB_PROBE_TCP(tcps_cachedrttvar);
264 MIB_PROBE_TCP(tcps_cachedssthresh);
265 MIB_PROBE_TCP(tcps_usedrtt);
266 MIB_PROBE_TCP(tcps_usedrttvar);
267 MIB_PROBE_TCP(tcps_usedssthresh);
268 MIB_PROBE_TCP(tcps_persistdrop);
269 MIB_PROBE_TCP(tcps_badsyn);
270 MIB_PROBE_TCP(tcps_mturesent);
271 MIB_PROBE_TCP(tcps_listendrop);
272 MIB_PROBE_TCP(tcps_badrst);
273 
274 MIB_PROBE_TCP(tcps_sc_added);
275 MIB_PROBE_TCP(tcps_sc_retransmitted);
276 MIB_PROBE_TCP(tcps_sc_dupsyn);
277 MIB_PROBE_TCP(tcps_sc_dropped);
278 MIB_PROBE_TCP(tcps_sc_completed);
279 MIB_PROBE_TCP(tcps_sc_bucketoverflow);
280 MIB_PROBE_TCP(tcps_sc_cacheoverflow);
281 MIB_PROBE_TCP(tcps_sc_reset);
282 MIB_PROBE_TCP(tcps_sc_stale);
283 MIB_PROBE_TCP(tcps_sc_aborted);
284 MIB_PROBE_TCP(tcps_sc_badack);
285 MIB_PROBE_TCP(tcps_sc_unreach);
286 MIB_PROBE_TCP(tcps_sc_zonefail);
287 MIB_PROBE_TCP(tcps_sc_sendcookie);
288 MIB_PROBE_TCP(tcps_sc_recvcookie);
289 
290 MIB_PROBE_TCP(tcps_hc_added);
291 MIB_PROBE_TCP(tcps_hc_bucketoverflow);
292 
293 MIB_PROBE_TCP(tcps_finwait2_drops);
294 
295 MIB_PROBE_TCP(tcps_sack_recovery_episode);
296 MIB_PROBE_TCP(tcps_sack_rexmits);
297 MIB_PROBE_TCP(tcps_sack_rexmits_tso);
298 MIB_PROBE_TCP(tcps_sack_rexmit_bytes);
299 MIB_PROBE_TCP(tcps_sack_rcv_blocks);
300 MIB_PROBE_TCP(tcps_sack_send_blocks);
301 MIB_PROBE_TCP(tcps_sack_lostrexmt);
302 MIB_PROBE_TCP(tcps_sack_sboverflow);
303 
304 MIB_PROBE_TCP(tcps_ecn_rcvce);
305 MIB_PROBE_TCP(tcps_ecn_rcvect0);
306 MIB_PROBE_TCP(tcps_ecn_rcvect1);
307 MIB_PROBE_TCP(tcps_ecn_shs);
308 MIB_PROBE_TCP(tcps_ecn_rcwnd);
309 
310 MIB_PROBE_TCP(tcps_sig_rcvgoodsig);
311 MIB_PROBE_TCP(tcps_sig_rcvbadsig);
312 MIB_PROBE_TCP(tcps_sig_err_buildsig);
313 MIB_PROBE_TCP(tcps_sig_err_sigopt);
314 MIB_PROBE_TCP(tcps_sig_err_nosigopt);
315 
316 MIB_PROBE_TCP(tcps_pmtud_blackhole_activated);
317 MIB_PROBE_TCP(tcps_pmtud_blackhole_activated_min_mss);
318 MIB_PROBE_TCP(tcps_pmtud_blackhole_failed);
319 
320 MIB_PROBE_TCP(tcps_tunneled_pkts);
321 MIB_PROBE_TCP(tcps_tunneled_errs);
322 
323 MIB_PROBE_TCP(tcps_dsack_count);
324 MIB_PROBE_TCP(tcps_dsack_bytes);
325 MIB_PROBE_TCP(tcps_dsack_tlp_bytes);
326 
327 MIB_PROBE_TCP(tcps_tw_recycles);
328 MIB_PROBE_TCP(tcps_tw_resets);
329 MIB_PROBE_TCP(tcps_tw_responds);
330 
331 MIB_PROBE_TCP(tcps_ace_nect);
332 MIB_PROBE_TCP(tcps_ace_ect1);
333 MIB_PROBE_TCP(tcps_ace_ect0);
334 MIB_PROBE_TCP(tcps_ace_ce);
335 
336 MIB_PROBE_TCP(tcps_ecn_sndect0);
337 MIB_PROBE_TCP(tcps_ecn_sndect1);
338 
339 MIB_PROBE_TCP(tcps_tlpresends);
340 MIB_PROBE_TCP(tcps_tlpresend_bytes);
341 
342 MIB_PROBE_TCP(tcps_rcvghostack);
343 MIB_PROBE_TCP(tcps_rcvacktooold);
344 
345 #define	MIB_PROBE_IPSEC(name)	SDT_PROBE_DEFINE1(mib, ipsec, count, name, "int")
346 
347 MIB_PROBE_IPSEC(ips_in_polvio);
348 MIB_PROBE_IPSEC(ips_in_nomem);
349 MIB_PROBE_IPSEC(ips_in_inval);
350 MIB_PROBE_IPSEC(ips_out_polvio);
351 MIB_PROBE_IPSEC(ips_out_nosa);
352 MIB_PROBE_IPSEC(ips_out_nomem);
353 MIB_PROBE_IPSEC(ips_out_noroute);
354 MIB_PROBE_IPSEC(ips_out_inval);
355 MIB_PROBE_IPSEC(ips_out_bundlesa);
356 
357 MIB_PROBE_IPSEC(ips_spdcache_hits);
358 MIB_PROBE_IPSEC(ips_spdcache_misses);
359 
360 MIB_PROBE_IPSEC(ips_clcopied);
361 MIB_PROBE_IPSEC(ips_mbinserted);
362 MIB_PROBE_IPSEC(ips_input_front);
363 MIB_PROBE_IPSEC(ips_input_middle);
364 MIB_PROBE_IPSEC(ips_input_end);
365 
366 #define	MIB_PROBE_ESP(name)	SDT_PROBE_DEFINE1(mib, esp, count, name, "int")
367 #define	MIB_PROBE2_ESP(name)	SDT_PROBE_DEFINE2(mib, esp, count, name, "int", "int")
368 
369 MIB_PROBE_ESP(esps_hdrops);
370 MIB_PROBE_ESP(esps_nopf);
371 MIB_PROBE_ESP(esps_notdb);
372 MIB_PROBE_ESP(esps_badkcr);
373 MIB_PROBE_ESP(esps_qfull);
374 MIB_PROBE_ESP(esps_noxform);
375 MIB_PROBE_ESP(esps_badilen);
376 MIB_PROBE_ESP(esps_wrap);
377 MIB_PROBE_ESP(esps_badenc);
378 MIB_PROBE_ESP(esps_badauth);
379 MIB_PROBE_ESP(esps_replay);
380 MIB_PROBE_ESP(esps_input);
381 MIB_PROBE_ESP(esps_output);
382 MIB_PROBE_ESP(esps_invalid);
383 MIB_PROBE_ESP(esps_ibytes);
384 MIB_PROBE_ESP(esps_obytes);
385 MIB_PROBE_ESP(esps_toobig);
386 MIB_PROBE_ESP(esps_pdrops);
387 MIB_PROBE_ESP(esps_crypto);
388 MIB_PROBE_ESP(esps_tunnel);
389 MIB_PROBE2_ESP(esps_hist);
390 
391 #define	MIB_PROBE_AH(name)	SDT_PROBE_DEFINE1(mib, ah, count, name, "int")
392 #define	MIB_PROBE_AH2(name)	SDT_PROBE_DEFINE2(mib, ah, count, name, "int", "int")
393 
394 MIB_PROBE_AH(ahs_hdrops);
395 MIB_PROBE_AH(ahs_nopf);
396 MIB_PROBE_AH(ahs_notdb);
397 MIB_PROBE_AH(ahs_badkcr);
398 MIB_PROBE_AH(ahs_badauth);
399 MIB_PROBE_AH(ahs_noxform);
400 MIB_PROBE_AH(ahs_qfull);
401 MIB_PROBE_AH(ahs_wrap);
402 MIB_PROBE_AH(ahs_replay);
403 MIB_PROBE_AH(ahs_badauthl);
404 MIB_PROBE_AH(ahs_input);
405 MIB_PROBE_AH(ahs_output);
406 MIB_PROBE_AH(ahs_invalid);
407 MIB_PROBE_AH(ahs_ibytes);
408 MIB_PROBE_AH(ahs_obytes);
409 MIB_PROBE_AH(ahs_toobig);
410 MIB_PROBE_AH(ahs_pdrops);
411 MIB_PROBE_AH(ahs_crypto);
412 MIB_PROBE_AH(ahs_tunnel);
413 MIB_PROBE_AH2(ahs_hist);
414 
415 #define	MIB_PROBE_IPCOMP(name)	SDT_PROBE_DEFINE1(mib, ipcomp, count, name, "int")
416 #define	MIB_PROBE_IPCOMP2(name)	SDT_PROBE_DEFINE2(mib, ipcomp, count, name, "int", "int")
417 
418 MIB_PROBE_IPCOMP(ipcomps_hdrops);
419 MIB_PROBE_IPCOMP(ipcomps_nopf);
420 MIB_PROBE_IPCOMP(ipcomps_notdb);
421 MIB_PROBE_IPCOMP(ipcomps_badkcr);
422 MIB_PROBE_IPCOMP(ipcomps_qfull);
423 MIB_PROBE_IPCOMP(ipcomps_noxform);
424 MIB_PROBE_IPCOMP(ipcomps_wrap);
425 MIB_PROBE_IPCOMP(ipcomps_input);
426 MIB_PROBE_IPCOMP(ipcomps_output);
427 MIB_PROBE_IPCOMP(ipcomps_invalid);
428 MIB_PROBE_IPCOMP(ipcomps_ibytes);
429 MIB_PROBE_IPCOMP(ipcomps_obytes);
430 MIB_PROBE_IPCOMP(ipcomps_toobig);
431 MIB_PROBE_IPCOMP(ipcomps_pdrops);
432 MIB_PROBE_IPCOMP(ipcomps_crypto);
433 MIB_PROBE_IPCOMP2(ipcomps_hist);
434 MIB_PROBE_IPCOMP(ipcomps_threshold);
435 MIB_PROBE_IPCOMP(ipcomps_uncompr);
436 
437 #endif
438 
439 SDT_PROBE_DEFINE6_XLATE(ip, , , receive,
440     "void *", "pktinfo_t *",
441     "void *", "csinfo_t *",
442     "uint8_t *", "ipinfo_t *",
443     "struct ifnet *", "ifinfo_t *",
444     "struct ip *", "ipv4info_t *",
445     "struct ip6_hdr *", "ipv6info_t *");
446 
447 SDT_PROBE_DEFINE6_XLATE(ip, , , send,
448     "void *", "pktinfo_t *",
449     "void *", "csinfo_t *",
450     "uint8_t *", "ipinfo_t *",
451     "struct ifnet *", "ifinfo_t *",
452     "struct ip *", "ipv4info_t *",
453     "struct ip6_hdr *", "ipv6info_t *");
454 
455 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__established,
456     "void *", "pktinfo_t *",
457     "struct tcpcb *", "csinfo_t *",
458     "struct mbuf *", "ipinfo_t *",
459     "struct tcpcb *", "tcpsinfo_t *" ,
460     "struct tcphdr *", "tcpinfoh_t *");
461 
462 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__refused,
463     "void *", "pktinfo_t *",
464     "struct tcpcb *", "csinfo_t *",
465     "struct mbuf *", "ipinfo_t *",
466     "struct tcpcb *", "tcpsinfo_t *" ,
467     "struct tcphdr *", "tcpinfo_t *");
468 
469 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__established,
470     "void *", "pktinfo_t *",
471     "struct tcpcb *", "csinfo_t *",
472     "struct mbuf *", "ipinfo_t *",
473     "struct tcpcb *", "tcpsinfo_t *" ,
474     "struct tcphdr *", "tcpinfoh_t *");
475 
476 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__refused,
477     "void *", "pktinfo_t *",
478     "struct tcpcb *", "csinfo_t *",
479     "struct mbuf *", "ipinfo_t *",
480     "struct tcpcb *", "tcpsinfo_t *" ,
481     "struct tcphdr *", "tcpinfoh_t *");
482 
483 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__request,
484     "void *", "pktinfo_t *",
485     "struct tcpcb *", "csinfo_t *",
486     "uint8_t *", "ipinfo_t *",
487     "struct tcpcb *", "tcpsinfo_t *" ,
488     "struct tcphdr *", "tcpinfo_t *");
489 
490 SDT_PROBE_DEFINE5_XLATE(tcp, , , receive,
491     "void *", "pktinfo_t *",
492     "struct tcpcb *", "csinfo_t *",
493     "struct mbuf *", "ipinfo_t *",
494     "struct tcpcb *", "tcpsinfo_t *" ,
495     "struct tcphdr *", "tcpinfoh_t *");
496 
497 SDT_PROBE_DEFINE5_XLATE(tcp, , , send,
498     "void *", "pktinfo_t *",
499     "struct tcpcb *", "csinfo_t *",
500     "uint8_t *", "ipinfo_t *",
501     "struct tcpcb *", "tcpsinfo_t *" ,
502     "struct tcphdr *", "tcpinfo_t *");
503 
504 SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr,
505     "struct pkt_node *", "siftrinfo_t *");
506 
507 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__input,
508     "struct tcpcb *", "tcpsinfo_t *" ,
509     "struct tcphdr *", "tcpinfoh_t *",
510     "struct mbuf *", "ipinfo_t *");
511 
512 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__output,
513     "struct tcpcb *", "tcpsinfo_t *" ,
514     "struct tcphdr *", "tcpinfo_t *",
515     "struct mbuf *", "ipinfo_t *");
516 
517 SDT_PROBE_DEFINE2_XLATE(tcp, , , debug__user,
518     "struct tcpcb *", "tcpsinfo_t *" ,
519     "int", "int");
520 
521 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__drop,
522     "struct tcpcb *", "tcpsinfo_t *" ,
523     "struct tcphdr *", "tcpinfoh_t *",
524     "struct mbuf *", "ipinfo_t *");
525 
526 SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change,
527     "void *", "void *",
528     "struct tcpcb *", "csinfo_t *",
529     "void *", "void *",
530     "struct tcpcb *", "tcpsinfo_t *",
531     "void *", "void *",
532     "int", "tcplsinfo_t *");
533 
534 SDT_PROBE_DEFINE6_XLATE(tcp, , , receive__autoresize,
535     "void *", "void *",
536     "struct tcpcb *", "csinfo_t *",
537     "struct mbuf *", "ipinfo_t *",
538     "struct tcpcb *", "tcpsinfo_t *" ,
539     "struct tcphdr *", "tcpinfoh_t *",
540     "int", "int");
541 
542 SDT_PROBE_DEFINE5_XLATE(udp, , , receive,
543     "void *", "pktinfo_t *",
544     "struct inpcb *", "csinfo_t *",
545     "uint8_t *", "ipinfo_t *",
546     "struct inpcb *", "udpsinfo_t *",
547     "struct udphdr *", "udpinfo_t *");
548 
549 SDT_PROBE_DEFINE5_XLATE(udp, , , send,
550     "void *", "pktinfo_t *",
551     "struct inpcb *", "csinfo_t *",
552     "uint8_t *", "ipinfo_t *",
553     "struct inpcb *", "udpsinfo_t *",
554     "struct udphdr *", "udpinfo_t *");
555 
556 SDT_PROBE_DEFINE5_XLATE(udplite, , , receive,
557     "void *", "pktinfo_t *",
558     "struct inpcb *", "csinfo_t *",
559     "uint8_t *", "ipinfo_t *",
560     "struct inpcb *", "udplitesinfo_t *",
561     "struct udphdr *", "udpliteinfo_t *");
562 
563 SDT_PROBE_DEFINE5_XLATE(udplite, , , send,
564     "void *", "pktinfo_t *",
565     "struct inpcb *", "csinfo_t *",
566     "uint8_t *", "ipinfo_t *",
567     "struct inpcb *", "udplitesinfo_t *",
568     "struct udphdr *", "udpliteinfo_t *");
569