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 #ifdef KDTRACE_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 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_spurcookie); 282 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_failcookie); 283 284 SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_added); 285 SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_bucketoverflow); 286 287 SDT_PROBE_DECLARE(mib, tcp, count, tcps_finwait2_drops); 288 289 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_recovery_episode); 290 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits); 291 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits_tso); 292 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmit_bytes); 293 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rcv_blocks); 294 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_send_blocks); 295 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_lostrexmt); 296 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_sboverflow); 297 298 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvce); 299 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect0); 300 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect1); 301 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_shs); 302 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcwnd); 303 304 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvgoodsig); 305 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvbadsig); 306 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_buildsig); 307 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_sigopt); 308 SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_nosigopt); 309 310 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated); 311 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated_min_mss); 312 SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_failed); 313 314 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_pkts); 315 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_errs); 316 317 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_count); 318 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_bytes); 319 SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_tlp_bytes); 320 321 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_recycles); 322 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_resets); 323 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_responds); 324 325 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_nect); 326 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect1); 327 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect0); 328 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ce); 329 330 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect0); 331 SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect1); 332 333 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresends); 334 SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresend_bytes); 335 336 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvghostack); 337 SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvacktooold); 338 339 SDT_PROBE_DECLARE(mib, ipsec, count, ips_in_polvio); 340 SDT_PROBE_DECLARE(mib, ipsec, count, ips_in_nomem); 341 SDT_PROBE_DECLARE(mib, ipsec, count, ips_in_inval); 342 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_polvio); 343 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_nosa); 344 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_nomem); 345 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_noroute); 346 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_inval); 347 SDT_PROBE_DECLARE(mib, ipsec, count, ips_out_bundlesa); 348 349 SDT_PROBE_DECLARE(mib, ipsec, count, ips_spdcache_hits); 350 SDT_PROBE_DECLARE(mib, ipsec, count, ips_spdcache_misses); 351 352 SDT_PROBE_DECLARE(mib, ipsec, count, ips_clcopied); 353 SDT_PROBE_DECLARE(mib, ipsec, count, ips_mbinserted); 354 SDT_PROBE_DECLARE(mib, ipsec, count, ips_input_front); 355 SDT_PROBE_DECLARE(mib, ipsec, count, ips_input_middle); 356 SDT_PROBE_DECLARE(mib, ipsec, count, ips_input_end); 357 358 SDT_PROBE_DECLARE(mib, esp, count, esps_hdrops); 359 SDT_PROBE_DECLARE(mib, esp, count, esps_nopf); 360 SDT_PROBE_DECLARE(mib, esp, count, esps_notdb); 361 SDT_PROBE_DECLARE(mib, esp, count, esps_badkcr); 362 SDT_PROBE_DECLARE(mib, esp, count, esps_qfull); 363 SDT_PROBE_DECLARE(mib, esp, count, esps_noxform); 364 SDT_PROBE_DECLARE(mib, esp, count, esps_badilen); 365 SDT_PROBE_DECLARE(mib, esp, count, esps_wrap); 366 SDT_PROBE_DECLARE(mib, esp, count, esps_badenc); 367 SDT_PROBE_DECLARE(mib, esp, count, esps_badauth); 368 SDT_PROBE_DECLARE(mib, esp, count, esps_replay); 369 SDT_PROBE_DECLARE(mib, esp, count, esps_input); 370 SDT_PROBE_DECLARE(mib, esp, count, esps_output); 371 SDT_PROBE_DECLARE(mib, esp, count, esps_invalid); 372 SDT_PROBE_DECLARE(mib, esp, count, esps_ibytes); 373 SDT_PROBE_DECLARE(mib, esp, count, esps_obytes); 374 SDT_PROBE_DECLARE(mib, esp, count, esps_toobig); 375 SDT_PROBE_DECLARE(mib, esp, count, esps_pdrops); 376 SDT_PROBE_DECLARE(mib, esp, count, esps_crypto); 377 SDT_PROBE_DECLARE(mib, esp, count, esps_tunnel); 378 SDT_PROBE_DECLARE(mib, esp, count, esps_hist); 379 380 SDT_PROBE_DECLARE(mib, ah, count, ahs_hdrops); 381 SDT_PROBE_DECLARE(mib, ah, count, ahs_nopf); 382 SDT_PROBE_DECLARE(mib, ah, count, ahs_notdb); 383 SDT_PROBE_DECLARE(mib, ah, count, ahs_badkcr); 384 SDT_PROBE_DECLARE(mib, ah, count, ahs_badauth); 385 SDT_PROBE_DECLARE(mib, ah, count, ahs_noxform); 386 SDT_PROBE_DECLARE(mib, ah, count, ahs_qfull); 387 SDT_PROBE_DECLARE(mib, ah, count, ahs_wrap); 388 SDT_PROBE_DECLARE(mib, ah, count, ahs_replay); 389 SDT_PROBE_DECLARE(mib, ah, count, ahs_badauthl); 390 SDT_PROBE_DECLARE(mib, ah, count, ahs_input); 391 SDT_PROBE_DECLARE(mib, ah, count, ahs_output); 392 SDT_PROBE_DECLARE(mib, ah, count, ahs_invalid); 393 SDT_PROBE_DECLARE(mib, ah, count, ahs_ibytes); 394 SDT_PROBE_DECLARE(mib, ah, count, ahs_obytes); 395 SDT_PROBE_DECLARE(mib, ah, count, ahs_toobig); 396 SDT_PROBE_DECLARE(mib, ah, count, ahs_pdrops); 397 SDT_PROBE_DECLARE(mib, ah, count, ahs_crypto); 398 SDT_PROBE_DECLARE(mib, ah, count, ahs_tunnel); 399 SDT_PROBE_DECLARE(mib, ah, count, ahs_hist); 400 401 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_hdrops); 402 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_nopf); 403 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_notdb); 404 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_badkcr); 405 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_qfull); 406 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_noxform); 407 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_wrap); 408 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_input); 409 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_output); 410 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_invalid); 411 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_ibytes); 412 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_obytes); 413 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_toobig); 414 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_pdrops); 415 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_crypto); 416 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_hist); 417 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_threshold); 418 SDT_PROBE_DECLARE(mib, ipcomp, count, ipcomps_uncompr); 419 420 #endif 421 422 SDT_PROBE_DECLARE(ip, , , receive); 423 SDT_PROBE_DECLARE(ip, , , send); 424 425 SDT_PROBE_DECLARE(tcp, , , accept__established); 426 SDT_PROBE_DECLARE(tcp, , , accept__refused); 427 SDT_PROBE_DECLARE(tcp, , , connect__established); 428 SDT_PROBE_DECLARE(tcp, , , connect__refused); 429 SDT_PROBE_DECLARE(tcp, , , connect__request); 430 SDT_PROBE_DECLARE(tcp, , , receive); 431 SDT_PROBE_DECLARE(tcp, , , send); 432 SDT_PROBE_DECLARE(tcp, , , siftr); 433 SDT_PROBE_DECLARE(tcp, , , state__change); 434 SDT_PROBE_DECLARE(tcp, , , debug__input); 435 SDT_PROBE_DECLARE(tcp, , , debug__output); 436 SDT_PROBE_DECLARE(tcp, , , debug__user); 437 SDT_PROBE_DECLARE(tcp, , , debug__drop); 438 SDT_PROBE_DECLARE(tcp, , , receive__autoresize); 439 440 SDT_PROBE_DECLARE(udp, , , receive); 441 SDT_PROBE_DECLARE(udp, , , send); 442 443 SDT_PROBE_DECLARE(udplite, , , receive); 444 SDT_PROBE_DECLARE(udplite, , , send); 445 446 /* 447 * These constants originate from the 4.4BSD sys/protosw.h. They lost 448 * their initial purpose in 2c37256e5a59, when single pr_usrreq method 449 * was split into multiple methods. However, they were used by TCPDEBUG, 450 * a feature barely used, but it kept them in the tree for many years. 451 * In 5d06879adb95 DTrace probes started to use them. Note that they 452 * are not documented in dtrace_tcp(4), so they are likely to be 453 * eventually renamed to something better and extended/trimmed. 454 */ 455 #define PRU_ATTACH 0 /* attach protocol to up */ 456 #define PRU_DETACH 1 /* detach protocol from up */ 457 #define PRU_BIND 2 /* bind socket to address */ 458 #define PRU_LISTEN 3 /* listen for connection */ 459 #define PRU_CONNECT 4 /* establish connection to peer */ 460 #define PRU_ACCEPT 5 /* accept connection from peer */ 461 #define PRU_DISCONNECT 6 /* disconnect from peer */ 462 #define PRU_SHUTDOWN 7 /* won't send any more data */ 463 #define PRU_RCVD 8 /* have taken data; more room now */ 464 #define PRU_SEND 9 /* send this data */ 465 #define PRU_ABORT 10 /* abort (fast DISCONNECT, DETATCH) */ 466 #define PRU_CONTROL 11 /* control operations on protocol */ 467 #define PRU_SENSE 12 /* return status into m */ 468 #define PRU_RCVOOB 13 /* retrieve out of band data */ 469 #define PRU_SENDOOB 14 /* send out of band data */ 470 #define PRU_SOCKADDR 15 /* fetch socket's address */ 471 #define PRU_PEERADDR 16 /* fetch peer's address */ 472 #define PRU_CONNECT2 17 /* connect two sockets */ 473 /* begin for protocols internal use */ 474 #define PRU_FASTTIMO 18 /* 200ms timeout */ 475 #define PRU_SLOWTIMO 19 /* 500ms timeout */ 476 #define PRU_PROTORCV 20 /* receive from below */ 477 #define PRU_PROTOSEND 21 /* send to below */ 478 /* end for protocol's internal use */ 479 #define PRU_SEND_EOF 22 /* send and close */ 480 #define PRU_SOSETLABEL 23 /* MAC label change */ 481 #define PRU_CLOSE 24 /* socket close */ 482 #define PRU_FLUSH 25 /* flush the socket */ 483 #define PRU_NREQ 25 484 485 #ifdef PRUREQUESTS 486 const char *prurequests[] = { 487 "ATTACH", "DETACH", "BIND", "LISTEN", 488 "CONNECT", "ACCEPT", "DISCONNECT", "SHUTDOWN", 489 "RCVD", "SEND", "ABORT", "CONTROL", 490 "SENSE", "RCVOOB", "SENDOOB", "SOCKADDR", 491 "PEERADDR", "CONNECT2", "FASTTIMO", "SLOWTIMO", 492 "PROTORCV", "PROTOSEND", "SEND_EOF", "SOSETLABEL", 493 "CLOSE", "FLUSH", 494 }; 495 #endif 496 497 #endif 498