xref: /freebsd/sys/netinet/in_kdtrace.c (revision 8aac90f18aef7c9eea906c3ff9a001ca7b94f375)
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 #ifndef KDTRACE_NO_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 #endif
343 
344 SDT_PROBE_DEFINE6_XLATE(ip, , , receive,
345     "void *", "pktinfo_t *",
346     "void *", "csinfo_t *",
347     "uint8_t *", "ipinfo_t *",
348     "struct ifnet *", "ifinfo_t *",
349     "struct ip *", "ipv4info_t *",
350     "struct ip6_hdr *", "ipv6info_t *");
351 
352 SDT_PROBE_DEFINE6_XLATE(ip, , , send,
353     "void *", "pktinfo_t *",
354     "void *", "csinfo_t *",
355     "uint8_t *", "ipinfo_t *",
356     "struct ifnet *", "ifinfo_t *",
357     "struct ip *", "ipv4info_t *",
358     "struct ip6_hdr *", "ipv6info_t *");
359 
360 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__established,
361     "void *", "pktinfo_t *",
362     "struct tcpcb *", "csinfo_t *",
363     "struct mbuf *", "ipinfo_t *",
364     "struct tcpcb *", "tcpsinfo_t *" ,
365     "struct tcphdr *", "tcpinfoh_t *");
366 
367 SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__refused,
368     "void *", "pktinfo_t *",
369     "struct tcpcb *", "csinfo_t *",
370     "struct mbuf *", "ipinfo_t *",
371     "struct tcpcb *", "tcpsinfo_t *" ,
372     "struct tcphdr *", "tcpinfo_t *");
373 
374 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__established,
375     "void *", "pktinfo_t *",
376     "struct tcpcb *", "csinfo_t *",
377     "struct mbuf *", "ipinfo_t *",
378     "struct tcpcb *", "tcpsinfo_t *" ,
379     "struct tcphdr *", "tcpinfoh_t *");
380 
381 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__refused,
382     "void *", "pktinfo_t *",
383     "struct tcpcb *", "csinfo_t *",
384     "struct mbuf *", "ipinfo_t *",
385     "struct tcpcb *", "tcpsinfo_t *" ,
386     "struct tcphdr *", "tcpinfoh_t *");
387 
388 SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__request,
389     "void *", "pktinfo_t *",
390     "struct tcpcb *", "csinfo_t *",
391     "uint8_t *", "ipinfo_t *",
392     "struct tcpcb *", "tcpsinfo_t *" ,
393     "struct tcphdr *", "tcpinfo_t *");
394 
395 SDT_PROBE_DEFINE5_XLATE(tcp, , , receive,
396     "void *", "pktinfo_t *",
397     "struct tcpcb *", "csinfo_t *",
398     "struct mbuf *", "ipinfo_t *",
399     "struct tcpcb *", "tcpsinfo_t *" ,
400     "struct tcphdr *", "tcpinfoh_t *");
401 
402 SDT_PROBE_DEFINE5_XLATE(tcp, , , send,
403     "void *", "pktinfo_t *",
404     "struct tcpcb *", "csinfo_t *",
405     "uint8_t *", "ipinfo_t *",
406     "struct tcpcb *", "tcpsinfo_t *" ,
407     "struct tcphdr *", "tcpinfo_t *");
408 
409 SDT_PROBE_DEFINE1_XLATE(tcp, , , siftr,
410     "struct pkt_node *", "siftrinfo_t *");
411 
412 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__input,
413     "struct tcpcb *", "tcpsinfo_t *" ,
414     "struct tcphdr *", "tcpinfoh_t *",
415     "struct mbuf *", "ipinfo_t *");
416 
417 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__output,
418     "struct tcpcb *", "tcpsinfo_t *" ,
419     "struct tcphdr *", "tcpinfo_t *",
420     "struct mbuf *", "ipinfo_t *");
421 
422 SDT_PROBE_DEFINE2_XLATE(tcp, , , debug__user,
423     "struct tcpcb *", "tcpsinfo_t *" ,
424     "int", "int");
425 
426 SDT_PROBE_DEFINE3_XLATE(tcp, , , debug__drop,
427     "struct tcpcb *", "tcpsinfo_t *" ,
428     "struct tcphdr *", "tcpinfoh_t *",
429     "struct mbuf *", "ipinfo_t *");
430 
431 SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change,
432     "void *", "void *",
433     "struct tcpcb *", "csinfo_t *",
434     "void *", "void *",
435     "struct tcpcb *", "tcpsinfo_t *",
436     "void *", "void *",
437     "int", "tcplsinfo_t *");
438 
439 SDT_PROBE_DEFINE6_XLATE(tcp, , , receive__autoresize,
440     "void *", "void *",
441     "struct tcpcb *", "csinfo_t *",
442     "struct mbuf *", "ipinfo_t *",
443     "struct tcpcb *", "tcpsinfo_t *" ,
444     "struct tcphdr *", "tcpinfoh_t *",
445     "int", "int");
446 
447 SDT_PROBE_DEFINE5_XLATE(udp, , , receive,
448     "void *", "pktinfo_t *",
449     "struct inpcb *", "csinfo_t *",
450     "uint8_t *", "ipinfo_t *",
451     "struct inpcb *", "udpsinfo_t *",
452     "struct udphdr *", "udpinfo_t *");
453 
454 SDT_PROBE_DEFINE5_XLATE(udp, , , send,
455     "void *", "pktinfo_t *",
456     "struct inpcb *", "csinfo_t *",
457     "uint8_t *", "ipinfo_t *",
458     "struct inpcb *", "udpsinfo_t *",
459     "struct udphdr *", "udpinfo_t *");
460 
461 SDT_PROBE_DEFINE5_XLATE(udplite, , , receive,
462     "void *", "pktinfo_t *",
463     "struct inpcb *", "csinfo_t *",
464     "uint8_t *", "ipinfo_t *",
465     "struct inpcb *", "udplitesinfo_t *",
466     "struct udphdr *", "udpliteinfo_t *");
467 
468 SDT_PROBE_DEFINE5_XLATE(udplite, , , send,
469     "void *", "pktinfo_t *",
470     "struct inpcb *", "csinfo_t *",
471     "uint8_t *", "ipinfo_t *",
472     "struct inpcb *", "udplitesinfo_t *",
473     "struct udphdr *", "udpliteinfo_t *");
474