1*fcfd8ad5SMichael Tuexen /*- 2*fcfd8ad5SMichael Tuexen * SPDX-License-Identifier: BSD-3-Clause 3*fcfd8ad5SMichael Tuexen * 4*fcfd8ad5SMichael Tuexen * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved. 5*fcfd8ad5SMichael Tuexen * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved. 6*fcfd8ad5SMichael Tuexen * 7*fcfd8ad5SMichael Tuexen * Redistribution and use in source and binary forms, with or without 8*fcfd8ad5SMichael Tuexen * modification, are permitted provided that the following conditions are met: 9*fcfd8ad5SMichael Tuexen * 10*fcfd8ad5SMichael Tuexen * a) Redistributions of source code must retain the above copyright notice, 11*fcfd8ad5SMichael Tuexen * this list of conditions and the following disclaimer. 12*fcfd8ad5SMichael Tuexen * 13*fcfd8ad5SMichael Tuexen * b) Redistributions in binary form must reproduce the above copyright 14*fcfd8ad5SMichael Tuexen * notice, this list of conditions and the following disclaimer in 15*fcfd8ad5SMichael Tuexen * the documentation and/or other materials provided with the distribution. 16*fcfd8ad5SMichael Tuexen * 17*fcfd8ad5SMichael Tuexen * c) Neither the name of Cisco Systems, Inc. nor the names of its 18*fcfd8ad5SMichael Tuexen * contributors may be used to endorse or promote products derived 19*fcfd8ad5SMichael Tuexen * from this software without specific prior written permission. 20*fcfd8ad5SMichael Tuexen * 21*fcfd8ad5SMichael Tuexen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22*fcfd8ad5SMichael Tuexen * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23*fcfd8ad5SMichael Tuexen * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24*fcfd8ad5SMichael Tuexen * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 25*fcfd8ad5SMichael Tuexen * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26*fcfd8ad5SMichael Tuexen * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27*fcfd8ad5SMichael Tuexen * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28*fcfd8ad5SMichael Tuexen * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29*fcfd8ad5SMichael Tuexen * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30*fcfd8ad5SMichael Tuexen * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31*fcfd8ad5SMichael Tuexen * THE POSSIBILITY OF SUCH DAMAGE. 32*fcfd8ad5SMichael Tuexen */ 33*fcfd8ad5SMichael Tuexen 34*fcfd8ad5SMichael Tuexen #include <sys/cdefs.h> 35*fcfd8ad5SMichael Tuexen __FBSDID("$FreeBSD$"); 36*fcfd8ad5SMichael Tuexen 37*fcfd8ad5SMichael Tuexen #ifndef _NETINET_SCTP_DTRACE_DECLARE_H_ 38*fcfd8ad5SMichael Tuexen #define _NETINET_SCTP_DTRACE_DECLARE_H_ 39*fcfd8ad5SMichael Tuexen 40*fcfd8ad5SMichael Tuexen #include <sys/kernel.h> 41*fcfd8ad5SMichael Tuexen #include <sys/sdt.h> 42*fcfd8ad5SMichael Tuexen 43*fcfd8ad5SMichael Tuexen /* Declare the SCTP provider */ 44*fcfd8ad5SMichael Tuexen SDT_PROVIDER_DECLARE(sctp); 45*fcfd8ad5SMichael Tuexen 46*fcfd8ad5SMichael Tuexen /* The probes we have so far: */ 47*fcfd8ad5SMichael Tuexen 48*fcfd8ad5SMichael Tuexen /* One to track a net's cwnd */ 49*fcfd8ad5SMichael Tuexen /* initial */ 50*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, init); 51*fcfd8ad5SMichael Tuexen /* update at a ack -- increase */ 52*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, ack); 53*fcfd8ad5SMichael Tuexen /* update at a fast retransmit -- decrease */ 54*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, fr); 55*fcfd8ad5SMichael Tuexen /* update at a time-out -- decrease */ 56*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, to); 57*fcfd8ad5SMichael Tuexen /* update at a burst-limit -- decrease */ 58*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, bl); 59*fcfd8ad5SMichael Tuexen /* update at a ECN -- decrease */ 60*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, ecn); 61*fcfd8ad5SMichael Tuexen /* update at a Packet-Drop -- decrease */ 62*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, pd); 63*fcfd8ad5SMichael Tuexen /* Rttvar probe declaration */ 64*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, rttvar); 65*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, cwnd, net, rttstep); 66*fcfd8ad5SMichael Tuexen 67*fcfd8ad5SMichael Tuexen /* One to track an associations rwnd */ 68*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, rwnd, assoc, val); 69*fcfd8ad5SMichael Tuexen 70*fcfd8ad5SMichael Tuexen /* One to track a net's flight size */ 71*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, flightsize, net, val); 72*fcfd8ad5SMichael Tuexen 73*fcfd8ad5SMichael Tuexen /* One to track an associations flight size */ 74*fcfd8ad5SMichael Tuexen SDT_PROBE_DECLARE(sctp, flightsize, assoc, val); 75*fcfd8ad5SMichael Tuexen 76*fcfd8ad5SMichael Tuexen 77*fcfd8ad5SMichael Tuexen 78*fcfd8ad5SMichael Tuexen 79*fcfd8ad5SMichael Tuexen 80*fcfd8ad5SMichael Tuexen 81*fcfd8ad5SMichael Tuexen #endif 82