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 #endif 334 335 SDT_PROBE_DECLARE(ip, , , receive); 336 SDT_PROBE_DECLARE(ip, , , send); 337 338 SDT_PROBE_DECLARE(tcp, , , accept__established); 339 SDT_PROBE_DECLARE(tcp, , , accept__refused); 340 SDT_PROBE_DECLARE(tcp, , , connect__established); 341 SDT_PROBE_DECLARE(tcp, , , connect__refused); 342 SDT_PROBE_DECLARE(tcp, , , connect__request); 343 SDT_PROBE_DECLARE(tcp, , , receive); 344 SDT_PROBE_DECLARE(tcp, , , send); 345 SDT_PROBE_DECLARE(tcp, , , siftr); 346 SDT_PROBE_DECLARE(tcp, , , state__change); 347 SDT_PROBE_DECLARE(tcp, , , debug__input); 348 SDT_PROBE_DECLARE(tcp, , , debug__output); 349 SDT_PROBE_DECLARE(tcp, , , debug__user); 350 SDT_PROBE_DECLARE(tcp, , , debug__drop); 351 SDT_PROBE_DECLARE(tcp, , , receive__autoresize); 352 353 SDT_PROBE_DECLARE(udp, , , receive); 354 SDT_PROBE_DECLARE(udp, , , send); 355 356 SDT_PROBE_DECLARE(udplite, , , receive); 357 SDT_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 399 const 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