xref: /freebsd/sys/netinet/in_kdtrace.c (revision c4fde87a3236b500246d4fce76dbca2a3d64f73a)
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_usedrtt);
263 MIB_PROBE_TCP(tcps_usedrttvar);
264 MIB_PROBE_TCP(tcps_usedssthresh);
265 MIB_PROBE_TCP(tcps_persistdrop);
266 MIB_PROBE_TCP(tcps_badsyn);
267 MIB_PROBE_TCP(tcps_mturesent);
268 MIB_PROBE_TCP(tcps_listendrop);
269 MIB_PROBE_TCP(tcps_badrst);
270 
271 MIB_PROBE_TCP(tcps_sc_added);
272 MIB_PROBE_TCP(tcps_sc_retransmitted);
273 MIB_PROBE_TCP(tcps_sc_dupsyn);
274 MIB_PROBE_TCP(tcps_sc_dropped);
275 MIB_PROBE_TCP(tcps_sc_completed);
276 MIB_PROBE_TCP(tcps_sc_bucketoverflow);
277 MIB_PROBE_TCP(tcps_sc_cacheoverflow);
278 MIB_PROBE_TCP(tcps_sc_reset);
279 MIB_PROBE_TCP(tcps_sc_stale);
280 MIB_PROBE_TCP(tcps_sc_aborted);
281 MIB_PROBE_TCP(tcps_sc_badack);
282 MIB_PROBE_TCP(tcps_sc_unreach);
283 MIB_PROBE_TCP(tcps_sc_zonefail);
284 MIB_PROBE_TCP(tcps_sc_sendcookie);
285 MIB_PROBE_TCP(tcps_sc_recvcookie);
286 MIB_PROBE_TCP(tcps_sc_spurcookie);
287 MIB_PROBE_TCP(tcps_sc_failcookie);
288 
289 MIB_PROBE_TCP(tcps_hc_hits);
290 MIB_PROBE_TCP(tcps_hc_misses);
291 MIB_PROBE_TCP(tcps_hc_added);
292 MIB_PROBE_TCP(tcps_hc_bucketoverflow);
293 MIB_PROBE_TCP(tcps_hc_allocfail);
294 MIB_PROBE_TCP(tcps_cachedrtt);
295 MIB_PROBE_TCP(tcps_cachedrttvar);
296 MIB_PROBE_TCP(tcps_cachedssthresh);
297 MIB_PROBE_TCP(tcps_cachedcwnd);
298 MIB_PROBE_TCP(tcps_cachedsendpipe);
299 MIB_PROBE_TCP(tcps_cachedrecvpipe);
300 
301 MIB_PROBE_TCP(tcps_finwait2_drops);
302 
303 MIB_PROBE_TCP(tcps_sack_recovery_episode);
304 MIB_PROBE_TCP(tcps_sack_rexmits);
305 MIB_PROBE_TCP(tcps_sack_rexmits_tso);
306 MIB_PROBE_TCP(tcps_sack_rexmit_bytes);
307 MIB_PROBE_TCP(tcps_sack_rcv_blocks);
308 MIB_PROBE_TCP(tcps_sack_send_blocks);
309 MIB_PROBE_TCP(tcps_sack_lostrexmt);
310 MIB_PROBE_TCP(tcps_sack_sboverflow);
311 
312 MIB_PROBE_TCP(tcps_ecn_rcvce);
313 MIB_PROBE_TCP(tcps_ecn_rcvect0);
314 MIB_PROBE_TCP(tcps_ecn_rcvect1);
315 MIB_PROBE_TCP(tcps_ecn_shs);
316 MIB_PROBE_TCP(tcps_ecn_rcwnd);
317 
318 MIB_PROBE_TCP(tcps_sig_rcvgoodsig);
319 MIB_PROBE_TCP(tcps_sig_rcvbadsig);
320 MIB_PROBE_TCP(tcps_sig_err_buildsig);
321 MIB_PROBE_TCP(tcps_sig_err_sigopt);
322 MIB_PROBE_TCP(tcps_sig_err_nosigopt);
323 
324 MIB_PROBE_TCP(tcps_pmtud_blackhole_activated);
325 MIB_PROBE_TCP(tcps_pmtud_blackhole_activated_min_mss);
326 MIB_PROBE_TCP(tcps_pmtud_blackhole_failed);
327 
328 MIB_PROBE_TCP(tcps_tunneled_pkts);
329 MIB_PROBE_TCP(tcps_tunneled_errs);
330 
331 MIB_PROBE_TCP(tcps_dsack_count);
332 MIB_PROBE_TCP(tcps_dsack_bytes);
333 MIB_PROBE_TCP(tcps_dsack_tlp_bytes);
334 
335 MIB_PROBE_TCP(tcps_tw_recycles);
336 MIB_PROBE_TCP(tcps_tw_resets);
337 MIB_PROBE_TCP(tcps_tw_responds);
338 
339 MIB_PROBE_TCP(tcps_ace_nect);
340 MIB_PROBE_TCP(tcps_ace_ect1);
341 MIB_PROBE_TCP(tcps_ace_ect0);
342 MIB_PROBE_TCP(tcps_ace_ce);
343 
344 MIB_PROBE_TCP(tcps_ecn_sndect0);
345 MIB_PROBE_TCP(tcps_ecn_sndect1);
346 
347 MIB_PROBE_TCP(tcps_tlpresends);
348 MIB_PROBE_TCP(tcps_tlpresend_bytes);
349 
350 MIB_PROBE_TCP(tcps_rcvghostack);
351 MIB_PROBE_TCP(tcps_rcvacktooold);
352 
353 #define	MIB_PROBE_IPSEC(name)	SDT_PROBE_DEFINE1(mib, ipsec, count, name, "int")
354 
355 MIB_PROBE_IPSEC(ips_in_polvio);
356 MIB_PROBE_IPSEC(ips_in_nomem);
357 MIB_PROBE_IPSEC(ips_in_inval);
358 MIB_PROBE_IPSEC(ips_out_polvio);
359 MIB_PROBE_IPSEC(ips_out_nosa);
360 MIB_PROBE_IPSEC(ips_out_nomem);
361 MIB_PROBE_IPSEC(ips_out_noroute);
362 MIB_PROBE_IPSEC(ips_out_inval);
363 MIB_PROBE_IPSEC(ips_out_bundlesa);
364 
365 MIB_PROBE_IPSEC(ips_spdcache_hits);
366 MIB_PROBE_IPSEC(ips_spdcache_misses);
367 
368 MIB_PROBE_IPSEC(ips_clcopied);
369 MIB_PROBE_IPSEC(ips_mbinserted);
370 MIB_PROBE_IPSEC(ips_input_front);
371 MIB_PROBE_IPSEC(ips_input_middle);
372 MIB_PROBE_IPSEC(ips_input_end);
373 
374 #define	MIB_PROBE_ESP(name)	SDT_PROBE_DEFINE1(mib, esp, count, name, "int")
375 #define	MIB_PROBE2_ESP(name)	SDT_PROBE_DEFINE2(mib, esp, count, name, "int", "int")
376 
377 MIB_PROBE_ESP(esps_hdrops);
378 MIB_PROBE_ESP(esps_nopf);
379 MIB_PROBE_ESP(esps_notdb);
380 MIB_PROBE_ESP(esps_badkcr);
381 MIB_PROBE_ESP(esps_qfull);
382 MIB_PROBE_ESP(esps_noxform);
383 MIB_PROBE_ESP(esps_badilen);
384 MIB_PROBE_ESP(esps_wrap);
385 MIB_PROBE_ESP(esps_badenc);
386 MIB_PROBE_ESP(esps_badauth);
387 MIB_PROBE_ESP(esps_replay);
388 MIB_PROBE_ESP(esps_input);
389 MIB_PROBE_ESP(esps_output);
390 MIB_PROBE_ESP(esps_invalid);
391 MIB_PROBE_ESP(esps_ibytes);
392 MIB_PROBE_ESP(esps_obytes);
393 MIB_PROBE_ESP(esps_toobig);
394 MIB_PROBE_ESP(esps_pdrops);
395 MIB_PROBE_ESP(esps_crypto);
396 MIB_PROBE_ESP(esps_tunnel);
397 MIB_PROBE2_ESP(esps_hist);
398 
399 #define	MIB_PROBE_AH(name)	SDT_PROBE_DEFINE1(mib, ah, count, name, "int")
400 #define	MIB_PROBE_AH2(name)	SDT_PROBE_DEFINE2(mib, ah, count, name, "int", "int")
401 
402 MIB_PROBE_AH(ahs_hdrops);
403 MIB_PROBE_AH(ahs_nopf);
404 MIB_PROBE_AH(ahs_notdb);
405 MIB_PROBE_AH(ahs_badkcr);
406 MIB_PROBE_AH(ahs_badauth);
407 MIB_PROBE_AH(ahs_noxform);
408 MIB_PROBE_AH(ahs_qfull);
409 MIB_PROBE_AH(ahs_wrap);
410 MIB_PROBE_AH(ahs_replay);
411 MIB_PROBE_AH(ahs_badauthl);
412 MIB_PROBE_AH(ahs_input);
413 MIB_PROBE_AH(ahs_output);
414 MIB_PROBE_AH(ahs_invalid);
415 MIB_PROBE_AH(ahs_ibytes);
416 MIB_PROBE_AH(ahs_obytes);
417 MIB_PROBE_AH(ahs_toobig);
418 MIB_PROBE_AH(ahs_pdrops);
419 MIB_PROBE_AH(ahs_crypto);
420 MIB_PROBE_AH(ahs_tunnel);
421 MIB_PROBE_AH2(ahs_hist);
422 
423 #define	MIB_PROBE_IPCOMP(name)	SDT_PROBE_DEFINE1(mib, ipcomp, count, name, "int")
424 #define	MIB_PROBE_IPCOMP2(name)	SDT_PROBE_DEFINE2(mib, ipcomp, count, name, "int", "int")
425 
426 MIB_PROBE_IPCOMP(ipcomps_hdrops);
427 MIB_PROBE_IPCOMP(ipcomps_nopf);
428 MIB_PROBE_IPCOMP(ipcomps_notdb);
429 MIB_PROBE_IPCOMP(ipcomps_badkcr);
430 MIB_PROBE_IPCOMP(ipcomps_qfull);
431 MIB_PROBE_IPCOMP(ipcomps_noxform);
432 MIB_PROBE_IPCOMP(ipcomps_wrap);
433 MIB_PROBE_IPCOMP(ipcomps_input);
434 MIB_PROBE_IPCOMP(ipcomps_output);
435 MIB_PROBE_IPCOMP(ipcomps_invalid);
436 MIB_PROBE_IPCOMP(ipcomps_ibytes);
437 MIB_PROBE_IPCOMP(ipcomps_obytes);
438 MIB_PROBE_IPCOMP(ipcomps_toobig);
439 MIB_PROBE_IPCOMP(ipcomps_pdrops);
440 MIB_PROBE_IPCOMP(ipcomps_crypto);
441 MIB_PROBE_IPCOMP2(ipcomps_hist);
442 MIB_PROBE_IPCOMP(ipcomps_threshold);
443 MIB_PROBE_IPCOMP(ipcomps_uncompr);
444 
445 #endif
446 
447 SDT_PROBE_DEFINE6_XLATE(ip, , , receive,
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_DEFINE6_XLATE(ip, , , send,
456     "void *", "pktinfo_t *",
457     "void *", "csinfo_t *",
458     "uint8_t *", "ipinfo_t *",
459     "struct ifnet *", "ifinfo_t *",
460     "struct ip *", "ipv4info_t *",
461     "struct ip6_hdr *", "ipv6info_t *");
462 
463 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__established,
464     "void *", "pktinfo_t *",
465     "struct tcpcb *", "csinfo_t *",
466     "struct mbuf *", "ipinfo_t *",
467     "struct tcpcb *", "tcpsinfo_t *" ,
468     "struct tcphdr *", "tcpinfoh_t *");
469 
470 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__refused,
471     "void *", "pktinfo_t *",
472     "struct tcpcb *", "csinfo_t *",
473     "struct mbuf *", "ipinfo_t *",
474     "struct tcpcb *", "tcpsinfo_t *" ,
475     "struct tcphdr *", "tcpinfo_t *");
476 
477 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__established,
478     "void *", "pktinfo_t *",
479     "struct tcpcb *", "csinfo_t *",
480     "struct mbuf *", "ipinfo_t *",
481     "struct tcpcb *", "tcpsinfo_t *" ,
482     "struct tcphdr *", "tcpinfoh_t *");
483 
484 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__refused,
485     "void *", "pktinfo_t *",
486     "struct tcpcb *", "csinfo_t *",
487     "struct mbuf *", "ipinfo_t *",
488     "struct tcpcb *", "tcpsinfo_t *" ,
489     "struct tcphdr *", "tcpinfoh_t *");
490 
491 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__request,
492     "void *", "pktinfo_t *",
493     "struct tcpcb *", "csinfo_t *",
494     "uint8_t *", "ipinfo_t *",
495     "struct tcpcb *", "tcpsinfo_t *" ,
496     "struct tcphdr *", "tcpinfo_t *");
497 
498 SDT_PROBE_DEFINE5_XLATE(tcp, , , receive,
499     "void *", "pktinfo_t *",
500     "struct tcpcb *", "csinfo_t *",
501     "struct mbuf *", "ipinfo_t *",
502     "struct tcpcb *", "tcpsinfo_t *" ,
503     "struct tcphdr *", "tcpinfoh_t *");
504 
505 SDT_PROBE_DEFINE5_XLATE(tcp, , , send,
506     "void *", "pktinfo_t *",
507     "struct tcpcb *", "csinfo_t *",
508     "uint8_t *", "ipinfo_t *",
509     "struct tcpcb *", "tcpsinfo_t *" ,
510     "struct tcphdr *", "tcpinfo_t *");
511 
512 SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr,
513     "struct pkt_node *", "siftrinfo_t *");
514 
515 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__input,
516     "struct tcpcb *", "tcpsinfo_t *" ,
517     "struct tcphdr *", "tcpinfoh_t *",
518     "struct mbuf *", "ipinfo_t *");
519 
520 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__output,
521     "struct tcpcb *", "tcpsinfo_t *" ,
522     "struct tcphdr *", "tcpinfo_t *",
523     "struct mbuf *", "ipinfo_t *");
524 
525 SDT_PROBE_DEFINE2_XLATE(tcp, , , debug__user,
526     "struct tcpcb *", "tcpsinfo_t *" ,
527     "int", "int");
528 
529 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__drop,
530     "struct tcpcb *", "tcpsinfo_t *" ,
531     "struct tcphdr *", "tcpinfoh_t *",
532     "struct mbuf *", "ipinfo_t *");
533 
534 SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change,
535     "void *", "void *",
536     "struct tcpcb *", "csinfo_t *",
537     "void *", "void *",
538     "struct tcpcb *", "tcpsinfo_t *",
539     "void *", "void *",
540     "int", "tcplsinfo_t *");
541 
542 SDT_PROBE_DEFINE6_XLATE(tcp, , , receive__autoresize,
543     "void *", "void *",
544     "struct tcpcb *", "csinfo_t *",
545     "struct mbuf *", "ipinfo_t *",
546     "struct tcpcb *", "tcpsinfo_t *" ,
547     "struct tcphdr *", "tcpinfoh_t *",
548     "int", "int");
549 
550 SDT_PROBE_DEFINE5_XLATE(udp, , , receive,
551     "void *", "pktinfo_t *",
552     "struct inpcb *", "csinfo_t *",
553     "uint8_t *", "ipinfo_t *",
554     "struct inpcb *", "udpsinfo_t *",
555     "struct udphdr *", "udpinfo_t *");
556 
557 SDT_PROBE_DEFINE5_XLATE(udp, , , send,
558     "void *", "pktinfo_t *",
559     "struct inpcb *", "csinfo_t *",
560     "uint8_t *", "ipinfo_t *",
561     "struct inpcb *", "udpsinfo_t *",
562     "struct udphdr *", "udpinfo_t *");
563 
564 SDT_PROBE_DEFINE5_XLATE(udplite, , , receive,
565     "void *", "pktinfo_t *",
566     "struct inpcb *", "csinfo_t *",
567     "uint8_t *", "ipinfo_t *",
568     "struct inpcb *", "udplitesinfo_t *",
569     "struct udphdr *", "udpliteinfo_t *");
570 
571 SDT_PROBE_DEFINE5_XLATE(udplite, , , send,
572     "void *", "pktinfo_t *",
573     "struct inpcb *", "csinfo_t *",
574     "uint8_t *", "ipinfo_t *",
575     "struct inpcb *", "udplitesinfo_t *",
576     "struct udphdr *", "udpliteinfo_t *");
577