4. TCP Extended Statistics MIB
This MIB module IMPORTS definitions from [RFC2578], [RFC2579], [RFC2580], [RFC2856], [RFC4022], and [RFC4502]. It uses REFERENCE clauses to refer to [RFC791], [RFC793], [RFC1122], [RFC1191], [RFC1323], [RFC2018], [RFC2581], [RFC2861], [RFC2883], [RFC2988], [RFC3168], [RFC3260], [RFC3517], [RFC3522], and [RFC3742]. TCP-ESTATS-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Counter32, Integer32, Unsigned32, Gauge32, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] ZeroBasedCounter32 FROM RMON2-MIB -- [RFC4502] ZeroBasedCounter64 FROM HCNUM-TC -- [RFC2856] TEXTUAL-CONVENTION, DateAndTime, TruthValue, TimeStamp
FROM SNMPv2-TC -- [RFC2579] tcpListenerEntry, tcpConnectionEntry FROM TCP-MIB; -- [RFC4022] tcpEStatsMIB MODULE-IDENTITY LAST-UPDATED "200705180000Z" -- 18 May 2007 ORGANIZATION "IETF TSV Working Group" CONTACT-INFO "Matt Mathis John Heffner Web100 Project Pittsburgh Supercomputing Center 300 S. Craig St. Pittsburgh, PA 15213 Email: mathis@psc.edu, jheffner@psc.edu Rajiv Raghunarayan Cisco Systems Inc. San Jose, CA 95134 Phone: 408 853 9612 Email: raraghun@cisco.com Jon Saperia 84 Kettell Plain Road Stow, MA 01775 Phone: 617-201-2655 Email: saperia@jdscons.com " DESCRIPTION "Documentation of TCP Extended Performance Instrumentation variables from the Web100 project. [Web100] All of the objects in this MIB MUST have the same persistence properties as the underlying TCP implementation. On a reboot, all zero-based counters MUST be cleared, all dynamically created table rows MUST be deleted, and all read-write objects MUST be restored to their default values. It is assumed that all TCP implementation have some initialization code (if nothing else to set IP addresses) that has the opportunity to adjust tcpEStatsConnTableLatency and other read-write scalars controlling the creation of the various tables, before establishing the first TCP connection. Implementations MAY also choose to make these control scalars persist across reboots. Copyright (C) The IETF Trust (2007). This version of this MIB module is a part of RFC 4898; see the RFC itself for full legal notices."
REVISION "200705180000Z" -- 18 May 2007 DESCRIPTION "Initial version, published as RFC 4898." ::= { mib-2 156 } tcpEStatsNotifications OBJECT IDENTIFIER ::= { tcpEStatsMIB 0 } tcpEStatsMIBObjects OBJECT IDENTIFIER ::= { tcpEStatsMIB 1 } tcpEStatsConformance OBJECT IDENTIFIER ::= { tcpEStatsMIB 2 } tcpEStats OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 1 } tcpEStatsControl OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 2 } tcpEStatsScalar OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 3 } -- -- Textual Conventions -- TcpEStatsNegotiated ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Indicates if some optional TCP feature was negotiated. Enabled(1) indicates that the feature was successfully negotiated on, which generally requires both hosts to agree to use the feature. selfDisabled(2) indicates that the local host refused the feature because it is not implemented, configured off, or refused for some other reason, such as the lack of resources. peerDisabled(3) indicates that the local host was willing to negotiate the feature, but the remote host did not do so." SYNTAX INTEGER { enabled(1), selfDisabled(2), peerDisabled(3) } -- -- TCP Extended statistics scalars -- tcpEStatsListenerTableLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION
"The value of sysUpTime at the time of the last creation or deletion of an entry in the tcpListenerTable. If the number of entries has been unchanged since the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { tcpEStatsScalar 3 } -- ================================================================ -- -- The tcpEStatsControl Group -- -- The scalar objects in this group are used to control the -- activation and deactivation of the TCP Extended Statistics -- tables and notifications in this module. -- tcpEStatsControlPath OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the activation of the TCP Path Statistics table. A value 'true' indicates that the TCP Path Statistics table is active, while 'false' indicates that the table is inactive." DEFVAL { false } ::= { tcpEStatsControl 1 } tcpEStatsControlStack OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the activation of the TCP Stack Statistics table. A value 'true' indicates that the TCP Stack Statistics table is active, while 'false' indicates that the table is inactive." DEFVAL { false } ::= { tcpEStatsControl 2 } tcpEStatsControlApp OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write
STATUS current DESCRIPTION "Controls the activation of the TCP Application Statistics table. A value 'true' indicates that the TCP Application Statistics table is active, while 'false' indicates that the table is inactive." DEFVAL { false } ::= { tcpEStatsControl 3 } tcpEStatsControlTune OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the activation of the TCP Tuning table. A value 'true' indicates that the TCP Tuning table is active, while 'false' indicates that the table is inactive." DEFVAL { false } ::= { tcpEStatsControl 4 } tcpEStatsControlNotify OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the generation of all notifications defined in this MIB. A value 'true' indicates that the notifications are active, while 'false' indicates that the notifications are inactive." DEFVAL { false } ::= { tcpEStatsControl 5 } tcpEStatsConnTableLatency OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the number of seconds that the entity will retain entries in the TCP connection tables, after the connection first enters the closed state. The entity SHOULD provide a configuration option to enable
customization of this value. A value of 0 results in entries being removed from the tables as soon as the connection enters the closed state. The value of this object pertains to the following tables: tcpEStatsConnectIdTable tcpEStatsPerfTable tcpEStatsPathTable tcpEStatsStackTable tcpEStatsAppTable tcpEStatsTuneTable" DEFVAL { 0 } ::= { tcpEStatsControl 6 } -- ================================================================ -- -- Listener Table -- tcpEStatsListenerTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpEStatsListenerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about TCP Listeners, in addition to the information maintained by the tcpListenerTable RFC 4022." ::= { tcpEStats 1 } tcpEStatsListenerEntry OBJECT-TYPE SYNTAX TcpEStatsListenerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the table contains information about a specific TCP Listener." AUGMENTS { tcpListenerEntry } ::= { tcpEStatsListenerTable 1 } TcpEStatsListenerEntry ::= SEQUENCE { tcpEStatsListenerStartTime TimeStamp, tcpEStatsListenerSynRcvd ZeroBasedCounter32, tcpEStatsListenerInitial ZeroBasedCounter32, tcpEStatsListenerEstablished ZeroBasedCounter32, tcpEStatsListenerAccepted ZeroBasedCounter32, tcpEStatsListenerExceedBacklog ZeroBasedCounter32, tcpEStatsListenerHCSynRcvd ZeroBasedCounter64, tcpEStatsListenerHCInitial ZeroBasedCounter64, tcpEStatsListenerHCEstablished ZeroBasedCounter64,
tcpEStatsListenerHCAccepted ZeroBasedCounter64, tcpEStatsListenerHCExceedBacklog ZeroBasedCounter64, tcpEStatsListenerCurConns Gauge32, tcpEStatsListenerMaxBacklog Unsigned32, tcpEStatsListenerCurBacklog Gauge32, tcpEStatsListenerCurEstabBacklog Gauge32 } tcpEStatsListenerStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time this listener was established. If the current state was entered prior to the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { tcpEStatsListenerEntry 1 } tcpEStatsListenerSynRcvd OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SYNs which have been received for this listener. The total number of failed connections for all reasons can be estimated to be tcpEStatsListenerSynRcvd minus tcpEStatsListenerAccepted and tcpEStatsListenerCurBacklog." ::= { tcpEStatsListenerEntry 2 } tcpEStatsListenerInitial OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections for which the Listener has allocated initial state and placed the connection in the backlog. This may happen in the SYN-RCVD or ESTABLISHED states, depending on the implementation." ::= { tcpEStatsListenerEntry 3 } tcpEStatsListenerEstablished OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION
"The number of connections that have been established to this endpoint (e.g., the number of first ACKs that have been received for this listener)." ::= { tcpEStatsListenerEntry 4 } tcpEStatsListenerAccepted OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections for which the Listener has successfully issued an accept, removing the connection from the backlog." ::= { tcpEStatsListenerEntry 5 } tcpEStatsListenerExceedBacklog OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections dropped from the backlog by this listener due to all reasons. This includes all connections that are allocated initial resources, but are not accepted for some reason." ::= { tcpEStatsListenerEntry 6 } tcpEStatsListenerHCSynRcvd OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SYNs that have been received for this listener on systems that can process (or reject) more than 1 million connections per second. See tcpEStatsListenerSynRcvd." ::= { tcpEStatsListenerEntry 7 } tcpEStatsListenerHCInitial OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections for which the Listener has allocated initial state and placed the connection in the backlog on systems that can process (or reject) more than 1 million connections per second. See tcpEStatsListenerInitial." ::= { tcpEStatsListenerEntry 8 }
tcpEStatsListenerHCEstablished OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of connections that have been established to this endpoint on systems that can process (or reject) more than 1 million connections per second. See tcpEStatsListenerEstablished." ::= { tcpEStatsListenerEntry 9 } tcpEStatsListenerHCAccepted OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections for which the Listener has successfully issued an accept, removing the connection from the backlog on systems that can process (or reject) more than 1 million connections per second. See tcpEStatsListenerAccepted." ::= { tcpEStatsListenerEntry 10 } tcpEStatsListenerHCExceedBacklog OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of connections dropped from the backlog by this listener due to all reasons on systems that can process (or reject) more than 1 million connections per second. See tcpEStatsListenerExceedBacklog." ::= { tcpEStatsListenerEntry 11 } tcpEStatsListenerCurConns OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of connections in the ESTABLISHED state, which have also been accepted. It excludes connections that have been established but not accepted because they are still subject to being discarded to shed load without explicit action by either endpoint." ::= { tcpEStatsListenerEntry 12 } tcpEStatsListenerMaxBacklog OBJECT-TYPE
SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of connections allowed in the backlog at one time." ::= { tcpEStatsListenerEntry 13 } tcpEStatsListenerCurBacklog OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of connections that are in the backlog. This gauge includes connections in ESTABLISHED or SYN-RECEIVED states for which the Listener has not yet issued an accept. If this listener is using some technique to implicitly represent the SYN-RECEIVED states (e.g., by cryptographically encoding the state information in the initial sequence number, ISS), it MAY elect to exclude connections in the SYN-RECEIVED state from the backlog." ::= { tcpEStatsListenerEntry 14 } tcpEStatsListenerCurEstabBacklog OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of connections in the backlog that are in the ESTABLISHED state, but for which the Listener has not yet issued an accept." ::= { tcpEStatsListenerEntry 15 } -- ================================================================ -- -- TCP Connection ID Table -- tcpEStatsConnectIdTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpEStatsConnectIdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table maps information that uniquely identifies each active TCP connection to the connection ID used by
other tables in this MIB Module. It is an extension of tcpConnectionTable in RFC 4022. Entries are retained in this table for the number of seconds indicated by the tcpEStatsConnTableLatency object, after the TCP connection first enters the closed state." ::= { tcpEStats 2 } tcpEStatsConnectIdEntry OBJECT-TYPE SYNTAX TcpEStatsConnectIdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table maps a TCP connection 4-tuple to a connection index." AUGMENTS { tcpConnectionEntry } ::= { tcpEStatsConnectIdTable 1 } TcpEStatsConnectIdEntry ::= SEQUENCE { tcpEStatsConnectIndex Unsigned32 } tcpEStatsConnectIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique integer value assigned to each TCP Connection entry. The RECOMMENDED algorithm is to begin at 1 and increase to some implementation-specific maximum value and then start again at 1 skipping values already in use." ::= { tcpEStatsConnectIdEntry 1 } -- ================================================================ -- -- Basic TCP Performance Statistics -- tcpEStatsPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpEStatsPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that are useful for
measuring TCP performance and first line problem diagnosis. Most objects in this table directly expose some TCP state variable or are easily implemented as simple functions (e.g., the maximum value) of TCP state variables. Entries are retained in this table for the number of seconds indicated by the tcpEStatsConnTableLatency object, after the TCP connection first enters the closed state." ::= { tcpEStats 3 } tcpEStatsPerfEntry OBJECT-TYPE SYNTAX TcpEStatsPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table has information about the characteristics of each active and recently closed TCP connection." INDEX { tcpEStatsConnectIndex } ::= { tcpEStatsPerfTable 1 } TcpEStatsPerfEntry ::= SEQUENCE { tcpEStatsPerfSegsOut ZeroBasedCounter32, tcpEStatsPerfDataSegsOut ZeroBasedCounter32, tcpEStatsPerfDataOctetsOut ZeroBasedCounter32, tcpEStatsPerfHCDataOctetsOut ZeroBasedCounter64, tcpEStatsPerfSegsRetrans ZeroBasedCounter32, tcpEStatsPerfOctetsRetrans ZeroBasedCounter32, tcpEStatsPerfSegsIn ZeroBasedCounter32, tcpEStatsPerfDataSegsIn ZeroBasedCounter32, tcpEStatsPerfDataOctetsIn ZeroBasedCounter32, tcpEStatsPerfHCDataOctetsIn ZeroBasedCounter64, tcpEStatsPerfElapsedSecs ZeroBasedCounter32, tcpEStatsPerfElapsedMicroSecs ZeroBasedCounter32, tcpEStatsPerfStartTimeStamp DateAndTime, tcpEStatsPerfCurMSS Gauge32, tcpEStatsPerfPipeSize Gauge32, tcpEStatsPerfMaxPipeSize Gauge32, tcpEStatsPerfSmoothedRTT Gauge32, tcpEStatsPerfCurRTO Gauge32, tcpEStatsPerfCongSignals ZeroBasedCounter32, tcpEStatsPerfCurCwnd Gauge32, tcpEStatsPerfCurSsthresh Gauge32, tcpEStatsPerfTimeouts ZeroBasedCounter32, tcpEStatsPerfCurRwinSent Gauge32,
tcpEStatsPerfMaxRwinSent Gauge32, tcpEStatsPerfZeroRwinSent ZeroBasedCounter32, tcpEStatsPerfCurRwinRcvd Gauge32, tcpEStatsPerfMaxRwinRcvd Gauge32, tcpEStatsPerfZeroRwinRcvd ZeroBasedCounter32, tcpEStatsPerfSndLimTransRwin ZeroBasedCounter32, tcpEStatsPerfSndLimTransCwnd ZeroBasedCounter32, tcpEStatsPerfSndLimTransSnd ZeroBasedCounter32, tcpEStatsPerfSndLimTimeRwin ZeroBasedCounter32, tcpEStatsPerfSndLimTimeCwnd ZeroBasedCounter32, tcpEStatsPerfSndLimTimeSnd ZeroBasedCounter32 } -- -- The following objects provide statistics on aggregate -- segments and data sent on a connection. These provide a -- direct measure of the Internet capacity consumed by a -- connection. -- tcpEStatsPerfSegsOut OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of segments sent." ::= { tcpEStatsPerfEntry 1 } tcpEStatsPerfDataSegsOut OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of segments sent containing a positive length data segment." ::= { tcpEStatsPerfEntry 2 } tcpEStatsPerfDataOctetsOut OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets of data contained in transmitted segments, including retransmitted data. Note that this does not include TCP headers." ::= { tcpEStatsPerfEntry 3 }
tcpEStatsPerfHCDataOctetsOut OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets of data contained in transmitted segments, including retransmitted data, on systems that can transmit more than 10 million bits per second. Note that this does not include TCP headers." ::= { tcpEStatsPerfEntry 4 } tcpEStatsPerfSegsRetrans OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of segments transmitted containing at least some retransmitted data." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 5 } tcpEStatsPerfOctetsRetrans OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets retransmitted." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 6 } tcpEStatsPerfSegsIn OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of segments received." ::= { tcpEStatsPerfEntry 7 } tcpEStatsPerfDataSegsIn OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of segments received containing a positive
length data segment." ::= { tcpEStatsPerfEntry 8 } tcpEStatsPerfDataOctetsIn OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets contained in received data segments, including retransmitted data. Note that this does not include TCP headers." ::= { tcpEStatsPerfEntry 9 } tcpEStatsPerfHCDataOctetsIn OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets contained in received data segments, including retransmitted data, on systems that can receive more than 10 million bits per second. Note that this does not include TCP headers." ::= { tcpEStatsPerfEntry 10 } tcpEStatsPerfElapsedSecs OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The seconds part of the time elapsed between tcpEStatsPerfStartTimeStamp and the most recent protocol event (segment sent or received)." ::= { tcpEStatsPerfEntry 11 } tcpEStatsPerfElapsedMicroSecs OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The micro-second part of time elapsed between tcpEStatsPerfStartTimeStamp to the most recent protocol event (segment sent or received). This may be updated in whatever time granularity is the system supports." ::= { tcpEStatsPerfEntry 12 }
tcpEStatsPerfStartTimeStamp OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Time at which this row was created and all ZeroBasedCounters in the row were initialized to zero." ::= { tcpEStatsPerfEntry 13 } -- -- The following objects can be used to fit minimal -- performance models to the TCP data rate. -- tcpEStatsPerfCurMSS OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The current maximum segment size (MSS), in octets." REFERENCE "RFC 1122, Requirements for Internet Hosts - Communication Layers" ::= { tcpEStatsPerfEntry 14 } tcpEStatsPerfPipeSize OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The TCP senders current estimate of the number of unacknowledged data octets in the network. While not in recovery (e.g., while the receiver is not reporting missing data to the sender), this is precisely the same as 'Flight size' as defined in RFC 2581, which can be computed as SND.NXT minus SND.UNA. [RFC793] During recovery, the TCP sender has incomplete information about the state of the network (e.g., which segments are lost vs reordered, especially if the return path is also dropping TCP acknowledgments). Current TCP standards do not mandate any specific algorithm for estimating the number of unacknowledged data octets in the network. RFC 3517 describes a conservative algorithm to use SACK
information to estimate the number of unacknowledged data octets in the network. tcpEStatsPerfPipeSize object SHOULD be the same as 'pipe' as defined in RFC 3517 if it is implemented. (Note that while not in recovery the pipe algorithm yields the same values as flight size). If RFC 3517 is not implemented, the data octets in flight SHOULD be estimated as SND.NXT minus SND.UNA adjusted by some measure of the data that has left the network and retransmitted data. For example, with Reno or NewReno style TCP, the number of duplicate acknowledgment is used to count the number of segments that have left the network. That is, PipeSize=SND.NXT-SND.UNA+(retransmits-dupacks)*CurMSS" REFERENCE "RFC 793, RFC 2581, RFC 3517" ::= { tcpEStatsPerfEntry 15 } tcpEStatsPerfMaxPipeSize OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum value of tcpEStatsPerfPipeSize, for this connection." REFERENCE "RFC 793, RFC 2581, RFC 3517" ::= { tcpEStatsPerfEntry 16 } tcpEStatsPerfSmoothedRTT OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The smoothed round trip time used in calculation of the RTO. See SRTT in [RFC2988]." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPerfEntry 17 } tcpEStatsPerfCurRTO OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION
"The current value of the retransmit timer RTO." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPerfEntry 18 } tcpEStatsPerfCongSignals OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of multiplicative downward congestion window adjustments due to all forms of congestion signals, including Fast Retransmit, Explicit Congestion Notification (ECN), and timeouts. This object summarizes all events that invoke the MD portion of Additive Increase Multiplicative Decrease (AIMD) congestion control, and as such is the best indicator of how a cwnd is being affected by congestion. Note that retransmission timeouts multiplicatively reduce the window implicitly by setting ssthresh, and SHOULD be included in tcpEStatsPerfCongSignals. In order to minimize spurious congestion indications due to out-of-order segments, tcpEStatsPerfCongSignals SHOULD be incremented in association with the Fast Retransmit algorithm." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPerfEntry 19 } tcpEStatsPerfCurCwnd OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The current congestion window, in octets." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPerfEntry 20 } tcpEStatsPerfCurSsthresh OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The current slow start threshold in octets." REFERENCE "RFC 2581, TCP Congestion Control"
::= { tcpEStatsPerfEntry 21 } tcpEStatsPerfTimeouts OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the retransmit timeout has expired when the RTO backoff multiplier is equal to one." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPerfEntry 22 } -- -- The following objects instrument receiver window updates -- sent by the local receiver to the remote sender. These can -- be used to determine if the local receiver is exerting flow -- control back pressure on the remote sender. -- tcpEStatsPerfCurRwinSent OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The most recent window advertisement sent, in octets." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 23 } tcpEStatsPerfMaxRwinSent OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum window advertisement sent, in octets." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 24 } tcpEStatsPerfZeroRwinSent OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of acknowledgments sent announcing a zero
receive window, when the previously announced window was not zero." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 25 } -- -- The following objects instrument receiver window updates -- from the far end-system to determine if the remote receiver -- has sufficient buffer space or is exerting flow-control -- back pressure on the local sender. -- tcpEStatsPerfCurRwinRcvd OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The most recent window advertisement received, in octets." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 26 } tcpEStatsPerfMaxRwinRcvd OBJECT-TYPE SYNTAX Gauge32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum window advertisement received, in octets." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 27 } tcpEStatsPerfZeroRwinRcvd OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of acknowledgments received announcing a zero receive window, when the previously announced window was not zero." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 28 } --
-- The following optional objects can be used to quickly -- identify which subsystems are limiting TCP performance. -- There are three parallel pairs of instruments that measure -- the extent to which TCP performance is limited by the -- announced receiver window (indicating a receiver -- bottleneck), the current congestion window or -- retransmission timeout (indicating a path bottleneck) and -- all others events (indicating a sender bottleneck). -- -- These instruments SHOULD be updated every time the TCP -- output routine stops sending data. The elapsed time since -- the previous stop is accumulated into the appropriate -- object as determined by the previous stop reason (e.g., -- stop state). The current stop reason determines which timer -- will be updated the next time TCP output stops. -- -- Since there is no explicit stop at the beginning of a -- timeout, it is necessary to retroactively reclassify the -- previous stop as 'Congestion Limited'. -- tcpEStatsPerfSndLimTransRwin OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of transitions into the 'Receiver Limited' state from either the 'Congestion Limited' or 'Sender Limited' states. This state is entered whenever TCP transmission stops because the sender has filled the announced receiver window, i.e., when SND.NXT has advanced to SND.UNA + SND.WND - 1 as described in RFC 793." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsPerfEntry 31 } tcpEStatsPerfSndLimTransCwnd OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of transitions into the 'Congestion Limited' state from either the 'Receiver Limited' or 'Sender Limited' states. This state is entered whenever TCP transmission stops because the sender has reached some limit defined by congestion control (e.g., cwnd) or other algorithms (retransmission timeouts) designed to control network traffic. See the definition of 'CONGESTION WINDOW'
in RFC 2581." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPerfEntry 32 } tcpEStatsPerfSndLimTransSnd OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of transitions into the 'Sender Limited' state from either the 'Receiver Limited' or 'Congestion Limited' states. This state is entered whenever TCP transmission stops due to some sender limit such as running out of application data or other resources and the Karn algorithm. When TCP stops sending data for any reason, which cannot be classified as Receiver Limited or Congestion Limited, it MUST be treated as Sender Limited." ::= { tcpEStatsPerfEntry 33 } tcpEStatsPerfSndLimTimeRwin OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The cumulative time spent in the 'Receiver Limited' state. See tcpEStatsPerfSndLimTransRwin." ::= { tcpEStatsPerfEntry 34 } tcpEStatsPerfSndLimTimeCwnd OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The cumulative time spent in the 'Congestion Limited' state. See tcpEStatsPerfSndLimTransCwnd. When there is a retransmission timeout, it SHOULD be counted in tcpEStatsPerfSndLimTimeCwnd (and not the cumulative time for some other state.)" ::= { tcpEStatsPerfEntry 35 } tcpEStatsPerfSndLimTimeSnd OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current
DESCRIPTION "The cumulative time spent in the 'Sender Limited' state. See tcpEStatsPerfSndLimTransSnd." ::= { tcpEStatsPerfEntry 36 } -- ================================================================ -- -- Statistics for diagnosing path problems -- tcpEStatsPathTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpEStatsPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that can be used to infer detailed behavior of the Internet path, such as the extent that there is reordering, ECN bits, and if RTT fluctuations are correlated to losses. Entries are retained in this table for the number of seconds indicated by the tcpEStatsConnTableLatency object, after the TCP connection first enters the closed state." ::= { tcpEStats 4 } tcpEStatsPathEntry OBJECT-TYPE SYNTAX TcpEStatsPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table has information about the characteristics of each active and recently closed TCP connection." INDEX { tcpEStatsConnectIndex } ::= { tcpEStatsPathTable 1 } TcpEStatsPathEntry ::= SEQUENCE { tcpEStatsPathRetranThresh Gauge32, tcpEStatsPathNonRecovDAEpisodes ZeroBasedCounter32, tcpEStatsPathSumOctetsReordered ZeroBasedCounter32, tcpEStatsPathNonRecovDA ZeroBasedCounter32, tcpEStatsPathSampleRTT Gauge32, tcpEStatsPathRTTVar Gauge32, tcpEStatsPathMaxRTT Gauge32, tcpEStatsPathMinRTT Gauge32, tcpEStatsPathSumRTT ZeroBasedCounter32,
tcpEStatsPathHCSumRTT ZeroBasedCounter64, tcpEStatsPathCountRTT ZeroBasedCounter32, tcpEStatsPathMaxRTO Gauge32, tcpEStatsPathMinRTO Gauge32, tcpEStatsPathIpTtl Unsigned32, tcpEStatsPathIpTosIn OCTET STRING, tcpEStatsPathIpTosOut OCTET STRING, tcpEStatsPathPreCongSumCwnd ZeroBasedCounter32, tcpEStatsPathPreCongSumRTT ZeroBasedCounter32, tcpEStatsPathPostCongSumRTT ZeroBasedCounter32, tcpEStatsPathPostCongCountRTT ZeroBasedCounter32, tcpEStatsPathECNsignals ZeroBasedCounter32, tcpEStatsPathDupAckEpisodes ZeroBasedCounter32, tcpEStatsPathRcvRTT Gauge32, tcpEStatsPathDupAcksOut ZeroBasedCounter32, tcpEStatsPathCERcvd ZeroBasedCounter32, tcpEStatsPathECESent ZeroBasedCounter32 } -- -- The following optional objects can be used to infer segment -- reordering on the path from the local sender to the remote -- receiver. -- tcpEStatsPathRetranThresh OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of duplicate acknowledgments required to trigger Fast Retransmit. Note that although this is constant in traditional Reno TCP implementations, it is adaptive in many newer TCPs." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPathEntry 1 } tcpEStatsPathNonRecovDAEpisodes OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of duplicate acknowledgment episodes that did not trigger a Fast Retransmit because ACK advanced prior to the number of duplicate acknowledgments reaching RetranThresh.
In many implementations this is the number of times the 'dupacks' counter is set to zero when it is non-zero but less than RetranThresh. Note that the change in tcpEStatsPathNonRecovDAEpisodes divided by the change in tcpEStatsPerfDataSegsOut is an estimate of the frequency of data reordering on the forward path over some interval." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPathEntry 2 } tcpEStatsPathSumOctetsReordered OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of the amounts SND.UNA advances on the acknowledgment which ends a dup-ack episode without a retransmission. Note the change in tcpEStatsPathSumOctetsReordered divided by the change in tcpEStatsPathNonRecovDAEpisodes is an estimates of the average reordering distance, over some interval." ::= { tcpEStatsPathEntry 3 } tcpEStatsPathNonRecovDA OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Duplicate acks (or SACKS) that did not trigger a Fast Retransmit because ACK advanced prior to the number of duplicate acknowledgments reaching RetranThresh. In many implementations, this is the sum of the 'dupacks' counter, just before it is set to zero because ACK advanced without a Fast Retransmit. Note that the change in tcpEStatsPathNonRecovDA divided by the change in tcpEStatsPathNonRecovDAEpisodes is an estimate of the average reordering distance in segments over some interval." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPathEntry 4 }
-- -- The following optional objects instrument the round trip -- time estimator and the retransmission timeout timer. -- tcpEStatsPathSampleRTT OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The most recent raw round trip time measurement used in calculation of the RTO." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 11 } tcpEStatsPathRTTVar OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The round trip time variation used in calculation of the RTO. See RTTVAR in [RFC2988]." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 12 } tcpEStatsPathMaxRTT OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum sampled round trip time." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 13 } tcpEStatsPathMinRTT OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum sampled round trip time." REFERENCE
"RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 14 } tcpEStatsPathSumRTT OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of all sampled round trip times. Note that the change in tcpEStatsPathSumRTT divided by the change in tcpEStatsPathCountRTT is the mean RTT, uniformly averaged over an enter interval." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 15 } tcpEStatsPathHCSumRTT OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of all sampled round trip times, on all systems that implement multiple concurrent RTT measurements. Note that the change in tcpEStatsPathHCSumRTT divided by the change in tcpEStatsPathCountRTT is the mean RTT, uniformly averaged over an enter interval." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 16 } tcpEStatsPathCountRTT OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of round trip time samples included in tcpEStatsPathSumRTT and tcpEStatsPathHCSumRTT." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 17 } tcpEStatsPathMaxRTO OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds"
MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum value of the retransmit timer RTO." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 18 } tcpEStatsPathMinRTO OBJECT-TYPE SYNTAX Gauge32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum value of the retransmit timer RTO." REFERENCE "RFC 2988, Computing TCP's Retransmission Timer" ::= { tcpEStatsPathEntry 19 } -- -- The following optional objects provide information about -- how TCP is using the IP layer. -- tcpEStatsPathIpTtl OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the TTL field carried in the most recently received IP header. This is sometimes useful to detect changing or unstable routes." REFERENCE "RFC 791, Internet Protocol" ::= { tcpEStatsPathEntry 20 } tcpEStatsPathIpTosIn OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the IPv4 Type of Service octet, or the IPv6 traffic class octet, carried in the most recently received IP header. This is useful to diagnose interactions between TCP and any IP layer packet scheduling and delivery policy, which might be in effect to implement Diffserv."
REFERENCE "RFC 3260, New Terminology and Clarifications for Diffserv" ::= { tcpEStatsPathEntry 21 } tcpEStatsPathIpTosOut OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the IPv4 Type Of Service octet, or the IPv6 traffic class octet, carried in the most recently transmitted IP header. This is useful to diagnose interactions between TCP and any IP layer packet scheduling and delivery policy, which might be in effect to implement Diffserv." REFERENCE "RFC 3260, New Terminology and Clarifications for Diffserv" ::= { tcpEStatsPathEntry 22 } -- -- The following optional objects characterize the congestion -- feedback signals by collecting statistics on how the -- congestion events are correlated to losses, changes in RTT -- and other protocol events. -- tcpEStatsPathPreCongSumCwnd OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of the values of the congestion window, in octets, captured each time a congestion signal is received. This MUST be updated each time tcpEStatsPerfCongSignals is incremented, such that the change in tcpEStatsPathPreCongSumCwnd divided by the change in tcpEStatsPerfCongSignals is the average window (over some interval) just prior to a congestion signal." ::= { tcpEStatsPathEntry 23 } tcpEStatsPathPreCongSumRTT OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION
"Sum of the last sample of the RTT (tcpEStatsPathSampleRTT) prior to the received congestion signals. This MUST be updated each time tcpEStatsPerfCongSignals is incremented, such that the change in tcpEStatsPathPreCongSumRTT divided by the change in tcpEStatsPerfCongSignals is the average RTT (over some interval) just prior to a congestion signal." ::= { tcpEStatsPathEntry 24 } tcpEStatsPathPostCongSumRTT OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "Sum of the first sample of the RTT (tcpEStatsPathSampleRTT) following each congestion signal. Such that the change in tcpEStatsPathPostCongSumRTT divided by the change in tcpEStatsPathPostCongCountRTT is the average RTT (over some interval) just after a congestion signal." ::= { tcpEStatsPathEntry 25 } tcpEStatsPathPostCongCountRTT OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of RTT samples included in tcpEStatsPathPostCongSumRTT such that the change in tcpEStatsPathPostCongSumRTT divided by the change in tcpEStatsPathPostCongCountRTT is the average RTT (over some interval) just after a congestion signal." ::= { tcpEStatsPathEntry 26 } -- -- The following optional objects can be used to detect other -- types of non-loss congestion signals such as source quench -- or ECN. -- tcpEStatsPathECNsignals OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of congestion signals delivered to the TCP sender via explicit congestion notification (ECN). This is typically the number of segments bearing Echo Congestion
Experienced (ECE) bits, but should also include segments failing the ECN nonce check or other explicit congestion signals." REFERENCE "RFC 3168, The Addition of Explicit Congestion Notification (ECN) to IP" ::= { tcpEStatsPathEntry 27 } -- -- The following optional objects are receiver side -- instruments of the path from the sender to the receiver. In -- general, the receiver has less information about the state -- of the path because the receiver does not have a robust -- mechanism to infer the sender's actions. -- tcpEStatsPathDupAckEpisodes OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Duplicate Acks Sent when prior Ack was not duplicate. This is the number of times that a contiguous series of duplicate acknowledgments have been sent. This is an indication of the number of data segments lost or reordered on the path from the remote TCP endpoint to the near TCP endpoint." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPathEntry 28 } tcpEStatsPathRcvRTT OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The receiver's estimate of the Path RTT. Adaptive receiver window algorithms depend on the receiver to having a good estimate of the path RTT." ::= { tcpEStatsPathEntry 29 } tcpEStatsPathDupAcksOut OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION
"The number of duplicate ACKs sent. The ratio of the change in tcpEStatsPathDupAcksOut to the change in tcpEStatsPathDupAckEpisodes is an indication of reorder or recovery distance over some interval." REFERENCE "RFC 2581, TCP Congestion Control" ::= { tcpEStatsPathEntry 30 } tcpEStatsPathCERcvd OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of segments received with IP headers bearing Congestion Experienced (CE) markings." REFERENCE "RFC 3168, The Addition of Explicit Congestion Notification (ECN) to IP" ::= { tcpEStatsPathEntry 31 } tcpEStatsPathECESent OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of times the Echo Congestion Experienced (ECE) bit in the TCP header has been set (transitioned from 0 to 1), due to a Congestion Experienced (CE) marking on an IP header. Note that ECE can be set and reset only once per RTT, while CE can be set on many segments per RTT." REFERENCE "RFC 3168, The Addition of Explicit Congestion Notification (ECN) to IP" ::= { tcpEStatsPathEntry 32 } -- ================================================================ -- -- Statistics for diagnosing stack algorithms -- tcpEStatsStackTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpEStatsStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that are most useful for determining how well some of the TCP control algorithms are coping with this particular
path. Entries are retained in this table for the number of seconds indicated by the tcpEStatsConnTableLatency object, after the TCP connection first enters the closed state." ::= { tcpEStats 5 } tcpEStatsStackEntry OBJECT-TYPE SYNTAX TcpEStatsStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table has information about the characteristics of each active and recently closed TCP connection." INDEX { tcpEStatsConnectIndex } ::= { tcpEStatsStackTable 1 } TcpEStatsStackEntry ::= SEQUENCE { tcpEStatsStackActiveOpen TruthValue, tcpEStatsStackMSSSent Unsigned32, tcpEStatsStackMSSRcvd Unsigned32, tcpEStatsStackWinScaleSent Integer32, tcpEStatsStackWinScaleRcvd Integer32, tcpEStatsStackTimeStamps TcpEStatsNegotiated, tcpEStatsStackECN TcpEStatsNegotiated, tcpEStatsStackWillSendSACK TcpEStatsNegotiated, tcpEStatsStackWillUseSACK TcpEStatsNegotiated, tcpEStatsStackState INTEGER, tcpEStatsStackNagle TruthValue, tcpEStatsStackMaxSsCwnd Gauge32, tcpEStatsStackMaxCaCwnd Gauge32, tcpEStatsStackMaxSsthresh Gauge32, tcpEStatsStackMinSsthresh Gauge32, tcpEStatsStackInRecovery INTEGER, tcpEStatsStackDupAcksIn ZeroBasedCounter32, tcpEStatsStackSpuriousFrDetected ZeroBasedCounter32, tcpEStatsStackSpuriousRtoDetected ZeroBasedCounter32, tcpEStatsStackSoftErrors ZeroBasedCounter32, tcpEStatsStackSoftErrorReason INTEGER, tcpEStatsStackSlowStart ZeroBasedCounter32, tcpEStatsStackCongAvoid ZeroBasedCounter32, tcpEStatsStackOtherReductions ZeroBasedCounter32, tcpEStatsStackCongOverCount ZeroBasedCounter32, tcpEStatsStackFastRetran ZeroBasedCounter32, tcpEStatsStackSubsequentTimeouts ZeroBasedCounter32,
tcpEStatsStackCurTimeoutCount Gauge32, tcpEStatsStackAbruptTimeouts ZeroBasedCounter32, tcpEStatsStackSACKsRcvd ZeroBasedCounter32, tcpEStatsStackSACKBlocksRcvd ZeroBasedCounter32, tcpEStatsStackSendStall ZeroBasedCounter32, tcpEStatsStackDSACKDups ZeroBasedCounter32, tcpEStatsStackMaxMSS Gauge32, tcpEStatsStackMinMSS Gauge32, tcpEStatsStackSndInitial Unsigned32, tcpEStatsStackRecInitial Unsigned32, tcpEStatsStackCurRetxQueue Gauge32, tcpEStatsStackMaxRetxQueue Gauge32, tcpEStatsStackCurReasmQueue Gauge32, tcpEStatsStackMaxReasmQueue Gauge32 } -- -- The following objects reflect TCP options carried on the -- SYN or SYN-ACK. These options are used to provide -- additional protocol parameters or to enable various -- optional TCP features or algorithms. -- -- Except as noted, the TCP protocol does not permit these -- options to change after the SYN exchange. -- tcpEStatsStackActiveOpen OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "True(1) if the local connection traversed the SYN-SENT state, else false(2)." REFERENCE "RFC 793, Transmission Control Protocol" ::= { tcpEStatsStackEntry 1 } tcpEStatsStackMSSSent OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value sent in an MSS option, or zero if none." REFERENCE "RFC 1122, Requirements for Internet Hosts - Communication Layers" ::= { tcpEStatsStackEntry 2 }