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