From 63e34d2a0e3b28fdccb27de3476002b47a54d9f2 Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Fri, 1 Jul 2016 12:42:30 +0530 Subject: [PATCH 1/7] Addition of MIBS files supported Internal Tag: OcNOS-1.2.0.203 --- mibs/BGP4-MIB.txt | 839 ++++++++++++++++ mibs/BRIDGE.txt | 1478 ++++++++++++++++++++++++++++ mibs/IEEE8023-LAG-MIB.txt | 1371 ++++++++++++++++++++++++++ mibs/IF-MIB.txt | 1899 ++++++++++++++++++++++++++++++++++++ mibs/MSTP-MIB.txt | 732 ++++++++++++++ mibs/P-BRIDGE-MIB.txt | 1245 ++++++++++++++++++++++++ mibs/Q-BRIDGE-MIB.txt | 1905 +++++++++++++++++++++++++++++++++++++ mibs/RSTP-MIB.txt | 327 +++++++ 8 files changed, 9796 insertions(+) create mode 100644 mibs/BGP4-MIB.txt create mode 100644 mibs/BRIDGE.txt create mode 100644 mibs/IEEE8023-LAG-MIB.txt create mode 100644 mibs/IF-MIB.txt create mode 100644 mibs/MSTP-MIB.txt create mode 100644 mibs/P-BRIDGE-MIB.txt create mode 100644 mibs/Q-BRIDGE-MIB.txt create mode 100644 mibs/RSTP-MIB.txt diff --git a/mibs/BGP4-MIB.txt b/mibs/BGP4-MIB.txt new file mode 100644 index 00000000..94654e0b --- /dev/null +++ b/mibs/BGP4-MIB.txt @@ -0,0 +1,839 @@ +BGP4-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + IpAddress, Integer32, Counter32, Gauge32 + FROM SNMPv2-SMI + mib-2 + FROM RFC1213-MIB; + + bgp MODULE-IDENTITY + LAST-UPDATED "9405050000Z" + ORGANIZATION "IETF BGP Working Group" + CONTACT-INFO + " John Chu (Editor) + Postal: IBM Corp. + P.O.Box 218 + Yorktown Heights, NY 10598 + US + Tel: +1 914 945 3156 + Fax: +1 914 945 2141 + E-mail: jychu@watson.ibm.com" + DESCRIPTION + "The MIB module for BGP-4." + ::= { mib-2 15 } + + bgpVersion OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Vector of supported BGP protocol version + numbers. Each peer negotiates the version + from this vector. Versions are identified + via the string of bits contained within this + object. The first octet contains bits 0 to + 7, the second octet contains bits 8 to 15, + and so on, with the most significant bit + referring to the lowest bit number in the + octet (e.g., the MSB of the first octet + refers to bit 0). If a bit, i, is present + and set, then the version (i+1) of the BGP + is supported." + ::= { bgp 1 } + + bgpLocalAs OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local autonomous system number." + ::= { bgp 2 } + + + + -- BGP Peer table. This table contains, one entry per + -- BGP peer, information about the BGP peer. + + bgpPeerTable OBJECT-TYPE + SYNTAX SEQUENCE OF BgpPeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "BGP peer table. This table contains, + one entry per BGP peer, information about + the connections with BGP peers." + ::= { bgp 3 } + bgpPeerEntry OBJECT-TYPE + SYNTAX BgpPeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Entry containing information about the + connection with a BGP peer." + INDEX { bgpPeerRemoteAddr } + ::= { bgpPeerTable 1 } + + BgpPeerEntry ::= SEQUENCE { + bgpPeerIdentifier + IpAddress, + bgpPeerState + INTEGER, + bgpPeerAdminStatus + INTEGER, + bgpPeerNegotiatedVersion + Integer32, + bgpPeerLocalAddr + IpAddress, + bgpPeerLocalPort + INTEGER, + bgpPeerRemoteAddr + IpAddress, + bgpPeerRemotePort + INTEGER, + bgpPeerRemoteAs + INTEGER, + bgpPeerInUpdates + Counter32, + bgpPeerOutUpdates + Counter32, + bgpPeerInTotalMessages + Counter32, + bgpPeerOutTotalMessages + Counter32, + bgpPeerLastError + OCTET STRING, + bgpPeerFsmEstablishedTransitions + Counter32, + bgpPeerFsmEstablishedTime + Gauge32, + bgpPeerConnectRetryInterval + INTEGER, + bgpPeerHoldTime + INTEGER, + bgpPeerKeepAlive + INTEGER, + bgpPeerHoldTimeConfigured + INTEGER, + bgpPeerKeepAliveConfigured + INTEGER, + bgpPeerMinASOriginationInterval + INTEGER, + bgpPeerMinRouteAdvertisementInterval + INTEGER, + bgpPeerInUpdateElapsedTime + Gauge32 + } + + bgpPeerIdentifier OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP Identifier of this entry's BGP + peer." + ::= { bgpPeerEntry 1 } + + bgpPeerState OBJECT-TYPE + SYNTAX INTEGER { + idle(1), + connect(2), + active(3), + opensent(4), + openconfirm(5), + established(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP peer connection state." + ::= { bgpPeerEntry 2 } + + bgpPeerAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + stop(1), + start(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The desired state of the BGP connection. + A transition from 'stop' to 'start' will + cause the BGP Start Event to be generated. + A transition from 'start' to 'stop' will + cause the BGP Stop Event to be generated. + This parameter can be used to restart BGP + peer connections. Care should be used in + providing write access to this object + without adequate authentication." + ::= { bgpPeerEntry 3 } + + bgpPeerNegotiatedVersion OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The negotiated version of BGP running + between the two peers." + ::= { bgpPeerEntry 4 } + + bgpPeerLocalAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local IP address of this entry's BGP + connection." + ::= { bgpPeerEntry 5 } + + bgpPeerLocalPort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local port for the TCP connection + between the BGP peers." + ::= { bgpPeerEntry 6 } + + bgpPeerRemoteAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote IP address of this entry's BGP + peer." + ::= { bgpPeerEntry 7 } + + bgpPeerRemotePort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote port for the TCP connection + between the BGP peers. Note that the + objects bgpPeerLocalAddr, + bgpPeerLocalPort, bgpPeerRemoteAddr and + bgpPeerRemotePort provide the appropriate + reference to the standard MIB TCP + connection table." + ::= { bgpPeerEntry 8 } + + bgpPeerRemoteAs OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote autonomous system number." + ::= { bgpPeerEntry 9 } + + bgpPeerInUpdates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of BGP UPDATE messages + received on this connection. This object + should be initialized to zero (0) when the + connection is established." + ::= { bgpPeerEntry 10 } + + bgpPeerOutUpdates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of BGP UPDATE messages + transmitted on this connection. This + object should be initialized to zero (0) + when the connection is established." + ::= { bgpPeerEntry 11 } + + bgpPeerInTotalMessages OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of messages received + from the remote peer on this connection. + This object should be initialized to zero + when the connection is established." + ::= { bgpPeerEntry 12 } + + bgpPeerOutTotalMessages OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of messages transmitted to + the remote peer on this connection. This + object should be initialized to zero when + the connection is established." + ::= { bgpPeerEntry 13 } + + bgpPeerLastError OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last error code and subcode seen by this + peer on this connection. If no error has + occurred, this field is zero. Otherwise, the + first byte of this two byte OCTET STRING + contains the error code, and the second byte + contains the subcode." + ::= { bgpPeerEntry 14 } + + bgpPeerFsmEstablishedTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of times the BGP FSM + transitioned into the established state." + ::= { bgpPeerEntry 15 } + + bgpPeerFsmEstablishedTime OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This timer indicates how long (in + seconds) this peer has been in the + Established state or how long + since this peer was last in the + Established state. It is set to zero when + a new peer is configured or the router is + booted." + ::= { bgpPeerEntry 16 } + + bgpPeerConnectRetryInterval OBJECT-TYPE + SYNTAX INTEGER (1..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time interval in seconds for the + ConnectRetry timer. The suggested value + for this timer is 120 seconds." + ::= { bgpPeerEntry 17 } + + bgpPeerHoldTime OBJECT-TYPE + SYNTAX INTEGER ( 0 | 3..65535 ) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time interval in seconds for the Hold + Timer established with the peer. The + value of this object is calculated by this + BGP speaker by using the smaller of the + value in bgpPeerHoldTimeConfigured and the + Hold Time received in the OPEN message. + This value must be at lease three seconds + if it is not zero (0) in which case the + Hold Timer has not been established with + the peer, or, the value of + bgpPeerHoldTimeConfigured is zero (0)." + ::= { bgpPeerEntry 18 } + + bgpPeerKeepAlive OBJECT-TYPE + SYNTAX INTEGER ( 0 | 1..21845 ) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time interval in seconds for the KeepAlive + timer established with the peer. The value + of this object is calculated by this BGP + speaker such that, when compared with + bgpPeerHoldTime, it has the same + proportion as what + bgpPeerKeepAliveConfigured has when + compared with bgpPeerHoldTimeConfigured. + If the value of this object is zero (0), + it indicates that the KeepAlive timer has + not been established with the peer, or, + the value of bgpPeerKeepAliveConfigured is + zero (0)." + ::= { bgpPeerEntry 19 } + + bgpPeerHoldTimeConfigured OBJECT-TYPE + SYNTAX INTEGER ( 0 | 3..65535 ) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time interval in seconds for the Hold Time + configured for this BGP speaker with this + peer. This value is placed in an OPEN + message sent to this peer by this BGP + speaker, and is compared with the Hold + Time field in an OPEN message received + from the peer when determining the Hold + Time (bgpPeerHoldTime) with the peer. + This value must not be less than three + seconds if it is not zero (0) in which + case the Hold Time is NOT to be + established with the peer. The suggested + value for this timer is 90 seconds." + ::= { bgpPeerEntry 20 } + + bgpPeerKeepAliveConfigured OBJECT-TYPE + SYNTAX INTEGER ( 0 | 1..21845 ) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time interval in seconds for the + KeepAlive timer configured for this BGP + speaker with this peer. The value of this + object will only determine the + KEEPALIVE messages' frequency relative to + the value specified in + bgpPeerHoldTimeConfigured; the actual + time interval for the KEEPALIVE messages + is indicated by bgpPeerKeepAlive. A + reasonable maximum value for this timer + would be configured to be one + third of that of + bgpPeerHoldTimeConfigured. + If the value of this object is zero (0), + no periodical KEEPALIVE messages are sent + to the peer after the BGP connection has + been established. The suggested value for + this timer is 30 seconds." + ::= { bgpPeerEntry 21 } + + bgpPeerMinASOriginationInterval OBJECT-TYPE + SYNTAX INTEGER (1..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time interval in seconds for the + MinASOriginationInterval timer. + The suggested value for this timer is 15 + seconds." + ::= { bgpPeerEntry 22 } + + bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE + SYNTAX INTEGER (1..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time interval in seconds for the + MinRouteAdvertisementInterval timer. + The suggested value for this timer is 30 + seconds." + ::= { bgpPeerEntry 23 } + + bgpPeerInUpdateElapsedTime OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Elapsed time in seconds since the last BGP + UPDATE message was received from the peer. + Each time bgpPeerInUpdates is incremented, + the value of this object is set to zero + (0)." + ::= { bgpPeerEntry 24 } + + + bgpIdentifier OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP Identifier of local system." + ::= { bgp 4 } + + -- Received Path Attribute Table. This table contains, + -- one entry per path to a network, path attributes + -- received from all peers running BGP version 3 or + -- less. This table is deprecated. + + bgpRcvdPathAttrTable OBJECT-TYPE + SYNTAX SEQUENCE OF BgpPathAttrEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "The BGP Received Path Attribute Table + contains information about paths to + destination networks received from all + peers running BGP version 3 or less. + --IPI Comments: Not Supported" + ::= { bgp 5 } + + bgpPathAttrEntry OBJECT-TYPE + SYNTAX BgpPathAttrEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Information about a path to a network. + --IPI Comments: Not Supported" + INDEX { bgpPathAttrDestNetwork, + bgpPathAttrPeer } + ::= { bgpRcvdPathAttrTable 1 } + + BgpPathAttrEntry ::= SEQUENCE { + bgpPathAttrPeer + IpAddress, + bgpPathAttrDestNetwork + IpAddress, + bgpPathAttrOrigin + INTEGER, + bgpPathAttrASPath + OCTET STRING, + bgpPathAttrNextHop + IpAddress, + bgpPathAttrInterASMetric + Integer32 + } + + bgpPathAttrPeer OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The IP address of the peer where the path + information was learned. + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 1 } + + bgpPathAttrDestNetwork OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The address of the destination network. + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 2 } + + bgpPathAttrOrigin OBJECT-TYPE + SYNTAX INTEGER { + igp(1),-- networks are interior + egp(2),-- networks learned via EGP + incomplete(3) -- undetermined + } + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The ultimate origin of the path information. + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 3 } + + bgpPathAttrASPath OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2..255)) + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The set of ASs that must be traversed to + reach the network. This object is + probably best represented as SEQUENCE OF + INTEGER. For SMI compatibility, though, + it is represented as OCTET STRING. Each + AS is represented as a pair of octets + according to the following algorithm: + + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255; + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 4 } + + bgpPathAttrNextHop OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The address of the border router that + should be used for the destination + network. + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 5 } + + bgpPathAttrInterASMetric OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "The optional inter-AS metric. If this + attribute has not been provided for this + route, the value for this object is 0. + --IPI Comments: Not Supported" + ::= { bgpPathAttrEntry 6 } + + + + -- BGP-4 Received Path Attribute Table. This table + -- contains, one entry per path to a network, path + -- attributes received from all peers running BGP-4. + + bgp4PathAttrTable OBJECT-TYPE + SYNTAX SEQUENCE OF Bgp4PathAttrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The BGP-4 Received Path Attribute Table + contains information about paths to + destination networks received from all + BGP4 peers. + --IPI Comments: Not Supported" + ::= { bgp 6 } + + bgp4PathAttrEntry OBJECT-TYPE + SYNTAX Bgp4PathAttrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a path to a network. + --IPI Comments: Not Supported" + INDEX { bgp4PathAttrIpAddrPrefix, + bgp4PathAttrIpAddrPrefixLen, + bgp4PathAttrPeer } + ::= { bgp4PathAttrTable 1 } + + Bgp4PathAttrEntry ::= SEQUENCE { + bgp4PathAttrPeer + IpAddress, + bgp4PathAttrIpAddrPrefixLen + INTEGER, + bgp4PathAttrIpAddrPrefix + IpAddress, + bgp4PathAttrOrigin + INTEGER, + bgp4PathAttrASPathSegment + OCTET STRING, + bgp4PathAttrNextHop + IpAddress, + bgp4PathAttrMultiExitDisc + INTEGER, + bgp4PathAttrLocalPref + INTEGER, + bgp4PathAttrAtomicAggregate + INTEGER, + bgp4PathAttrAggregatorAS + INTEGER, + bgp4PathAttrAggregatorAddr + IpAddress, + bgp4PathAttrCalcLocalPref + INTEGER, + bgp4PathAttrBest + INTEGER, + bgp4PathAttrUnknown + OCTET STRING + + } + + bgp4PathAttrPeer OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the peer where the path + information was learned. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 1 } + + bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Length in bits of the IP address prefix + in the Network Layer Reachability + Information field. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 2 } + + bgp4PathAttrIpAddrPrefix OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An IP address prefix in the Network Layer + Reachability Information field. This object + is an IP address containing the prefix with + length specified by + bgp4PathAttrIpAddrPrefixLen. + Any bits beyond the length specified by + bgp4PathAttrIpAddrPrefixLen are zeroed. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 3 } + + bgp4PathAttrOrigin OBJECT-TYPE + SYNTAX INTEGER { + igp(1),-- networks are interior + egp(2),-- networks learned + -- via EGP + incomplete(3) -- undetermined + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The ultimate origin of the path + information. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 4 } + + bgp4PathAttrASPathSegment OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence of AS path segments. Each AS + path segment is represented by a triple + . + + The type is a 1-octet field which has two + possible values: + 1 AS_SET: unordered set of ASs a + route in the UPDATE + message has traversed + 2 AS_SEQUENCE: ordered set of ASs + a route in the UPDATE + message has traversed. + + The length is a 1-octet field containing the + number of ASs in the value field. + + The value field contains one or more AS + numbers, each AS is represented in the octet + string as a pair of octets according to the + following algorithm: + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255; + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 5 } + + bgp4PathAttrNextHop OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the border router that + should be used for the destination + network. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 6 } + + bgp4PathAttrMultiExitDisc OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This metric is used to discriminate + between multiple exit points to an + adjacent autonomous system. A value of -1 + indicates the absence of this attribute. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 7 } + + bgp4PathAttrLocalPref OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The originating BGP4 speaker's degree of + preference for an advertised route. A + value of -1 indicates the absence of this + attribute. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 8 } + + bgp4PathAttrAtomicAggregate OBJECT-TYPE + SYNTAX INTEGER { + lessSpecificRrouteNotSelected(1), + lessSpecificRouteSelected(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether or not the local system has + selected a less specific route without + selecting a more specific route. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 9 } + + bgp4PathAttrAggregatorAS OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The AS number of the last BGP4 speaker that + performed route aggregation. A value of + zero (0) indicates the absence of this + attribute. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 10 } + + bgp4PathAttrAggregatorAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the last BGP4 speaker + that performed route aggregation. A value + of 0.0.0.0 indicates the absence of this + attribute. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 11 } + + bgp4PathAttrCalcLocalPref OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The degree of preference calculated by the + receiving BGP4 speaker for an advertised + route. A value of -1 indicates the + absence of this attribute. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 12 } + + bgp4PathAttrBest OBJECT-TYPE + SYNTAX INTEGER { + false(1),-- not chosen as best route + true(2) -- chosen as best route + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An indication of whether or not this route + was chosen as the best BGP4 route. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 13 } + + bgp4PathAttrUnknown OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "One or more path attributes not understood + by this BGP4 speaker. Size zero (0) + indicates the absence of such + attribute(s). Octets beyond the maximum + size, if any, are not recorded by this + object. + --IPI Comments: Not Supported" + ::= { bgp4PathAttrEntry 14 } + + + -- Traps. + + bgpTraps OBJECT IDENTIFIER ::= { bgp 7 } + + bgpEstablished NOTIFICATION-TYPE + OBJECTS { bgpPeerLastError, + bgpPeerState } + STATUS current + DESCRIPTION + "The BGP Established event is generated when + the BGP FSM enters the ESTABLISHED state." + ::= { bgpTraps 1 } + + bgpBackwardTransition NOTIFICATION-TYPE + OBJECTS { bgpPeerLastError, + bgpPeerState } + STATUS current + DESCRIPTION + "The BGPBackwardTransition Event is generated + when the BGP FSM moves from a higher numbered + state to a lower numbered state." + ::= { bgpTraps 2 } + +END \ No newline at end of file diff --git a/mibs/BRIDGE.txt b/mibs/BRIDGE.txt new file mode 100644 index 00000000..f3abcd44 --- /dev/null +++ b/mibs/BRIDGE.txt @@ -0,0 +1,1478 @@ +-- ***************************************************************** +-- BRIDGE-MIB.my: Managed Objects for Bridges +-- +-- April 2006, Jayakumar Kadirvelu +-- +-- Copyright (c) 2006 by cisco Systems, Inc. +-- All rights reserved. +-- ***************************************************************** +-- +-- This mib was extracted from RFC 4188 + + BRIDGE-MIB DEFINITIONS ::= BEGIN + + -- ---------------------------------------------------------- -- + -- MIB for IEEE 802.1D devices + -- ---------------------------------------------------------- -- + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Counter32, Integer32, TimeTicks, mib-2 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, MacAddress + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + InterfaceIndex FROM IF-MIB + ; + + dot1dBridge MODULE-IDENTITY + LAST-UPDATED "200509190000Z" + ORGANIZATION "IETF Bridge MIB Working Group" + CONTACT-INFO + "Email: bridge-mib@ietf.org + + K.C. Norseth (Editor) + L-3 Communications + Tel: +1 801-594-2809 + Email: kenyon.c.norseth@L-3com.com + Postal: 640 N. 2200 West. + Salt Lake City, Utah 84116-0850 + Les Bell (Editor) + 3Com Europe Limited + Phone: +44 1442 438025 + Email: elbell@ntlworld.com + Postal: 3Com Centre, Boundary Way + Hemel Hempstead + Herts. HP2 7YU + UK + + Send comments to " + DESCRIPTION + "The Bridge MIB module for managing devices that support + IEEE 802.1D. + + Copyright (C) The Internet Society (2005). This version of + this MIB module is part of RFC 4188; see the RFC itself for + full legal notices." + REVISION "200509190000Z" + DESCRIPTION + "Third revision, published as part of RFC 4188. + + The MIB module has been converted to SMIv2 format. + Conformance statements have been added and some + description and reference clauses have been updated. + + The object dot1dStpPortPathCost32 was added to + support IEEE 802.1t and the permissible values of + dot1dStpPriority and dot1dStpPortPriority have been + clarified for bridges supporting IEEE 802.1t or + IEEE 802.1w. + + The interpretation of dot1dStpTimeSinceTopologyChange + has been clarified for bridges supporting the Rapid + Spanning Tree Protocol (RSTP)." + REVISION "199307310000Z" + DESCRIPTION + "Second revision, published as part of RFC 1493." + REVISION "199112310000Z" + DESCRIPTION + "Initial revision, published as part of RFC 1286." + ::= { mib-2 17 } + + + -- ---------------------------------------------------------- -- + -- Textual Conventions + -- ---------------------------------------------------------- -- + + BridgeId ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The Bridge-Identifier, as used in the Spanning Tree + Protocol, to uniquely identify a bridge. Its first two + octets (in network byte order) contain a priority value, + and its last 6 octets contain the MAC address used to + refer to a bridge in a unique fashion (typically, the + numerically smallest MAC address of all ports on the + bridge)." + SYNTAX OCTET STRING (SIZE (8)) + + Timeout ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "A Spanning Tree Protocol (STP) timer in units of 1/100 + seconds. Several objects in this MIB module represent + values of timers used by the Spanning Tree Protocol. + In this MIB, these timers have values in units of + hundredths of a second (i.e., 1/100 secs). + + These timers, when stored in a Spanning Tree Protocol's + BPDU, are in units of 1/256 seconds. Note, however, that + 802.1D-1998 specifies a settable granularity of no more + than one second for these timers. To avoid ambiguity, + a conversion algorithm is defined below for converting + between the different units, which ensures a timer's + value is not distorted by multiple conversions. + + To convert a Timeout value into a value in units of + 1/256 seconds, the following algorithm should be used: + + b = floor( (n * 256) / 100) + + where: + floor = quotient [ignore remainder] + n is the value in 1/100 second units + b is the value in 1/256 second units + + To convert the value from 1/256 second units back to + 1/100 seconds, the following algorithm should be used: + + n = ceiling( (b * 100) / 256) + + where: + ceiling = quotient [if remainder is 0], or + quotient + 1 [if remainder is nonzero] + n is the value in 1/100 second units + b is the value in 1/256 second units + + Note: it is important that the arithmetic operations are + done in the order specified (i.e., multiply first, + divide second)." + SYNTAX Integer32 + + -- ---------------------------------------------------------- -- + -- subtrees in the Bridge MIB + -- ---------------------------------------------------------- -- + + dot1dNotifications OBJECT IDENTIFIER ::= { dot1dBridge 0 } + + dot1dBase OBJECT IDENTIFIER ::= { dot1dBridge 1 } + dot1dStp OBJECT IDENTIFIER ::= { dot1dBridge 2 } + + dot1dSr OBJECT IDENTIFIER ::= { dot1dBridge 3 } + -- documented in RFC 1525 + + dot1dTp OBJECT IDENTIFIER ::= { dot1dBridge 4 } + dot1dStatic OBJECT IDENTIFIER ::= { dot1dBridge 5 } + + -- Subtrees used by Bridge MIB Extensions: + -- pBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 6 } + -- qBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 7 } + -- Note that the practice of registering related MIB modules + -- below dot1dBridge has been discouraged since there is no + -- robust mechanism to track such registrations. + + dot1dConformance OBJECT IDENTIFIER ::= { dot1dBridge 8 } + + -- ---------------------------------------------------------- -- + -- the dot1dBase subtree + -- ---------------------------------------------------------- -- + -- Implementation of the dot1dBase subtree is mandatory for all + -- bridges. + -- ---------------------------------------------------------- -- + + dot1dBaseBridgeAddress OBJECT-TYPE + + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The MAC address used by this bridge when it must be + referred to in a unique fashion. It is recommended + that this be the numerically smallest MAC address of + all ports that belong to this bridge. However, it is only + required to be unique. When concatenated with + dot1dStpPriority, a unique BridgeIdentifier is formed, + which is used in the Spanning Tree Protocol." + REFERENCE + "IEEE 802.1D-1998: clauses 14.4.1.1.3 and 7.12.5" + ::= { dot1dBase 1 } + + dot1dBaseNumPorts OBJECT-TYPE + SYNTAX Integer32 + UNITS "ports" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of ports controlled by this bridging + entity." + REFERENCE + "IEEE 802.1D-1998: clause 14.4.1.1.3" + ::= { dot1dBase 2 } + + dot1dBaseType OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + transparent-only(2), + sourceroute-only(3), + srt(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates what type of bridging this bridge can + perform. If a bridge is actually performing a + certain type of bridging, this will be indicated by + entries in the port table for the given type." + ::= { dot1dBase 3 } + + -- ---------------------------------------------------------- -- + -- The Generic Bridge Port Table + -- ---------------------------------------------------------- -- + dot1dBasePortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dBasePortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains generic information about every + port that is associated with this bridge. Transparent, + source-route, and srt ports are included." + ::= { dot1dBase 4 } + + dot1dBasePortEntry OBJECT-TYPE + SYNTAX Dot1dBasePortEntry + MAX-ACCESS not-accessible + STATUS current + + DESCRIPTION + "A list of information for each port of the bridge." + REFERENCE + "IEEE 802.1D-1998: clause 14.4.2, 14.6.1" + INDEX { dot1dBasePort } + ::= { dot1dBasePortTable 1 } + + Dot1dBasePortEntry ::= + SEQUENCE { + dot1dBasePort + Integer32, + dot1dBasePortIfIndex + InterfaceIndex, + dot1dBasePortCircuit + OBJECT IDENTIFIER, + dot1dBasePortDelayExceededDiscards + Counter32, + dot1dBasePortMtuExceededDiscards + Counter32 + } + + dot1dBasePort OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port for which this entry + contains bridge management information." + ::= { dot1dBasePortEntry 1 } + + dot1dBasePortIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the instance of the ifIndex object, + defined in IF-MIB, for the interface corresponding + to this port." + ::= { dot1dBasePortEntry 2 } + + dot1dBasePortCircuit OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For a port that (potentially) has the same value of + dot1dBasePortIfIndex as another port on the same bridge. + This object contains the name of an object instance + unique to this port. For example, in the case where + multiple ports correspond one-to-one with multiple X.25 + virtual circuits, this value might identify an (e.g., + the first) object instance associated with the X.25 + virtual circuit corresponding to this port. + + For a port which has a unique value of + dot1dBasePortIfIndex, this object can have the value + { 0 0 }." + ::= { dot1dBasePortEntry 3 } + + dot1dBasePortDelayExceededDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames discarded by this port due + to excessive transit delay through the bridge. It + is incremented by both transparent and source + route bridges." + REFERENCE + "IEEE 802.1D-1998: clause 14.6.1.1.3" + ::= { dot1dBasePortEntry 4 } + + dot1dBasePortMtuExceededDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames discarded by this port due + to an excessive size. It is incremented by both + transparent and source route bridges." + REFERENCE + "IEEE 802.1D-1998: clause 14.6.1.1.3" + ::= { dot1dBasePortEntry 5 } + + -- ---------------------------------------------------------- -- + -- the dot1dStp subtree + -- ---------------------------------------------------------- -- + -- Implementation of the dot1dStp subtree is optional. It is + -- implemented by those bridges that support the Spanning Tree + -- Protocol. + -- ---------------------------------------------------------- -- + + dot1dStpProtocolSpecification OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + decLb100(2), + ieee8021d(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An indication of what version of the Spanning Tree + Protocol is being run. The value 'decLb100(2)' + indicates the DEC LANbridge 100 Spanning Tree protocol. + IEEE 802.1D implementations will return 'ieee8021d(3)'. + If future versions of the IEEE Spanning Tree Protocol + that are incompatible with the current version + are released a new value will be defined." + ::= { dot1dStp 1 } + + dot1dStpPriority OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value of the write-able portion of the Bridge ID + (i.e., the first two octets of the (8 octet long) Bridge + ID). The other (last) 6 octets of the Bridge ID are + given by the value of dot1dBaseBridgeAddress. + On bridges supporting IEEE 802.1t or IEEE 802.1w, + permissible values are 0-61440, in steps of 4096." + REFERENCE + "IEEE 802.1D-1998 clause 8.10.2, Table 8-4, + IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3." + ::= { dot1dStp 2 } + + dot1dStpTimeSinceTopologyChange OBJECT-TYPE + SYNTAX TimeTicks + UNITS "centi-seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time (in hundredths of a second) since the + last time a topology change was detected by the + bridge entity. + For RSTP, this reports the time since the tcWhile + timer for any port on this Bridge was nonzero." + REFERENCE + "IEEE 802.1D-1998 clause 14.8.1.1., + IEEE 802.1w clause 14.8.1.1." + ::= { dot1dStp 3 } + + dot1dStpTopChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of topology changes detected by + this bridge since the management entity was last + reset or initialized." + REFERENCE + "IEEE 802.1D-1998 clause 14.8.1.1." + ::= { dot1dStp 4 } + + dot1dStpDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bridge identifier of the root of the spanning + tree, as determined by the Spanning Tree Protocol, + as executed by this node. This value is used as + the Root Identifier parameter in all Configuration + Bridge PDUs originated by this node." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.1" + ::= { dot1dStp 5 } + + dot1dStpRootCost OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The cost of the path to the root as seen from + this bridge." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.2" + ::= { dot1dStp 6 } + + dot1dStpRootPort OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port that offers the lowest + cost path from this bridge to the root bridge." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.3" + ::= { dot1dStp 7 } + + dot1dStpMaxAge OBJECT-TYPE + SYNTAX Timeout + UNITS "centi-seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum age of Spanning Tree Protocol information + learned from the network on any port before it is + discarded, in units of hundredths of a second. This is + the actual value that this bridge is currently using." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.4" + ::= { dot1dStp 8 } + + dot1dStpHelloTime OBJECT-TYPE + SYNTAX Timeout + UNITS "centi-seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The amount of time between the transmission of + Configuration bridge PDUs by this node on any port when + it is the root of the spanning tree, or trying to become + so, in units of hundredths of a second. This is the + actual value that this bridge is currently using." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.5" + ::= { dot1dStp 9 } + + dot1dStpHoldTime OBJECT-TYPE + SYNTAX Integer32 + UNITS "centi-seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This time value determines the interval length + during which no more than two Configuration bridge + PDUs shall be transmitted by this node, in units + of hundredths of a second." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.14" + ::= { dot1dStp 10 } + + dot1dStpForwardDelay OBJECT-TYPE + SYNTAX Timeout + UNITS "centi-seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This time value, measured in units of hundredths of a + second, controls how fast a port changes its spanning + state when moving towards the Forwarding state. The + value determines how long the port stays in each of the + Listening and Learning states, which precede the + Forwarding state. This value is also used when a + topology change has been detected and is underway, to + age all dynamic entries in the Forwarding Database. + [Note that this value is the one that this bridge is + currently using, in contrast to + dot1dStpBridgeForwardDelay, which is the value that this + bridge and all others would start using if/when this + bridge were to become the root.]" + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.6" + ::= { dot1dStp 11 } + + dot1dStpBridgeMaxAge OBJECT-TYPE + SYNTAX Timeout (600..4000) + UNITS "centi-seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for MaxAge when this + bridge is acting as the root. Note that 802.1D-1998 + specifies that the range for this parameter is related + to the value of dot1dStpBridgeHelloTime. The + granularity of this timer is specified by 802.1D-1998 to + be 1 second. An agent may return a badValue error if a + set is attempted to a value that is not a whole number + of seconds." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.8" + ::= { dot1dStp 12 } + + dot1dStpBridgeHelloTime OBJECT-TYPE + SYNTAX Timeout (100..1000) + UNITS "centi-seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for HelloTime when this + bridge is acting as the root. The granularity of this + timer is specified by 802.1D-1998 to be 1 second. An + agent may return a badValue error if a set is attempted + to a value that is not a whole number of seconds." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.9" + ::= { dot1dStp 13 } + + dot1dStpBridgeForwardDelay OBJECT-TYPE + SYNTAX Timeout (400..3000) + UNITS "centi-seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for ForwardDelay when + this bridge is acting as the root. Note that + 802.1D-1998 specifies that the range for this parameter + is related to the value of dot1dStpBridgeMaxAge. The + granularity of this timer is specified by 802.1D-1998 to + be 1 second. An agent may return a badValue error if a + set is attempted to a value that is not a whole number + of seconds." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.3.10" + ::= { dot1dStp 14 } + + -- ---------------------------------------------------------- -- + -- The Spanning Tree Port Table + -- ---------------------------------------------------------- -- + + dot1dStpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dStpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains port-specific information + for the Spanning Tree Protocol." + ::= { dot1dStp 15 } + + dot1dStpPortEntry OBJECT-TYPE + SYNTAX Dot1dStpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information maintained by every port about + the Spanning Tree Protocol state for that port." + INDEX { dot1dStpPort } + ::= { dot1dStpPortTable 1 } + + Dot1dStpPortEntry ::= + SEQUENCE { + dot1dStpPort + Integer32, + dot1dStpPortPriority + Integer32, + dot1dStpPortState + INTEGER, + dot1dStpPortEnable + INTEGER, + dot1dStpPortPathCost + Integer32, + dot1dStpPortDesignatedRoot + BridgeId, + dot1dStpPortDesignatedCost + Integer32, + dot1dStpPortDesignatedBridge + BridgeId, + dot1dStpPortDesignatedPort + OCTET STRING, + dot1dStpPortForwardTransitions + Counter32, + dot1dStpPortPathCost32 + Integer32 + } + + dot1dStpPort OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port for which this entry + contains Spanning Tree Protocol management information." + REFERENCE + "IEEE 802.1D-1998: clause 14.8.2.1.2" + ::= { dot1dStpPortEntry 1 } + + dot1dStpPortPriority OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value of the priority field that is contained in + the first (in network byte order) octet of the (2 octet + long) Port ID. The other octet of the Port ID is given + by the value of dot1dStpPort. + On bridges supporting IEEE 802.1t or IEEE 802.1w, + permissible values are 0-240, in steps of 16." + REFERENCE + "IEEE 802.1D-1998 clause 8.10.2, Table 8-4, + IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3." + ::= { dot1dStpPortEntry 2 } + + dot1dStpPortState OBJECT-TYPE + SYNTAX INTEGER { + disabled(1), + blocking(2), + listening(3), + learning(4), + forwarding(5), + broken(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port's current state, as defined by application of + the Spanning Tree Protocol. This state controls what + action a port takes on reception of a frame. If the + bridge has detected a port that is malfunctioning, it + will place that port into the broken(6) state. For + ports that are disabled (see dot1dStpPortEnable), this + object will have a value of disabled(1)." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.2" + ::= { dot1dStpPortEntry 3 } + + dot1dStpPortEnable OBJECT-TYPE + SYNTAX INTEGER { + enabled(1), + disabled(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The enabled/disabled status of the port." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.2" + ::= { dot1dStpPortEntry 4 } + + dot1dStpPortPathCost OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1998 recommends that the default + value of this parameter be in inverse proportion to + the speed of the attached LAN. + + New implementations should support dot1dStpPortPathCost32. + If the port path costs exceeds the maximum value of this + object then this object should report the maximum value, + namely 65535. Applications should try to read the + dot1dStpPortPathCost32 object if this object reports + the maximum value.--IPI Comments: Not Supported" + REFERENCE "IEEE 802.1D-1998: clause 8.5.5.3" + ::= { dot1dStpPortEntry 5 } + + dot1dStpPortDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unique Bridge Identifier of the Bridge + recorded as the Root in the Configuration BPDUs + transmitted by the Designated Bridge for the + segment to which the port is attached." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.4" + ::= { dot1dStpPortEntry 6 } + + dot1dStpPortDesignatedCost OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The path cost of the Designated Port of the segment + connected to this port. This value is compared to the + Root Path Cost field in received bridge PDUs." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.5" + ::= { dot1dStpPortEntry 7 } + + dot1dStpPortDesignatedBridge OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Bridge Identifier of the bridge that this + port considers to be the Designated Bridge for + this port's segment." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.6" + ::= { dot1dStpPortEntry 8 } + + dot1dStpPortDesignatedPort OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Port Identifier of the port on the Designated + Bridge for this port's segment." + REFERENCE + "IEEE 802.1D-1998: clause 8.5.5.7" + ::= { dot1dStpPortEntry 9 } + + dot1dStpPortForwardTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this port has transitioned + from the Learning state to the Forwarding state." + ::= { dot1dStpPortEntry 10 } + + dot1dStpPortPathCost32 OBJECT-TYPE + SYNTAX Integer32 (1..200000000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1998 recommends that the default + value of this parameter be in inverse proportion to + the speed of the attached LAN. + + This object replaces dot1dStpPortPathCost to support + IEEE 802.1t.--IPI Comments: Not Supported" + REFERENCE + "IEEE 802.1t clause 8.10.2, Table 8-5." + ::= { dot1dStpPortEntry 11 } + + -- ---------------------------------------------------------- -- + -- the dot1dTp subtree + -- ---------------------------------------------------------- -- + -- Implementation of the dot1dTp subtree is optional. It is + -- implemented by those bridges that support the transparent + -- bridging mode. A transparent or SRT bridge will implement + -- this subtree. + -- ---------------------------------------------------------- -- + + dot1dTpLearnedEntryDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Forwarding Database entries that + have been or would have been learned, but have been + discarded due to a lack of storage space in the + Forwarding Database. If this counter is increasing, it + indicates that the Forwarding Database is regularly + becoming full (a condition that has unpleasant + performance effects on the subnetwork). If this counter + has a significant value but is not presently increasing, + it indicates that the problem has been occurring but is + not persistent." + REFERENCE + "IEEE 802.1D-1998: clause 14.7.1.1.3" + ::= { dot1dTp 1 } + + dot1dTpAgingTime OBJECT-TYPE + SYNTAX Integer32 (10..1000000) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The timeout period in seconds for aging out + dynamically-learned forwarding information. + 802.1D-1998 recommends a default of 300 seconds." + REFERENCE + "IEEE 802.1D-1998: clause 14.7.1.1.3" + ::= { dot1dTp 2 } + + + -- ---------------------------------------------------------- -- + -- The Forwarding Database for Transparent Bridges + -- ---------------------------------------------------------- -- + + dot1dTpFdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dTpFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains information about unicast + entries for which the bridge has forwarding and/or + filtering information. This information is used + by the transparent bridging function in + determining how to propagate a received frame." + ::= { dot1dTp 3 } + + dot1dTpFdbEntry OBJECT-TYPE + SYNTAX Dot1dTpFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a specific unicast MAC address + for which the bridge has some forwarding and/or + filtering information." + INDEX { dot1dTpFdbAddress } + ::= { dot1dTpFdbTable 1 } + + Dot1dTpFdbEntry ::= + SEQUENCE { + dot1dTpFdbAddress + MacAddress, + dot1dTpFdbPort + Integer32, + dot1dTpFdbStatus + INTEGER + } + + dot1dTpFdbAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A unicast MAC address for which the bridge has + forwarding and/or filtering information." + REFERENCE + "IEEE 802.1D-1998: clause 7.9.1, 7.9.2" + ::= { dot1dTpFdbEntry 1 } + + dot1dTpFdbPort OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Either the value '0', or the port number of the port on + which a frame having a source address equal to the value + of the corresponding instance of dot1dTpFdbAddress has + been seen. A value of '0' indicates that the port + number has not been learned, but that the bridge does + have some forwarding/filtering information about this + address (e.g., in the dot1dStaticTable). Implementors + are encouraged to assign the port value to this object + whenever it is learned, even for addresses for which the + corresponding value of dot1dTpFdbStatus is not + learned(3)." + ::= { dot1dTpFdbEntry 2 } + + dot1dTpFdbStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + invalid(2), + learned(3), + self(4), + mgmt(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of this entry. The meanings of the + values are: + other(1) - none of the following. This would + include the case where some other MIB object + (not the corresponding instance of + dot1dTpFdbPort, nor an entry in the + dot1dStaticTable) is being used to determine if + and how frames addressed to the value of the + corresponding instance of dot1dTpFdbAddress are + being forwarded. + invalid(2) - this entry is no longer valid (e.g., + it was learned but has since aged out), but has + not yet been flushed from the table. + learned(3) - the value of the corresponding instance + of dot1dTpFdbPort was learned, and is being + used. + self(4) - the value of the corresponding instance of + dot1dTpFdbAddress represents one of the bridge's + addresses. The corresponding instance of + dot1dTpFdbPort indicates which of the bridge's + ports has this address. + mgmt(5) - the value of the corresponding instance of + dot1dTpFdbAddress is also the value of an + existing instance of dot1dStaticAddress." + ::= { dot1dTpFdbEntry 3 } + + -- ---------------------------------------------------------- -- + -- Port Table for Transparent Bridges + -- ---------------------------------------------------------- -- + + dot1dTpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dTpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains information about every port that + is associated with this transparent bridge." + ::= { dot1dTp 4 } + + dot1dTpPortEntry OBJECT-TYPE + SYNTAX Dot1dTpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information for each port of a transparent + bridge." + INDEX { dot1dTpPort } + ::= { dot1dTpPortTable 1 } + + Dot1dTpPortEntry ::= + SEQUENCE { + dot1dTpPort + Integer32, + dot1dTpPortMaxInfo + Integer32, + dot1dTpPortInFrames + Counter32, + dot1dTpPortOutFrames + Counter32, + dot1dTpPortInDiscards + Counter32 + } + + dot1dTpPort OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port for which this entry + contains Transparent bridging management information." + ::= { dot1dTpPortEntry 1 } + + -- It would be nice if we could use ifMtu as the size of the + -- largest INFO field, but we can't because ifMtu is defined + -- to be the size that the (inter-)network layer can use, which + -- can differ from the MAC layer (especially if several layers + -- of encapsulation are used). + + dot1dTpPortMaxInfo OBJECT-TYPE + SYNTAX Integer32 + UNITS "bytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum size of the INFO (non-MAC) field that + this port will receive or transmit." + ::= { dot1dTpPortEntry 2 } + + dot1dTpPortInFrames OBJECT-TYPE + SYNTAX Counter32 + UNITS "frames" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames that have been received by this + port from its segment. Note that a frame received on the + interface corresponding to this port is only counted by + this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames." + REFERENCE + "IEEE 802.1D-1998: clause 14.6.1.1.3" + ::= { dot1dTpPortEntry 3 } + + dot1dTpPortOutFrames OBJECT-TYPE + SYNTAX Counter32 + UNITS "frames" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames that have been transmitted by this + port to its segment. Note that a frame transmitted on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames." + REFERENCE + "IEEE 802.1D-1998: clause 14.6.1.1.3" + ::= { dot1dTpPortEntry 4 } + + dot1dTpPortInDiscards OBJECT-TYPE + SYNTAX Counter32 + UNITS "frames" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Count of received valid frames that were discarded + (i.e., filtered) by the Forwarding Process." + REFERENCE + "IEEE 802.1D-1998: clause 14.6.1.1.3" + ::= { dot1dTpPortEntry 5 } + + -- ---------------------------------------------------------- -- + -- The Static (Destination-Address Filtering) Database + -- ---------------------------------------------------------- -- + -- Implementation of this subtree is optional. + -- ---------------------------------------------------------- -- + + dot1dStaticTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dStaticEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing filtering information configured + into the bridge by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific destination + addresses are allowed to be forwarded. The value of + zero in this table, as the port number from which frames + with a specific destination address are received, is + used to specify all ports for which there is no specific + entry in this table for that particular destination + address. Entries are valid for unicast and for + group/broadcast addresses." + REFERENCE + "IEEE 802.1D-1998: clause 14.7.2" + ::= { dot1dStatic 1 } + + dot1dStaticEntry OBJECT-TYPE + SYNTAX Dot1dStaticEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Filtering information configured into the bridge by + (local or network) management specifying the set of + ports to which frames received from a specific port and + containing a specific destination address are allowed to + be forwarded." + REFERENCE + "IEEE 802.1D-1998: clause 14.7.2" + INDEX { dot1dStaticAddress, dot1dStaticReceivePort } + ::= { dot1dStaticTable 1 } + + Dot1dStaticEntry ::= + SEQUENCE { + dot1dStaticAddress MacAddress, + dot1dStaticReceivePort Integer32, + dot1dStaticAllowedToGoTo OCTET STRING, + dot1dStaticStatus INTEGER + } + + dot1dStaticAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The destination MAC address in a frame to which this + entry's filtering information applies. This object can + take the value of a unicast address, a group address, or + the broadcast address." + REFERENCE + "IEEE 802.1D-1998: clause 7.9.1, 7.9.2" + ::= { dot1dStaticEntry 1 } + + dot1dStaticReceivePort OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Either the value '0', or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + bridge for which there is no other applicable entry." + ::= { dot1dStaticEntry 2 } + + dot1dStaticAllowedToGoTo OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..512)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The set of ports to which frames received from a + specific port and destined for a specific MAC address, + are allowed to be forwarded. Each octet within the + value of this object specifies a set of eight ports, + with the first octet specifying ports 1 through 8, the + second octet specifying ports 9 through 16, etc. Within + each octet, the most significant bit represents the + lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1', + then that port is included in the set of ports; the port + is not included if its bit has a value of '0'. (Note + that the setting of the bit corresponding to the port + from which a frame is received is irrelevant.) The + default value of this object is a string of ones of + appropriate length. + + The value of this object may exceed the required minimum + maximum message size of some SNMP transport (484 bytes, + in the case of SNMP over UDP, see RFC 3417, section 3.2). + SNMP engines on bridges supporting a large number of + ports must support appropriate maximum message sizes." + ::= { dot1dStaticEntry 3 } + + dot1dStaticStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + invalid(2), + permanent(3), + deleteOnReset(4), + deleteOnTimeout(5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object indicates the status of this entry. + The default value is permanent(3). + other(1) - this entry is currently in use but the + conditions under which it will remain so are + different from each of the following values. + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use and + will remain so after the next reset of the + bridge. + deleteOnReset(4) - this entry is currently in use + and will remain so until the next reset of the + bridge. + deleteOnTimeout(5) - this entry is currently in use + and will remain so until it is aged out." + ::= { dot1dStaticEntry 4 } + + -- ---------------------------------------------------------- -- + -- Notifications for use by Bridges + -- ---------------------------------------------------------- -- + -- Notifications for the Spanning Tree Protocol + -- ---------------------------------------------------------- -- + + newRoot NOTIFICATION-TYPE + -- OBJECTS { } + STATUS current + DESCRIPTION + "The newRoot trap indicates that the sending agent has + become the new root of the Spanning Tree; the trap is + sent by a bridge soon after its election as the new + root, e.g., upon expiration of the Topology Change Timer, + immediately subsequent to its election. Implementation + of this trap is optional." + ::= { dot1dNotifications 1 } + + topologyChange NOTIFICATION-TYPE + -- OBJECTS { } + STATUS current + DESCRIPTION + "A topologyChange trap is sent by a bridge when any of + its configured ports transitions from the Learning state + to the Forwarding state, or from the Forwarding state to + the Blocking state. The trap is not sent if a newRoot + trap is sent for the same transition. Implementation of + this trap is optional." + ::= { dot1dNotifications 2 } + + -- ---------------------------------------------------------- -- + -- IEEE 802.1D MIB - Conformance Information + -- ---------------------------------------------------------- -- + + dot1dGroups OBJECT IDENTIFIER ::= { dot1dConformance 1 } + dot1dCompliances OBJECT IDENTIFIER ::= { dot1dConformance 2 } + + -- ---------------------------------------------------------- -- + -- units of conformance + -- ---------------------------------------------------------- -- + + -- ---------------------------------------------------------- -- + -- the dot1dBase group + -- ---------------------------------------------------------- -- + + dot1dBaseBridgeGroup OBJECT-GROUP + OBJECTS { + dot1dBaseBridgeAddress, + dot1dBaseNumPorts, + dot1dBaseType + } + STATUS current + DESCRIPTION + "Bridge level information for this device." + ::= { dot1dGroups 1 } + + dot1dBasePortGroup OBJECT-GROUP + OBJECTS { + dot1dBasePort, + dot1dBasePortIfIndex, + dot1dBasePortCircuit, + dot1dBasePortDelayExceededDiscards, + dot1dBasePortMtuExceededDiscards + } + STATUS current + DESCRIPTION + "Information for each port on this device." + ::= { dot1dGroups 2 } + + -- ---------------------------------------------------------- -- + -- the dot1dStp group + -- ---------------------------------------------------------- -- + + dot1dStpBridgeGroup OBJECT-GROUP + OBJECTS { + dot1dStpProtocolSpecification, + dot1dStpPriority, + dot1dStpTimeSinceTopologyChange, + dot1dStpTopChanges, + dot1dStpDesignatedRoot, + dot1dStpRootCost, + dot1dStpRootPort, + dot1dStpMaxAge, + dot1dStpHelloTime, + dot1dStpHoldTime, + dot1dStpForwardDelay, + dot1dStpBridgeMaxAge, + dot1dStpBridgeHelloTime, + dot1dStpBridgeForwardDelay + } + STATUS current + DESCRIPTION + "Bridge level Spanning Tree data for this device." + ::= { dot1dGroups 3 } + + dot1dStpPortGroup OBJECT-GROUP + OBJECTS { + dot1dStpPort, + dot1dStpPortPriority, + dot1dStpPortState, + dot1dStpPortEnable, + dot1dStpPortPathCost, + dot1dStpPortDesignatedRoot, + dot1dStpPortDesignatedCost, + dot1dStpPortDesignatedBridge, + dot1dStpPortDesignatedPort, + dot1dStpPortForwardTransitions + } + STATUS current + DESCRIPTION + "Spanning Tree data for each port on this device." + ::= { dot1dGroups 4 } + + dot1dStpPortGroup2 OBJECT-GROUP + OBJECTS { + dot1dStpPort, + dot1dStpPortPriority, + dot1dStpPortState, + dot1dStpPortEnable, + dot1dStpPortDesignatedRoot, + dot1dStpPortDesignatedCost, + dot1dStpPortDesignatedBridge, + dot1dStpPortDesignatedPort, + dot1dStpPortForwardTransitions, + dot1dStpPortPathCost32 + } + STATUS current + DESCRIPTION + "Spanning Tree data for each port on this device." + ::= { dot1dGroups 5 } + + dot1dStpPortGroup3 OBJECT-GROUP + OBJECTS { + dot1dStpPortPathCost32 + } + STATUS current + DESCRIPTION + "Spanning Tree data for devices supporting 32-bit + path costs." + ::= { dot1dGroups 6 } + + -- ---------------------------------------------------------- -- + -- the dot1dTp group + -- ---------------------------------------------------------- -- + + dot1dTpBridgeGroup OBJECT-GROUP + OBJECTS { + dot1dTpLearnedEntryDiscards, + dot1dTpAgingTime + } + STATUS current + DESCRIPTION + "Bridge level Transparent Bridging data." + ::= { dot1dGroups 7 } + + dot1dTpFdbGroup OBJECT-GROUP + OBJECTS { + dot1dTpFdbAddress, + dot1dTpFdbPort, + dot1dTpFdbStatus + } + + STATUS current + DESCRIPTION + "Filtering Database information for the Bridge." + ::= { dot1dGroups 8 } + + dot1dTpGroup OBJECT-GROUP + OBJECTS { + dot1dTpPort, + dot1dTpPortMaxInfo, + dot1dTpPortInFrames, + dot1dTpPortOutFrames, + dot1dTpPortInDiscards + } + STATUS current + DESCRIPTION + "Dynamic Filtering Database information for each port of + the Bridge." + ::= { dot1dGroups 9 } + + -- ---------------------------------------------------------- -- + -- The Static (Destination-Address Filtering) Database + -- ---------------------------------------------------------- -- + + dot1dStaticGroup OBJECT-GROUP + OBJECTS { + dot1dStaticAddress, + dot1dStaticReceivePort, + dot1dStaticAllowedToGoTo, + dot1dStaticStatus + } + STATUS current + DESCRIPTION + "Static Filtering Database information for each port of + the Bridge." + ::= { dot1dGroups 10 } + + -- ---------------------------------------------------------- -- + -- The Trap Notification Group + -- ---------------------------------------------------------- -- + + dot1dNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + newRoot, + topologyChange + } + STATUS current + DESCRIPTION + "Group of objects describing notifications (traps)." + ::= { dot1dGroups 11 } + + -- ---------------------------------------------------------- -- + -- compliance statements + -- ---------------------------------------------------------- -- + + bridgeCompliance1493 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for device support of bridging + services, as per RFC1493." + + MODULE + MANDATORY-GROUPS { + dot1dBaseBridgeGroup, + dot1dBasePortGroup + } + + GROUP dot1dStpBridgeGroup + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the Spanning Tree Protocol." + + GROUP dot1dStpPortGroup + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the Spanning Tree Protocol." + + GROUP dot1dTpBridgeGroup + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the transparent bridging mode. A + transparent or SRT bridge will implement this group." + + GROUP dot1dTpFdbGroup + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the transparent bridging mode. A + transparent or SRT bridge will implement this group." + + GROUP dot1dTpGroup + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the transparent bridging mode. A + transparent or SRT bridge will implement this group." + + GROUP dot1dStaticGroup + DESCRIPTION + "Implementation of this group is optional." + + GROUP dot1dNotificationGroup + DESCRIPTION + "Implementation of this group is optional." + ::= { dot1dCompliances 1 } + + bridgeCompliance4188 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for device support of bridging + services. This supports 32-bit Path Cost values and the + more restricted bridge and port priorities, as per IEEE + 802.1t. + + Full support for the 802.1D management objects requires that + the SNMPv2-MIB [RFC3418] objects sysDescr, and sysUpTime, as + well as the IF-MIB [RFC2863] objects ifIndex, ifType, + ifDescr, ifPhysAddress, and ifLastChange are implemented." + + MODULE + MANDATORY-GROUPS { + dot1dBaseBridgeGroup, + dot1dBasePortGroup + } + + GROUP dot1dStpBridgeGroup + DESCRIPTION + "Implementation of this group is mandatory for + bridges that support the Spanning Tree Protocol." + + OBJECT dot1dStpPriority + SYNTAX Integer32 (0|4096|8192|12288|16384|20480|24576 + |28672|32768|36864|40960|45056|49152 + |53248|57344|61440) + DESCRIPTION + "The possible values defined by IEEE 802.1t." + + GROUP dot1dStpPortGroup2 + DESCRIPTION + "Implementation of this group is mandatory for + bridges that support the Spanning Tree Protocol." + + GROUP dot1dStpPortGroup3 + DESCRIPTION + "Implementation of this group is mandatory for bridges + that support the Spanning Tree Protocol and 32-bit path + costs. In particular, this includes devices supporting + IEEE 802.1t and IEEE 802.1w." + + OBJECT dot1dStpPortPriority + SYNTAX Integer32 (0|16|32|48|64|80|96|112|128 + |144|160|176|192|208|224|240) + DESCRIPTION + "The possible values defined by IEEE 802.1t." + + GROUP dot1dTpBridgeGroup + DESCRIPTION + "Implementation of this group is mandatory for + bridges that support the transparent bridging + mode. A transparent or SRT bridge will implement + this group." + + GROUP dot1dTpFdbGroup + DESCRIPTION + "Implementation of this group is mandatory for + bridges that support the transparent bridging + mode. A transparent or SRT bridge will implement + this group." + + GROUP dot1dTpGroup + DESCRIPTION + "Implementation of this group is mandatory for + bridges that support the transparent bridging + mode. A transparent or SRT bridge will implement + this group." + + GROUP dot1dStaticGroup + DESCRIPTION + "Implementation of this group is optional." + + GROUP dot1dNotificationGroup + DESCRIPTION + "Implementation of this group is optional." + + ::= { dot1dCompliances 2 } + + END diff --git a/mibs/IEEE8023-LAG-MIB.txt b/mibs/IEEE8023-LAG-MIB.txt new file mode 100644 index 00000000..de8fa5e0 --- /dev/null +++ b/mibs/IEEE8023-LAG-MIB.txt @@ -0,0 +1,1371 @@ +IEEE8023-LAG-MIB DEFINITIONS ::= BEGIN + + +-- ------------------------------------------------------------- +-- IEEE 802.3ad MIB +-- ------------------------------------------------------------- + + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, TimeTicks, BITS + FROM SNMPv2-SMI + DisplayString, MacAddress, TEXTUAL-CONVENTION, TruthValue + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + InterfaceIndex + FROM IF-MIB + PortList + FROM Q-BRIDGE-MIB + ; + + +lagMIB MODULE-IDENTITY + LAST-UPDATED “9911220000Z” + ORGANIZATION “IEEE 802.3ad Working Group” + CONTACT-INFO + “ stds-802-3-trunking@majordomo.ieee.org” + DESCRIPTION + “The Link Aggregation module for managing IEEE 802.3ad.” + ::= { iso(1) member-body(2) us(840) ieee802dot3(10006) snmpmibs(300) linkagg(43) } + + +lagMIBObjects OBJECT IDENTIFIER ::= { lagMIB 1 } + + +-- ------------------------------------------------------------- +-- Textual Conventions +-- ------------------------------------------------------------- + + +LacpKey ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + “The Actor or Partner Key value.” + SYNTAX INTEGER (0..65535) + + +LacpState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + “The Actor and Partner State values from the LACPDU.” + SYNTAX BITS { + lacpActivity(0), + lacpTimeout(1), + aggregation(2), + synchronization(3), + collecting(4), + distributing(5), + defaulted(6), + expired(7) + } + + +ChurnState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + “The state of the Churn Detection machine.” + SYNTAX INTEGER { + noChurn(1), + churn(2), + churnMonitor(3) + } + + +-- ------------------------------------------------------------- + + +-- ------------------------------------------------------------- +-- groups in the LAG MIB +-- ------------------------------------------------------------- + + +dot3adAgg OBJECT IDENTIFIER ::= { lagMIBObjects 1 } +dot3adAggPort OBJECT IDENTIFIER ::= { lagMIBObjects 2 } + + +-- ------------------------------------------------------------- + +-- ------------------------------------------------------------- +-- The Tables Last Changed Object +-- ------------------------------------------------------------- + +dot3adTablesLastChanged OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “This object indicates the time of the + most recent change to the dot3adAggTable, + dot3adAggPortListTable, or + dot3adAggPortTable.” +::= { lagMIBObjects 3 } + +-- ------------------------------------------------------------- +-- The Aggregator Configuration Table +-- ------------------------------------------------------------- + + +dot3adAggTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot3adAggEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A table that contains information about every + Aggregator that is associated with this System.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1” + ::= { dot3adAgg 1 } + + +dot3adAggEntry OBJECT-TYPE + SYNTAX Dot3adAggEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A list of the Aggregator parameters. This is indexed + by the ifIndex of the Aggregator.” + INDEX { dot3adAggIndex } + ::= { dot3adAggTable 1 } + + +Dot3adAggEntry ::= + SEQUENCE { + dot3adAggIndex + InterfaceIndex, + dot3adAggMACAddress + MacAddress, + dot3adAggActorSystemPriority + INTEGER, + dot3adAggActorSystemID + MacAddress, + dot3adAggAggregateOrIndividual + TruthValue, + dot3adAggActorAdminKey + LacpKey, + dot3adAggActorOperKey + LacpKey, + dot3adAggPartnerSystemID + MacAddress, + dot3adAggPartnerSystemPriority + INTEGER, + dot3adAggPartnerOperKey + LacpKey, + dot3adAggCollectorMaxDelay + INTEGER + } + + +dot3adAggIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “The unique identifier allocated to this Aggregator by the local System. + This attribute identifies an Aggregator instance among the subordinate + managed objects of the containing object. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.1” + ::= { dot3adAggEntry 1 } + + +dot3adAggMACAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 6-octet read-only value carrying the individual + MAC address assigned to the Aggregator.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.9” + ::= { dot3adAggEntry 2 } + + +dot3adAggActorSystemPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A 2-octet read-write value indicating the priority value + associated with the Actor’s System ID.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.5” + ::= { dot3adAggEntry 3 } + + +dot3adAggActorSystemID OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 6-octet read-write MAC address value used as a unique + identifier for the System that contains this Aggregator. + NOTE—From the perspective of the Link Aggregation mechanisms described in Clause 43 [Part 3], + only a single combination of Actor’s System ID and System Priority are considered, and no + distinction is made between the values of these parameters for an Aggregator and the port(s) that + are associated with it; i.e., the protocol is described in terms of the operation of aggregation within + a single System. However, the managed objects provided for the Aggregator and the port both + allow management of these parameters. The result of this is to permit a single piece of equipment + to be configured by management to contain more than one System from the point of view of the + operation of Link Aggregation. This may be of particular use in the configuration of equipment + that has limited aggregation capability (see 43.6 [Part 3]).” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.4” + ::= { dot3adAggEntry 4 } + + +dot3adAggAggregateOrIndividual OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A read-only Boolean value indicating whether the + Aggregator represents an Aggregate (‘TRUE’) or + an Individual link (‘FALSE’).” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.6” + ::= { dot3adAggEntry 5 } + + +dot3adAggActorAdminKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current administrative value of the Key for the Aggregator. + The administrative Key value may differ from the operational + Key value for the reasons discussed in 43.6.2. This is a 16-bit, + read-write value. The meaning of particular Key values + is of local significance.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.7” + ::= { dot3adAggEntry 6 } + + +dot3adAggActorOperKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The current operational value of the Key for the Aggregator. + The administrative Key value may differ from the operational + Key value for the reasons discussed in 43.6.2. + This is a 16-bit read-only value. The meaning of particular Key + values is of local significance. + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.8” + ::= { dot3adAggEntry 7 } + + +dot3adAggPartnerSystemID OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 6-octet read-only MAC address value consisting + of the unique identifier for the current protocol Partner of + this Aggregator. A value of zero indicates that there is no + known Partner. If the aggregation is manually configured, this + System ID value will be a value assigned by the local System.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.10” + ::= { dot3adAggEntry 8 } + + +dot3adAggPartnerSystemPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 2-octet read-only value that indicates the priority + value associated with the Partner’s System ID. If the + aggregation is manually configured, this System Priority value + will be a value assigned by the local System.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.11” + ::= { dot3adAggEntry 9 } + + +dot3adAggPartnerOperKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The current operational value of the Key for the + Aggregator’s current protocol Partner. This is + a 16-bit read-only value. If the aggregation is manually + configured, this Key value will be a value assigned by the + local System.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.12” + ::= { dot3adAggEntry 10 } + + +dot3adAggCollectorMaxDelay OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The value of this 16-bit read-write attribute defines + the maximum delay, in tens of microseconds, that + may be imposed by the Frame Collector between + receiving a frame from an Aggregator Parser, and + either delivering the frame to its MAC Client or discarding + the frame (see 43.2.3.1.1 [Part 3]).” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.32” + ::= { dot3adAggEntry 11 } + + +-- ------------------------------------------------------------- +-- The Aggregation Port List Table +-- ------------------------------------------------------------- + + +dot3adAggPortListTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot3adAggPortListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A table that contains a list of all the ports + associated with each Aggregator.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.30” + ::= { dot3adAgg 2 } + + +dot3adAggPortListEntry OBJECT-TYPE + SYNTAX Dot3adAggPortListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A list of the ports associated with a given Aggregator. + This is indexed by the ifIndex of the Aggregator.” + INDEX { dot3adAggIndex } + ::= { dot3adAggPortListTable 1 } + + +Dot3adAggPortListEntry ::= + SEQUENCE { + dot3adAggPortListPorts + PortList + } + + +dot3adAggPortListPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The complete set of ports currently associated with + this Aggregator. Each bit set in this list represents + an Actor Port member of this Link Aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.30” + ::= { dot3adAggPortListEntry 1 } + + +-- ------------------------------------------------------------- +-- The Aggregation Port Table +-- ------------------------------------------------------------- + + +dot3adAggPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot3adAggPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A table that contains Link Aggregation Control + configuration information about every + Aggregation Port associated with this device. + A row appears in this table for each physical port.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2” + ::= { dot3adAggPort 1 } + + +dot3adAggPortEntry OBJECT-TYPE + SYNTAX Dot3adAggPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A list of Link Aggregation Control configuration + parameters for each Aggregation Port on this device.” + INDEX { dot3adAggPortIndex } + ::= { dot3adAggPortTable 1 } + + +Dot3adAggPortEntry ::= + SEQUENCE { + dot3adAggPortIndex + InterfaceIndex, + dot3adAggPortActorSystemPriority + INTEGER, + dot3adAggPortActorSystemID + MacAddress, + dot3adAggPortActorAdminKey + LacpKey, + dot3adAggPortActorOperKey + LacpKey, + dot3adAggPortPartnerAdminSystemPriority + INTEGER, + dot3adAggPortPartnerOperSystemPriority + INTEGER, + dot3adAggPortPartnerAdminSystemID + MacAddress, + dot3adAggPortPartnerOperSystemID + MacAddress, + dot3adAggPortPartnerAdminKey + LacpKey, + dot3adAggPortPartnerOperKey + LacpKey, + dot3adAggPortSelectedAggID + InterfaceIndex, + dot3adAggPortAttachedAggID + InterfaceIndex, + dot3adAggPortActorPort + INTEGER, + dot3adAggPortActorPortPriority + INTEGER, + dot3adAggPortPartnerAdminPort + INTEGER, + dot3adAggPortPartnerOperPort + INTEGER, + dot3adAggPortPartnerAdminPortPriority + INTEGER, + dot3adAggPortPartnerOperPortPriority + INTEGER, + dot3adAggPortActorAdminState + LacpState, + dot3adAggPortActorOperState + LacpState, + dot3adAggPortPartnerAdminState + LacpState, + dot3adAggPortPartnerOperState + LacpState, + dot3adAggPortAggregateOrIndividual + TruthValue + } + + +dot3adAggPortIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “The ifIndex of the port” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.1” + ::= { dot3adAggPortEntry 1 } + + +dot3adAggPortActorSystemPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A 2-octet read-write value used to define the priority + value associated with the Actor’s System ID.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.2” + ::= { dot3adAggPortEntry 2 } + + +dot3adAggPortActorSystemID OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 6-octet read-only MAC address value that defines + the value of the System ID for the System that contains this + Aggregation Port.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.3” + ::= { dot3adAggPortEntry 3 } + + +dot3adAggPortActorAdminKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current administrative value of the Key for the + Aggregation Port. This is a 16-bit read-write value. + The meaning of particular Key values is of local significance.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.4” + ::= { dot3adAggPortEntry 4 } + + +dot3adAggPortActorOperKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current operational value of the Key for the + Aggregation Port. This is a 16-bit read-only value. + The meaning of particular Key values is of local significance.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.5” + ::= { dot3adAggPortEntry 5 } + + +dot3adAggPortPartnerAdminSystemPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A 2-octet read-write value used to define the administrative + value of priority associated with the Partner’s System ID. The + assigned value is used, along with the value of + aAggPortPartnerAdminSystemID, aAggPortPartnerAdminKey, + aAggPortPartnerAdminPort, and aAggPortPartnerAdminPortPriority, + in order to achieve manually configured aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.7” + ::= { dot3adAggPortEntry 6 } + + +dot3adAggPortPartnerOperSystemPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 2-octet read-only value indicating the operational value + of priority associated with the Partner’s System ID. The + value of this attribute may contain the manually configured value + carried in aAggPortPartnerAdminSystemPriority + if there is no protocol Partner.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.7” + ::= { dot3adAggPortEntry 7 } + + +dot3adAggPortPartnerAdminSystemID OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A 6-octet read-write MACAddress value representing + the administrative value of the Aggregation Port’s protocol + Partner’s System ID. The assigned value is used, along with + the value of aAggPortPartnerAdminSystemPriority, + aAggPortPartnerAdminKey, aAggPortPartnerAdminPort, + and aAggPortPartnerAdminPortPriority, in order to + achieve manually configured aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.8” + ::= { dot3adAggPortEntry 8 } + + +dot3adAggPortPartnerOperSystemID OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A 6-octet read-only MACAddress value representing + the current value of the Aggregation Port’s protocol Partner’s + System ID. A value of zero indicates that there is no known + protocol Partner. The value of this attribute may contain the + manually configured value carried in + aAggPortPartnerAdminSystemID if there is no protocol Partner.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.9” + ::= { dot3adAggPortEntry 9 } + + +dot3adAggPortPartnerAdminKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current administrative value of the Key for the + protocol Partner. This is a 16-bit read-write value. + The assigned value is used, along with the value of + aAggPortPartnerAdminSystemPriority, aAggPortPartnerAdminSystemID, + aAggPortPartnerAdminPort, and aAggPortPartnerAdminPortPriority, + in order to achieve manually configured aggregation. + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.10” + ::= { dot3adAggPortEntry 10 } + + +dot3adAggPortPartnerOperKey OBJECT-TYPE + SYNTAX LacpKey + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The current operational value of the Key for the + protocol Partner. The value of this attribute may contain + the manually configured value carried in + aAggPortPartnerAdminKey if there is no protocol Partner. + This is a 16-bit read-only value.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.11” + ::= { dot3adAggPortEntry 11 } + + +dot3adAggPortSelectedAggID OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The identifier value of the Aggregator that this Aggregation + Port has currently selected. Zero indicates that the Aggregation + Port has not selected an Aggregator, either because it is in the + process of detaching from an Aggregator or because there is no + suitable Aggregator available for it to select. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.12” + ::= { dot3adAggPortEntry 12 } + + +dot3adAggPortAttachedAggID OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The identifier value of the Aggregator that this Aggregation + Port is currently attached to. Zero indicates that the Aggregation + Port is not currently attached to an Aggregator. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.13” + ::= { dot3adAggPortEntry 13 } + + +dot3adAggPortActorPort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The port number locally assigned to the Aggregation Port. + The port number is communicated in LACPDUs as the + Actor_Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.14” + ::= { dot3adAggPortEntry 14 } + + +dot3adAggPortActorPortPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The priority value assigned to this Aggregation Port. + This 16-bit value is read-write.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.15” + ::= { dot3adAggPortEntry 15 } + + +dot3adAggPortPartnerAdminPort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current administrative value of the port number + for the protocol Partner. This is a 16-bit read-write value. + The assigned value is used, along with the value of + aAggPortPartnerAdminSystemPriority, + aAggPortPartnerAdminSystemID, aAggPortPartnerAdminKey, + and aAggPortPartnerAdminPortPriority, + in order to achieve manually configured aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.16” + ::= { dot3adAggPortEntry 16 } + + +dot3adAggPortPartnerOperPort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The operational port number assigned to this Aggregation + Port by the Aggregation Port’s protocol Partner. The value + of this attribute may contain the manually configured value + carried in aAggPortPartnerAdminPort if there is no protocol + Partner. This 16-bit value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.17” + ::= { dot3adAggPortEntry 17 } + + +dot3adAggPortPartnerAdminPortPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “The current administrative value of the port priority + for the protocol Partner. This is a 16-bit read-write value. + The assigned value is used, along with the value of + aAggPortPartnerAdminSystemPriority, aAggPortPartnerAdminSystemID, + aAggPortPartnerAdminKey, and aAggPortPartnerAdminPort, + in order to achieve manually configured aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.18” + ::= { dot3adAggPortEntry 18 } + + +dot3adAggPortPartnerOperPortPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The priority value assigned to this Aggregation Port + by the Partner. The value of this attribute may contain the + manually configured value carried in + aAggPortPartnerAdminPortPriority if there is no + protocol Partner. This 16-bit value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.19” + ::= { dot3adAggPortEntry 19 } + + +dot3adAggPortActorAdminState OBJECT-TYPE + SYNTAX LacpState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A string of 8 bits, corresponding to the administrative values + of Actor_State (43.4.2 [Part 3]) as transmitted by the Actor in LACPDUs. + The first bit corresponds to bit 0 of Actor_State (LACP_Activity), + the second bit corresponds to bit 1 (LACP_Timeout), the third bit + corresponds to bit 2 (Aggregation), the fourth bit corresponds to + bit 3 (Synchronization), the fifth bit corresponds to bit 4 + (Collecting), the sixth bit corresponds to bit 5 (Distributing), + the seventh bit corresponds to bit 6 (Defaulted), and the eighth + bit corresponds to bit 7 (Expired). These values allow + administrative control over the values of LACP_Activity, + LACP_Timeout and Aggregation. This attribute value is read-write.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.20” + ::= { dot3adAggPortEntry 20 } + + +dot3adAggPortActorOperState OBJECT-TYPE + SYNTAX LacpState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A string of 8 bits, corresponding to the current + operational values of Actor_State as transmitted by the + Actor in LACPDUs. The bit allocations are as defined in + 30.7.2.1.20. This attribute value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.21” + ::= { dot3adAggPortEntry 21 } + + +dot3adAggPortPartnerAdminState OBJECT-TYPE + SYNTAX LacpState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + “A string of 8 bits, corresponding to the current administrative + value of Actor_State for the protocol Partner. The bit + allocations are as defined in 30.7.2.1.20. This attribute value is + read-write. The assigned value is used in order to achieve + manually configured aggregation.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.22” + ::= { dot3adAggPortEntry 22 } + + +dot3adAggPortPartnerOperState OBJECT-TYPE + SYNTAX LacpState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A string of 8 bits, corresponding to the current values of + Actor_State in the most recently received LACPDU transmitted + by the protocol Partner. The bit allocations are as defined in + 30.7.2.1.20. In the absence of an active protocol Partner, this + value may reflect the manually configured value + aAggPortPartnerAdminState. This attribute value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.2.1.23” + ::= { dot3adAggPortEntry 23 } + + +dot3adAggPortAggregateOrIndividual OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A read-only Boolean value indicating whether the + Aggregation Port is able to Aggregate (‘TRUE’) or is + only able to operate as an Individual link (‘FALSE’).” + REFERENCE + “IEEE 802.3 Subclause 30.7.1.1.24” + ::= { dot3adAggPortEntry 24 } + + +-- ------------------------------------------------------------- +-- LACP Statistics Table +-- ------------------------------------------------------------- + + +dot3adAggPortStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot3adAggPortStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A table that contains Link Aggregation information + about every port that is associated with this device. + A row appears in this table for each physical port.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3” + ::= { dot3adAggPort 2 } + + +dot3adAggPortStatsEntry OBJECT-TYPE + SYNTAX Dot3adAggPortStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A list of Link Aggregation Control Protocol statistics + for each port on this device.” + INDEX { dot3adAggPortIndex } + ::= { dot3adAggPortStatsTable 1 } + + +Dot3adAggPortStatsEntry ::= + SEQUENCE { + dot3adAggPortStatsLACPDUsRx + Counter32, + dot3adAggPortStatsMarkerPDUsRx + Counter32, + dot3adAggPortStatsMarkerResponsePDUsRx + Counter32, + dot3adAggPortStatsUnknownRx + Counter32, + dot3adAggPortStatsIllegalRx + Counter32, + dot3adAggPortStatsLACPDUsTx + Counter32, + dot3adAggPortStatsMarkerPDUsTx + Counter32, + dot3adAggPortStatsMarkerResponsePDUsTx + Counter32 + } + + +dot3adAggPortStatsLACPDUsRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of valid LACPDUs received on this + Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.2” + ::= { dot3adAggPortStatsEntry 1 } + + +dot3adAggPortStatsMarkerPDUsRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of valid Marker PDUs received on this + Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.3” + ::= { dot3adAggPortStatsEntry 2 } + + +dot3adAggPortStatsMarkerResponsePDUsRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of valid Marker Response PDUs received on this + Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.4” + ::= { dot3adAggPortStatsEntry 3 } + + +dot3adAggPortStatsUnknownRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of frames received that either: + - carry the Slow Protocols Ethernet Type value (43B.4 [Part 3]), + but contain an unknown PDU, or: + - are addressed to the Slow Protocols group MAC + Address (43B.4), but do not carry the Slow Protocols Ethernet Type. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.5” + ::= { dot3adAggPortStatsEntry 4 } + + +dot3adAggPortStatsIllegalRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of frames received that carry the Slow + Protocols Ethernet Type value (43B.4), but contain a badly formed + PDU or an illegal value of Protocol Subtype (43B.4 [Part 3]). + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.6” + ::= { dot3adAggPortStatsEntry 5 } + + +dot3adAggPortStatsLACPDUsTx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of LACPDUs transmitted on this + Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.7” + ::= { dot3adAggPortStatsEntry 6 } + + +dot3adAggPortStatsMarkerPDUsTx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of Marker PDUs transmitted on this + Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.8” + ::= { dot3adAggPortStatsEntry 7 } + + +dot3adAggPortStatsMarkerResponsePDUsTx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The number of Marker Response PDUs transmitted + on this Aggregation Port. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.3.1.9” + ::= { dot3adAggPortStatsEntry 8 } + + +-- ------------------------------------------------------------- +-- LACP Debug Table +-- ------------------------------------------------------------- +dot3adAggPortDebugTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot3adAggPortDebugEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A table that contains Link Aggregation debug + information about every port that is associated with + this device. A row appears in this table for each + physical port.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4” + ::= { dot3adAggPort 3 } + + +dot3adAggPortDebugEntry OBJECT-TYPE + SYNTAX Dot3adAggPortDebugEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + “A list of the debug parameters for a port.” + INDEX { dot3adAggPortIndex } + ::= { dot3adAggPortDebugTable 1 } + + +Dot3adAggPortDebugEntry ::= + SEQUENCE { + dot3adAggPortDebugRxState + INTEGER, + dot3adAggPortDebugLastRxTime + TimeTicks, + dot3adAggPortDebugMuxState + INTEGER, + dot3adAggPortDebugMuxReason + DisplayString, + dot3adAggPortDebugActorChurnState + ChurnState, + dot3adAggPortDebugPartnerChurnState + ChurnState, + dot3adAggPortDebugActorChurnCount + Counter32, + dot3adAggPortDebugPartnerChurnCount + Counter32, + dot3adAggPortDebugActorSyncTransitionCount + Counter32, + dot3adAggPortDebugPartnerSyncTransitionCount + Counter32, + dot3adAggPortDebugActorChangeCount + Counter32, + dot3adAggPortDebugPartnerChangeCount + Counter32 + } + + +dot3adAggPortDebugRxState OBJECT-TYPE + SYNTAX INTEGER { + current(1), + expired(2), + defaulted(3), + initialize(4), + lacpDisabled(5), + portDisabled(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “This attribute holds the value ‘current’ if the Receive + state machine for the Aggregation Port is in the + CURRENT state, ‘expired’ if the Receive state machine + is in the EXPIRED state, ‘defaulted’ if the Receive state + machine is in the DEFAULTED state, ‘initialize’ if the + Receive state machine is in the INITIALIZE state, + ‘lacpDisabled’ if the Receive state machine is in the + LACP_DISABLED state, or ‘portDisabled’ if the Receive + state machine is in the PORT_DISABLED state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.2” + ::= { dot3adAggPortDebugEntry 1 } + + +dot3adAggPortDebugLastRxTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The value of aTimeSinceSystemReset (F.2.1) when + the last LACPDU was received by this Aggregation Port. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.3” + ::= { dot3adAggPortDebugEntry 2 } + + +dot3adAggPortDebugMuxState OBJECT-TYPE + SYNTAX INTEGER { + detached(1), + waiting(2), + attached(3), + collecting(4), + distributing(5), + collecting_distributing(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “This attribute holds the value ‘detached’ if the Mux + state machine (43.4.14 [Part 3]) for the Aggregation Port is + in the DETACHED state, ‘waiting’ if the Mux state machine + is in the WAITING state, ‘attached’ if the Mux state + machine for the Aggregation Port is in the ATTACHED + state, ‘collecting’ if the Mux state machine for the + Aggregation Port is in the COLLECTING state, ‘distributing’ + if the Mux state machine for the Aggregation Port is + in the DISTRIBUTING state, and ‘collecting_distributing’ + if the Mux state machine for the Aggregation Port is in + the COLLECTING_DISTRIBUTING state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.4” + ::= { dot3adAggPortDebugEntry 3 } + + +dot3adAggPortDebugMuxReason OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “A human-readable text string indicating the reason + for the most recent change of Mux machine state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.5” + ::= { dot3adAggPortDebugEntry 4 } + + +dot3adAggPortDebugActorChurnState OBJECT-TYPE + SYNTAX ChurnState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The state of the Actor Churn Detection machine + (43.4.17 [Part 3]) for the Aggregation Port. A value of ‘noChurn’ + indicates that the state machine is in either the + NO_ACTOR_CHURN or the ACTOR_CHURN_MONITOR + state, and ‘churn’ indicates that the state machine is in the + ACTOR_CHURN state. This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.6” + ::= { dot3adAggPortDebugEntry 5 } + + +dot3adAggPortDebugPartnerChurnState OBJECT-TYPE + SYNTAX ChurnState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “The state of the Partner Churn Detection machine + (43.4.17 [Part 3]) for the Aggregation Port. A value of ‘noChurn’ + indicates that the state machine is in either the + NO_PARTNER_CHURN or the PARTNER_CHURN_MONITOR + state, and ‘churn’ indicates that the state machine is + in the PARTNER_CHURN state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.7” + ::= { dot3adAggPortDebugEntry 6 } + + +dot3adAggPortDebugActorChurnCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Actor Churn state + machine has entered the ACTOR_CHURN state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.8” + ::= { dot3adAggPortDebugEntry 7 } + + +dot3adAggPortDebugPartnerChurnCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Partner Churn + state machine has entered the PARTNER_CHURN state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.9” + ::= { dot3adAggPortDebugEntry 8 } + + +dot3adAggPortDebugActorSyncTransitionCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Actor’s Mux state + machine (43.4.15 [Part 3]) has entered the IN_SYNC state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.10” + ::= { dot3adAggPortDebugEntry 9 } + + +dot3adAggPortDebugPartnerSyncTransitionCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Partner’s Mux + state machine (43.4.15 [Part 3]) has entered the IN_SYNC state. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.11” + ::= { dot3adAggPortDebugEntry 10 } + + +dot3adAggPortDebugActorChangeCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Actor’s perception of + the LAG ID for this Aggregation Port has changed. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.12” + ::= { dot3adAggPortDebugEntry 11 } + + +dot3adAggPortDebugPartnerChangeCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + “Count of the number of times the Partner’s perception of + the LAG ID (see 43.3.6.1 [Part 3]) for this Aggregation Port has changed. + This value is read-only.” + REFERENCE + “IEEE 802.3 Subclause 30.7.4.1.13” + ::= { dot3adAggPortDebugEntry 12 } + +-- ------------------------------------------------------------- +-- IEEE 802.3ad MIB - Conformance Information +-- ------------------------------------------------------------- + +dot3adAggConformance OBJECT IDENTIFIER ::= { lagMIB 2 } + + +dot3adAggGroups OBJECT IDENTIFIER ::= { dot3adAggConformance 1 } + + +dot3adAggCompliances OBJECT IDENTIFIER + ::= { dot3adAggConformance 2 } + +-- ------------------------------------------------------------- +-- units of conformance +-- ------------------------------------------------------------- + +dot3adAggGroup OBJECT-GROUP + OBJECTS { + dot3adAggActorSystemID, + dot3adAggActorSystemPriority, + dot3adAggAggregateOrIndividual, + dot3adAggActorAdminKey, + dot3adAggMACAddress, + dot3adAggActorOperKey, + dot3adAggPartnerSystemID, + dot3adAggPartnerSystemPriority, + dot3adAggPartnerOperKey, + dot3adAggCollectorMaxDelay + } + STATUS current + DESCRIPTION + “A collection of objects providing information about an + aggregation.” + ::= { dot3adAggGroups 1 } + + +dot3adAggPortListGroup OBJECT-GROUP + OBJECTS { + dot3adAggPortListPorts + } + STATUS current + DESCRIPTION + “A collection of objects providing information about every + port in an aggregation.” + ::= { dot3adAggGroups 2 } + + +dot3adAggPortGroup OBJECT-GROUP + OBJECTS { + dot3adAggPortActorSystemPriority, + dot3adAggPortActorSystemID, + dot3adAggPortActorAdminKey, + dot3adAggPortActorOperKey, + dot3adAggPortPartnerAdminSystemPriority, + dot3adAggPortPartnerOperSystemPriority, + dot3adAggPortPartnerAdminSystemID, + dot3adAggPortPartnerOperSystemID, + dot3adAggPortPartnerAdminKey, + dot3adAggPortPartnerOperKey, + dot3adAggPortSelectedAggID, + dot3adAggPortAttachedAggID, + dot3adAggPortActorPort, + dot3adAggPortActorPortPriority, + dot3adAggPortPartnerAdminPort, + dot3adAggPortPartnerOperPort, + dot3adAggPortPartnerAdminPortPriority, + dot3adAggPortPartnerOperPortPriority, + dot3adAggPortActorAdminState, + dot3adAggPortActorOperState, + dot3adAggPortPartnerAdminState, + dot3adAggPortPartnerOperState, + dot3adAggPortAggregateOrIndividual + } + STATUS current + DESCRIPTION + “A collection of objects providing information about every + port in an aggregation.” + ::= { dot3adAggGroups 3 } + + +dot3adAggPortStatsGroup OBJECT-GROUP + OBJECTS { + dot3adAggPortStatsLACPDUsRx, + dot3adAggPortStatsMarkerPDUsRx, + dot3adAggPortStatsMarkerResponsePDUsRx, + dot3adAggPortStatsUnknownRx, + dot3adAggPortStatsIllegalRx, + dot3adAggPortStatsLACPDUsTx, + dot3adAggPortStatsMarkerPDUsTx, + dot3adAggPortStatsMarkerResponsePDUsTx + } + STATUS current + DESCRIPTION + “A collection of objects providing information about every + port in an aggregation.” + ::= { dot3adAggGroups 4 } + + +dot3adAggPortDebugGroup OBJECT-GROUP + OBJECTS { + dot3adAggPortDebugRxState, + dot3adAggPortDebugLastRxTime, + dot3adAggPortDebugMuxState, + dot3adAggPortDebugMuxReason, + dot3adAggPortDebugActorChurnState, + dot3adAggPortDebugPartnerChurnState, + dot3adAggPortDebugActorChurnCount, + dot3adAggPortDebugPartnerChurnCount, + dot3adAggPortDebugActorSyncTransitionCount, + dot3adAggPortDebugPartnerSyncTransitionCount, + dot3adAggPortDebugActorChangeCount, + dot3adAggPortDebugPartnerChangeCount + } + STATUS current + DESCRIPTION + “A collection of objects providing debug information about + every aggregated port.” + ::= { dot3adAggGroups 5 } + +dot3adTablesLastChangedGroup OBJECT-GROUP + OBJECTS { + dot3adTablesLastChanged + } + STATUS current + DESCRIPTION + “A collection of objects providing information about the time + of changes to the configuration of aggregations and their ports.” +::= { dot3adAggGroup 6 } + +-- ------------------------------------------------------------- +-- compliance statements +-- ------------------------------------------------------------- + + +dot3adAggCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + “The compliance statement for device support of + Link Aggregation.” + + + MODULE + MANDATORY-GROUPS { + dot3adAggGroup, + dot3adAggPortGroup, + dot3adTablesLastChangedGroup + } + + + GROUP dot3adAggPortListGroup + DESCRIPTION + “This group is optional.” + + + GROUP dot3adAggPortStatsGroup + DESCRIPTION + “This group is optional.” + + + GROUP dot3adAggPortDebugGroup + DESCRIPTION + “This group is optional.” + + + ::= { dot3adAggCompliances 1 } + + +END \ No newline at end of file diff --git a/mibs/IF-MIB.txt b/mibs/IF-MIB.txt new file mode 100644 index 00000000..80132033 --- /dev/null +++ b/mibs/IF-MIB.txt @@ -0,0 +1,1899 @@ +IF-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64, + Integer32, TimeTicks, mib-2, + NOTIFICATION-TYPE FROM SNMPv2-SMI + TEXTUAL-CONVENTION, DisplayString, + PhysAddress, TruthValue, RowStatus, + TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, + NOTIFICATION-GROUP FROM SNMPv2-CONF + snmpTraps FROM SNMPv2-MIB + IANAifType FROM IANAifType-MIB; + + +ifMIB MODULE-IDENTITY + LAST-UPDATED "200006140000Z" + ORGANIZATION "IETF Interfaces MIB Working Group" + CONTACT-INFO + " Keith McCloghrie + Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + US + + 408-526-5260 + kzm@cisco.com" + DESCRIPTION + "The MIB module to describe generic objects for network + interface sub-layers. This MIB is an updated version of + MIB-II's ifTable, and incorporates the extensions defined in + RFC 1229." + + + REVISION "200006140000Z" + DESCRIPTION + "Clarifications agreed upon by the Interfaces MIB WG, and + published as RFC 2863." + REVISION "199602282155Z" + DESCRIPTION + "Revisions made by the Interfaces MIB WG, and published in + RFC 2233." + REVISION "199311082155Z" + DESCRIPTION + "Initial revision, published as part of RFC 1573." + ::= { mib-2 31 } + + +ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 } + +interfaces OBJECT IDENTIFIER ::= { mib-2 2 } + +-- +-- Textual Conventions +-- + + +-- OwnerString has the same semantics as used in RFC 1271 + +OwnerString ::= TEXTUAL-CONVENTION + DISPLAY-HINT "255a" + STATUS deprecated + DESCRIPTION + "This data type is used to model an administratively + assigned name of the owner of a resource. This information + is taken from the NVT ASCII character set. It is suggested + that this name contain one or more of the following: ASCII + form of the manager station's transport address, management + station name (e.g., domain name), network management + personnel's name, location, or phone number. In some cases + the agent itself will be the owner of an entry. In these + cases, this string shall be set to a string starting with + 'agent'." + SYNTAX OCTET STRING (SIZE(0..255)) + +-- InterfaceIndex contains the semantics of ifIndex and should be used +-- for any objects defined in other MIB modules that need these semantics. + +InterfaceIndex ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + + + "A unique value, greater than zero, for each interface or + interface sub-layer in the managed system. It is + recommended that values are assigned contiguously starting + from 1. The value for each interface sub-layer must remain + constant at least from one re-initialization of the entity's + network management system to the next re-initialization." + SYNTAX Integer32 (1..2147483647) + +InterfaceIndexOrZero ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "This textual convention is an extension of the + InterfaceIndex convention. The latter defines a greater + than zero value used to identify an interface or interface + sub-layer in the managed system. This extension permits the + additional value of zero. the value zero is object-specific + and must therefore be defined as part of the description of + any object which uses this syntax. Examples of the usage of + zero might include situations where interface was unknown, + or when none or all interfaces need to be referenced." + SYNTAX Integer32 (0..2147483647) + +ifNumber OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of network interfaces (regardless of their + current state) present on this system." + ::= { interfaces 1 } + +ifTableLastChange OBJECT-TYPE + SYNTAX TimeTicks + 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 ifTable. 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." + ::= { ifMIBObjects 5 } + + +-- the Interfaces table + +-- The Interfaces table contains information on the entity's + + +-- interfaces. Each sub-layer below the internetwork-layer +-- of a network interface is considered to be an interface. + +ifTable OBJECT-TYPE + SYNTAX SEQUENCE OF IfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of interface entries. The number of entries is + given by the value of ifNumber." + ::= { interfaces 2 } + +ifEntry OBJECT-TYPE + SYNTAX IfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry containing management information applicable to a + particular interface." + INDEX { ifIndex } + ::= { ifTable 1 } + +IfEntry ::= + SEQUENCE { + ifIndex InterfaceIndex, + ifDescr DisplayString, + ifType IANAifType, + ifMtu Integer32, + ifSpeed Gauge32, + ifPhysAddress PhysAddress, + ifAdminStatus INTEGER, + ifOperStatus INTEGER, + ifLastChange TimeTicks, + ifInOctets Counter32, + ifInUcastPkts Counter32, + ifInNUcastPkts Counter32, -- deprecated + ifInDiscards Counter32, + ifInErrors Counter32, + ifInUnknownProtos Counter32, + ifOutOctets Counter32, + ifOutUcastPkts Counter32, + ifOutNUcastPkts Counter32, -- deprecated + ifOutDiscards Counter32, + ifOutErrors Counter32, + ifOutQLen Gauge32, -- deprecated + ifSpecific OBJECT IDENTIFIER -- deprecated + } + + + +ifIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A unique value, greater than zero, for each interface. It + is recommended that values are assigned contiguously + starting from 1. The value for each interface sub-layer + must remain constant at least from one re-initialization of + the entity's network management system to the next re- + initialization." + ::= { ifEntry 1 } + +ifDescr OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual string containing information about the + interface. This string should include the name of the + manufacturer, the product name and the version of the + interface hardware/software." + ::= { ifEntry 2 } + +ifType OBJECT-TYPE + SYNTAX IANAifType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of interface. Additional values for ifType are + assigned by the Internet Assigned Numbers Authority (IANA), + through updating the syntax of the IANAifType textual + convention." + ::= { ifEntry 3 } + +ifMtu OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The size of the largest packet which can be sent/received + on the interface, specified in octets. For interfaces that + are used for transmitting network datagrams, this is the + size of the largest network datagram that can be sent on the + interface." + ::= { ifEntry 4 } + +ifSpeed OBJECT-TYPE + + + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An estimate of the interface's current bandwidth in bits + per second. For interfaces which do not vary in bandwidth + or for those where no accurate estimation can be made, this + object should contain the nominal bandwidth. If the + bandwidth of the interface is greater than the maximum value + reportable by this object then this object should report its + maximum value (4,294,967,295) and ifHighSpeed must be used + to report the interace's speed. For a sub-layer which has + no concept of bandwidth, this object should be zero." + ::= { ifEntry 5 } + +ifPhysAddress OBJECT-TYPE + SYNTAX PhysAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The interface's address at its protocol sub-layer. For + example, for an 802.x interface, this object normally + contains a MAC address. The interface's media-specific MIB + must define the bit and byte ordering and the format of the + value of this object. For interfaces which do not have such + an address (e.g., a serial line), this object should contain + an octet string of zero length." + ::= { ifEntry 6 } + +ifAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + up(1), -- ready to pass packets + down(2), + testing(3) -- in some test mode + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The desired state of the interface. The testing(3) state + indicates that no operational packets can be passed. When a + managed system initializes, all interfaces start with + ifAdminStatus in the down(2) state. As a result of either + explicit management action or per configuration information + retained by the managed system, ifAdminStatus is then + changed to either the up(1) or testing(3) states (or remains + in the down(2) state)." + ::= { ifEntry 7 } + + + +ifOperStatus OBJECT-TYPE + SYNTAX INTEGER { + up(1), -- ready to pass packets + down(2), + testing(3), -- in some test mode + unknown(4), -- status can not be determined + -- for some reason. + dormant(5), + notPresent(6), -- some component is missing + lowerLayerDown(7) -- down due to state of + -- lower-layer interface(s) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current operational state of the interface. The + testing(3) state indicates that no operational packets can + be passed. If ifAdminStatus is down(2) then ifOperStatus + should be down(2). If ifAdminStatus is changed to up(1) + then ifOperStatus should change to up(1) if the interface is + ready to transmit and receive network traffic; it should + change to dormant(5) if the interface is waiting for + external actions (such as a serial line waiting for an + incoming connection); it should remain in the down(2) state + if and only if there is a fault that prevents it from going + to the up(1) state; it should remain in the notPresent(6) + state if the interface has missing (typically, hardware) + components." + ::= { ifEntry 8 } + +ifLastChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time the interface entered + its current operational state. 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." + ::= { ifEntry 9 } + +ifInOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets received on the interface, + + + including framing characters. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 10 } + +ifInUcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were not addressed to a multicast + or broadcast address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 11 } + +ifInNUcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast or + broadcast address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime. + + This object is deprecated in favour of ifInMulticastPkts and + ifInBroadcastPkts." + ::= { ifEntry 12 } + +ifInDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of inbound packets which were chosen to be + discarded even though no errors had been detected to prevent + + + their being deliverable to a higher-layer protocol. One + possible reason for discarding such a packet could be to + free up buffer space. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 13 } + +ifInErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For packet-oriented interfaces, the number of inbound + packets that contained errors preventing them from being + deliverable to a higher-layer protocol. For character- + oriented or fixed-length interfaces, the number of inbound + transmission units that contained errors preventing them + from being deliverable to a higher-layer protocol. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 14 } + +ifInUnknownProtos OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For packet-oriented interfaces, the number of packets + received via the interface which were discarded because of + an unknown or unsupported protocol. For character-oriented + or fixed-length interfaces that support protocol + multiplexing the number of transmission units received via + the interface which were discarded because of an unknown or + unsupported protocol. For any interface that does not + support protocol multiplexing, this counter will always be + 0. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 15 } + + +ifOutOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets transmitted out of the + interface, including framing characters. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 16 } + +ifOutUcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were not addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 17 } + +ifOutNUcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime. + + This object is deprecated in favour of ifOutMulticastPkts + and ifOutBroadcastPkts." + ::= { ifEntry 18 } + + +ifOutDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of outbound packets which were chosen to be + discarded even though no errors had been detected to prevent + their being transmitted. One possible reason for discarding + such a packet could be to free up buffer space. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 19 } + +ifOutErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For packet-oriented interfaces, the number of outbound + packets that could not be transmitted because of errors. + For character-oriented or fixed-length interfaces, the + number of outbound transmission units that could not be + transmitted because of errors. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifEntry 20 } + +ifOutQLen OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The length of the output packet queue (in packets)." + ::= { ifEntry 21 } + +ifSpecific OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "A reference to MIB definitions specific to the particular + media being used to realize the interface. It is + + + recommended that this value point to an instance of a MIB + object in the media-specific MIB, i.e., that this object + have the semantics associated with the InstancePointer + textual convention defined in RFC 2579. In fact, it is + recommended that the media-specific MIB specify what value + ifSpecific should/can take for values of ifType. If no MIB + definitions specific to the particular media are available, + the value should be set to the OBJECT IDENTIFIER { 0 0 }." + ::= { ifEntry 22 } + + + +-- +-- Extension to the interface table +-- +-- This table replaces the ifExtnsTable table. +-- + +ifXTable OBJECT-TYPE + SYNTAX SEQUENCE OF IfXEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of interface entries. The number of entries is + given by the value of ifNumber. This table contains + additional objects for the interface table." + ::= { ifMIBObjects 1 } + +ifXEntry OBJECT-TYPE + SYNTAX IfXEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry containing additional management information + applicable to a particular interface." + AUGMENTS { ifEntry } + ::= { ifXTable 1 } + +IfXEntry ::= + SEQUENCE { + ifName DisplayString, + ifInMulticastPkts Counter32, + ifInBroadcastPkts Counter32, + ifOutMulticastPkts Counter32, + ifOutBroadcastPkts Counter32, + ifHCInOctets Counter64, + ifHCInUcastPkts Counter64, + ifHCInMulticastPkts Counter64, + + + ifHCInBroadcastPkts Counter64, + ifHCOutOctets Counter64, + ifHCOutUcastPkts Counter64, + ifHCOutMulticastPkts Counter64, + ifHCOutBroadcastPkts Counter64, + ifLinkUpDownTrapEnable INTEGER, + ifHighSpeed Gauge32, + ifPromiscuousMode TruthValue, + ifConnectorPresent TruthValue, + ifAlias DisplayString, + ifCounterDiscontinuityTime TimeStamp + } + + +ifName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The textual name of the interface. The value of this + object should be the name of the interface as assigned by + the local device and should be suitable for use in commands + entered at the device's `console'. This might be a text + name, such as `le0' or a simple port number, such as `1', + depending on the interface naming syntax of the device. If + several entries in the ifTable together represent a single + interface as named by the device, then each will have the + same value of ifName. Note that for an agent which responds + to SNMP queries concerning an interface on some other + (proxied) device, then the value of ifName for such an + interface is the proxied device's local name for it. + + If there is no local name, or this object is otherwise not + applicable, then this object contains a zero-length string." + ::= { ifXEntry 1 } + +ifInMulticastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast + address at this sub-layer. For a MAC layer protocol, this + includes both Group and Functional addresses. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + + + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 2 } + +ifInBroadcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a broadcast + address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 3 } + +ifOutMulticastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast address at this sub-layer, including those that + were discarded or not sent. For a MAC layer protocol, this + includes both Group and Functional addresses. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 4 } + +ifOutBroadcastPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + broadcast address at this sub-layer, including those that + were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + + + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 5 } + +-- +-- High Capacity Counter objects. These objects are all +-- 64 bit versions of the "basic" ifTable counters. These +-- objects all have the same basic semantics as their 32-bit +-- counterparts, however, their syntax has been extended +-- to 64 bits. +-- + +ifHCInOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets received on the interface, + including framing characters. This object is a 64-bit + version of ifInOctets. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 6 } + +ifHCInUcastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were not addressed to a multicast + or broadcast address at this sub-layer. This object is a + 64-bit version of ifInUcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 7 } + +ifHCInMulticastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast + address at this sub-layer. For a MAC layer protocol, this + includes both Group and Functional addresses. This object + is a 64-bit version of ifInMulticastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 8 } + +ifHCInBroadcastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a broadcast + address at this sub-layer. This object is a 64-bit version + of ifInBroadcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 9 } + +ifHCOutOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets transmitted out of the + interface, including framing characters. This object is a + 64-bit version of ifOutOctets. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 10 } + +ifHCOutUcastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + "The total number of packets that higher-level protocols + requested be transmitted, and which were not addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. This object is a + 64-bit version of ifOutUcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 11 } + +ifHCOutMulticastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast address at this sub-layer, including those that + were discarded or not sent. For a MAC layer protocol, this + includes both Group and Functional addresses. This object + is a 64-bit version of ifOutMulticastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 12 } + +ifHCOutBroadcastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + broadcast address at this sub-layer, including those that + were discarded or not sent. This object is a 64-bit version + of ifOutBroadcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { ifXEntry 13 } + +ifLinkUpDownTrapEnable OBJECT-TYPE + + + SYNTAX INTEGER { enabled(1), disabled(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates whether linkUp/linkDown traps should be generated + for this interface. + + By default, this object should have the value enabled(1) for + interfaces which do not operate on 'top' of any other + interface (as defined in the ifStackTable), and disabled(2) + otherwise." + ::= { ifXEntry 14 } + +ifHighSpeed OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An estimate of the interface's current bandwidth in units + of 1,000,000 bits per second. If this object reports a + value of `n' then the speed of the interface is somewhere in + the range of `n-500,000' to `n+499,999'. For interfaces + which do not vary in bandwidth or for those where no + accurate estimation can be made, this object should contain + the nominal bandwidth. For a sub-layer which has no concept + of bandwidth, this object should be zero." + ::= { ifXEntry 15 } + +ifPromiscuousMode OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object has a value of false(2) if this interface only + accepts packets/frames that are addressed to this station. + This object has a value of true(1) when the station accepts + all packets/frames transmitted on the media. The value + true(1) is only legal on certain types of media. If legal, + setting this object to a value of true(1) may require the + interface to be reset before becoming effective. + + The value of ifPromiscuousMode does not affect the reception + of broadcast and multicast packets/frames by the interface." + ::= { ifXEntry 16 } + +ifConnectorPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + + + STATUS current + DESCRIPTION + "This object has the value 'true(1)' if the interface + sublayer has a physical connector and the value 'false(2)' + otherwise." + ::= { ifXEntry 17 } + +ifAlias OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..64)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is an 'alias' name for the interface as + specified by a network manager, and provides a non-volatile + 'handle' for the interface. + + On the first instantiation of an interface, the value of + ifAlias associated with that interface is the zero-length + string. As and when a value is written into an instance of + ifAlias through a network management set operation, then the + agent must retain the supplied value in the ifAlias instance + associated with the same interface for as long as that + interface remains instantiated, including across all re- + initializations/reboots of the network management system, + including those which result in a change of the interface's + ifIndex value. + + An example of the value which a network manager might store + in this object for a WAN interface is the (Telco's) circuit + number/identifier of the interface. + + Some agents may support write-access only for interfaces + having particular values of ifType. An agent which supports + write access to this object is required to keep the value in + non-volatile storage, but it may limit the length of new + values depending on how much storage is already occupied by + the current values for other interfaces." + ::= { ifXEntry 18 } + +ifCounterDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion at which + any one or more of this interface's counters suffered a + discontinuity. The relevant counters are the specific + instances associated with this interface of any Counter32 or + + + Counter64 object contained in the ifTable or ifXTable. If + no such discontinuities have occurred since the last re- + initialization of the local management subsystem, then this + object contains a zero value." + ::= { ifXEntry 19 } + +-- The Interface Stack Group +-- +-- Implementation of this group is optional, but strongly recommended +-- for all systems +-- + +ifStackTable OBJECT-TYPE + SYNTAX SEQUENCE OF IfStackEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table containing information on the relationships + between the multiple sub-layers of network interfaces. In + particular, it contains information on which sub-layers run + 'on top of' which other sub-layers, where each sub-layer + corresponds to a conceptual row in the ifTable. For + example, when the sub-layer with ifIndex value x runs over + the sub-layer with ifIndex value y, then this table + contains: + + ifStackStatus.x.y=active + + For each ifIndex value, I, which identifies an active + interface, there are always at least two instantiated rows + in this table associated with I. For one of these rows, I + is the value of ifStackHigherLayer; for the other, I is the + value of ifStackLowerLayer. (If I is not involved in + multiplexing, then these are the only two rows associated + with I.) + + For example, two rows exist even for an interface which has + no others stacked on top or below it: + + ifStackStatus.0.x=active + ifStackStatus.x.0=active " + ::= { ifMIBObjects 2 } + + +ifStackEntry OBJECT-TYPE + SYNTAX IfStackEntry + MAX-ACCESS not-accessible + STATUS current + + + DESCRIPTION + "Information on a particular relationship between two sub- + layers, specifying that one sub-layer runs on 'top' of the + other sub-layer. Each sub-layer corresponds to a conceptual + row in the ifTable." + INDEX { ifStackHigherLayer, ifStackLowerLayer } + ::= { ifStackTable 1 } + + +IfStackEntry ::= + SEQUENCE { + ifStackHigherLayer InterfaceIndexOrZero, + ifStackLowerLayer InterfaceIndexOrZero, + ifStackStatus RowStatus + } + + +ifStackHigherLayer OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of ifIndex corresponding to the higher sub-layer + of the relationship, i.e., the sub-layer which runs on 'top' + of the sub-layer identified by the corresponding instance of + ifStackLowerLayer. If there is no higher sub-layer (below + the internetwork layer), then this object has the value 0." + ::= { ifStackEntry 1 } + + +ifStackLowerLayer OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of ifIndex corresponding to the lower sub-layer + of the relationship, i.e., the sub-layer which runs 'below' + the sub-layer identified by the corresponding instance of + ifStackHigherLayer. If there is no lower sub-layer, then + this object has the value 0." + ::= { ifStackEntry 2 } + + +ifStackStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + "The status of the relationship between two sub-layers. + + Changing the value of this object from 'active' to + 'notInService' or 'destroy' will likely have consequences up + and down the interface stack. Thus, write access to this + object is likely to be inappropriate for some types of + interfaces, and many implementations will choose not to + support write-access for any type of interface." + ::= { ifStackEntry 3 } + +ifStackLastChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time of the last change of + the (whole) interface stack. A change of the interface + stack is defined to be any creation, deletion, or change in + value of any instance of ifStackStatus. If the interface + stack has been unchanged since the last re-initialization of + the local network management subsystem, then this object + contains a zero value." + ::= { ifMIBObjects 6 } + + +-- Generic Receive Address Table +-- +-- This group of objects is mandatory for all types of +-- interfaces which can receive packets/frames addressed to +-- more than one address. +-- +-- This table replaces the ifExtnsRcvAddr table. The main +-- difference is that this table makes use of the RowStatus +-- textual convention, while ifExtnsRcvAddr did not. + +ifRcvAddressTable OBJECT-TYPE + SYNTAX SEQUENCE OF IfRcvAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains an entry for each address (broadcast, + multicast, or uni-cast) for which the system will receive + packets/frames on a particular interface, except as follows: + + - for an interface operating in promiscuous mode, entries + are only required for those addresses for which the system + would receive frames were it not operating in promiscuous + mode. + + + - for 802.5 functional addresses, only one entry is + required, for the address which has the functional address + bit ANDed with the bit mask of all functional addresses for + which the interface will accept frames. + + A system is normally able to use any unicast address which + corresponds to an entry in this table as a source address." + ::= { ifMIBObjects 4 } + +ifRcvAddressEntry OBJECT-TYPE + SYNTAX IfRcvAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of objects identifying an address for which the + system will accept packets/frames on the particular + interface identified by the index value ifIndex." + INDEX { ifIndex, ifRcvAddressAddress } + ::= { ifRcvAddressTable 1 } + +IfRcvAddressEntry ::= + SEQUENCE { + ifRcvAddressAddress PhysAddress, + ifRcvAddressStatus RowStatus, + ifRcvAddressType INTEGER + } + +ifRcvAddressAddress OBJECT-TYPE + SYNTAX PhysAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An address for which the system will accept packets/frames + on this entry's interface." + ::= { ifRcvAddressEntry 1 } + +ifRcvAddressStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is used to create and delete rows in the + ifRcvAddressTable.--IPI Comments: Not Supported" + + ::= { ifRcvAddressEntry 2 } + +ifRcvAddressType OBJECT-TYPE + SYNTAX INTEGER { + + + other(1), + volatile(2), + nonVolatile(3) + } + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object has the value nonVolatile(3) for those entries + in the table which are valid and will not be deleted by the + next restart of the managed system. Entries having the + value volatile(2) are valid and exist, but have not been + saved, so that will not exist after the next restart of the + managed system. Entries having the value other(1) are valid + and exist but are not classified as to whether they will + continue to exist after the next restart.--IPI Comments: Not Supported" + + DEFVAL { volatile } + ::= { ifRcvAddressEntry 3 } + +-- definition of interface-related traps. + +linkDown NOTIFICATION-TYPE + OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } + STATUS current + DESCRIPTION + "A linkDown trap signifies that the SNMP entity, acting in + an agent role, has detected that the ifOperStatus object for + one of its communication links is about to enter the down + state from some other state (but not from the notPresent + state). This other state is indicated by the included value + of ifOperStatus." + ::= { snmpTraps 3 } + +linkUp NOTIFICATION-TYPE + OBJECTS { ifIndex, ifAdminStatus, ifOperStatus } + STATUS current + DESCRIPTION + "A linkUp trap signifies that the SNMP entity, acting in an + agent role, has detected that the ifOperStatus object for + one of its communication links left the down state and + transitioned into some other state (but not into the + notPresent state). This other state is indicated by the + included value of ifOperStatus." + ::= { snmpTraps 4 } + +-- conformance information + + + +ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 } + +ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 } +ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 } + + +-- compliance statements + +ifCompliance3 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for SNMP entities which have + network interfaces." + + MODULE -- this module + MANDATORY-GROUPS { ifGeneralInformationGroup, + linkUpDownNotificationsGroup } + +-- The groups: +-- ifFixedLengthGroup +-- ifHCFixedLengthGroup +-- ifPacketGroup +-- ifHCPacketGroup +-- ifVHCPacketGroup +-- are mutually exclusive; at most one of these groups is implemented +-- for a particular interface. When any of these groups is implemented +-- for a particular interface, then ifCounterDiscontinuityGroup must +-- also be implemented for that interface. + + + GROUP ifFixedLengthGroup + DESCRIPTION + "This group is mandatory for those network interfaces which + are character-oriented or transmit data in fixed-length + transmission units, and for which the value of the + corresponding instance of ifSpeed is less than or equal to + 20,000,000 bits/second." + + GROUP ifHCFixedLengthGroup + DESCRIPTION + "This group is mandatory for those network interfaces which + are character-oriented or transmit data in fixed-length + transmission units, and for which the value of the + corresponding instance of ifSpeed is greater than 20,000,000 + bits/second." + + GROUP ifPacketGroup + DESCRIPTION + + + "This group is mandatory for those network interfaces which + are packet-oriented, and for which the value of the + corresponding instance of ifSpeed is less than or equal to + 20,000,000 bits/second." + + GROUP ifHCPacketGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are packet-oriented and for which the value of the + corresponding instance of ifSpeed is greater than 20,000,000 + bits/second but less than or equal to 650,000,000 + bits/second." + + GROUP ifVHCPacketGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are packet-oriented and for which the value of the + corresponding instance of ifSpeed is greater than + 650,000,000 bits/second." + + + GROUP ifCounterDiscontinuityGroup + DESCRIPTION + "This group is mandatory for those network interfaces that + are required to maintain counters (i.e., those for which one + of the ifFixedLengthGroup, ifHCFixedLengthGroup, + ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is + mandatory)." + + + GROUP ifRcvAddressGroup + DESCRIPTION + "The applicability of this group MUST be defined by the + media-specific MIBs. Media-specific MIBs must define the + exact meaning, use, and semantics of the addresses in this + group." + + OBJECT ifLinkUpDownTrapEnable + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifPromiscuousMode + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifAdminStatus + + + SYNTAX INTEGER { up(1), down(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, nor is support for the value + testing(3)." + + OBJECT ifAlias + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { ifCompliances 3 } + +-- units of conformance + +ifGeneralInformationGroup OBJECT-GROUP + OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress, + ifAdminStatus, ifOperStatus, ifLastChange, + ifLinkUpDownTrapEnable, ifConnectorPresent, + ifHighSpeed, ifName, ifNumber, ifAlias, + ifTableLastChange } + STATUS current + DESCRIPTION + "A collection of objects providing information applicable to + all network interfaces.--IPI Comments: Not Supported" + ::= { ifGroups 10 } + +-- the following five groups are mutually exclusive; at most +-- one of these groups is implemented for any interface + +ifFixedLengthGroup OBJECT-GROUP + OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, + ifInErrors, ifOutErrors } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + non-high speed (non-high speed interfaces transmit and + receive at speeds less than or equal to 20,000,000 + bits/second) character-oriented or fixed-length-transmission + network interfaces." + ::= { ifGroups 2 } + +ifHCFixedLengthGroup OBJECT-GROUP + OBJECTS { ifHCInOctets, ifHCOutOctets, + ifInOctets, ifOutOctets, ifInUnknownProtos, + ifInErrors, ifOutErrors } + STATUS current + DESCRIPTION + + + "A collection of objects providing information specific to + high speed (greater than 20,000,000 bits/second) character- + oriented or fixed-length-transmission network interfaces." + ::= { ifGroups 3 } + +ifPacketGroup OBJECT-GROUP + OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, + ifInErrors, ifOutErrors, + ifMtu, ifInUcastPkts, ifInMulticastPkts, + ifInBroadcastPkts, ifInDiscards, + ifOutUcastPkts, ifOutMulticastPkts, + ifOutBroadcastPkts, ifOutDiscards, + ifPromiscuousMode } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + non-high speed (non-high speed interfaces transmit and + receive at speeds less than or equal to 20,000,000 + bits/second) packet-oriented network interfaces.--IPI Comments: Not Supported" + ::= { ifGroups 4 } + +ifHCPacketGroup OBJECT-GROUP + OBJECTS { ifHCInOctets, ifHCOutOctets, + ifInOctets, ifOutOctets, ifInUnknownProtos, + ifInErrors, ifOutErrors, + ifMtu, ifInUcastPkts, ifInMulticastPkts, + ifInBroadcastPkts, ifInDiscards, + ifOutUcastPkts, ifOutMulticastPkts, + ifOutBroadcastPkts, ifOutDiscards, + ifPromiscuousMode } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + high speed (greater than 20,000,000 bits/second but less + than or equal to 650,000,000 bits/second) packet-oriented + network interfaces." + ::= { ifGroups 5 } + +ifVHCPacketGroup OBJECT-GROUP + OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts, + ifHCInBroadcastPkts, ifHCOutUcastPkts, + ifHCOutMulticastPkts, ifHCOutBroadcastPkts, + ifHCInOctets, ifHCOutOctets, + ifInOctets, ifOutOctets, ifInUnknownProtos, + ifInErrors, ifOutErrors, + ifMtu, ifInUcastPkts, ifInMulticastPkts, + ifInBroadcastPkts, ifInDiscards, + ifOutUcastPkts, ifOutMulticastPkts, + + + ifOutBroadcastPkts, ifOutDiscards, + ifPromiscuousMode } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + higher speed (greater than 650,000,000 bits/second) packet- + oriented network interfaces." + ::= { ifGroups 6 } + +ifRcvAddressGroup OBJECT-GROUP + OBJECTS { ifRcvAddressStatus, ifRcvAddressType } + STATUS current + DESCRIPTION + "A collection of objects providing information on the + multiple addresses which an interface receives.--IPI Comments: Not Supported" + ::= { ifGroups 7 } + +ifStackGroup2 OBJECT-GROUP + OBJECTS { ifStackStatus, ifStackLastChange } + STATUS current + DESCRIPTION + "A collection of objects providing information on the + layering of MIB-II interfaces.--IPI Comments: Not Supported" + ::= { ifGroups 11 } + +ifCounterDiscontinuityGroup OBJECT-GROUP + OBJECTS { ifCounterDiscontinuityTime } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + interface counter discontinuities.--IPI Comments: Not Supported" + ::= { ifGroups 13 } + +linkUpDownNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { linkUp, linkDown } + STATUS current + DESCRIPTION + "The notifications which indicate specific changes in the + value of ifOperStatus.--IPI Comments: Not Supported" + ::= { ifGroups 14 } + +-- Deprecated Definitions - Objects + + +-- +-- The Interface Test Table +-- +-- This group of objects is optional. However, a media-specific + + +-- MIB may make implementation of this group mandatory. +-- +-- This table replaces the ifExtnsTestTable +-- + +ifTestTable OBJECT-TYPE + SYNTAX SEQUENCE OF IfTestEntry + MAX-ACCESS not-accessible + STATUS deprecated + DESCRIPTION + "This table contains one entry per interface. It defines + objects which allow a network manager to instruct an agent + to test an interface for various faults. Tests for an + interface are defined in the media-specific MIB for that + interface. After invoking a test, the object ifTestResult + can be read to determine the outcome. If an agent can not + perform the test, ifTestResult is set to so indicate. The + object ifTestCode can be used to provide further test- + specific or interface-specific (or even enterprise-specific) + information concerning the outcome of the test. Only one + test can be in progress on each interface at any one time. + If one test is in progress when another test is invoked, the + second test is rejected. Some agents may reject a test when + a prior test is active on another interface. + + Before starting a test, a manager-station must first obtain + 'ownership' of the entry in the ifTestTable for the + interface to be tested. This is accomplished with the + ifTestId and ifTestStatus objects as follows: + + try_again: + get (ifTestId, ifTestStatus) + while (ifTestStatus != notInUse) + /* + * Loop while a test is running or some other + * manager is configuring a test. + */ + short delay + get (ifTestId, ifTestStatus) + } + + /* + * Is not being used right now -- let's compete + * to see who gets it. + */ + lock_value = ifTestId + + if ( set(ifTestId = lock_value, ifTestStatus = inUse, + + + ifTestOwner = 'my-IP-address') == FAILURE) + /* + * Another manager got the ifTestEntry -- go + * try again + */ + goto try_again; + + /* + * I have the lock + */ + set up any test parameters. + + /* + * This starts the test + */ + set(ifTestType = test_to_run); + + wait for test completion by polling ifTestResult + + when test completes, agent sets ifTestResult + agent also sets ifTestStatus = 'notInUse' + + retrieve any additional test results, and ifTestId + + if (ifTestId == lock_value+1) results are valid + + A manager station first retrieves the value of the + appropriate ifTestId and ifTestStatus objects, periodically + repeating the retrieval if necessary, until the value of + ifTestStatus is 'notInUse'. The manager station then tries + to set the same ifTestId object to the value it just + retrieved, the same ifTestStatus object to 'inUse', and the + corresponding ifTestOwner object to a value indicating + itself. If the set operation succeeds then the manager has + obtained ownership of the ifTestEntry, and the value of the + ifTestId object is incremented by the agent (per the + semantics of TestAndIncr). Failure of the set operation + indicates that some other manager has obtained ownership of + the ifTestEntry. + + Once ownership is obtained, any test parameters can be + setup, and then the test is initiated by setting ifTestType. + On completion of the test, the agent sets ifTestStatus to + 'notInUse'. Once this occurs, the manager can retrieve the + results. In the (rare) event that the invocation of tests + by two network managers were to overlap, then there would be + a possibility that the first test's results might be + overwritten by the second test's results prior to the first + + + results being read. This unlikely circumstance can be + detected by a network manager retrieving ifTestId at the + same time as retrieving the test results, and ensuring that + the results are for the desired request. + + If ifTestType is not set within an abnormally long period of + time after ownership is obtained, the agent should time-out + the manager, and reset the value of the ifTestStatus object + back to 'notInUse'. It is suggested that this time-out + period be 5 minutes. + + In general, a management station must not retransmit a + request to invoke a test for which it does not receive a + response; instead, it properly inspects an agent's MIB to + determine if the invocation was successful. Only if the + invocation was unsuccessful, is the invocation request + retransmitted. + + Some tests may require the interface to be taken off-line in + order to execute them, or may even require the agent to + reboot after completion of the test. In these + circumstances, communication with the management station + invoking the test may be lost until after completion of the + test. An agent is not required to support such tests. + However, if such tests are supported, then the agent should + make every effort to transmit a response to the request + which invoked the test prior to losing communication. When + the agent is restored to normal service, the results of the + test are properly made available in the appropriate objects. + Note that this requires that the ifIndex value assigned to + an interface must be unchanged even if the test causes a + reboot. An agent must reject any test for which it cannot, + perhaps due to resource constraints, make available at least + the minimum amount of information after that test + completes." + ::= { ifMIBObjects 3 } + +ifTestEntry OBJECT-TYPE + SYNTAX IfTestEntry + MAX-ACCESS not-accessible + STATUS deprecated + DESCRIPTION + "An entry containing objects for invoking tests on an + interface." + AUGMENTS { ifEntry } + ::= { ifTestTable 1 } + +IfTestEntry ::= + + + SEQUENCE { + ifTestId TestAndIncr, + ifTestStatus INTEGER, + ifTestType AutonomousType, + ifTestResult INTEGER, + ifTestCode OBJECT IDENTIFIER, + ifTestOwner OwnerString + } + +ifTestId OBJECT-TYPE + SYNTAX TestAndIncr + MAX-ACCESS read-write + STATUS deprecated + DESCRIPTION + "This object identifies the current invocation of the + interface's test.--IPI Comments: Not Supported" + ::= { ifTestEntry 1 } + +ifTestStatus OBJECT-TYPE + SYNTAX INTEGER { notInUse(1), inUse(2) } + MAX-ACCESS read-write + STATUS deprecated + DESCRIPTION + "This object indicates whether or not some manager currently + has the necessary 'ownership' required to invoke a test on + this interface. A write to this object is only successful + when it changes its value from 'notInUse(1)' to 'inUse(2)'. + After completion of a test, the agent resets the value back + to 'notInUse(1)'.--IPI Comments: Not Supported" + ::= { ifTestEntry 2 } + +ifTestType OBJECT-TYPE + SYNTAX AutonomousType + MAX-ACCESS read-write + STATUS deprecated + DESCRIPTION + "A control variable used to start and stop operator- + initiated interface tests. Most OBJECT IDENTIFIER values + assigned to tests are defined elsewhere, in association with + specific types of interface. However, this document assigns + a value for a full-duplex loopback test, and defines the + special meanings of the subject identifier: + + noTest OBJECT IDENTIFIER ::= { 0 0 } + + When the value noTest is written to this object, no action + is taken unless a test is in progress, in which case the + test is aborted. Writing any other value to this object is + + + only valid when no test is currently in progress, in which + case the indicated test is initiated. + + When read, this object always returns the most recent value + that ifTestType was set to. If it has not been set since + the last initialization of the network management subsystem + on the agent, a value of noTest is returned.--IPI Comments: Not Supported" + ::= { ifTestEntry 3 } + +ifTestResult OBJECT-TYPE + SYNTAX INTEGER { + none(1), -- no test yet requested + success(2), + inProgress(3), + notSupported(4), + unAbleToRun(5), -- due to state of system + aborted(6), + failed(7) + } + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "This object contains the result of the most recently + requested test, or the value none(1) if no tests have been + requested since the last reset. Note that this facility + provides no provision for saving the results of one test + when starting another, as could be required if used by + multiple managers concurrently.--IPI Comments: Not Supported" + ::= { ifTestEntry 4 } + +ifTestCode OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "This object contains a code which contains more specific + information on the test result, for example an error-code + after a failed test. Error codes and other values this + object may take are specific to the type of interface and/or + test. The value may have the semantics of either the + AutonomousType or InstancePointer textual conventions as + defined in RFC 2579. The identifier: + + testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } + + is defined for use if no additional result code is + available.--IPI Comments: Not Supported" + ::= { ifTestEntry 5 } + + +ifTestOwner OBJECT-TYPE + SYNTAX OwnerString + MAX-ACCESS read-write + STATUS deprecated + DESCRIPTION + "The entity which currently has the 'ownership' required to + invoke a test on this interface.--IPI Comments: Not Supported" + ::= { ifTestEntry 6 } + +-- Deprecated Definitions - Groups + + +ifGeneralGroup OBJECT-GROUP + OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress, + ifAdminStatus, ifOperStatus, ifLastChange, + ifLinkUpDownTrapEnable, ifConnectorPresent, + ifHighSpeed, ifName } + STATUS deprecated + DESCRIPTION + "A collection of objects deprecated in favour of + ifGeneralInformationGroup." + ::= { ifGroups 1 } + + +ifTestGroup OBJECT-GROUP + OBJECTS { ifTestId, ifTestStatus, ifTestType, + ifTestResult, ifTestCode, ifTestOwner } + STATUS deprecated + DESCRIPTION + "A collection of objects providing the ability to invoke + tests on an interface." + ::= { ifGroups 8 } + + +ifStackGroup OBJECT-GROUP + OBJECTS { ifStackStatus } + STATUS deprecated + DESCRIPTION + "The previous collection of objects providing information on + the layering of MIB-II interfaces." + ::= { ifGroups 9 } + + +ifOldObjectsGroup OBJECT-GROUP + OBJECTS { ifInNUcastPkts, ifOutNUcastPkts, + ifOutQLen, ifSpecific } + STATUS deprecated + DESCRIPTION + + + "The collection of objects deprecated from the original MIB- + II interfaces group." + ::= { ifGroups 12 } + +-- Deprecated Definitions - Compliance + +ifCompliance MODULE-COMPLIANCE + STATUS deprecated + DESCRIPTION + "A compliance statement defined in a previous version of + this MIB module, for SNMP entities which have network + interfaces." + + MODULE -- this module + MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup } + + GROUP ifFixedLengthGroup + DESCRIPTION + "This group is mandatory for all network interfaces which + are character-oriented or transmit data in fixed-length + transmission units." + + GROUP ifHCFixedLengthGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are character-oriented or transmit data in fixed- + length transmission units, and for which the value of the + corresponding instance of ifSpeed is greater than 20,000,000 + bits/second." + + GROUP ifPacketGroup + DESCRIPTION + "This group is mandatory for all network interfaces which + are packet-oriented." + + GROUP ifHCPacketGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are packet-oriented and for which the value of the + corresponding instance of ifSpeed is greater than + 650,000,000 bits/second." + + GROUP ifTestGroup + DESCRIPTION + "This group is optional. Media-specific MIBs which require + interface tests are strongly encouraged to use this group + for invoking tests and reporting results. A medium specific + MIB which has mandatory tests may make implementation of + + + this group mandatory." + + GROUP ifRcvAddressGroup + DESCRIPTION + "The applicability of this group MUST be defined by the + media-specific MIBs. Media-specific MIBs must define the + exact meaning, use, and semantics of the addresses in this + group." + + OBJECT ifLinkUpDownTrapEnable + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifPromiscuousMode + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifStackStatus + SYNTAX INTEGER { active(1) } -- subset of RowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and only one of the six + enumerated values for the RowStatus textual convention need + be supported, specifically: active(1)." + + OBJECT ifAdminStatus + SYNTAX INTEGER { up(1), down(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, nor is support for the value + testing(3)." + ::= { ifCompliances 1 } + +ifCompliance2 MODULE-COMPLIANCE + STATUS deprecated + DESCRIPTION + "A compliance statement defined in a previous version of + this MIB module, for SNMP entities which have network + interfaces." + + MODULE -- this module + MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2, + ifCounterDiscontinuityGroup } + + GROUP ifFixedLengthGroup + DESCRIPTION + + + "This group is mandatory for all network interfaces which + are character-oriented or transmit data in fixed-length + transmission units." + + GROUP ifHCFixedLengthGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are character-oriented or transmit data in fixed- + length transmission units, and for which the value of the + corresponding instance of ifSpeed is greater than 20,000,000 + bits/second." + + GROUP ifPacketGroup + DESCRIPTION + "This group is mandatory for all network interfaces which + are packet-oriented." + + GROUP ifHCPacketGroup + DESCRIPTION + "This group is mandatory only for those network interfaces + which are packet-oriented and for which the value of the + corresponding instance of ifSpeed is greater than + 650,000,000 bits/second." + + GROUP ifRcvAddressGroup + DESCRIPTION + "The applicability of this group MUST be defined by the + media-specific MIBs. Media-specific MIBs must define the + exact meaning, use, and semantics of the addresses in this + group." + + OBJECT ifLinkUpDownTrapEnable + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifPromiscuousMode + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ifStackStatus + SYNTAX INTEGER { active(1) } -- subset of RowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and only one of the six + enumerated values for the RowStatus textual convention need + be supported, specifically: active(1)." + + + OBJECT ifAdminStatus + SYNTAX INTEGER { up(1), down(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, nor is support for the value + testing(3)." + + OBJECT ifAlias + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { ifCompliances 2 } + +END diff --git a/mibs/MSTP-MIB.txt b/mibs/MSTP-MIB.txt new file mode 100644 index 00000000..3277c952 --- /dev/null +++ b/mibs/MSTP-MIB.txt @@ -0,0 +1,732 @@ +MSTP-MIB DEFINITIONS ::= BEGIN +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32 + FROM SNMPv2-SMI + TruthValue, RowStatus, DisplayString + FROM SNMPv2-TC + TimeTicks + FROM RFC1155-SMI + BridgeId, Timeout + FROM BRIDGE-MIB + dot1dBridge + FROM BRIDGE-MIB; + +dot1sStp MODULE-IDENTITY + LAST-UPDATED "20041250000Z" + ORGANIZATION "IETF Bridge MIB Working Group" + CONTACT-INFO + "Email: Bridge-mib@ietf.org" + DESCRIPTION + " The Bridge MIB Extension module for managing devices + that support the Multiple Spanning Tree Protocol defined + by IEEE 802.1s." + REVISION "20041250000Z " + + + + DESCRIPTION + "Draft 1" + ::= { dot1dBridge 99 } + +dot1sStpName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The configuration name that identifies the MST + region and is used as one of the inputs in the + computation of the MST Configuration Identifier. + This object does not have any default value." + REFERENCE + "IEEE 802.1s clause 13.7" + ::= { dot1sStp 1 } +dot1sStpRevision OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object identifies the MST revision that + identifies the MST region and is used as one + of the inputs in the computation of the MST + configuration Identifier. This object does not + have any default value." + REFERENCE + "IEEE 802.1s: Section 13.7" + ::= { dot1sStp 2 } +dot1sStpEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This parameter is used for enabling or disabling + MST globally on all the bridging ports." + REFERENCE + "IEEE 802.1s" + DEFVAL { 2 } + ::= { dot1sStp 3 } +dot1sStpBridgeMaxAge OBJECT-TYPE + SYNTAX Timeout (600..4000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for MaxAge when + this bridge is acting as the root. This parameter + is applicable for all MST Instances including CIST." + REFERENCE + "IEEE 802.1s: Section 13.23.4, 13.23.10" + DEFVAL { 2000 } + ::= { dot1sStp 4 } +dot1sStpBridgeHelloTime OBJECT-TYPE + SYNTAX Timeout (100..1000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for HelloTime when + this bridge is acting as the root. This parameter + is applicable for all MST Instances including CIST." + REFERENCE + "IEEE 802.1s: Section 13.23.4, 13.23.10" + DEFVAL { 200 } + ::= { dot1sStp 5 } +dot1sStpBridgeForwardDelay OBJECT-TYPE + SYNTAX Timeout (4..30) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value that all bridges use for ForwardDelay + when this bridge is acting as the root. This parameter + is applicable for all MST Instances including CIST." + REFERENCE + "IEEE 802.1s: Section 13.23.4, 13.23.10" + DEFVAL { 1500 } + ::= { dot1sStp 6 } +dot1sStpTxHoldCount OBJECT-TYPE + SYNTAX Integer32 (1..15) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value used by the Port Transmit state machine to + limit the maximum transmission rate of MST BPDUs within + the hello interval." + REFERENCE + "IEEE 802.1s: Section 13.22" + DEFVAL { 3 } + ::= { dot1sStp 7 } +dot1sStpProtocolSpecification OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + decLb100(2), + ieee8021d(3), + ieee8021w(4), + ieee8021s(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An indication of what version of the Spanning + Tree Protocol is being run. The value + 'decLb100(2)' indicates the DEC LANbridge 100 + Spanning Tree protocol. IEEE 802.1w + implementations will return 'ieee8021w(4)'. IEEE + 802.1s implementations will return 'ieee8021s(5). If + future versions of the IEEE Spanning Tree Protocol + are released that are incompatible with the + current version a new value will be defined." + REFERENCE + "IEEE 802.1s: Section 13.22" + DEFVAL { 5 } + ::= { dot1sStp 8 } +dot1sStpInstTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1sStpInstEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains MST instance-specific + configuration and operational information." + ::= { dot1sStp 9 } + +dot1sStpInstEntry OBJECT-TYPE + SYNTAX Dot1sStpInstEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information maintained by every mst instance + about the STP topology for that instance." + INDEX { dot1sStpInstId } + ::= { dot1sStpInstTable 1 } +Dot1sStpInstEntry ::= + SEQUENCE { + dot1sStpInstId + Integer32, + dot1sStpPriority + Integer32, + dot1sStpInstTimeSinceTopologyChange + TimeTicks, + dot1sStpInstTopChanges + Counter32, + dot1sStpInstDesignatedRoot + BridgeId, + dot1sStpInstRootCost + Integer32, + dot1sStpInstRootPort + Integer32, + dot1sStpInstMaxAge + Timeout, + dot1sStpInstHelloTime + Timeout, + dot1sStpInstForwardDelay + Timeout, + dot1sStpInstAdminEnable + TruthValue, + dot1sStpInstOperEnable + TruthValue + } +dot1sStpInstId OBJECT-TYPE + SYNTAX Integer32 (1..64) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Identifier of this MST Instance" --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpInstEntry 1 } +dot1sStpPriority OBJECT-TYPE + SYNTAX Integer32 (0..61440) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value of the write-able portion of the Bridge + ID, i.e., the first two octets, out of which the + priority is the most significant 4 bits of the first + octet of the (8 octet long) Bridge ID. The other + (last) 6 octets of the Bridge ID are given by the + value of dot1dBaseBridgeAddress in the BRIDGE-MIB. + The value of this object should always be a multiple + of 4096." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.2" + DEFVAL { 32768 } + ::= { dot1sStpInstEntry 2 } +dot1sStpInstTimeSinceTopologyChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time (in hundredths of a second) since the + last time a topology change was detected by the + bridge entity running MSTP." --- IPI Comments: Not Supported + REFERENCE + " IEEE 802.1D-1990: Section 6.8.1.1.3" + ::= { dot1sStpInstEntry 3 } +dot1sStpInstTopChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of topology changes detected by + this bridge entity running MST since the management + entity was last reset or initialized." --- IPI Comments: Not Supported + REFERENCE + " IEEE 802.1D-1990: Section 6.8.1.1.3" + ::= { dot1sStpInstEntry 4 } +dot1sStpInstDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bridge identifier of the root of the + corresponding spanning tree instance as determined + by the Spanning Tree Protocol for that instance. + This value is used as the CIST Root Identifier or MSTI + regional root identifier parameter in all MST BPDUs + originated by this node." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.6, 13.23.12" + ::= { dot1sStpInstEntry 5 } +dot1sStpInstRootCost OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The cost of the path to the root as seen from + this bridge for this instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.6, 13.23.12" + ::= { dot1sStpInstEntry 6 } +dot1sStpInstRootPort OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port which offers the + lowest cost path from this bridge to the root + bridge for this instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.6, 13.23.12" + ::= { dot1sStpInstEntry 7 } +dot1sStpInstMaxAge OBJECT-TYPE + SYNTAX Timeout + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum age of Spanning Tree Protocol + information learned from the network on any port + before it is discarded, in units of hundredths of + a second. This is the actual value, which is + advertised by the Root bridge and is currently + used for this MST Instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.7, 13.23.13" + ::= { dot1sStpInstEntry 8 } +dot1sStpInstHelloTime OBJECT-TYPE + SYNTAX Timeout + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The period of time between the transmission of + MST BPDUs by this node on any port when it is the + root of the spanning tree or trying to become so, + in units of hundredths of a second. This is the actual + value, which is advertised by the Root bridge and is + currently used for this MST Instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.7, 13.23.13" + ::= { dot1sStpInstEntry 9 } +dot1sStpInstForwardDelay OBJECT-TYPE + SYNTAX Timeout + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This time value, measured in units of hundredths + of a second, controls how fast a port changes its + spanning state when moving towards the Forwarding + state. The value determines how long the port + stays in each of the Discarding and Learning + states, which precede the Forwarding state. This + value is also used, when a topology change has + been detected and is underway, to age all dynamic + entries in the Forwarding Database. [Note that + this value is the one that this bridge is + currently using, in contrast to + dot1sStpBridgeForwardDelay which is the value that + this bridge and all others would start using + if/when this bridge were to become the root.]" --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.23.7, 13.23.13" + ::= { dot1sStpInstEntry 10 } +dot1sStpInstAdminEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative enabled/disabled status of the + instance" --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + DEFVAL { 2 } + ::= { dot1sStpInstEntry 11 } +dot1sStpInstOperEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational enabled/disabled status of the + instance. An MST Instance may be administratively + enabled but may not be operationally running, for + example, when no VLAN is mapped to that MST Instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + DEFVAL { 2 } + ::= { dot1sStpInstEntry 12 } + +dot1sStpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1sStpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains MSTP ports' information." + ::= { dot1sStp 9 } + +dot1sStpPortEntry OBJECT-TYPE + SYNTAX Dot1sStpPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information maintained by every MST port + about the Spanning Tree Protocol state for that port." + INDEX { dot1sStpPort } + ::= { dot1sStpPortTable 1 } + +Dot1sStpPortEntry ::= + SEQUENCE { + dot1sStpPort + Integer32, + dot1sStpPortAdminEdgePort + TruthValue, + dot1sStpPortAdminPointToPoint + INTEGER, + dot1sStpPortOperEdgePort + TruthValue, + dot1sStpPortOperPointToPoint + TruthValue, + dot1sStpVersion + INTEGER + } + +dot1sStpPort OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port number of the port for which this entry + contains Spanning Tree Protocol management + information." + REFERENCE + " IEEE 802.1s: Section 13.24.21" + ::= { dot1sStpPortEntry 1 } + + +dot1sStpPortAdminEdgePort OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative value of the Edge Port parameter. A + value of TRUE(1) indicates that this port should be + assumed as an edge-port and a value of FALSE(2) indicates + that this port should be assumed as a non-edge-port." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 12.8.2.1.3" + ::= { dot1sStpPortEntry 2 } + +dot1sStpPortAdminPointToPoint OBJECT-TYPE + SYNTAX INTEGER { + forceTrue(1), + forceFalse(2), + auto(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative point-to-point status of the LAN segment + attached to this port. A value of forceTrue(1) indicates that + this port should always be treated as if it is connected to + a point-to-point link. A value of forceFalse(2) indicates + that this port should be treated as having a shared media + connection. A value of auto(3) indicates that this port is + considered to have a point-to-point link if it is an Aggregator + and all of its members are aggregatable, or if the MAC entity + is configured for full duplex operation, either through + auto-negotiation or by management means." + REFERENCE + "IEEE 802.1s: Section 13.18" + ::= { dot1sStpPortEntry 3 } + +dot1sStpPortOperEdgePort OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational value of the Edge Port parameter. A + value of TRUE(1) indicates that this port should be + assumed as an edge-port and a value of FALSE(2) indicates + that this port should be assumed as a non-edge-port." + REFERENCE + "IEEE 802.1s: Section 12.8.2.1.3" + ::= { dot1sStpPortEntry 4 } + + dot1sStpPortOperPointToPoint OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational point-to-point status of the LAN segment + attached to this port. It indicates whether a port is + considered to have a point-to-point connection or not. + The value is determined by management or by auto-detection, + as described in the dot1dStpPortAdminPointToPoint object." + REFERENCE + "IEEE 802.1s: Section 13.18" + ::= { dot1sStpPortEntry 5 } + +dot1sStpVersion OBJECT-TYPE + SYNTAX INTEGER { + stpCompatible(0), + rstp-mstp(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version of Spanning Tree Protocol the bridge is + currently running. The value 'stpCompatible(0)' + indicates the Spanning Tree Protocol specified in + IEEE 802.1D and 'rstp/mstp(2)' indicates the Rapid + Spanning Tree Protocol specified in IEEE 802.1w and + Multiple Spanning Tree Protocol specified in IEEE + 802.1s. New value may be defined as future versions + of the protocol become available." + REFERENCE + "IEEE 802.1s: Section 14.2" + DEFVAL { rstp-mstp } + ::= { dot1sStpPortEntry 6 } + +dot1sStpInstPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1sStpInstPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains MST port and instance + information." + ::= { dot1sStp 10 } + +dot1sStpInstPortEntry OBJECT-TYPE + SYNTAX Dot1sStpInstPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information maintained by every MST port + for each MST instance it belongs to about the Spanning + Tree Protocol state for that port." + INDEX { dot1sStpInstId, dot1sStpPort } + ::= { dot1sStpInstPortTable 1 } + +Dot1sStpInstPortEntry ::= + SEQUENCE { + dot1sStpInstPortPriority + Integer32, + dot1sStpInstPortState + INTEGER, + dot1sStpInstPortPathCost + Integer32, + dot1sStpInstPortDesignatedRoot + BridgeId, + dot1sStpInstPortDesignatedCost + Integer32, + dot1sStpInstPortDesignatedBridge + BridgeId, + dot1sStpInstPortDesignatedPort + OCTET STRING, + dot1sStpInstPortForwardTransitions + Counter32, + dot1sStpInstPortRole + INTEGER + } + +dot1sStpInstPortPriority OBJECT-TYPE + SYNTAX Integer32 (0..240) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value of the priority field which is + contained in the most significant 4 bits + of the first (in network byte order) + octet of the (2 octet long) Port ID. As it is + contained only in 4 bits, the value has to be + a multiple of 16. The other octet of the Port + ID is given by the value of dot1dStpPort." --- IPI Comments: Not Supported +REFERENCE + "IEEE 802.1s: Section 13.24.21" + ::= { dot1sStpInstPortEntry 1 } + +dot1sStpInstPortState OBJECT-TYPE + SYNTAX INTEGER { + disabled(1), + discarding(2), + learning(3), + forwarding(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The port's current state as defined by + application of the Spanning Tree Protocol. This + state controls what action a port takes on + reception of a frame. For ports which + are disabled (see dot1dStpPortEnable), this object + will have a value of disabled(1)." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.16" + ::= { dot1sStpInstPortEntry 2 } + +dot1sStpInstPortPathCost OBJECT-TYPE + SYNTAX Integer32 (1..200000000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1990 recommends that the + default value of this parameter be in inverse + proportion to the speed of the attached LAN." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.8, 13.24.17" + ::= { dot1sStpInstPortEntry 3 } + +dot1sStpInstPortDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unique Bridge Identifier of the Bridge + recorded as the Root in the Configuration BPDUs + transmitted by the Designated Bridge for the + segment to which the port is attached." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.4, 13.24.11" + ::= { dot1sStpInstPortEntry 4 } + +dot1sStpInstPortDesignatedCost OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The path cost of the Designated Port of the + segment connected to this port. This value is + compared to the Root Path Cost field in received + bridge PDUs." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.4, 13.24.11" + ::= { dot1sStpInstPortEntry 5 } + +dot1sStpInstPortDesignatedBridge OBJECT-TYPE + SYNTAX BridgeId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Bridge Identifier of the bridge which this + port considers to be the Designated Bridge for + this port's segment." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.4, 13.24.11" + ::= { dot1sStpInstPortEntry 6 } + +dot1sStpInstPortDesignatedPort OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Port Identifier of the port on the Designated + Bridge for this port's segment." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.4, 13.24.11" + ::= { dot1sStpInstPortEntry 7 } + +dot1sStpInstPortForwardTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this port has transitioned + from the Learning state to the Forwarding state." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpInstPortEntry 8 } + +dot1sStpInstPortRole OBJECT-TYPE + SYNTAX INTEGER { + master(0), + alternate-backup(1), + root(2), + designated(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The role of the port. As per IEEE 802.1s, the + port can have any of the following roles: + Disabled, Root, Designated, Alternate, Backup, + Master" --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s: Section 13.24.25" + ::= { dot1sStpInstPortEntry 9 } + +dot1sStpVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1sStpVlanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains MSTI-VLAN mapping." + ::= { dot1sStp 11 } + +dot1sStpVlanEntry OBJECT-TYPE + SYNTAX Dot1sStpVlanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of information maintained by every MST instance + about the VLANs mapped to that instance." --- IPI Comments: Not Supported + INDEX { dot1sStpVlanMstIndex, dot1sStpVlanRangeIndex } + ::= { dot1sStpVlanTable 1 } + +Dot1sStpVlanEntry ::= + SEQUENCE { + dot1sStpVlanMstIndex + Integer32, + dot1sStpVlanRangeIndex + Integer32, + dot1sStpVlanMin + Integer32, + dot1sStpVlanMax + Integer32, + dot1sStpVlanRowStatus + RowStatus + } + +dot1sStpVlanMstIndex OBJECT-TYPE + SYNTAX Integer32 (2..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the primary index to the MST-VLAN table + and is derived from the MST Instance id by + incrementing by 1." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpVlanEntry 1 } + + +dot1sStpVlanRangeIndex OBJECT-TYPE + SYNTAX Integer32 (1..4094) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the secondary index to the MSTI-VLAN Table. + It signifies the index to the VLAN range entry in + the table." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpVlanEntry 2 } + +dot1sStpVlanMin OBJECT-TYPE + SYNTAX Integer32 (1..4094) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The lower value in the VLAN range mapped + to the MST Instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpVlanEntry 3 } + +dot1sStpVlanMax OBJECT-TYPE + SYNTAX Integer32 (1..4094) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The higher value in the VLAN range mapped + to the MST Instance." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpVlanEntry 4 } + +dot1sStpVlanRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of the row as per SNMP-v2." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1s" + ::= { dot1sStpVlanEntry 5 } + +END diff --git a/mibs/P-BRIDGE-MIB.txt b/mibs/P-BRIDGE-MIB.txt new file mode 100644 index 00000000..72a4de18 --- /dev/null +++ b/mibs/P-BRIDGE-MIB.txt @@ -0,0 +1,1245 @@ +P-BRIDGE-MIB DEFINITIONS ::= BEGIN + +-- ------------------------------------------------------------- +-- MIB for IEEE 802.1p devices +-- ------------------------------------------------------------- + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, Counter64 + FROM SNMPv2-SMI + TruthValue, TimeInterval, MacAddress, TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + dot1dTp, dot1dTpPort, dot1dBridge, + dot1dBasePortEntry, dot1dBasePort + FROM BRIDGE-MIB; + +pBridgeMIB MODULE-IDENTITY + LAST-UPDATED "200601090000Z" + ORGANIZATION "IETF Bridge MIB Working Group" + CONTACT-INFO + "Email: bridge-mib@ietf.org + ietfmibs@ops.ietf.org + + David Levi + Postal: Nortel Networks + 4655 Great America Parkway + Santa Clara, CA 95054 + USA + Phone: +1 865 686 0432 + Email: dlevi@nortel.com + + David Harrington + Postal: Effective Software + 50 Harding Rd. + Portsmouth, NH 03801 + USA + Phone: +1 603 436 8634 + Email: ietfdbh@comcast.net + + Les Bell + Postal: Hemel Hempstead, Herts. HP2 7YU + UK + Email: elbell@ntlworld.com + + Vivian Ngai + + + + Email: vivian_ngai@acm.org + + Andrew Smith + Postal: Beijing Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089 + PRC + Fax: +1 415 345 1827 + Email: ah_smith@acm.org + + Paul Langille + Postal: Newbridge Networks + 5 Corporate Drive + Andover, MA 01810 + USA + Phone: +1 978 691 4665 + Email: langille@newbridge.com + + Anil Rijhsinghani + Postal: Accton Technology Corporation + 5 Mount Royal Ave + Marlboro, MA 01752 + USA + Phone: + Email: anil@accton.com + + Keith McCloghrie + Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + Phone: +1 408 526 5260 + Email: kzm@cisco.com" + DESCRIPTION + "The Bridge MIB Extension module for managing Priority + and Multicast Filtering, defined by IEEE 802.1D-1998, + including Restricted Group Registration defined by + IEEE 802.1t-2001. + + Copyright (C) The Internet Society (2006). This version of + this MIB module is part of RFC 4363; See the RFC itself for + full legal notices." + REVISION "200601090000Z" + DESCRIPTION + "Added dot1dPortRestrictedGroupRegistration. + Deprecated pBridgePortGmrpGroup and pBridgeCompliance + and added pBridgePortGmrpGroup2 and pBridgeCompliance2." + + + + REVISION "199908250000Z" + DESCRIPTION + "The Bridge MIB Extension module for managing Priority + and Multicast Filtering, defined by IEEE 802.1D-1998. + + Initial version, published as RFC 2674." + + ::= { dot1dBridge 6 } + +pBridgeMIBObjects OBJECT IDENTIFIER ::= { pBridgeMIB 1 } + +-- ------------------------------------------------------------- +-- Textual Conventions +-- ------------------------------------------------------------- + +EnabledStatus ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A simple status value for the object." + SYNTAX INTEGER { enabled(1), disabled(2) } + +-- ------------------------------------------------------------- +-- subtrees in the P-BRIDGE MIB +-- ------------------------------------------------------------- + +dot1dExtBase OBJECT IDENTIFIER ::= { pBridgeMIBObjects 1 } +dot1dPriority OBJECT IDENTIFIER ::= { pBridgeMIBObjects 2 } +dot1dGarp OBJECT IDENTIFIER ::= { pBridgeMIBObjects 3 } +dot1dGmrp OBJECT IDENTIFIER ::= { pBridgeMIBObjects 4 } + +-- ------------------------------------------------------------- +-- the dot1dExtBase subtree +-- ------------------------------------------------------------- + +dot1dDeviceCapabilities OBJECT-TYPE + SYNTAX BITS { + dot1dExtendedFilteringServices(0), + dot1dTrafficClasses(1), + dot1qStaticEntryIndividualPort(2), + dot1qIVLCapable(3), + dot1qSVLCapable(4), + dot1qHybridCapable(5), + dot1qConfigurablePvidTagging(6), + dot1dLocalVlanCapable(7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "Indicates the optional parts of IEEE 802.1D and 802.1Q + that are implemented by this device and are manageable + through this MIB. Capabilities that are allowed on a + per-port basis are indicated in dot1dPortCapabilities. + + dot1dExtendedFilteringServices(0), + -- can perform filtering of + -- individual multicast addresses + -- controlled by GMRP. + dot1dTrafficClasses(1), + -- can map user priority to + -- multiple traffic classes. + dot1qStaticEntryIndividualPort(2), + -- dot1qStaticUnicastReceivePort & + -- dot1qStaticMulticastReceivePort + -- can represent non-zero entries. + dot1qIVLCapable(3), -- Independent VLAN Learning (IVL). + dot1qSVLCapable(4), -- Shared VLAN Learning (SVL). + dot1qHybridCapable(5), + -- both IVL & SVL simultaneously. + dot1qConfigurablePvidTagging(6), + -- whether the implementation + -- supports the ability to + -- override the default PVID + -- setting and its egress status + -- (VLAN-Tagged or Untagged) on + -- each port. + dot1dLocalVlanCapable(7) + -- can support multiple local + -- bridges, outside of the scope + -- of 802.1Q defined VLANs." + REFERENCE + "ISO/IEC 15802-3 Section 5.2, + IEEE 802.1Q/D11 Section 5.2, 12.10.1.1.3/b/2" + ::= { dot1dExtBase 1 } + +dot1dTrafficClassesEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value true(1) indicates that Traffic Classes are + enabled on this bridge. When false(2), the bridge + operates with a single priority level for all traffic. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { true } + + + + ::= { dot1dExtBase 2 } + +dot1dGmrpStatus OBJECT-TYPE + SYNTAX EnabledStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative status requested by management for + GMRP. The value enabled(1) indicates that GMRP should + be enabled on this device, in all VLANs, on all ports + for which it has not been specifically disabled. When + disabled(2), GMRP is disabled, in all VLANs and on all + ports, and all GMRP packets will be forwarded + transparently. This object affects both Applicant and + Registrar state machines. A transition from disabled(2) + to enabled(1) will cause a reset of all GMRP state + machines on all ports. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { enabled } + ::= { dot1dExtBase 3 } + +-- ------------------------------------------------------------- +-- Port Capabilities Table +-- ------------------------------------------------------------- + +dot1dPortCapabilitiesTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dPortCapabilitiesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains capabilities information about + every port that is associated with this bridge." + ::= { dot1dExtBase 4 } + +dot1dPortCapabilitiesEntry OBJECT-TYPE + SYNTAX Dot1dPortCapabilitiesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A set of capabilities information about this port + indexed by dot1dBasePort." + AUGMENTS { dot1dBasePortEntry } + ::= { dot1dPortCapabilitiesTable 1 } + +Dot1dPortCapabilitiesEntry ::= + SEQUENCE { + + + + dot1dPortCapabilities + BITS + } + +dot1dPortCapabilities OBJECT-TYPE + SYNTAX BITS { + dot1qDot1qTagging(0), + dot1qConfigurableAcceptableFrameTypes(1), + dot1qIngressFiltering(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the parts of IEEE 802.1D and 802.1Q that are + optional on a per-port basis, that are implemented by + this device, and that are manageable through this MIB. + + dot1qDot1qTagging(0), -- supports 802.1Q VLAN tagging of + -- frames and GVRP. + dot1qConfigurableAcceptableFrameTypes(1), + -- allows modified values of + -- dot1qPortAcceptableFrameTypes. + dot1qIngressFiltering(2) + -- supports the discarding of any + -- frame received on a Port whose + -- VLAN classification does not + -- include that Port in its Member + -- set." + REFERENCE + "ISO/IEC 15802-3 Section 5.2, + IEEE 802.1Q/D11 Section 5.2" + ::= { dot1dPortCapabilitiesEntry 1 } + +-- ------------------------------------------------------------- +-- the dot1dPriority subtree +-- ------------------------------------------------------------- + +-- ------------------------------------------------------------- +-- Port Priority Table +-- ------------------------------------------------------------- + +dot1dPortPriorityTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dPortPriorityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains information about every port that + is associated with this transparent bridge." + + + + ::= { dot1dPriority 1 } + +dot1dPortPriorityEntry OBJECT-TYPE + SYNTAX Dot1dPortPriorityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Default User Priorities for each port of a + transparent bridge. This is indexed by dot1dBasePort." + AUGMENTS { dot1dBasePortEntry } + ::= { dot1dPortPriorityTable 1 } + +Dot1dPortPriorityEntry ::= + SEQUENCE { + dot1dPortDefaultUserPriority + Integer32, + dot1dPortNumTrafficClasses + Integer32 + } + +dot1dPortDefaultUserPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The default ingress User Priority for this port. This + only has effect on media, such as Ethernet, that do not + support native User Priority. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + ::= { dot1dPortPriorityEntry 1 } + +dot1dPortNumTrafficClasses OBJECT-TYPE + SYNTAX Integer32 (1..8) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The number of egress traffic classes supported on this + port. This object may optionally be read-only. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + ::= { dot1dPortPriorityEntry 2 } + +-- ------------------------------------------------------------- +-- User Priority Regeneration Table +-- ------------------------------------------------------------- + + + +dot1dUserPriorityRegenTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dUserPriorityRegenEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Regenerated User Priorities for each received + User Priority on each port of a bridge. The Regenerated + User Priority value may be used to index the Traffic + Class Table for each input port. This only has effect + on media that support native User Priority. The default + values for Regenerated User Priorities are the same as + the User Priorities." + REFERENCE + "ISO/IEC 15802-3 Section 6.4" + ::= { dot1dPriority 2 } + +dot1dUserPriorityRegenEntry OBJECT-TYPE + SYNTAX Dot1dUserPriorityRegenEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A mapping of incoming User Priority to a Regenerated + User Priority." + INDEX { dot1dBasePort, dot1dUserPriority } + ::= { dot1dUserPriorityRegenTable 1 } + +Dot1dUserPriorityRegenEntry ::= + SEQUENCE { + dot1dUserPriority + Integer32, + dot1dRegenUserPriority + Integer32 + } + +dot1dUserPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The User Priority for a frame received on this port. + --IPI Comments: Not Supported" + ::= { dot1dUserPriorityRegenEntry 1 } + +dot1dRegenUserPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Regenerated User Priority that the incoming User + + + + Priority is mapped to for this port. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + ::= { dot1dUserPriorityRegenEntry 2 } + +-- ------------------------------------------------------------- +-- Traffic Class Table +-- ------------------------------------------------------------- + +dot1dTrafficClassTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dTrafficClassEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table mapping evaluated User Priority to Traffic + Class, for forwarding by the bridge. Traffic class is a + number in the range (0..(dot1dPortNumTrafficClasses-1))." + REFERENCE + "ISO/IEC 15802-3 Table 7-2" + ::= { dot1dPriority 3 } + +dot1dTrafficClassEntry OBJECT-TYPE + SYNTAX Dot1dTrafficClassEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "User Priority to Traffic Class mapping." + INDEX { dot1dBasePort, dot1dTrafficClassPriority } + ::= { dot1dTrafficClassTable 1 } + +Dot1dTrafficClassEntry ::= + SEQUENCE { + dot1dTrafficClassPriority + Integer32, + dot1dTrafficClass + Integer32 + } + +dot1dTrafficClassPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Priority value determined for the received frame. + This value is equivalent to the priority indicated in + the tagged frame received, or one of the evaluated + priorities, determined according to the media-type. + + + + For untagged frames received from Ethernet media, this + value is equal to the dot1dPortDefaultUserPriority value + for the ingress port. + + For untagged frames received from non-Ethernet media, + this value is equal to the dot1dRegenUserPriority value + for the ingress port and media-specific user priority. + --IPI Comments: Not Supported" + ::= { dot1dTrafficClassEntry 1 } + +dot1dTrafficClass OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Traffic Class the received frame is mapped to. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + ::= { dot1dTrafficClassEntry 2 } + +-- ------------------------------------------------------------- +-- Outbound Access Priority Table +-- ------------------------------------------------------------- + +dot1dPortOutboundAccessPriorityTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dPortOutboundAccessPriorityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table mapping Regenerated User Priority to Outbound + Access Priority. This is a fixed mapping for all port + types, with two options for 802.5 Token Ring." + REFERENCE + "ISO/IEC 15802-3 Table 7-3" + ::= { dot1dPriority 4 } + +dot1dPortOutboundAccessPriorityEntry OBJECT-TYPE + SYNTAX Dot1dPortOutboundAccessPriorityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Regenerated User Priority to Outbound Access Priority + mapping." + INDEX { dot1dBasePort, dot1dRegenUserPriority } + ::= { dot1dPortOutboundAccessPriorityTable 1 } + +Dot1dPortOutboundAccessPriorityEntry ::= + SEQUENCE { + + + + dot1dPortOutboundAccessPriority + Integer32 + } + +dot1dPortOutboundAccessPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Outbound Access Priority the received frame is + mapped to. + --IPI Comments: Not Supported" + ::= { dot1dPortOutboundAccessPriorityEntry 1 } + +-- ------------------------------------------------------------- +-- the dot1dGarp subtree +-- ------------------------------------------------------------- + +-- ------------------------------------------------------------- +-- The GARP Port Table +-- ------------------------------------------------------------- + +dot1dPortGarpTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dPortGarpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of GARP control information about every bridge + port. This is indexed by dot1dBasePort." + ::= { dot1dGarp 1 } + +dot1dPortGarpEntry OBJECT-TYPE + SYNTAX Dot1dPortGarpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "GARP control information for a bridge port." + AUGMENTS { dot1dBasePortEntry } + ::= { dot1dPortGarpTable 1 } + +Dot1dPortGarpEntry ::= + SEQUENCE { + dot1dPortGarpJoinTime + TimeInterval, + dot1dPortGarpLeaveTime + TimeInterval, + dot1dPortGarpLeaveAllTime + TimeInterval + } + + + +dot1dPortGarpJoinTime OBJECT-TYPE + SYNTAX TimeInterval + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The GARP Join time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { 20 } + ::= { dot1dPortGarpEntry 1 } + +dot1dPortGarpLeaveTime OBJECT-TYPE + SYNTAX TimeInterval + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The GARP Leave time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { 60 } + ::= { dot1dPortGarpEntry 2 } + +dot1dPortGarpLeaveAllTime OBJECT-TYPE + SYNTAX TimeInterval + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The GARP LeaveAll time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { 1000 } + ::= { dot1dPortGarpEntry 3 } + +-- ------------------------------------------------------------- +-- The GMRP Port Configuration and Status Table +-- ------------------------------------------------------------- + +dot1dPortGmrpTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dPortGmrpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of GMRP control and status information about + every bridge port. Augments the dot1dBasePortTable." + ::= { dot1dGmrp 1 } + + + +dot1dPortGmrpEntry OBJECT-TYPE + SYNTAX Dot1dPortGmrpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "GMRP control and status information for a bridge port." + AUGMENTS { dot1dBasePortEntry } + ::= { dot1dPortGmrpTable 1 } + +Dot1dPortGmrpEntry ::= + SEQUENCE { + dot1dPortGmrpStatus + EnabledStatus, + dot1dPortGmrpFailedRegistrations + Counter32, + dot1dPortGmrpLastPduOrigin + MacAddress, + dot1dPortRestrictedGroupRegistration + TruthValue + } + +dot1dPortGmrpStatus OBJECT-TYPE + SYNTAX EnabledStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative state of GMRP operation on this port. The + value enabled(1) indicates that GMRP is enabled on this port + in all VLANs as long as dot1dGmrpStatus is also enabled(1). + A value of disabled(2) indicates that GMRP is disabled on + this port in all VLANs: any GMRP packets received will + be silently discarded, and no GMRP registrations will be + propagated from other ports. Setting this to a value of + enabled(1) will be stored by the agent but will only take + effect on the GMRP protocol operation if dot1dGmrpStatus + also indicates the value enabled(1). This object affects + all GMRP Applicant and Registrar state machines on this + port. A transition from disabled(2) to enabled(1) will + cause a reset of all GMRP state machines on this port. + + The value of this object MUST be retained across + reinitializations of the management system. + --IPI Comments: Not Supported" + DEFVAL { enabled } + ::= { dot1dPortGmrpEntry 1 } + +dot1dPortGmrpFailedRegistrations OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The total number of failed GMRP registrations, for any + reason, in all VLANs, on this port. + --IPI Comments: Not Supported" + ::= { dot1dPortGmrpEntry 2 } + +dot1dPortGmrpLastPduOrigin OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Source MAC Address of the last GMRP message + received on this port. + --IPI Comments: Not Supported" + ::= { dot1dPortGmrpEntry 3 } + +dot1dPortRestrictedGroupRegistration OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The state of Restricted Group Registration on this port. + If the value of this control is true(1), then creation + of a new dynamic entry is permitted only if there is a + Static Filtering Entry for the VLAN concerned, in which + the Registrar Administrative Control value is Normal + Registration. + + The value of this object MUST be retained across + reinitializations of the management system." + REFERENCE + "IEEE 802.1t clause 10.3.2.3, 14.10.1.3." + DEFVAL { false } + ::= { dot1dPortGmrpEntry 4 } + +-- ------------------------------------------------------------- +-- High-Capacity Port Table for Transparent Bridges +-- ------------------------------------------------------------- + +dot1dTpHCPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dTpHCPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains information about every high- + capacity port that is associated with this transparent + bridge." + ::= { dot1dTp 5 } + + + + +dot1dTpHCPortEntry OBJECT-TYPE + SYNTAX Dot1dTpHCPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Statistics information for each high-capacity port of a + transparent bridge." + INDEX { dot1dTpPort } + ::= { dot1dTpHCPortTable 1 } + +Dot1dTpHCPortEntry ::= + SEQUENCE { + dot1dTpHCPortInFrames + Counter64, + dot1dTpHCPortOutFrames + Counter64, + dot1dTpHCPortInDiscards + Counter64 + } + +dot1dTpHCPortInFrames OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames that have been received by this + port from its segment. Note that a frame received on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1dTpHCPortEntry 1 } + +dot1dTpHCPortOutFrames OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of frames that have been transmitted by this + port to its segment. Note that a frame transmitted on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + + + + ::= { dot1dTpHCPortEntry 2 } + +dot1dTpHCPortInDiscards OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Count of valid frames that have been received by this + port from its segment that were discarded (i.e., + filtered) by the Forwarding Process." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1dTpHCPortEntry 3 } + +-- ---------------------------------------------------- +-- Upper part of High-Capacity Port Table for Transparent Bridges +-- ---------------------------------------------------- + +dot1dTpPortOverflowTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dTpPortOverflowEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains the most-significant bits of + statistics counters for ports that are associated with this + transparent bridge that are on high-capacity interfaces, as + defined in the conformance clauses for this table. This table + is provided as a way to read 64-bit counters for agents that + support only SNMPv1. + + Note that the reporting of most-significant and + least-significant counter bits separately runs the risk of + missing an overflow of the lower bits in the interval between + sampling. The manager must be aware of this possibility, even + within the same varbindlist, when interpreting the results of + a request or asynchronous notification." + ::= { dot1dTp 6 } + +dot1dTpPortOverflowEntry OBJECT-TYPE + SYNTAX Dot1dTpPortOverflowEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The most significant bits of statistics counters for a high- + capacity interface of a transparent bridge. Each object is + associated with a corresponding object in dot1dTpPortTable + that indicates the least significant bits of the counter." + INDEX { dot1dTpPort } + + + + ::= { dot1dTpPortOverflowTable 1 } + +Dot1dTpPortOverflowEntry ::= + SEQUENCE { + dot1dTpPortInOverflowFrames + Counter32, + dot1dTpPortOutOverflowFrames + Counter32, + dot1dTpPortInOverflowDiscards + Counter32 + } + +dot1dTpPortInOverflowFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated dot1dTpPortInFrames + counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1dTpPortOverflowEntry 1 } + +dot1dTpPortOutOverflowFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated dot1dTpPortOutFrames + counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1dTpPortOverflowEntry 2 } + +dot1dTpPortInOverflowDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated + dot1dTpPortInDiscards counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1dTpPortOverflowEntry 3 } + +-- ------------------------------------------------------------- +-- IEEE 802.1p MIB - Conformance Information +-- ------------------------------------------------------------- + + + +pBridgeConformance OBJECT IDENTIFIER ::= { pBridgeMIB 2 } + +pBridgeGroups OBJECT IDENTIFIER ::= { pBridgeConformance 1 } + +pBridgeCompliances OBJECT IDENTIFIER + ::= { pBridgeConformance 2 } + +-- ------------------------------------------------------------- +-- units of conformance +-- ------------------------------------------------------------- + +pBridgeExtCapGroup OBJECT-GROUP + OBJECTS { + dot1dDeviceCapabilities, + dot1dPortCapabilities + } + STATUS current + DESCRIPTION + "A collection of objects indicating the optional + capabilities of the device. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 1 } + +pBridgeDeviceGmrpGroup OBJECT-GROUP + OBJECTS { + dot1dGmrpStatus + } + STATUS current + DESCRIPTION + "A collection of objects providing device-level control + for the Multicast Filtering extended bridge services. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 2 } + +pBridgeDevicePriorityGroup OBJECT-GROUP + OBJECTS { + dot1dTrafficClassesEnabled + } + STATUS current + DESCRIPTION + "A collection of objects providing device-level control + for the Priority services. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 3 } + +pBridgeDefaultPriorityGroup OBJECT-GROUP + OBJECTS { + dot1dPortDefaultUserPriority + } + STATUS current + DESCRIPTION + + + + "A collection of objects defining the User Priority + applicable to each port for media that do not support + native User Priority. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 4 } + +pBridgeRegenPriorityGroup OBJECT-GROUP + OBJECTS { + dot1dRegenUserPriority + } + STATUS current + DESCRIPTION + "A collection of objects defining the User Priorities + applicable to each port for media that support native + User Priority. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 5 } + +pBridgePriorityGroup OBJECT-GROUP + OBJECTS { + dot1dPortNumTrafficClasses, + dot1dTrafficClass + } + STATUS current + DESCRIPTION + "A collection of objects defining the traffic classes + within a bridge for each evaluated User Priority. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 6 } + +pBridgeAccessPriorityGroup OBJECT-GROUP + OBJECTS { + dot1dPortOutboundAccessPriority + } + STATUS current + DESCRIPTION + "A collection of objects defining the media-dependent + outbound access level for each priority. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 7 } + +pBridgePortGarpGroup OBJECT-GROUP + OBJECTS { + dot1dPortGarpJoinTime, + dot1dPortGarpLeaveTime, + dot1dPortGarpLeaveAllTime + } + STATUS current + DESCRIPTION + "A collection of objects providing port level control + and status information for GARP operation. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 8 } + + + +pBridgePortGmrpGroup OBJECT-GROUP + OBJECTS { + dot1dPortGmrpStatus, + dot1dPortGmrpFailedRegistrations, + dot1dPortGmrpLastPduOrigin + } + STATUS deprecated + DESCRIPTION + "A collection of objects providing port level control + and status information for GMRP operation. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 9 } + +pBridgeHCPortGroup OBJECT-GROUP + OBJECTS { + dot1dTpHCPortInFrames, + dot1dTpHCPortOutFrames, + dot1dTpHCPortInDiscards + } + STATUS current + DESCRIPTION + "A collection of objects providing 64-bit statistics + counters for high-capacity bridge ports. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 10 } + +pBridgePortOverflowGroup OBJECT-GROUP + OBJECTS { + dot1dTpPortInOverflowFrames, + dot1dTpPortOutOverflowFrames, + dot1dTpPortInOverflowDiscards + } + STATUS current + DESCRIPTION + "A collection of objects providing overflow statistics + counters for high-capacity bridge ports. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 11 } + +pBridgePortGmrpGroup2 OBJECT-GROUP + OBJECTS { + dot1dPortGmrpStatus, + dot1dPortGmrpFailedRegistrations, + dot1dPortGmrpLastPduOrigin, + dot1dPortRestrictedGroupRegistration + } + STATUS current + DESCRIPTION + "A collection of objects providing port level control + and status information for GMRP operation. + --IPI Comments: Not Supported" + ::= { pBridgeGroups 12 } + + + +-- ------------------------------------------------------------- +-- compliance statements +-- ------------------------------------------------------------- + +pBridgeCompliance MODULE-COMPLIANCE + STATUS deprecated + DESCRIPTION + "The compliance statement for device support of Priority + and Multicast Filtering extended bridging services. + --IPI Comments: Not Supported" + + MODULE + MANDATORY-GROUPS { pBridgeExtCapGroup } + + GROUP pBridgeDeviceGmrpGroup + DESCRIPTION + "This group is mandatory for devices supporting the GMRP + application, defined by IEEE 802.1D Extended Filtering + Services." + + GROUP pBridgeDevicePriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE + 802.1D." + + GROUP pBridgeDefaultPriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by the + extended bridge services with media types, such as + Ethernet, that do not support native User Priority." + + GROUP pBridgeRegenPriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE 802.1D + and that have interface media types that support + native User Priority, e.g., IEEE 802.5." + + GROUP pBridgePriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE 802.1D." + + GROUP pBridgeAccessPriorityGroup + DESCRIPTION + "This group is optional and is relevant only for devices + supporting the priority forwarding operations defined by + + + + IEEE 802.1D and that have interface media types that + support native Access Priority, e.g., IEEE 802.5." + + GROUP pBridgePortGarpGroup + DESCRIPTION + "This group is mandatory for devices supporting any + of the GARP applications: e.g., GMRP, defined by the + extended filtering services of 802.1D; or GVRP, + defined by 802.1Q (refer to the Q-BRIDGE-MIB for + conformance statements for GVRP)." + + GROUP pBridgePortGmrpGroup + DESCRIPTION + "This group is mandatory for devices supporting the + GMRP application, as defined by IEEE 802.1D Extended + Filtering Services." + + GROUP pBridgeHCPortGroup + DESCRIPTION + "Support for this group in a device is mandatory for those + bridge ports that map to network interfaces that have the + value of the corresponding instance of ifSpeed + greater than 650,000,000 bits/second." + + GROUP pBridgePortOverflowGroup + DESCRIPTION + "Support for this group in a device is mandatory for those + bridge ports that map to network interfaces that have the + value of the corresponding instance of ifSpeed + greater than 650,000,000 bits/second." + + OBJECT dot1dPortNumTrafficClasses + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT dot1dTrafficClass + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT dot1dRegenUserPriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { pBridgeCompliances 1 } + + + + +pBridgeCompliance2 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for device support of Priority + and Multicast Filtering extended bridging services. + --IPI Comments: Not Supported" + + MODULE + MANDATORY-GROUPS { pBridgeExtCapGroup } + + GROUP pBridgeDeviceGmrpGroup + DESCRIPTION + "This group is mandatory for devices supporting the GMRP + application, defined by IEEE 802.1D Extended Filtering + Services." + + GROUP pBridgeDevicePriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE + 802.1D." + + GROUP pBridgeDefaultPriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by the + extended bridge services with media types, such as + Ethernet, that do not support native User Priority." + + GROUP pBridgeRegenPriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE 802.1D + and that have interface media types that support + native User Priority, e.g., IEEE 802.5." + + GROUP pBridgePriorityGroup + DESCRIPTION + "This group is mandatory only for devices supporting + the priority forwarding operations defined by IEEE 802.1D." + + GROUP pBridgeAccessPriorityGroup + DESCRIPTION + "This group is optional and is relevant only for devices + supporting the priority forwarding operations defined by + IEEE 802.1D and that have interface media types that + support native Access Priority, e.g., IEEE 802.5." + + GROUP pBridgePortGarpGroup + + + + DESCRIPTION + "This group is mandatory for devices supporting any + of the GARP applications: e.g., GMRP, defined by the + extended filtering services of 802.1D; or GVRP, + defined by 802.1Q (refer to the Q-BRIDGE-MIB for + conformance statements for GVRP)." + + GROUP pBridgePortGmrpGroup2 + DESCRIPTION + "This group is mandatory for devices supporting the + GMRP application, as defined by IEEE 802.1D Extended + Filtering Services." + + GROUP pBridgeHCPortGroup + DESCRIPTION + "Support for this group in a device is mandatory for those + bridge ports that map to network interfaces that have the + value of the corresponding instance of ifSpeed + greater than 650,000,000 bits/second." + + GROUP pBridgePortOverflowGroup + DESCRIPTION + "Support for this group in a device is mandatory for those + bridge ports that map to network interfaces that have the + value of the corresponding instance of ifSpeed + greater than 650,000,000 bits/second." + + OBJECT dot1dPortNumTrafficClasses + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT dot1dTrafficClass + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT dot1dRegenUserPriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { pBridgeCompliances 2 } + +END \ No newline at end of file diff --git a/mibs/Q-BRIDGE-MIB.txt b/mibs/Q-BRIDGE-MIB.txt new file mode 100644 index 00000000..16aad75a --- /dev/null +++ b/mibs/Q-BRIDGE-MIB.txt @@ -0,0 +1,1905 @@ +-- extracted from rfc2674.txt +-- at Mon Nov 15 17:12:07 1999 + +Q-BRIDGE-MIB DEFINITIONS ::= BEGIN + +-- ------------------------------------------------------------- +-- MIB for IEEE 802.1Q Devices +-- ------------------------------------------------------------- + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + Counter32, Counter64, Unsigned32, TimeTicks + FROM SNMPv2-SMI + RowStatus, TruthValue, TEXTUAL-CONVENTION, MacAddress + FROM SNMPv2-TC + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + dot1dBridge, dot1dBasePortEntry, dot1dBasePort + FROM BRIDGE-MIB + EnabledStatus + FROM P-BRIDGE-MIB + TimeFilter + FROM RMON2-MIB; + +qBridgeMIB MODULE-IDENTITY + LAST-UPDATED "9908250000Z" + ORGANIZATION "IETF Bridge MIB Working Group" + CONTACT-INFO + " Les Bell + Postal: 3Com Europe Ltd. + 3Com Centre, Boundary Way + Hemel Hempstead, Herts. HP2 7YU + UK + Phone: +44 1442 438025 + Email: Les_Bell@3Com.com + + Andrew Smith + Postal: Extreme Networks + 3585 Monroe St. + Santa Clara CA 95051 + USA + Phone: +1 408 579 2821 + Email: andrew@extremenetworks.com + + Paul Langille + Postal: Newbridge Networks + 5 Corporate Drive + Andover, MA 01810 + USA + Phone: +1 978 691 4665 + Email: langille@newbridge.com + + Anil Rijhsinghani + Postal: Cabletron Systems + 50 Minuteman Road + Andover, MA 01810 + USA + Phone: +1 978 684 1295 + Email: anil@cabletron.com + + Keith McCloghrie + Postal: cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + Phone: +1 408 526 5260 + Email: kzm@cisco.com" + DESCRIPTION + "The VLAN Bridge MIB module for managing Virtual Bridged + Local Area Networks, as defined by IEEE 802.1Q-1998." + +-- revision history + + REVISION "9908250000Z" + DESCRIPTION + "Initial version, published as RFC 2674." + + ::= { dot1dBridge 7 } + +qBridgeMIBObjects OBJECT IDENTIFIER ::= { qBridgeMIB 1 } + +-- ------------------------------------------------------------- +-- Textual Conventions +-- ------------------------------------------------------------- + +PortList ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Each octet within this value specifies a set of eight + ports, with the first octet specifying ports 1 through + 8, the second octet specifying ports 9 through 16, etc. + Within each octet, the most significant bit represents + the lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1' + then that port is included in the set of ports; the port + is not included if its bit has a value of '0'." + SYNTAX OCTET STRING + +VlanIndex ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A value used to index per-VLAN tables: values of 0 and + 4095 are not permitted; if the value is between 1 and + 4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with + global scope within a given bridged domain (see VlanId + textual convention). If the value is greater than 4095 + then it represents a VLAN with scope local to the + particular agent, i.e. one without a global VLAN-ID + assigned to it. Such VLANs are outside the scope of + IEEE 802.1Q but it is convenient to be able to manage them + in the same way using this MIB." + SYNTAX Unsigned32 + +VlanId ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A 12-bit VLAN ID used in the VLAN Tag header." + SYNTAX INTEGER (1..4094) + +-- ------------------------------------------------------------- +-- groups in the Q-BRIDGE MIB +-- ------------------------------------------------------------- + +dot1qBase OBJECT IDENTIFIER ::= { qBridgeMIBObjects 1 } +dot1qTp OBJECT IDENTIFIER ::= { qBridgeMIBObjects 2 } +dot1qStatic OBJECT IDENTIFIER ::= { qBridgeMIBObjects 3 } +dot1qVlan OBJECT IDENTIFIER ::= { qBridgeMIBObjects 4 } + +-- ------------------------------------------------------------- + +-- ------------------------------------------------------------- +-- dot1qBase group +-- ------------------------------------------------------------- + +dot1qVlanVersionNumber OBJECT-TYPE + SYNTAX INTEGER { + version1(1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version number of IEEE 802.1Q that this device + supports." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.1.1" + ::= { dot1qBase 1 } + +dot1qMaxVlanId OBJECT-TYPE + SYNTAX VlanId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum IEEE 802.1Q VLAN ID that this device + supports." + REFERENCE + "IEEE 802.1Q/D11 Section 9.3.2.3" + ::= { dot1qBase 2 } + +dot1qMaxSupportedVlans OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of IEEE 802.1Q VLANs that this + device supports." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.1.1" + ::= { dot1qBase 3 } + +dot1qNumVlans OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current number of IEEE 802.1Q VLANs that are + configured in this device." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.1.1" + ::= { dot1qBase 4 } + +dot1qGvrpStatus OBJECT-TYPE + SYNTAX EnabledStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative status requested by management for + GVRP. The value enabled(1) indicates that GVRP should + be enabled on this device, on all ports for which it has + not been specifically disabled. When disabled(2), GVRP + is disabled on all ports and all GVRP packets will be + forwarded transparently. This object affects all GVRP + Applicant and Registrar state machines. A transition + from disabled(2) to enabled(1) will cause a reset of all + GVRP state machines on all ports." --- IPI Comments: Not Supported + DEFVAL { enabled } + ::= { dot1qBase 5 } + +-- ------------------------------------------------------------- +-- the dot1qTp group +-- ------------------------------------------------------------- + +-- ------------------------------------------------------------- +-- the current Filtering Database Table +-- ------------------------------------------------------------- +dot1qFdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains configuration and control + information for each Filtering Database currently + operating on this device. Entries in this table appear + automatically when VLANs are assigned FDB IDs in the + dot1qVlanCurrentTable." + ::= { dot1qTp 1 } + +dot1qFdbEntry OBJECT-TYPE + SYNTAX Dot1qFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a specific Filtering Database." + INDEX { dot1qFdbId } ----IPI Comments: Not Supported + ::= { dot1qFdbTable 1 } + +Dot1qFdbEntry ::= + SEQUENCE { + dot1qFdbId + Unsigned32, + dot1qFdbDynamicCount + Counter32 + } + +dot1qFdbId OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The identity of this Filtering Database." + ::= { dot1qFdbEntry 1 } + +dot1qFdbDynamicCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current number of dynamic entries in this + Filtering Database." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.1.1.3" + ::= { dot1qFdbEntry 2 } + +-- ------------------------------------------------------------- +-- Multiple Forwarding Databases for 802.1Q Transparent devices +-- This table is an alternative to the dot1dTpFdbTable, +-- previously defined for 802.1D devices which only support a +-- single Forwarding Database. +-- ------------------------------------------------------------- + +dot1qTpFdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qTpFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains information about unicast entries + for which the device has forwarding and/or filtering + information. This information is used by the + transparent bridging function in determining how to + propagate a received frame." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.7" + ::= { dot1qTp 2 } + +dot1qTpFdbEntry OBJECT-TYPE + SYNTAX Dot1qTpFdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a specific unicast MAC address for + which the device has some forwarding and/or filtering + information." + INDEX { dot1qFdbId, dot1qTpFdbAddress } -- IPI Comments: Not Supported + ::= { dot1qTpFdbTable 1 } + +Dot1qTpFdbEntry ::= + SEQUENCE { + dot1qTpFdbAddress + MacAddress, + dot1qTpFdbPort + INTEGER, + dot1qTpFdbStatus + INTEGER + } + +dot1qTpFdbAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unicast MAC address for which the device has + forwarding and/or filtering information." + ::= { dot1qTpFdbEntry 1 } + +dot1qTpFdbPort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Either the value '0', or the port number of the port on + which a frame having a source address equal to the value + of the corresponding instance of dot1qTpFdbAddress has + been seen. A value of '0' indicates that the port + number has not been learned but that the device does + have some forwarding/filtering information about this + address (e.g. in the dot1qStaticUnicastTable). + Implementors are encouraged to assign the port value to + this object whenever it is learned even for addresses + for which the corresponding value of dot1qTpFdbStatus is + not learned(3)." + ::= { dot1qTpFdbEntry 2 } + +dot1qTpFdbStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + invalid(2), + learned(3), + self(4), + mgmt(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of this entry. The meanings of the values + are: + other(1) - none of the following. This may include + the case where some other MIB object (not the + corresponding instance of dot1qTpFdbPort, nor an + entry in the dot1qStaticUnicastTable) is being + used to determine if and how frames addressed to + the value of the corresponding instance of + dot1qTpFdbAddress are being forwarded. + invalid(2) - this entry is no longer valid (e.g., it + was learned but has since aged out), but has not + yet been flushed from the table. + learned(3) - the value of the corresponding instance + of dot1qTpFdbPort was learned and is being used. + + self(4) - the value of the corresponding instance of + dot1qTpFdbAddress represents one of the device's + addresses. The corresponding instance of + dot1qTpFdbPort indicates which of the device's + ports has this address. + mgmt(5) - the value of the corresponding instance of + dot1qTpFdbAddress is also the value of an + existing instance of dot1qStaticAddress." + ::= { dot1qTpFdbEntry 3 } + +-- ------------------------------------------------------------- +-- Dynamic Group Registration Table +-- ------------------------------------------------------------- + +dot1qTpGroupTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qTpGroupEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing filtering information for VLANs + configured into the bridge by (local or network) + management, or learnt dynamically, specifying the set of + ports to which frames received on a VLAN for this FDB + and containing a specific Group destination address are + allowed to be forwarded." + ::= { dot1qTp 3 } + +dot1qTpGroupEntry OBJECT-TYPE + SYNTAX Dot1qTpGroupEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Filtering information configured into the bridge by + management, or learnt dynamically, specifying the set of + ports to which frames received on a VLAN and containing + a specific Group destination address, are allowed to be + forwarded. The subset of these ports learnt dynamically + is also provided." + INDEX { dot1qVlanIndex, dot1qTpGroupAddress } --- IPI Comments: Not Supported + ::= { dot1qTpGroupTable 1 } + +Dot1qTpGroupEntry ::= + SEQUENCE { + dot1qTpGroupAddress + MacAddress, + dot1qTpGroupEgressPorts + PortList, + dot1qTpGroupLearnt + PortList + } + +dot1qTpGroupAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The destination Group MAC address in a frame to which + this entry's filtering information applies." + ::= { dot1qTpGroupEntry 1 } + +dot1qTpGroupEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The complete set of ports, in this VLAN, to which + frames destined for this Group MAC address are currently + being explicitly forwarded. This does not include ports + for which this address is only implicitly forwarded, in + the dot1qForwardAllPorts list." --- IPI Comments: Not Supported + ::= { dot1qTpGroupEntry 2 } + +dot1qTpGroupLearnt OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The subset of ports in dot1qTpGroupEgressPorts which + were learnt by GMRP or some other dynamic mechanism, in + this Filtering database." --- IPI Comments: Not Supported + ::= { dot1qTpGroupEntry 3 } + +-- ------------------------------------------------------------- +-- Service Requirements Group +-- ------------------------------------------------------------- + +dot1qForwardAllTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qForwardAllEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing forwarding information for each + VLAN, specifying the set of ports to which forwarding of + all multicasts applies, configured statically by + management or dynamically by GMRP. An entry appears in + this table for all VLANs that are currently + instantiated." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7" + ::= { dot1qTp 4 } + +dot1qForwardAllEntry OBJECT-TYPE + SYNTAX Dot1qForwardAllEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Forwarding information for a VLAN, specifying the set + of ports to which all multicasts should be forwarded, + configured statically by management or dynamically by + GMRP." + INDEX { dot1qVlanIndex } + ::= { dot1qForwardAllTable 1 } + +Dot1qForwardAllEntry ::= + SEQUENCE { + dot1qForwardAllPorts + PortList, + dot1qForwardAllStaticPorts + PortList, + dot1qForwardAllForbiddenPorts + PortList + } + +dot1qForwardAllPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The complete set of ports in this VLAN to which all + multicast group-addressed frames are to be forwarded. + This includes ports for which this need has been + determined dynamically by GMRP, or configured statically + by management." + ::= { dot1qForwardAllEntry 1 } + +dot1qForwardAllStaticPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports configured by management in this VLAN + to which all multicast group-addressed frames are to be + forwarded. Ports entered in this list will also appear + in the complete set shown by dot1qForwardAllPorts. This + value will be restored after the device is reset. This + only applies to ports that are members of the VLAN, + defined by dot1qVlanCurrentEgressPorts. A port may not + be added in this set if it is already a member of the + set of ports in dot1qForwardAllForbiddenPorts. The + default value is a string of ones of appropriate length, + to indicate standard non-EFS behaviour, i.e. forward + all multicasts to all ports." -- IPI Comments: Not Supported + ::= { dot1qForwardAllEntry 2 } + +dot1qForwardAllForbiddenPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports configured by management in this VLAN + for which the Service Requirement attribute Forward All + Multicast Groups may not be dynamically registered by + GMRP. This value will be restored after the device is + reset. A port may not be added in this set if it is + already a member of the set of ports in + dot1qForwardAllStaticPorts. The default value is a + string of zeros of appropriate length." --- IPI Comments: Not Supported + ::= { dot1qForwardAllEntry 3 } + +dot1qForwardUnregisteredTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qForwardUnregisteredEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing forwarding information for each + VLAN, specifying the set of ports to which forwarding of + multicast group-addressed frames for which there is no + more specific forwarding information applies. This is + configured statically by management and determined + dynamically by GMRP. An entry appears in this table for + all VLANs that are currently instantiated." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7" + ::= { dot1qTp 5 } + +dot1qForwardUnregisteredEntry OBJECT-TYPE + SYNTAX Dot1qForwardUnregisteredEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Forwarding information for a VLAN, specifying the set + of ports to which all multicasts for which there is no + more specific forwarding information shall be forwarded. + This is configured statically by management or + dynamically by GMRP." + INDEX { dot1qVlanIndex } + ::= { dot1qForwardUnregisteredTable 1 } + +Dot1qForwardUnregisteredEntry ::= + SEQUENCE { + dot1qForwardUnregisteredPorts + PortList, + dot1qForwardUnregisteredStaticPorts + PortList, + dot1qForwardUnregisteredForbiddenPorts + PortList + } + +dot1qForwardUnregisteredPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The complete set of ports in this VLAN to which + multicast group-addressed frames for which there is no + more specific forwarding information will be forwarded. + This includes ports for which this need has been + determined dynamically by GMRP, or configured statically + by management." IPI Comments: Not Supported + ::= { dot1qForwardUnregisteredEntry 1 } + +dot1qForwardUnregisteredStaticPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports configured by management, in this + VLAN, to which multicast group-addressed frames for + which there is no more specific forwarding information + are to be forwarded. Ports entered in this list will + also appear in the complete set shown by + dot1qForwardUnregisteredPorts. This value will be + restored after the device is reset. A port may not be + added in this set if it is already a member of the set + of ports in dot1qForwardUnregisteredForbiddenPorts. The + default value is a string of zeros of appropriate + length, although this has no effect with the default + value of dot1qForwardAllStaticPorts." --- IPI Comments: Not Supported + ::= { dot1qForwardUnregisteredEntry 2 } + +dot1qForwardUnregisteredForbiddenPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports configured by management in this VLAN + for which the Service Requirement attribute Forward + Unregistered Multicast Groups may not be dynamically + registered by GMRP. This value will be restored after + the device is reset. A port may not be added in this + set if it is already a member of the set of ports in + dot1qForwardUnregisteredStaticPorts. The default value + is a string of zeros of appropriate length." --- IPI Comments: Not Supported + ::= { dot1qForwardUnregisteredEntry 3 } + +-- ------------------------------------------------------------- +-- The Static (Destination-Address Filtering) Database +-- ------------------------------------------------------------- + +dot1qStaticUnicastTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qStaticUnicastEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing filtering information for Unicast + MAC addresses for each Filtering Database, configured + into the device by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific unicast + destination addresses are allowed to be forwarded. A + value of zero in this table as the port number from + which frames with a specific destination address are + received, is used to specify all ports for which there + is no specific entry in this table for that particular + destination address. Entries are valid for unicast + addresses only." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.7, + ISO/IEC 15802-3 Section 7.9.1" + ::= { dot1qStatic 1 } + +dot1qStaticUnicastEntry OBJECT-TYPE + SYNTAX Dot1qStaticUnicastEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Filtering information configured into the device by + (local or network) management specifying the set of + ports to which frames received from a specific port and + containing a specific unicast destination address are + allowed to be forwarded." + INDEX { + dot1qFdbId, + dot1qStaticUnicastAddress, + dot1qStaticUnicastReceivePort + } + ::= { dot1qStaticUnicastTable 1 } + +Dot1qStaticUnicastEntry ::= + SEQUENCE { + dot1qStaticUnicastAddress + MacAddress, + dot1qStaticUnicastReceivePort + INTEGER, + dot1qStaticUnicastAllowedToGoTo + PortList, + dot1qStaticUnicastStatus + INTEGER + } + +dot1qStaticUnicastAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The destination MAC address in a frame to which this + entry's filtering information applies. This object must + take the value of a unicast address." --- IPI Comments: Not Supported + ::= { dot1qStaticUnicastEntry 1 } + +dot1qStaticUnicastReceivePort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Either the value '0', or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + device for which there is no other applicable entry." --- IPI Comments: Not Supported + ::= { dot1qStaticUnicastEntry 2 } + +dot1qStaticUnicastAllowedToGoTo OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports for which a frame with a specific + unicast address will be flooded in the event that it + has not been learned. It also specifies the set of + ports a specific unicast address may be dynamically + learnt on. The dot1qTpFdbTable will have an equivalent + entry with a dot1qTpFdbPort value of '0' until this + address has been learnt, when it will be updated with + the port the address has been seen on. This only + applies to ports that are members of the VLAN, defined + by dot1qVlanCurrentEgressPorts. The default value of + this object is a string of ones of appropriate length." --- IPI Comments: Not Supported + REFERENCE + "IEEE 802.1Q/D11 Table 8-5, ISO/IEC 15802-3 Table 7-5" + ::= { dot1qStaticUnicastEntry 3 } + +dot1qStaticUnicastStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + invalid(2), + permanent(3), + deleteOnReset(4), + deleteOnTimeout(5) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object indicates the status of this entry. + other(1) - this entry is currently in use but + the conditions under which it will remain + so differ from the following values. + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use + and will remain so after the next reset of + the bridge. + deleteOnReset(4) - this entry is currently in + use and will remain so until the next + reset of the bridge. + + deleteOnTimeout(5) - this entry is currently in + use and will remain so until it is aged out." --- IPI Comments: Not Supported + DEFVAL { permanent } + ::= { dot1qStaticUnicastEntry 4 } + +dot1qStaticMulticastTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qStaticMulticastEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing filtering information for Multicast + and Broadcast MAC addresses for each VLAN, configured + into the device by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific Multicast + and Broadcast destination addresses are allowed to be + forwarded. A value of zero in this table as the port + number from which frames with a specific destination + address are received, is used to specify all ports for + which there is no specific entry in this table for that + particular destination address. Entries are valid for + Multicast and Broadcast addresses only." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.7, + ISO/IEC 15802-3 Section 7.9.1" + ::= { dot1qStatic 2 } + +dot1qStaticMulticastEntry OBJECT-TYPE + SYNTAX Dot1qStaticMulticastEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Filtering information configured into the device by + (local or network) management specifying the set of + ports to which frames received from this specific port + for this VLAN and containing this Multicast or Broadcast + destination address are allowed to be forwarded." + INDEX { + dot1qVlanIndex, + dot1qStaticMulticastAddress, + dot1qStaticMulticastReceivePort + } + ::= { dot1qStaticMulticastTable 1 } + +Dot1qStaticMulticastEntry ::= + SEQUENCE { + dot1qStaticMulticastAddress + MacAddress, + dot1qStaticMulticastReceivePort + INTEGER, + dot1qStaticMulticastStaticEgressPorts + PortList, + dot1qStaticMulticastForbiddenEgressPorts + PortList, + dot1qStaticMulticastStatus + INTEGER + } + +dot1qStaticMulticastAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The destination MAC address in a frame to which this + entry's filtering information applies. This object must + take the value of a Multicast or Broadcast address." --- IPI Comments: Not Supported + ::= { dot1qStaticMulticastEntry 1 } + +dot1qStaticMulticastReceivePort OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Either the value '0', or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + device for which there is no other applicable entry." --- IPI Comments: Not Supported + ::= { dot1qStaticMulticastEntry 2 } + +dot1qStaticMulticastStaticEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports to which frames received from a + specific port and destined for a specific Multicast or + Broadcast MAC address must be forwarded, regardless of + any dynamic information e.g. from GMRP. A port may not + be added in this set if it is already a member of the + set of ports in dot1qStaticMulticastForbiddenEgressPorts. + The default value of this object is a string of ones of + appropriate length." --- IPI Comments: Not Supported + ::= { dot1qStaticMulticastEntry 3 } + +dot1qStaticMulticastForbiddenEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The set of ports to which frames received from a + specific port and destined for a specific Multicast or + Broadcast MAC address must not be forwarded, regardless + of any dynamic information e.g. from GMRP. A port may + not be added in this set if it is already a member of the + set of ports in dot1qStaticMulticastStaticEgressPorts. + The default value of this object is a string of zeros of + appropriate length." --- IPI Comments: Not Supported + ::= { dot1qStaticMulticastEntry 4 } + +dot1qStaticMulticastStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + invalid(2), + permanent(3), + deleteOnReset(4), + deleteOnTimeout(5) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object indicates the status of this entry. + other(1) - this entry is currently in use but + the conditions under which it will remain + so differ from the following values. + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use + and will remain so after the next reset of + the bridge. + + deleteOnReset(4) - this entry is currently in + use and will remain so until the next + reset of the bridge. + deleteOnTimeout(5) - this entry is currently in + use and will remain so until it is aged out." --- IPI Comments: Not Supported + DEFVAL { permanent } + ::= { dot1qStaticMulticastEntry 5 } + +-- ------------------------------------------------------------- +-- The Current VLAN Database +-- ------------------------------------------------------------- + +dot1qVlanNumDeletes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times a VLAN entry has been deleted from + the dot1qVlanCurrentTable (for any reason). If an entry + is deleted, then inserted, and then deleted, this + counter will be incremented by 2." + ::= { dot1qVlan 1 } + +dot1qVlanCurrentTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qVlanCurrentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing current configuration information + for each VLAN currently configured into the device by + (local or network) management, or dynamically created + as a result of GVRP requests received." + ::= { dot1qVlan 2 } + +dot1qVlanCurrentEntry OBJECT-TYPE + SYNTAX Dot1qVlanCurrentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information for a VLAN configured into the device by + (local or network) management, or dynamically created + as a result of GVRP requests received." + INDEX { dot1qVlanTimeMark, dot1qVlanIndex } + ::= { dot1qVlanCurrentTable 1 } + +Dot1qVlanCurrentEntry ::= + SEQUENCE { + dot1qVlanTimeMark + TimeFilter, + dot1qVlanIndex + VlanIndex, + dot1qVlanFdbId + Unsigned32, + dot1qVlanCurrentEgressPorts + PortList, + dot1qVlanCurrentUntaggedPorts + PortList, + dot1qVlanStatus + INTEGER, + dot1qVlanCreationTime + TimeTicks + } + +dot1qVlanTimeMark OBJECT-TYPE + SYNTAX TimeFilter + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A TimeFilter for this entry. See the TimeFilter + textual convention to see how this works." --- IPI Comments: Not Supported + ::= { dot1qVlanCurrentEntry 1 } + +dot1qVlanIndex OBJECT-TYPE + SYNTAX VlanIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The VLAN-ID or other identifier refering to this VLAN." --- IPI Comments: Not Supported + ::= { dot1qVlanCurrentEntry 2 } + +dot1qVlanFdbId OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Filtering Database used by this VLAN. This is one + of the dot1qFdbId values in the dot1qFdbTable. This + value is allocated automatically by the device whenever + the VLAN is created: either dynamically by GVRP, or by + management, in dot1qVlanStaticTable. Allocation of this + value follows the learning constraints defined for this + VLAN in dot1qLearningConstraintsTable." + ::= { dot1qVlanCurrentEntry 3 } + +dot1qVlanCurrentEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The set of ports which are transmitting traffic for + this VLAN as either tagged or untagged frames." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.2.1" + ::= { dot1qVlanCurrentEntry 4 } + +dot1qVlanCurrentUntaggedPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The set of ports which are transmitting traffic for + this VLAN as untagged frames." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.2.1" + ::= { dot1qVlanCurrentEntry 5 } + +dot1qVlanStatus OBJECT-TYPE + SYNTAX INTEGER { + other(1), + permanent(2), + dynamicGvrp(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object indicates the status of this entry. + other(1) - this entry is currently in use but the + conditions under which it will remain so differ + from the following values. + permanent(2) - this entry, corresponding to an entry + in dot1qVlanStaticTable, is currently in use and + will remain so after the next reset of the + device. The port lists for this entry include + ports from the equivalent dot1qVlanStaticTable + entry and ports learnt dynamically. + dynamicGvrp(3) - this entry is currently in use + and will remain so until removed by GVRP. There + is no static entry for this VLAN and it will be + removed when the last port leaves the VLAN." + ::= { dot1qVlanCurrentEntry 6 } + +dot1qVlanCreationTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime when this VLAN was created." + ::= { dot1qVlanCurrentEntry 7 } + +-- ------------------------------------------------------------- +-- The Static VLAN Database +-- ------------------------------------------------------------- + +dot1qVlanStaticTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qVlanStaticEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing static configuration information for + each VLAN configured into the device by (local or + network) management. All entries are permanent and will + be restored after the device is reset." + ::= { dot1qVlan 3 } + +dot1qVlanStaticEntry OBJECT-TYPE + SYNTAX Dot1qVlanStaticEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Static information for a VLAN configured into the + device by (local or network) management." + INDEX { dot1qVlanIndex } + ::= { dot1qVlanStaticTable 1 } + +Dot1qVlanStaticEntry ::= + SEQUENCE { + dot1qVlanStaticName + SnmpAdminString, + dot1qVlanStaticEgressPorts + PortList, + dot1qVlanForbiddenEgressPorts + PortList, + + dot1qVlanStaticUntaggedPorts + PortList, + dot1qVlanStaticRowStatus + RowStatus + } + +dot1qVlanStaticName OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE (0..32)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "An administratively assigned string, which may be used + to identify the VLAN." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.2.1" + ::= { dot1qVlanStaticEntry 1 } + +dot1qVlanStaticEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The set of ports which are permanently assigned to the + egress list for this VLAN by management. Changes to a + bit in this object affect the per-port per-VLAN + Registrar control for Registration Fixed for the + relevant GVRP state machine on each port. A port may + not be added in this set if it is already a member of + the set of ports in dot1qVlanForbiddenEgressPorts. The + default value of this object is a string of zeros of + appropriate length, indicating not fixed." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3" + ::= { dot1qVlanStaticEntry 2 } + +dot1qVlanForbiddenEgressPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The set of ports which are prohibited by management + from being included in the egress list for this VLAN. + Changes to this object that cause a port to be included + or excluded affect the per-port per-VLAN Registrar + control for Registration Forbidden for the relevant GVRP + state machine on each port. A port may not be added in + this set if it is already a member of the set of ports + in dot1qVlanStaticEgressPorts. The default value of + this object is a string of zeros of appropriate length, + excluding all ports from the forbidden set." + REFERENCE + "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3" + ::= { dot1qVlanStaticEntry 3 } + +dot1qVlanStaticUntaggedPorts OBJECT-TYPE + SYNTAX PortList + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The set of ports which should transmit egress packets + for this VLAN as untagged. The default value of this + object for the default VLAN (dot1qVlanIndex = 1) is a string + of appropriate length including all ports. There is no + specified default for other VLANs. If a device agent cannot + support the set of ports being set then it will reject the + set operation with an error. An example might be if a + manager attempts to set more than one VLAN to be untagged + on egress where the device does not support this IEEE 802.1Q + option." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.2.1" + ::= { dot1qVlanStaticEntry 4 } + +dot1qVlanStaticRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object indicates the status of this entry." + ::= { dot1qVlanStaticEntry 5 } + +dot1qNextFreeLocalVlanIndex OBJECT-TYPE + SYNTAX INTEGER (0|4096..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The next available value for dot1qVlanIndex of a local + VLAN entry in dot1qVlanStaticTable. This will report + values >=4096 if a new Local VLAN may be created or else + the value 0 if this is not possible. + A row creation operation in this table for an entry with a local + VlanIndex value may fail if the current value of this object + is not used as the index. Even if the value read is used, + there is no guarantee that it will still be the valid index + when the create operation is attempted - another manager may + have already got in during the intervening time interval. + In this case, dot1qNextFreeLocalVlanIndex should be re-read + and the creation re-tried with the new value. + + This value will automatically change when the current value is + used to create a new row." + ::= { dot1qVlan 4 } + +-- ------------------------------------------------------------- +-- The VLAN Port Configuration Table +-- ------------------------------------------------------------- + +dot1qPortVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qPortVlanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing per port control and status + information for VLAN configuration in the device." + ::= { dot1qVlan 5 } + +dot1qPortVlanEntry OBJECT-TYPE + SYNTAX Dot1qPortVlanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information controlling VLAN configuration for a port + on the device. This is indexed by dot1dBasePort." + AUGMENTS { dot1dBasePortEntry } + ::= { dot1qPortVlanTable 1 } + +Dot1qPortVlanEntry ::= + SEQUENCE { + dot1qPvid + VlanIndex, + dot1qPortAcceptableFrameTypes + INTEGER, + dot1qPortIngressFiltering + TruthValue, + dot1qPortGvrpStatus + EnabledStatus, + + dot1qPortGvrpFailedRegistrations + Counter32, + dot1qPortGvrpLastPduOrigin + MacAddress + } + +dot1qPvid OBJECT-TYPE + SYNTAX VlanIndex + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The PVID, the VLAN ID assigned to untagged frames or + Priority-Tagged frames received on this port." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.1.1" + DEFVAL { 1 } + ::= { dot1qPortVlanEntry 1 } + +dot1qPortAcceptableFrameTypes OBJECT-TYPE + SYNTAX INTEGER { + admitAll(1), + admitOnlyVlanTagged(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "When this is admitOnlyVlanTagged(2) the device will + discard untagged frames or Priority-Tagged frames + received on this port. When admitAll(1), untagged + frames or Priority-Tagged frames received on this port + will be accepted and assigned to the PVID for this port. + + This control does not affect VLAN independent BPDU + frames, such as GVRP and STP. It does affect VLAN + dependent BPDU frames, such as GMRP." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.1.3" + DEFVAL { admitAll } + ::= { dot1qPortVlanEntry 2 } + +dot1qPortIngressFiltering OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "When this is true(1) the device will discard incoming + frames for VLANs which do not include this Port in its + Member set. When false(2), the port will accept all + incoming frames. + + This control does not affect VLAN independent BPDU + frames, such as GVRP and STP. It does affect VLAN + dependent BPDU frames, such as GMRP." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.1.4" + DEFVAL { false } + ::= { dot1qPortVlanEntry 3 } + +dot1qPortGvrpStatus OBJECT-TYPE + SYNTAX EnabledStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The state of GVRP operation on this port. The value + enabled(1) indicates that GVRP is enabled on this port, + as long as dot1qGvrpStatus is also enabled for this + device. When disabled(2) but dot1qGvrpStatus is still + enabled for the device, GVRP is disabled on this port: + any GVRP packets received will be silently discarded and + no GVRP registrations will be propagated from other + ports. This object affects all GVRP Applicant and + Registrar state machines on this port. A transition + from disabled(2) to enabled(1) will cause a reset of all + GVRP state machines on this port." --- IPI Comments: Not Supported + DEFVAL { enabled } + ::= { dot1qPortVlanEntry 4 } + +dot1qPortGvrpFailedRegistrations OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of failed GVRP registrations, for any + reason, on this port." --- IPI Comments: Not Supported + ::= { dot1qPortVlanEntry 5 } + +dot1qPortGvrpLastPduOrigin OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Source MAC Address of the last GVRP message + received on this port." --- IPI Comments: Not Supported + ::= { dot1qPortVlanEntry 6 } + +-- ------------------------------------------------------------- +-- Per port VLAN Statistics Table +-- ------------------------------------------------------------- + +dot1qPortVlanStatisticsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qPortVlanStatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing per-port, per-VLAN statistics for + traffic received. Separate objects are provided for both the + most-significant and least-significant bits of statistics + counters for ports that are associated with this transparent + bridge. The most-significant bit objects are only required on + high capacity interfaces, as defined in the conformance clauses + for these objects. This mechanism is provided as a way to read + 64-bit counters for agents which support only SNMPv1. + + Note that the reporting of most-significant and least- + significant counter bits separately runs the risk of missing + an overflow of the lower bits in the interval between sampling. + The manager must be aware of this possibility, even within the + same varbindlist, when interpreting the results of a request or + asynchronous notification." + ::= { dot1qVlan 6 } + +dot1qPortVlanStatisticsEntry OBJECT-TYPE + SYNTAX Dot1qPortVlanStatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Traffic statistics for a VLAN on an interface." + INDEX { dot1dBasePort, dot1qVlanIndex } + ::= { dot1qPortVlanStatisticsTable 1 } + +Dot1qPortVlanStatisticsEntry ::= + SEQUENCE { + dot1qTpVlanPortInFrames + Counter32, + dot1qTpVlanPortOutFrames + Counter32, + dot1qTpVlanPortInDiscards + Counter32, + dot1qTpVlanPortInOverflowFrames + Counter32, + dot1qTpVlanPortOutOverflowFrames + Counter32, + dot1qTpVlanPortInOverflowDiscards + Counter32 + } + +dot1qTpVlanPortInFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames received by this port from + its segment which were classified as belonging to this + VLAN. Note that a frame received on this port is + counted by this object if and only if it is for a + protocol being processed by the local forwarding process + for this VLAN. This object includes received bridge + management frames classified as belonging to this VLAN + (e.g. GMRP, but not GVRP or STP)." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3(a)" + ::= { dot1qPortVlanStatisticsEntry 1 } + +dot1qTpVlanPortOutFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames transmitted by this port to + its segment from the local forwarding process for this + VLAN. This includes bridge management frames originated + by this device which are classified as belonging to this + VLAN (e.g. GMRP, but not GVRP or STP)." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3(d)" + ::= { dot1qPortVlanStatisticsEntry 2 } + +dot1qTpVlanPortInDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames received by this port from + its segment which were classified as belonging to this + VLAN which were discarded due to VLAN related reasons. + Specifically, the IEEE 802.1Q counters for Discard + Inbound and Discard on Ingress Filtering." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3" + ::= { dot1qPortVlanStatisticsEntry 3 } + +dot1qTpVlanPortInOverflowFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated + dot1qTpVlanPortInFrames counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1qPortVlanStatisticsEntry 4 } + +dot1qTpVlanPortOutOverflowFrames OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated + dot1qTpVlanPortOutFrames counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1qPortVlanStatisticsEntry 5 } + +dot1qTpVlanPortInOverflowDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the associated + dot1qTpVlanPortInDiscards counter has overflowed." + REFERENCE + "ISO/IEC 15802-3 Section 14.6.1.1.3" + ::= { dot1qPortVlanStatisticsEntry 6 } + +dot1qPortVlanHCStatisticsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qPortVlanHCStatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing per port, per VLAN statistics for + traffic on high capacity interfaces." + ::= { dot1qVlan 7 } + +dot1qPortVlanHCStatisticsEntry OBJECT-TYPE + SYNTAX Dot1qPortVlanHCStatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Traffic statistics for a VLAN on a high capacity + interface." + INDEX { dot1dBasePort, dot1qVlanIndex } + ::= { dot1qPortVlanHCStatisticsTable 1 } + +Dot1qPortVlanHCStatisticsEntry ::= + SEQUENCE { + dot1qTpVlanPortHCInFrames + Counter64, + dot1qTpVlanPortHCOutFrames + Counter64, + dot1qTpVlanPortHCInDiscards + Counter64 + } + +dot1qTpVlanPortHCInFrames OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames received by this port from + its segment which were classified as belonging to this + VLAN. Note that a frame received on this port is + counted by this object if and only if it is for a + protocol being processed by the local forwarding process + for this VLAN. This object includes received bridge + management frames classified as belonging to this VLAN + (e.g. GMRP, but not GVRP or STP)." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3(a)" + ::= { dot1qPortVlanHCStatisticsEntry 1 } + +dot1qTpVlanPortHCOutFrames OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames transmitted by this port to + its segment from the local forwarding process for this + VLAN. This includes bridge management frames originated + by this device which are classified as belonging to this + VLAN (e.g. GMRP, but not GVRP or STP)." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3(d)" + ::= { dot1qPortVlanHCStatisticsEntry 2 } + +dot1qTpVlanPortHCInDiscards OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid frames received by this port from + its segment which were classified as belonging to this + VLAN which were discarded due to VLAN related reasons. + Specifically, the IEEE 802.1Q counters for Discard + Inbound and Discard on Ingress Filtering." + REFERENCE + "IEEE 802.1Q/D11 Section 12.6.1.1.3" + ::= { dot1qPortVlanHCStatisticsEntry 3 } + +-- ------------------------------------------------------------- +-- The VLAN Learning Constraints Table +-- ------------------------------------------------------------- + +dot1qLearningConstraintsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1qLearningConstraintsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing learning constraints for sets of + Shared and Independendent VLANs." + REFERENCE + "IEEE 802.1Q/D11 Section 12.10.3.1" + ::= { dot1qVlan 8 } + +dot1qLearningConstraintsEntry OBJECT-TYPE + SYNTAX Dot1qLearningConstraintsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A learning constraint defined for a VLAN." + INDEX { dot1qConstraintVlan, dot1qConstraintSet } + ::= { dot1qLearningConstraintsTable 1 } + +Dot1qLearningConstraintsEntry ::= + SEQUENCE { + dot1qConstraintVlan + VlanIndex, + dot1qConstraintSet + INTEGER, + dot1qConstraintType + INTEGER, + dot1qConstraintStatus + RowStatus + } + +dot1qConstraintVlan OBJECT-TYPE + SYNTAX VlanIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index of the row in dot1qVlanCurrentTable for the + VLAN constrained by this entry." + ::= { dot1qLearningConstraintsEntry 1 } + +dot1qConstraintSet OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The identity of the constraint set to which + dot1qConstraintVlan belongs. These values may be chosen + by the management station." + ::= { dot1qLearningConstraintsEntry 2 } + +dot1qConstraintType OBJECT-TYPE + SYNTAX INTEGER { + independent(1), + shared(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of constraint this entry defines. + independent(1) - the VLAN, dot1qConstraintVlan, + uses an independent filtering database from all + other VLANs in the same set, defined by + dot1qConstraintSet. + shared(2) - the VLAN, dot1qConstraintVlan, shares + the same filtering database as all other VLANs + in the same set, defined by dot1qConstraintSet." --- IPI Comments: Not Supported + ::= { dot1qLearningConstraintsEntry 3 } + +dot1qConstraintStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this entry." + ::= { dot1qLearningConstraintsEntry 4 } + +dot1qConstraintSetDefault OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The identity of the constraint set to which a VLAN + belongs, if there is not an explicit entry for that VLAN + in dot1qLearningConstraintsTable." --- IPI Comments: Not Supported + ::= { dot1qVlan 9 } + +dot1qConstraintTypeDefault OBJECT-TYPE + SYNTAX INTEGER { + independent(1), + shared(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The type of constraint set to which a VLAN belongs, if + there is not an explicit entry for that VLAN in + dot1qLearningConstraintsTable. The types are as defined + for dot1qConstraintType." + ::= { dot1qVlan 10 } + +-- ------------------------------------------------------------- +-- IEEE 802.1Q MIB - Conformance Information +-- ------------------------------------------------------------- + +qBridgeConformance OBJECT IDENTIFIER ::= { qBridgeMIB 2 } + +qBridgeGroups OBJECT IDENTIFIER ::= { qBridgeConformance 1 } + +qBridgeCompliances OBJECT IDENTIFIER + ::= { qBridgeConformance 2 } + +-- ------------------------------------------------------------- +-- units of conformance +-- ------------------------------------------------------------- + +qBridgeBaseGroup OBJECT-GROUP + OBJECTS { + dot1qVlanVersionNumber, + dot1qMaxVlanId, + dot1qMaxSupportedVlans, + dot1qNumVlans, + dot1qGvrpStatus + } + STATUS current + DESCRIPTION + "A collection of objects providing device level control + and status information for the Virtual LAN bridge + services." + ::= { qBridgeGroups 1 } + +qBridgeFdbUnicastGroup OBJECT-GROUP + OBJECTS { + dot1qFdbDynamicCount, + dot1qTpFdbPort, + dot1qTpFdbStatus + } + STATUS current + DESCRIPTION + "A collection of objects providing information about all + unicast addresses, learnt dynamically or statically + configured by management, in each Filtering Database." + ::= { qBridgeGroups 2 } + +qBridgeFdbMulticastGroup OBJECT-GROUP + OBJECTS { + dot1qTpGroupEgressPorts, + dot1qTpGroupLearnt + } + STATUS current + DESCRIPTION + "A collection of objects providing information about all + multicast addresses, learnt dynamically or statically + configured by management, in each Filtering Database." + ::= { qBridgeGroups 3 } + +qBridgeServiceRequirementsGroup OBJECT-GROUP + OBJECTS { + dot1qForwardAllPorts, + dot1qForwardAllStaticPorts, + dot1qForwardAllForbiddenPorts, + dot1qForwardUnregisteredPorts, + dot1qForwardUnregisteredStaticPorts, + dot1qForwardUnregisteredForbiddenPorts + } + STATUS current + DESCRIPTION + "A collection of objects providing information about + service requirements, learnt dynamically or statically + configured by management, in each Filtering Database." + ::= { qBridgeGroups 4 } + +qBridgeFdbStaticGroup OBJECT-GROUP + OBJECTS { + dot1qStaticUnicastAllowedToGoTo, + dot1qStaticUnicastStatus, + dot1qStaticMulticastStaticEgressPorts, + dot1qStaticMulticastForbiddenEgressPorts, + dot1qStaticMulticastStatus + } + STATUS current + DESCRIPTION + "A collection of objects providing information about + unicast and multicast addresses statically configured by + management, in each Filtering Database or VLAN." + ::= { qBridgeGroups 5 } + +qBridgeVlanGroup OBJECT-GROUP + OBJECTS { + dot1qVlanNumDeletes, + dot1qVlanFdbId, + dot1qVlanCurrentEgressPorts, + dot1qVlanCurrentUntaggedPorts, + dot1qVlanStatus, + dot1qVlanCreationTime + } + STATUS current + DESCRIPTION + "A collection of objects providing information about + all VLANs currently configured on this device." + ::= { qBridgeGroups 6 } + +qBridgeVlanStaticGroup OBJECT-GROUP + OBJECTS { + dot1qVlanStaticName, + dot1qVlanStaticEgressPorts, + dot1qVlanForbiddenEgressPorts, + dot1qVlanStaticUntaggedPorts, + dot1qVlanStaticRowStatus, + dot1qNextFreeLocalVlanIndex + } + STATUS current + DESCRIPTION + "A collection of objects providing information about + VLANs statically configured by management." + ::= { qBridgeGroups 7 } + +qBridgePortGroup OBJECT-GROUP + OBJECTS { + dot1qPvid, + dot1qPortAcceptableFrameTypes, + dot1qPortIngressFiltering, + dot1qPortGvrpStatus, + dot1qPortGvrpFailedRegistrations, + dot1qPortGvrpLastPduOrigin + } + STATUS current + DESCRIPTION + "A collection of objects providing port level VLAN + control and status information for all ports." + ::= { qBridgeGroups 8 } + +qBridgeVlanStatisticsGroup OBJECT-GROUP + OBJECTS { + dot1qTpVlanPortInFrames, + dot1qTpVlanPortOutFrames, + dot1qTpVlanPortInDiscards + } + STATUS current + DESCRIPTION + "A collection of objects providing per-port packet + statistics for all VLANs currently configured on this + device." + ::= { qBridgeGroups 9 } + +qBridgeVlanStatisticsOverflowGroup OBJECT-GROUP + OBJECTS { + dot1qTpVlanPortInOverflowFrames, + dot1qTpVlanPortOutOverflowFrames, + dot1qTpVlanPortInOverflowDiscards + } + STATUS current + DESCRIPTION + "A collection of objects providing overflow counters for + per-port packet statistics for all VLANs currently configured + on this device for high capacity interfaces, defined as those + that have the value of the corresponding instance of + ifSpeed greater than 650,000,000 bits/second." + ::= { qBridgeGroups 10 } + +qBridgeVlanHCStatisticsGroup OBJECT-GROUP + OBJECTS { + dot1qTpVlanPortHCInFrames, + dot1qTpVlanPortHCOutFrames, + dot1qTpVlanPortHCInDiscards + } + STATUS current + DESCRIPTION + "A collection of objects providing per-port packet + statistics for all VLANs currently configured on this + device for high capacity interfaces, defined as those + that have the value of the corresponding instance of + ifSpeed greater than 650,000,000 bits/second." + ::= { qBridgeGroups 11 } + +qBridgeLearningConstraintsGroup OBJECT-GROUP + OBJECTS { + dot1qConstraintType, + dot1qConstraintStatus + } + STATUS current + DESCRIPTION + "A collection of objects defining the Filtering Database + constraints all VLANs have with each other." + ::= { qBridgeGroups 12 } + +qBridgeLearningConstraintDefaultGroup OBJECT-GROUP + OBJECTS { + dot1qConstraintSetDefault, + dot1qConstraintTypeDefault + } + STATUS current + DESCRIPTION + "A collection of objects defining the default Filtering + Database constraints for VLANs which have no specific + constraints defined." + ::= { qBridgeGroups 13 } + +-- ------------------------------------------------------------- +-- compliance statements +-- ------------------------------------------------------------- + +qBridgeCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for device support of Virtual + LAN Bridge services." + + MODULE + MANDATORY-GROUPS { + qBridgeBaseGroup, + qBridgeVlanGroup, + qBridgeVlanStaticGroup, + qBridgePortGroup + } + + GROUP qBridgeFdbUnicastGroup + DESCRIPTION + "This group is mandatory for bridges that implement + 802.1Q transparent bridging." + + GROUP qBridgeFdbMulticastGroup + DESCRIPTION + "This group is mandatory for bridges that implement + 802.1Q transparent bridging." + + GROUP qBridgeServiceRequirementsGroup + DESCRIPTION + "This group is mandatory for bridges that implement + extended filtering services. All objects must be + read-write if extended-filtering services are + enabled." + + GROUP qBridgeFdbStaticGroup + DESCRIPTION + "This group is optional." + + GROUP qBridgeVlanStatisticsGroup + DESCRIPTION + "This group is optional as there may be significant + implementation cost associated with its support." + + GROUP qBridgeVlanStatisticsOverflowGroup + DESCRIPTION + "This group is optional as there may be significant + implementation cost associated with its support. It is most + relevant for high capacity interfaces where the SNMP agent + supports only SNMPv1." + + GROUP qBridgeVlanHCStatisticsGroup + DESCRIPTION + "This group is optional as there may be significant + implementation cost associated with its support. It is most + relevant for high capacity interfaces." + + GROUP qBridgeLearningConstraintsGroup + DESCRIPTION + "This group is mandatory for devices implementing + both Independent VLAN Learning (IVL) and Shared + VLAN Learning (SVL) modes of operation of the + filtering database, as defined by IEEE 802.1Q." + + GROUP qBridgeLearningConstraintDefaultGroup + DESCRIPTION + "This group is mandatory for devices implementing + both Independent VLAN Learning (IVL) and Shared + VLAN Learning (SVL) modes of operation of the + filtering database, as defined by IEEE 802.1Q." + + OBJECT dot1qPortAcceptableFrameTypes + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required as this is an optional + capability in IEEE 802.1Q." + + OBJECT dot1qPortIngressFiltering + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required as this is an optional + capability in IEEE 802.1Q." + + OBJECT dot1qConstraintSetDefault + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required as this is an optional + capability in IEEE 802.1Q." + + OBJECT dot1qConstraintTypeDefault + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required as this is an optional + capability in IEEE 802.1Q." + + ::= { qBridgeCompliances 1 } + +END + +-- +-- Copyright (C) The Internet Society (1999). All Rights Reserved. +-- +-- This document and translations of it may be copied and furnished to +-- others, and derivative works that comment on or otherwise explain it +-- or assist in its implementation may be prepared, copied, published +-- and distributed, in whole or in part, without restriction of any +-- kind, provided that the above copyright notice and this paragraph are +-- included on all such copies and derivative works. However, this +-- document itself may not be modified in any way, such as by removing +-- the copyright notice or references to the Internet Society or other +-- Internet organizations, except as needed for the purpose of +-- developing Internet standards in which case the procedures for +-- copyrights defined in the Internet Standards process must be +-- followed, or as required to translate it into languages other than +-- English. +-- +-- The limited permissions granted above are perpetual and will not be +-- revoked by the Internet Society or its successors or assigns. +-- +-- This document and the information contained herein is provided on an +-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +-- + diff --git a/mibs/RSTP-MIB.txt b/mibs/RSTP-MIB.txt new file mode 100644 index 00000000..715a17d5 --- /dev/null +++ b/mibs/RSTP-MIB.txt @@ -0,0 +1,327 @@ +RSTP-MIB DEFINITIONS ::= BEGIN + +-- ------------------------------------------------------------- +-- MIB for IEEE 802.1w Rapid Spanning Tree Protocol +-- ------------------------------------------------------------- + +IMPORTS + + + + MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2 + FROM SNMPv2-SMI + TruthValue + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + dot1dStp, dot1dStpPortEntry + FROM BRIDGE-MIB; + +rstpMIB MODULE-IDENTITY + LAST-UPDATED "200512070000Z" + ORGANIZATION "IETF Bridge MIB Working Group" + CONTACT-INFO + "Email: Bridge-mib@ietf.org" + DESCRIPTION + "The Bridge MIB Extension module for managing devices + that support the Rapid Spanning Tree Protocol defined + by IEEE 802.1w. + + Copyright (C) The Internet Society (2005). This version of + this MIB module is part of RFC 4318; See the RFC itself for + full legal notices." + + REVISION "200512070000Z" + DESCRIPTION + "The initial version of this MIB module as published in + RFC 4318." + ::= { mib-2 134 } + +-- ---------------------------------------------------------- -- +-- subtrees in the RSTP-MIB +-- ---------------------------------------------------------- -- + +rstpNotifications OBJECT IDENTIFIER ::= { rstpMIB 0 } +rstpObjects OBJECT IDENTIFIER ::= { rstpMIB 1 } +rstpConformance OBJECT IDENTIFIER ::= { rstpMIB 2 } + +-- ------------------------------------------------------------- +-- Addition to the dot1dStp group +-- ------------------------------------------------------------- + +dot1dStpVersion OBJECT-TYPE + SYNTAX INTEGER { + stpCompatible(0), + rstp(2) + } + MAX-ACCESS read-write + STATUS current + + + + DESCRIPTION + "The version of Spanning Tree Protocol the bridge is + currently running. The value 'stpCompatible(0)' + indicates the Spanning Tree Protocol specified in + IEEE 802.1D-1998 and 'rstp(2)' indicates the Rapid + Spanning Tree Protocol specified in IEEE 802.1w and + clause 17 of 802.1D-2004. The values are directly from + the IEEE standard. New values may be defined as future + versions of the protocol become available. + + The value of this object MUST be retained across + reinitializations of the management system." + REFERENCE + "IEEE 802.1w clause 14.8.1, 17.12, 17.16.1" + DEFVAL { rstp } + ::= { dot1dStp 16 } + +dot1dStpTxHoldCount OBJECT-TYPE + SYNTAX Integer32 (1..10) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value used by the Port Transmit state machine to limit + the maximum transmission rate. + + The value of this object MUST be retained across + reinitializations of the management system." + + REFERENCE + "IEEE 802.1w clause 17.16.6" + DEFVAL { 3 } + ::= { dot1dStp 17 } + +-- +-- { dot1dStp 18 } was used to represent dot1dStpPathCostDefault +-- in an earlier version of this MIB. It has since been +-- obsoleted, and should not be used. +-- + +dot1dStpExtPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF Dot1dStpExtPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains port-specific Rapid Spanning Tree + information." + ::= { dot1dStp 19 } + + + + +dot1dStpExtPortEntry OBJECT-TYPE + SYNTAX Dot1dStpExtPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Rapid Spanning Tree information maintained by + each port." + AUGMENTS { dot1dStpPortEntry } + ::= { dot1dStpExtPortTable 1 } + +Dot1dStpExtPortEntry ::= + SEQUENCE { + dot1dStpPortProtocolMigration + TruthValue, + dot1dStpPortAdminEdgePort + TruthValue, + dot1dStpPortOperEdgePort + TruthValue, + dot1dStpPortAdminPointToPoint + INTEGER, + dot1dStpPortOperPointToPoint + TruthValue, + dot1dStpPortAdminPathCost + Integer32 + } + +dot1dStpPortProtocolMigration OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "When operating in RSTP (version 2) mode, writing true(1) + to this object forces this port to transmit RSTP BPDUs. + Any other operation on this object has no effect and + it always returns false(2) when read." + REFERENCE + "IEEE 802.1w clause 14.8.2.4, 17.18.10, 17.26" + ::= { dot1dStpExtPortEntry 1 } + +dot1dStpPortAdminEdgePort OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative value of the Edge Port parameter. A + value of true(1) indicates that this port should be + assumed as an edge-port, and a value of false(2) indicates + that this port should be assumed as a non-edge-port. + + + + Setting this object will also cause the corresponding + instance of dot1dStpPortOperEdgePort to change to the + same value. Note that even when this object's value + is true, the value of the corresponding instance of + dot1dStpPortOperEdgePort can be false if a BPDU has + been received. + + The value of this object MUST be retained across + reinitializations of the management system." + + REFERENCE + "IEEE 802.1t clause 14.8.2, 18.3.3" + ::= { dot1dStpExtPortEntry 2 } + +dot1dStpPortOperEdgePort OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational value of the Edge Port parameter. The + object is initialized to the value of the corresponding + instance of dot1dStpPortAdminEdgePort. When the + corresponding instance of dot1dStpPortAdminEdgePort is + set, this object will be changed as well. This object + will also be changed to false on reception of a BPDU." + + REFERENCE + "IEEE 802.1t clause 14.8.2, 18.3.4" + ::= { dot1dStpExtPortEntry 3 } + +dot1dStpPortAdminPointToPoint OBJECT-TYPE + SYNTAX INTEGER { + forceTrue(0), + forceFalse(1), + auto(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative point-to-point status of the LAN segment + attached to this port, using the enumeration values of the + IEEE 802.1w clause. A value of forceTrue(0) indicates + that this port should always be treated as if it is + connected to a point-to-point link. A value of + forceFalse(1) indicates that this port should be treated as + having a shared media connection. A value of auto(2) + indicates that this port is considered to have a + point-to-point link if it is an Aggregator and all of its + + + + members are aggregatable, or if the MAC entity + is configured for full duplex operation, either through + auto-negotiation or by management means. Manipulating this + object changes the underlying adminPortToPortMAC. + + The value of this object MUST be retained across + reinitializations of the management system." + + REFERENCE + "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2" + ::= { dot1dStpExtPortEntry 4 } + +dot1dStpPortOperPointToPoint OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational point-to-point status of the LAN segment + attached to this port. It indicates whether a port is + considered to have a point-to-point connection. + If adminPointToPointMAC is set to auto(2), then the value + of operPointToPointMAC is determined in accordance with the + specific procedures defined for the MAC entity concerned, + as defined in IEEE 802.1w, clause 6.5. The value is + determined dynamically; that is, it is re-evaluated whenever + the value of adminPointToPointMAC changes, and whenever + the specific procedures defined for the MAC entity evaluate + a change in its point-to-point status." + REFERENCE + "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2" + ::= { dot1dStpExtPortEntry 5 } + +dot1dStpPortAdminPathCost OBJECT-TYPE + SYNTAX Integer32 (0..200000000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administratively assigned value for the contribution + of this port to the path cost of paths toward the spanning + tree root. + + Writing a value of '0' assigns the automatically calculated + default Path Cost value to the port. If the default Path + Cost is being used, this object returns '0' when read. + + This complements the object dot1dStpPortPathCost or + dot1dStpPortPathCost32, which returns the operational value + of the path cost. + + + + The value of this object MUST be retained across + reinitializations of the management system." + REFERENCE + "IEEE 802.1D-1998: Section 8.5.5.3" + ::= { dot1dStpExtPortEntry 6 } + +-- ------------------------------------------------------------- +-- rstpMIB - Conformance Information +-- ------------------------------------------------------------- + +rstpGroups OBJECT IDENTIFIER ::= { rstpConformance 1 } + +rstpCompliances OBJECT IDENTIFIER ::= { rstpConformance 2 } + +-- ------------------------------------------------------------- +-- Units of conformance +-- ------------------------------------------------------------- + +rstpBridgeGroup OBJECT-GROUP + OBJECTS { + dot1dStpVersion, + dot1dStpTxHoldCount + } + STATUS current + DESCRIPTION + "Rapid Spanning Tree information for the bridge.--IPI Comments: Not Supported" + ::= { rstpGroups 1 } + +rstpPortGroup OBJECT-GROUP + OBJECTS { + dot1dStpPortProtocolMigration, + dot1dStpPortAdminEdgePort, + dot1dStpPortOperEdgePort, + dot1dStpPortAdminPointToPoint, + dot1dStpPortOperPointToPoint, + dot1dStpPortAdminPathCost + } + STATUS current + DESCRIPTION + "Rapid Spanning Tree information for individual ports.--IPI Comments: Not Supported" + ::= { rstpGroups 2 } + +-- ------------------------------------------------------------- +-- Compliance statements +-- ------------------------------------------------------------- + +rstpCompliance MODULE-COMPLIANCE + STATUS current + + + + DESCRIPTION + "The compliance statement for device support of Rapid + Spanning Tree Protocol (RSTP) bridging services.--IPI Comments: Not Supported" + MODULE + MANDATORY-GROUPS { + rstpBridgeGroup, + rstpPortGroup + } + ::= { rstpCompliances 1 } + +END \ No newline at end of file From 65f1464e963df11b636c98d341fd2f99ed2baef8 Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Tue, 5 Jul 2016 09:18:48 +0530 Subject: [PATCH 2/7] OcNOS Ansible Modules/Playbooks --- ansible/ansible.cfg | 230 +++++++++++++++++++++++++ ansible/ebgp-clos.yml | 10 ++ ansible/hosts | 1 + ansible/roles/dhcp/tasks/main.yml | 5 + ansible/roles/dhcp/templates/dhcp.j2 | 19 ++ ansible/roles/dhcp/vars/main.yml | 45 +++++ ansible/roles/leaf/tasks/main.yml | 5 + ansible/roles/leaf/templates/leaf.j2 | 31 ++++ ansible/roles/leaf/vars/main.yml | 102 +++++++++++ ansible/roles/spine/tasks/main.yml | 6 + ansible/roles/spine/templates/spine.j2 | 29 ++++ ansible/roles/spine/vars/main.yml | 102 +++++++++++ 12 files changed, 585 insertions(+) create mode 100644 ansible/ansible.cfg create mode 100644 ansible/ebgp-clos.yml create mode 100644 ansible/hosts create mode 100644 ansible/roles/dhcp/tasks/main.yml create mode 100644 ansible/roles/dhcp/templates/dhcp.j2 create mode 100644 ansible/roles/dhcp/vars/main.yml create mode 100644 ansible/roles/leaf/tasks/main.yml create mode 100644 ansible/roles/leaf/templates/leaf.j2 create mode 100644 ansible/roles/leaf/vars/main.yml create mode 100644 ansible/roles/spine/tasks/main.yml create mode 100644 ansible/roles/spine/templates/spine.j2 create mode 100644 ansible/roles/spine/vars/main.yml diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg new file mode 100644 index 00000000..85eada17 --- /dev/null +++ b/ansible/ansible.cfg @@ -0,0 +1,230 @@ +# config file for ansible -- http://ansible.com/ +# ============================================== + +# nearly all parameters can be overridden in ansible-playbook +# or with command line flags. ansible will read ANSIBLE_CONFIG, +# ansible.cfg in the current working directory, .ansible.cfg in +# the home directory or /etc/ansible/ansible.cfg, whichever it +# finds first + +[defaults] + +# some basic default values... + +inventory = /etc/ansible/hosts +#library = /usr/share/my_modules/ +remote_tmp = $HOME/.ansible/tmp +pattern = * +forks = 5 +poll_interval = 15 +sudo_user = root +#ask_sudo_pass = True +#ask_pass = True +transport = smart +#remote_port = 22 +module_lang = C + +# plays will gather facts by default, which contain information about +# the remote system. +# +# smart - gather by default, but don't regather if already gathered +# implicit - gather by default, turn off with gather_facts: False +# explicit - do not gather by default, must say gather_facts: True +gathering = implicit + +# additional paths to search for roles in, colon separated +#roles_path = /etc/ansible/roles + +# uncomment this to disable SSH key host checking +#host_key_checking = False + +# change this for alternative sudo implementations +sudo_exe = sudo + +# what flags to pass to sudo +#sudo_flags = -H + +# SSH timeout +timeout = 10 + +# default user to use for playbooks if user is not specified +# (/usr/bin/ansible will use current user as default) +#remote_user = root + +# logging is off by default unless this path is defined +# if so defined, consider logrotate +#log_path = /var/log/ansible.log + +# default module name for /usr/bin/ansible +#module_name = command + +# use this shell for commands executed under sudo +# you may need to change this to bin/bash in rare instances +# if sudo is constrained +#executable = /bin/sh + +# if inventory variables overlap, does the higher precedence one win +# or are hash values merged together? The default is 'replace' but +# this can also be set to 'merge'. +#hash_behaviour = replace + +# list any Jinja2 extensions to enable here: +#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n + +# if set, always use this private key file for authentication, same as +# if passing --private-key to ansible or ansible-playbook +#private_key_file = /path/to/file + +# format of string {{ ansible_managed }} available within Jinja2 +# templates indicates to users editing templates files will be replaced. +# replacing {file}, {host} and {uid} and strftime codes with proper values. +ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host} + +# by default, ansible-playbook will display "Skipping [host]" if it determines a task +# should not be run on a host. Set this to "False" if you don't want to see these "Skipping" +# messages. NOTE: the task header will still be shown regardless of whether or not the +# task is skipped. +#display_skipped_hosts = True + +# by default (as of 1.3), Ansible will raise errors when attempting to dereference +# Jinja2 variables that are not set in templates or action lines. Uncomment this line +# to revert the behavior to pre-1.3. +#error_on_undefined_vars = False + +# by default (as of 1.6), Ansible may display warnings based on the configuration of the +# system running ansible itself. This may include warnings about 3rd party packages or +# other conditions that should be resolved if possible. +# to disable these warnings, set the following value to False: +#system_warnings = True + +# by default (as of 1.4), Ansible may display deprecation warnings for language +# features that should no longer be used and will be removed in future versions. +# to disable these warnings, set the following value to False: +#deprecation_warnings = True + +# (as of 1.8), Ansible can optionally warn when usage of the shell and +# command module appear to be simplified by using a default Ansible module +# instead. These warnings can be silenced by adjusting the following +# setting or adding warn=yes or warn=no to the end of the command line +# parameter string. This will for example suggest using the git module +# instead of shelling out to the git command. +# command_warnings = False + + +# set plugin path directories here, separate with colons +action_plugins = /usr/share/ansible_plugins/action_plugins +callback_plugins = /usr/share/ansible_plugins/callback_plugins +connection_plugins = /usr/share/ansible_plugins/connection_plugins +lookup_plugins = /usr/share/ansible_plugins/lookup_plugins +vars_plugins = /usr/share/ansible_plugins/vars_plugins +filter_plugins = /usr/share/ansible_plugins/filter_plugins + +# by default callbacks are not loaded for /bin/ansible, enable this if you +# want, for example, a notification or logging callback to also apply to +# /bin/ansible runs +#bin_ansible_callbacks = False + + +# don't like cows? that's unfortunate. +# set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1 +#nocows = 1 + +# don't like colors either? +# set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1 +#nocolor = 1 + +# the CA certificate path used for validating SSL certs. This path +# should exist on the controlling node, not the target nodes +# common locations: +# RHEL/CentOS: /etc/pki/tls/certs/ca-bundle.crt +# Fedora : /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem +# Ubuntu : /usr/share/ca-certificates/cacert.org/cacert.org.crt +#ca_file_path = + +# the http user-agent string to use when fetching urls. Some web server +# operators block the default urllib user agent as it is frequently used +# by malicious attacks/scripts, so we set it to something unique to +# avoid issues. +#http_user_agent = ansible-agent + +# if set to a persistent type (not 'memory', for example 'redis') fact values +# from previous runs in Ansible will be stored. This may be useful when +# wanting to use, for example, IP information from one group of servers +# without having to talk to them in the same playbook run to get their +# current IP information. +fact_caching = memory + + +# retry files +#retry_files_enabled = False +#retry_files_save_path = ~/.ansible-retry + +[privilege_escalation] +#become=True +#become_method='sudo' +#become_user='root' +#become_ask_pass=False + +[paramiko_connection] + +# uncomment this line to cause the paramiko connection plugin to not record new host +# keys encountered. Increases performance on new host additions. Setting works independently of the +# host key checking setting above. +#record_host_keys=False + +# by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this +# line to disable this behaviour. +#pty=False + +[ssh_connection] + +# ssh arguments to use +# Leaving off ControlPersist will result in poor performance, so use +# paramiko on older platforms rather than removing it +#ssh_args = -o ControlMaster=auto -o ControlPersist=60s + +# The path to use for the ControlPath sockets. This defaults to +# "%(directory)s/ansible-ssh-%%h-%%p-%%r", however on some systems with +# very long hostnames or very long path names (caused by long user names or +# deeply nested home directories) this can exceed the character limit on +# file socket names (108 characters for most platforms). In that case, you +# may wish to shorten the string below. +# +# Example: +# control_path = %(directory)s/%%h-%%r +#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r + +# Enabling pipelining reduces the number of SSH operations required to +# execute a module on the remote server. This can result in a significant +# performance improvement when enabled, however when using "sudo:" you must +# first disable 'requiretty' in /etc/sudoers +# +# By default, this option is disabled to preserve compatibility with +# sudoers configurations that have requiretty (the default on many distros). +# +#pipelining = False + +# if True, make ansible use scp if the connection type is ssh +# (default is sftp) +#scp_if_ssh = True + +[accelerate] +accelerate_port = 5099 +accelerate_timeout = 30 +accelerate_connect_timeout = 5.0 + +# The daemon timeout is measured in minutes. This time is measured +# from the last activity to the accelerate daemon. +accelerate_daemon_timeout = 30 + +# If set to yes, accelerate_multi_key will allow multiple +# private keys to be uploaded to it, though each user must +# have access to the system via SSH to add a new key. The default +# is "no". +#accelerate_multi_key = yes + +[selinux] +# file systems that require special treatment when dealing with security context +# the default behaviour that copies the existing context or uses the user default +# needs to be changed to use the file system dependant context. +#special_context_filesystems=nfs,vboxsf,fuse diff --git a/ansible/ebgp-clos.yml b/ansible/ebgp-clos.yml new file mode 100644 index 00000000..398fef46 --- /dev/null +++ b/ansible/ebgp-clos.yml @@ -0,0 +1,10 @@ +--- +- name: Build EBGP CLOS IP Topology + gather_facts: no + hosts: localhost + + roles: + - dhcp + - leaf + - spine + diff --git a/ansible/hosts b/ansible/hosts new file mode 100644 index 00000000..2302edae --- /dev/null +++ b/ansible/hosts @@ -0,0 +1 @@ +localhost ansible_connection=local diff --git a/ansible/roles/dhcp/tasks/main.yml b/ansible/roles/dhcp/tasks/main.yml new file mode 100644 index 00000000..531731df --- /dev/null +++ b/ansible/roles/dhcp/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- name: Generate DHCP Configuration files + template: src={{ item.profile }}.j2 dest=/tmp/dhcpd.conf + with_items: + dhcp_segment diff --git a/ansible/roles/dhcp/templates/dhcp.j2 b/ansible/roles/dhcp/templates/dhcp.j2 new file mode 100644 index 00000000..f4755cf4 --- /dev/null +++ b/ansible/roles/dhcp/templates/dhcp.j2 @@ -0,0 +1,19 @@ +default-lease-time 600; +max-lease-time 7200; +option subnet-mask 255.255.255.0; +option broadcast-address 10.10.100.255; +option routers 10.10.100.250; +option default-url "http://10.10.100.250/images/DELL_S6000_ON-OcNOS-1.2.0.199-DC_MPLS-S0-P0-installer"; + +subnet 10.10.100.0 netmask 255.255.255.0 { +range 10.10.100.1 10.10.100.200; +{% for items in item.devices %} + host {{items.hostname}} { + hardware ethernet {{ items.mac_address }}; + fixed-address {{ items.fixed_address }}; + option ocnos-license-url "{{items.license_url}}"; + option ocnos-provision-url "{{items.provision_url}}"; + } + +{% endfor %} +} diff --git a/ansible/roles/dhcp/vars/main.yml b/ansible/roles/dhcp/vars/main.yml new file mode 100644 index 00000000..8fd9c576 --- /dev/null +++ b/ansible/roles/dhcp/vars/main.yml @@ -0,0 +1,45 @@ +--- +dhcp_segment: + - topology: ebgp_ip_clos_topology + profile: dhcp + devices: + - hostname: Leaf_01_device + mac_address: ec:f4:bb:fd:5b:85 + fixed_address: 10.10.100.5 + license_url: http://10.10.100.250/licenses/leaf01_license.bin + provision_url: http://10.10.100.250/configs/leaf-01.conf + - hostname: Leaf_02_device + mac_address: ec:f4:bb:fd:5b:86 + fixed_address: 10.10.100.6 + license_url: http://10.10.100.250/licenses/leaf02_license.bin + provision_url: http://10.10.100.250/configs/leaf-02.conf + - hostname: Leaf_03_device + mac_address: ec:f4:bb:fd:5b:87 + fixed_address: 10.10.100.7 + license_url: http://10.10.100.250/licenses/leaf03_license.bin + provision_url: http://10.10.100.250/configs/leaf-03.conf + - hostname: Leaf_04_device + mac_address: ec:f4:bb:fd:5b:88 + fixed_address: 10.10.100.8 + license_url: http://10.10.100.250/licenses/leaf04_license.bin + provision_url: http://10.10.100.250/configs/leaf-04.conf + - hostname: Spine_01_device + mac_address: ec:f4:bb:fd:5b:81 + fixed_address: 10.10.100.1 + license_url: http://10.10.100.250/licenses/spine01_license.bin + provision_url: http://10.10.100.250/configs/spine-01.conf + - hostname: Spine_02_device + mac_address: ec:f4:bb:fd:5b:82 + fixed_address: 10.10.100.2 + license_url: http://10.10.100.250/licenses/spine02_license.bin + provision_url: http://10.10.100.250/configs/spine-02.conf + - hostname: Spine_03_device + mac_address: ec:f4:bb:fd:5b:83 + fixed_address: 10.10.100.3 + license_url: http://10.10.100.250/licenses/spine03_license.bin + provision_url: http://10.10.100.250/configs/spine-03.conf + - hostname: Spine_04_device + mac_address: ec:f4:bb:fd:5b:84 + fixed_address: 10.10.100.4 + license_url: http://10.10.100.250/licenses/spine04_license.bin + provision_url: http://10.10.100.250/configs/spine-04.conf diff --git a/ansible/roles/leaf/tasks/main.yml b/ansible/roles/leaf/tasks/main.yml new file mode 100644 index 00000000..3092a1be --- /dev/null +++ b/ansible/roles/leaf/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- name: Generate Leaf configuration files + template: src={{ item.profile}}.j2 dest=/tmp/configs/{{item.hostname}}.conf + with_items: + switches diff --git a/ansible/roles/leaf/templates/leaf.j2 b/ansible/roles/leaf/templates/leaf.j2 new file mode 100644 index 00000000..74c2ce5f --- /dev/null +++ b/ansible/roles/leaf/templates/leaf.j2 @@ -0,0 +1,31 @@ +! +hostname {{item.hostname|upper}} +! +interface lo + ip address 127.0.0.1/8 + ip address {{item.loopback}} secondary + ipv6 address ::1/128 +! +{% for links in item.links %} +interface {{links.leaf_port}} + description uplink to Spine Switch {{links.spine_switch}} + ip address {{links.leaf_port_local_ip}}/31 +! +{% endfor %} +! +router bgp {{item.local_ASN}} + bgp bestpath as-path multipath-relax + max-paths ebgp 16 + network {{item.loopback}} mask 255.255.255.255 +{% for links in item.links %} + neighbor {{links.spine_port_remote_ip}} remote-as {{links.remote_ASN}} +{% endfor %}} +! +line con 0 + login +line vty 0 871 + exec-timeout 0 0 + login +! +end + diff --git a/ansible/roles/leaf/vars/main.yml b/ansible/roles/leaf/vars/main.yml new file mode 100644 index 00000000..f9bba506 --- /dev/null +++ b/ansible/roles/leaf/vars/main.yml @@ -0,0 +1,102 @@ +--- +switches: + - hostname: leaf-01 + profile: leaf + loopback: 5.5.5.5 + local_ASN: 65412 + links: + - leaf_port: xe1/1 + spine_switch: Spine-01 + leaf_port_local_ip: 192.168.15.1 + spine_port_remote_ip: 192.168.15.0 + remote_ASN: 65501 + - leaf_port: xe1/2 + spine_switch: Spine-02 + leaf_port_local_ip: 192.168.25.1 + spine_port_remote_ip: 192.168.25.0 + remote_ASN: 65502 + - leaf_port: xe1/3 + spine_switch: Spine-03 + leaf_port_local_ip: 192.168.35.1 + spine_port_remote_ip: 192.168.35.0 + remote_ASN: 65503 + - leaf_port: xe1/4 + spine_switch: Spine-04 + leaf_port_local_ip: 192.168.45.1 + spine_port_remote_ip: 192.168.45.0 + remote_ASN: 65504 + - hostname: leaf-02 + profile: leaf + loopback: 6.6.6.6 + local_ASN: 65413 + links: + - leaf_port: xe1/1 + spine_switch: Spine-01 + leaf_port_local_ip: 192.168.16.1 + spine_port_remote_ip: 192.168.16.0 + remote_ASN: 65501 + - leaf_port: xe1/2 + spine_switch: Spine-02 + leaf_port_local_ip: 192.168.26.1 + spine_port_remote_ip: 192.168.26.0 + remote_ASN: 65502 + - leaf_port: xe1/3 + spine_switch: Spine-03 + leaf_port_local_ip: 192.168.36.1 + spine_port_remote_ip: 192.168.36.0 + remote_ASN: 65503 + - leaf_port: xe1/4 + spine_switch: Spine-04 + leaf_port_local_ip: 192.168.46.1 + spine_port_remote_ip: 192.168.46.0 + remote_ASN: 65504 + - hostname: leaf-03 + profile: leaf + loopback: 7.7.7.7 + local_ASN: 65414 + links: + - leaf_port: xe1/1 + spine_switch: Spine-01 + leaf_port_local_ip: 192.168.17.1 + spine_port_remote_ip: 192.168.17.0 + remote_ASN: 65501 + - leaf_port: xe1/2 + spine_switch: Spine-02 + leaf_port_local_ip: 192.168.27.1 + spine_port_remote_ip: 192.168.27.0 + remote_ASN: 65502 + - leaf_port: xe1/3 + spine_switch: Spine-03 + leaf_port_local_ip: 192.168.37.1 + spine_port_remote_ip: 192.168.37.0 + remote_ASN: 65503 + - leaf_port: xe1/4 + spine_switch: Spine-04 + leaf_port_local_ip: 192.168.47.1 + spine_port_remote_ip: 192.168.47.0 + remote_ASN: 65504 + - hostname: leaf-04 + profile: leaf + loopback: 8.8.8.8 + local_ASN: 65415 + links: + - leaf_port: xe1/1 + spine_switch: Spine-01 + leaf_port_local_ip: 192.168.18.1 + spine_port_remote_ip: 192.168.18.0 + remote_ASN: 65501 + - leaf_port: xe1/2 + spine_switch: Spine-02 + leaf_port_local_ip: 192.168.28.1 + spine_port_remote_ip: 192.168.28.0 + remote_ASN: 65502 + - leaf_port: xe1/3 + spine_switch: Spine-03 + leaf_port_local_ip: 192.168.38.1 + spine_port_remote_ip: 192.168.38.0 + remote_ASN: 65503 + - leaf_port: xe1/4 + spine_switch: Spine-04 + leaf_port_local_ip: 192.168.48.1 + spine_port_remote_ip: 192.168.48.0 + remote_ASN: 65504 diff --git a/ansible/roles/spine/tasks/main.yml b/ansible/roles/spine/tasks/main.yml new file mode 100644 index 00000000..df2f27cd --- /dev/null +++ b/ansible/roles/spine/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: Generate Spine Configuration files + template: src={{ item.profile }}.j2 dest=/tmp/configs/{{ item.hostname }}.conf + with_items: + switches + diff --git a/ansible/roles/spine/templates/spine.j2 b/ansible/roles/spine/templates/spine.j2 new file mode 100644 index 00000000..0a391fbe --- /dev/null +++ b/ansible/roles/spine/templates/spine.j2 @@ -0,0 +1,29 @@ +! +hostname {{item.hostname|upper}} +! +interface lo + ip address 127.0.0.1/8 + ip address {{item.loopback}} secondary + ipv6 address ::1/128 +! +{% for links in item.links %} +interface {{links.spine_port}} + description downlink to Leaf Switch {{links.leaf_switch}} + ip address {{links.spine_port_local_ip}}/31 +! +{% endfor %} +! +router bgp {{item.local_ASN}} + bgp bestpath as-path multipath-relax + max-paths ebgp 16 +{% for links in item.links %} + neighbor {{links.leaf_port_remote_ip}} remote-as {{links.remote_ASN}} +{% endfor %}} +! +line con 0 + login +line vty 0 871 + exec-timeout 0 0 + login +! +end diff --git a/ansible/roles/spine/vars/main.yml b/ansible/roles/spine/vars/main.yml new file mode 100644 index 00000000..583e20b7 --- /dev/null +++ b/ansible/roles/spine/vars/main.yml @@ -0,0 +1,102 @@ +--- +switches: + - hostname: Spine-01 + profile: spine + loopback: 1.1.1.1 + local_ASN: 65501 + links: + - spine_port: xe1/1 + leaf_switch: Leaf-01 + spine_port_local_ip: 192.168.15.0 + leaf_port_remote_ip: 192.168.15.1 + remote_ASN: 65412 + - spine_port: xe1/2 + leaf_switch: Leaf-02 + spine_port_local_ip: 192.168.16.0 + leaf_port_remote_ip: 192.168.16.1 + remote_ASN: 65413 + - spine_port: xe1/3 + leaf_switch: Leaf-03 + spine_port_local_ip: 192.168.17.0 + leaf_port_remote_ip: 192.168.17.1 + remote_ASN: 65414 + - spine_port: xe1/4 + leaf_switch: Leaf-04 + spine_port_local_ip: 192.168.18.0 + leaf_port_remote_ip: 192.168.18.1 + remote_ASN: 65415 + - hostname: Spine-02 + profile: spine + loopback: 2.2.2.2 + local_ASN: 65502 + links: + - spine_port: xe1/1 + leaf_switch: Leaf-01 + spine_port_local_ip: 192.168.25.0 + leaf_port_remote_ip: 192.168.25.1 + remote_ASN: 65412 + - spine_port: xe1/2 + leaf_switch: Leaf-02 + spine_port_local_ip: 192.168.26.0 + leaf_port_remote_ip: 192.168.26.1 + remote_ASN: 65413 + - spine_port: xe1/3 + leaf_switch: Leaf-03 + spine_port_local_ip: 192.168.27.0 + leaf_port_remote_ip: 192.168.27.1 + remote_ASN: 65414 + - spine_port: xe1/4 + leaf_switch: Leaf-04 + spine_port_local_ip: 192.168.28.0 + leaf_port_remote_ip: 192.168.28.1 + remote_ASN: 65415 + - hostname: Spine-03 + profile: spine + loopback: 3.3.3.3 + local_ASN: 65503 + links: + - spine_port: xe1/1 + leaf_switch: Leaf-01 + spine_port_local_ip: 192.168.35.0 + leaf_port_remote_ip: 192.168.35.1 + remote_ASN: 65412 + - spine_port: xe1/2 + leaf_switch: Leaf-02 + spine_port_local_ip: 192.168.36.0 + leaf_port_remote_ip: 192.168.36.1 + remote_ASN: 65413 + - spine_port: xe1/3 + leaf_switch: Leaf-03 + spine_port_local_ip: 192.168.37.0 + leaf_port_remote_ip: 192.168.37.1 + remote_ASN: 65414 + - spine_port: xe1/4 + leaf_switch: Leaf-04 + spine_port_local_ip: 192.168.38.0 + leaf_port_remote_ip: 192.168.38.1 + remote_ASN: 65415 + - hostname: Spine-04 + profile: spine + loopback: 4.4.4.4 + local_ASN: 65504 + links: + - spine_port: xe1/1 + leaf_switch: Leaf-01 + spine_port_local_ip: 192.168.45.0 + leaf_port_remote_ip: 192.168.45.1 + remote_ASN: 65412 + - spine_port: xe1/2 + leaf_switch: Leaf-02 + spine_port_local_ip: 192.168.46.0 + leaf_port_remote_ip: 192.168.46.1 + remote_ASN: 65413 + - spine_port: xe1/3 + leaf_switch: Leaf-03 + spine_port_local_ip: 192.168.47.0 + leaf_port_remote_ip: 192.168.47.1 + remote_ASN: 65414 + - spine_port: xe1/4 + leaf_switch: Leaf-04 + spine_port_local_ip: 192.168.48.0 + leaf_port_remote_ip: 192.168.48.1 + remote_ASN: 65415 From 4fb6ae925a6920f07ba5fc2fea32fef6a947967e Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Wed, 6 Jul 2016 08:54:57 +0530 Subject: [PATCH 3/7] Updated SNMP MIBs --- mibs/{BRIDGE.txt => BRIDGE-MIB.txt} | 0 mibs/CMM-CHASSIS-MIB.txt | 1987 ++++++++++++ mibs/IPMCAST-MIB.txt | 2519 +++++++++++++++ mibs/ISIS-MIB.txt | 4581 +++++++++++++++++++++++++++ mibs/LLDP-MIB.txt | 2032 ++++++++++++ mibs/MGMD-STD-MIB.txt | 1656 ++++++++++ mibs/MPLS-FTN-STD-MIB.txt | 1086 +++++++ mibs/MPLS-LDP-STD-MIB.txt | 2547 +++++++++++++++ mibs/MPLS-LSR-STD-MIB.txt | 2232 +++++++++++++ mibs/MPLS-TE-STD-MIB.txt | 2631 +++++++++++++++ mibs/OSPF-MIB.txt | 4398 +++++++++++++++++++++++++ mibs/OSPFV3-MIB.txt | 4075 ++++++++++++++++++++++++ mibs/PIM-STD-MIB.txt | 3967 +++++++++++++++++++++++ mibs/PW-ENET-STD-MIB.txt | 504 +++ mibs/PW-MPLS-STD-MIB.txt | 951 ++++++ mibs/PW-STD-MIB.txt | 2511 +++++++++++++++ mibs/RIPv2-MIB.txt | 530 ++++ mibs/VRRPV3-MIB.txt | 976 ++++++ 18 files changed, 39183 insertions(+) rename mibs/{BRIDGE.txt => BRIDGE-MIB.txt} (100%) create mode 100644 mibs/CMM-CHASSIS-MIB.txt create mode 100644 mibs/IPMCAST-MIB.txt create mode 100644 mibs/ISIS-MIB.txt create mode 100644 mibs/LLDP-MIB.txt create mode 100644 mibs/MGMD-STD-MIB.txt create mode 100644 mibs/MPLS-FTN-STD-MIB.txt create mode 100644 mibs/MPLS-LDP-STD-MIB.txt create mode 100644 mibs/MPLS-LSR-STD-MIB.txt create mode 100644 mibs/MPLS-TE-STD-MIB.txt create mode 100644 mibs/OSPF-MIB.txt create mode 100644 mibs/OSPFV3-MIB.txt create mode 100644 mibs/PIM-STD-MIB.txt create mode 100644 mibs/PW-ENET-STD-MIB.txt create mode 100644 mibs/PW-MPLS-STD-MIB.txt create mode 100644 mibs/PW-STD-MIB.txt create mode 100644 mibs/RIPv2-MIB.txt create mode 100644 mibs/VRRPV3-MIB.txt diff --git a/mibs/BRIDGE.txt b/mibs/BRIDGE-MIB.txt similarity index 100% rename from mibs/BRIDGE.txt rename to mibs/BRIDGE-MIB.txt diff --git a/mibs/CMM-CHASSIS-MIB.txt b/mibs/CMM-CHASSIS-MIB.txt new file mode 100644 index 00000000..016ec1e5 --- /dev/null +++ b/mibs/CMM-CHASSIS-MIB.txt @@ -0,0 +1,1987 @@ + CMM-CHASSIS-MIB DEFINITIONS ::= BEGIN + + -- This module provides authoritative definitions for cmm modules + -- + -- This module will be extended, as needed. + -- + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + Gauge32, Counter32, INTEGER, Unsigned32, + TimeTicks, NOTIFICATION-TYPE + FROM SNMPv2-SMI + DateAndTime, DisplayString, + MacAddress, RowStatus, TEXTUAL-CONVENTION + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + MODULE-IDENTITY,enterprises, + OBJECT-IDENTITY + FROM SNMPv2-SMI; + + + ipi MODULE-IDENTITY + LAST-UPDATED "201603301200Z" -- Mar 30, 2016 12:00:00 GMT + ORGANIZATION + "IPI." + CONTACT-INFO + "ipinfusion.com" + + DESCRIPTION + "The Structure of CMM Management Information for + the IPI enterprise." + + ::= { enterprises 36673 } -- assigned by IANA + + CmmChassisMib MODULE-IDENTITY + LAST-UPDATED "201603301130Z" -- Mar 30, 2016 11:30:00 GMT + ORGANIZATION "IP Infusion" + CONTACT-INFO "www.ipinfusion.com" + DESCRIPTION + "IPI CMM Chassis MIB. " + ::= { ipi 100 } + + + -- ### Groups ### + + CmmChassisObject OBJECT IDENTIFIER ::={ CmmChassisMib 1 } + cmmObjects OBJECT IDENTIFIER ::={ CmmChassisObject 1 } + cmmSysObjects OBJECT IDENTIFIER ::={ CmmChassisObject 2 } + cmmAlarmObjects OBJECT IDENTIFIER ::={ CmmChassisObject 3 } + + -- ### Textual Convention + + CodeType ::= TEXTUAL-CONVENTION + DISPLAY-HINT "x" + STATUS current + DESCRIPTION + "The code type value for a given unit, + displayed in hexadecimal." + SYNTAX Unsigned32 + + UnitType ::= TEXTUAL-CONVENTION + DISPLAY-HINT "x" + STATUS current + DESCRIPTION + "The unit type value for a given unit, + displayed in hexadecimal." + SYNTAX Unsigned32 + + -- ### Chassis Information + + cmmhNumStackUnits OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of stack units configured + on the chassis." + ::= { cmmObjects 1 } + + + + -- ### Chassis System ### + + + -- ## StackUnit Table + + -- The Cmm chassis is a single virtual system to + -- have the stackable units as virtual slots. + -- In the chassis, there can be multiple physical units + -- stacked together. + + -- The StackUnit table contains the management information + -- of each stacked unit in the chassis. + + cmmStackUnitTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmStackUnitEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of stack units configured in the chassis. + The StackUnit table contains the management + information of each stacked unit in the chassis. + " + ::= { cmmSysObjects 1 } + + cmmStackUnitEntry OBJECT-TYPE + SYNTAX CmmStackUnitEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of units entries containing information + for each stacked unit." + INDEX { cmmStackUnitIndex } + ::= { cmmStackUnitTable 1 } + CmmStackUnitEntry ::= + SEQUENCE { + cmmStackUnitIndex INTEGER, + cmmStackUnitModelName DisplayString, + cmmStackUnitSerialNumber DisplayString, + cmmStackUnitUpTime DisplayString, + cmmStackUnitMfgDate DisplayString, + cmmStackUnitMacAddress MacAddress, + cmmStackUnitPartNum DisplayString, + cmmStackLabelRevision DisplayString, + cmmStackUnitCountryCode OCTET STRING, + cmmStackUnitNum10GigEtherPorts INTEGER, + cmmStackUnitNumGigEtherPorts INTEGER, + cmmStackUnitNumFastEtherPorts INTEGER, + cmmStackUnitNumFanTrays INTEGER, + cmmStackUnitNumPowerSupplies INTEGER, + cmmStackUnitNumPluggableModules INTEGER, + cmmStackUnitNum40GigEtherPorts INTEGER, + cmmStackUnitServiceTag DisplayString, + cmmStackPlatformName DisplayString, + cmmStackOnieVersion DisplayString, + cmmStackMfg DisplayString, + cmmStackVendorName DisplayString, + cmmStackDiagVersion DisplayString, + cmmStackCrc32 DisplayString + + } + + cmmStackUnitIndex OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The unique index for this entry. + Refer to the object cmmStackUnitIndexNext." + ::= { cmmStackUnitEntry 1 } + + cmmStackUnitModelName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The plugged-in model ID for this unit." + ::= { cmmStackUnitEntry 2 } + + cmmStackUnitSerialNumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's serial number." + ::= { cmmStackUnitEntry 3 } + + cmmStackUnitUpTime OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The system up time of the unit." + ::= { cmmStackUnitEntry 4 } + + cmmStackUnitMfgDate OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (8 | 11)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The date the unit is manufactured." + ::= { cmmStackUnitEntry 5 } + + cmmStackUnitMacAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A 6-octet MAC Address assigned + to this unit." + ::= { cmmStackUnitEntry 6 } + + cmmStackUnitPartNum OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit part number" + ::= { cmmStackUnitEntry 7 } + + cmmStackLabelRevision OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's label Revesion" + ::= { cmmStackUnitEntry 8 } + + + cmmStackUnitCountryCode OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit manufacturer's country + code" + ::= { cmmStackUnitEntry 9 } + + cmmStackUnitNum10GigEtherPorts OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 10G Ethernet/802.3 interfaces + in this unit." + ::= { cmmStackUnitEntry 10 } + + cmmStackUnitNumGigEtherPorts OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 1G Ethernet/802.3 interfaces + in this unit." + ::= { cmmStackUnitEntry 11 } + + cmmStackUnitNumFastEtherPorts OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 10/100 Ethernet/802.3 interfaces + in this unit." + ::= { cmmStackUnitEntry 12 } + + cmmStackUnitNumFanTrays OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of fan trays + on the unit." + ::= { cmmStackUnitEntry 13 } + + cmmStackUnitNumPowerSupplies OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of power supplies available + to the unit." + ::= { cmmStackUnitEntry 14 } + + cmmStackUnitNumPluggableModules OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of pluggable modules + in the stack." + ::= { cmmStackUnitEntry 15 } + + cmmStackUnitNum40GigEtherPorts OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 40G Ethernet/802.3 interfaces + in this unit." + ::= { cmmStackUnitEntry 16 } + + cmmStackUnitServiceTag OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..7)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's service tag." + ::= { cmmStackUnitEntry 17 } + + cmmStackPlatformName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's Platform Name." + ::= { cmmStackUnitEntry 18 } + + cmmStackOnieVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's ONIE Version." + ::= { cmmStackUnitEntry 19 } + + cmmStackMfg OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's Manufacturer Name." + ::= { cmmStackUnitEntry 20 } + + cmmStackVendorName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's Vendor Name." + ::= { cmmStackUnitEntry 21 } + + cmmStackDiagVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's Diagnostic Version." + ::= { cmmStackUnitEntry 22 } + + cmmStackCrc32 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unit's Cyclic Redundancy Check 32 Bit value." + ::= { cmmStackUnitEntry 23 } + + + + -- ## Port Entry + cmmSysPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of power supply resident + in the chassis." + ::= { cmmSysObjects 2 } + + cmmSysPortEntry OBJECT-TYPE + SYNTAX CmmSysPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A port entry containing objects for a + particular port." + INDEX { cmmStackUnitIndex, + cmmSysPortIndex } + ::= { cmmSysPortTable 1 } + + CmmSysPortEntry ::= + SEQUENCE { + cmmSysPortIndex INTEGER, + cmmSysPortType DisplayString, + cmmSysidentifier DisplayString, + cmmSysextendedidentifier DisplayString, + cmmSysconnectortype DisplayString, + cmmSystransceivercode DisplayString, + cmmSysencoding DisplayString, + cmmSysnominalbitrate INTEGER, + cmmSyslengthkmtrs INTEGER, + cmmSyslengthmtrs INTEGER, + cmmSyslengthom1 INTEGER, + cmmSyslengthom2 INTEGER, + cmmSyslengthom3 INTEGER, + cmmSysvendorname DisplayString, + cmmSysvendoroui DisplayString, + cmmSysvendorpartnumber DisplayString, + cmmSysvendorrevision DisplayString, + cmmSyscheckcode DisplayString, + cmmSysbitratemax INTEGER, + cmmSysbitratemin INTEGER, + cmmSysvendorserialnumber DisplayString, + cmmSysdatecode DisplayString, + cmmSysddmtype DisplayString, + cmmSyscheckcodeextended DisplayString, + cmmSysrxpower0 INTEGER, + cmmSysrxpower1 INTEGER, + cmmSysrxpower2 INTEGER, + cmmSysrxpower3 INTEGER, + cmmSysrxpower4 INTEGER, + cmmSyslaserbiasslope INTEGER, + cmmSyslaserbiasoffset INTEGER, + cmmSystxpowerslope INTEGER, + cmmSystxpoweroffset INTEGER, + cmmSystempslope INTEGER, + cmmSystempoffset INTEGER, + cmmSysvoltageslope INTEGER, + cmmSysvoltageoffset INTEGER, + cmmSysTemperature DisplayString, + cmmSysVoltage DisplayString, + cmmSysLaserBiasCurrent DisplayString, + cmmSysTxOutputPower DisplayString, + cmmSysRxInputPower DisplayString, + } + + cmmSysPortIndex OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A unique index for each slot within the unit. + " + ::= { cmmSysPortEntry 1 } + + cmmSysPortType OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of port in the unit." + ::= { cmmSysPortEntry 2 } + + cmmSysidentifier OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Type of transceiver + " + + ::= { cmmSysPortEntry 3 } + + cmmSysextendedidentifier OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Extended identifier of type of transceiver + " + + ::= { cmmSysPortEntry 4 } + + + cmmSysconnectortype OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Code for connector type + " + + ::= { cmmSysPortEntry 5 } + + cmmSystransceivercode OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Code for electronic or optical compatibility + " + + ::= { cmmSysPortEntry 6 } + + cmmSysencoding OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Code for high speed serial encoding algorithm + " + + ::= { cmmSysPortEntry 7 } + + cmmSysnominalbitrate OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Nominal signalling rate, units of 100MBd. + " + + ::= { cmmSysPortEntry 8 } + + + cmmSyslengthkmtrs OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Link length supported for single mode fiber, units of km + " + + ::= { cmmSysPortEntry 9 } + + cmmSyslengthmtrs OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Link length supported for single mode fiber, units of 100 m + " + + ::= { cmmSysPortEntry 10 } + + cmmSyslengthom1 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Link length supported for 62.5 um OM1 fiber, units of 10 m + " + + ::= { cmmSysPortEntry 11 } + + cmmSyslengthom2 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Link length supported for 50 um OM2 fiber, units of 10 m + " + + ::= { cmmSysPortEntry 12 } + + + cmmSyslengthom3 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Link length supported for 50 um OM3 fiber, units of 10 m + " + + ::= { cmmSysPortEntry 13 } + + + cmmSysvendorname OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + SFP vendor name + " + + ::= { cmmSysPortEntry 14 } + + + cmmSysvendoroui OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + SFP vendor IEEE company ID + " + + ::= { cmmSysPortEntry 15 } + + + cmmSysvendorpartnumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Part number provided by SFP vendor + " + + ::= { cmmSysPortEntry 16 } + + cmmSysvendorrevision OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Revision level for part number provided by vendor + " + + ::= { cmmSysPortEntry 17 } + + + cmmSyscheckcode OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Check code for Base ID Fields + " + + ::= { cmmSysPortEntry 18 } + + + + cmmSysbitratemax OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Upper bit rate margin, units of % + " + + ::= { cmmSysPortEntry 19 } + + cmmSysbitratemin OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Lower bit rate margin, units of % + " + + ::= { cmmSysPortEntry 20 } + + cmmSysvendorserialnumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Serial number provided by vendor + " + + ::= { cmmSysPortEntry 21 } + + cmmSysdatecode OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Vendor's manufacturing date code + " + + ::= { cmmSysPortEntry 22 } + + + cmmSysddmtype OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Indicates which type of diagnostic monitoring is implemented + " + + ::= { cmmSysPortEntry 23 } + + + + cmmSyscheckcodeextended OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Check code for the Extended ID Fields + " + + ::= { cmmSysPortEntry 24 } + + + cmmSysrxpower0 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Single precision floating point calibration data, Rx optical power. Bit 7 of + byte 72 is MSB, bit 0 of byte 75 is LSB. RxPWR(0) should be set to zero + for internally calibrated devices. + " + + ::= { cmmSysPortEntry 25 } + + + cmmSysrxpower1 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Single precision floating point calibration data, Rx optical power. Bit 7 of + byte 68 is MSB, bit 0 of byte 71 is LSB. RxPWR(1) should be set to 1 for + internally calibrated devices. + " + + ::= { cmmSysPortEntry 26 } + + cmmSysrxpower2 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Single precision floating point calibration data, Rx optical power. + Bit 7 of byte 64 is MSB, bit 0 of byte 67 is LSB. RxPWR(2) should be set + to zero for internally calibrated devices. + " + + ::= { cmmSysPortEntry 27 } + + cmmSysrxpower3 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Single precision floating point calibration data - Rx optical power. + Bit 7 of byte 60 is MSB. Bit 0 of byte 63 is LSB. RxPWR(3) should be set + to zero for internally calibrated devices. + " + + ::= { cmmSysPortEntry 28 } + + cmmSysrxpower4 OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Single precision floating point calibration data - Rx optical power. Bit 7 of + byte 56 is MSB. Bit 0 of byte 59 is LSB. RxPWR(4) should be set to zero + for internally calibrated devices. + " + + ::= { cmmSysPortEntry 29 } + + cmmSyslaserbiasslope OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (unsigned) calibration data, laser bias current. Bit 7 of byte + 76 is MSB, bit 0 of byte 77 is LSB. TxI(Slope) should be set to 1 for + internally calibrated devices. + " + + ::= {cmmSysPortEntry 30 } + + cmmSyslaserbiasoffset OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (signed two's complement) calibration data, laser bias + current. Bit 7 of byte 78 is MSB, bit 0 of byte 79 is LSB. TxI(Offset) should + be set to zero for internally calibrated devices. + " + + ::= { cmmSysPortEntry 31 } + + + cmmSystxpowerslope OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (unsigned) calibration data, transmitter coupled output + power. Bit 7 of byte 80 is MSB, bit 0 of byte 81 is LSB. TxPWR(Slope) + should be set to 1 for internally calibrated devices. + " + + ::= { cmmSysPortEntry 32 } + + cmmSystxpoweroffset OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (signed two's complement) calibration data, transmitter + coupled output power. Bit 7 of byte 82 is MSB, bit 0 of byte 83 is LSB. + TxPWR(Offset) should be set to zero for internally calibrated devices. + " + + ::= { cmmSysPortEntry 33 } + + cmmSystempslope OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (unsigned) calibration data, internal module temperature. Bit + 7 of byte 84 is MSB, bit 0 of byte 85 is LSB. T(Slope) should be set to 1 for + internally calibrated devices. + " + + ::= { cmmSysPortEntry 34 } + + cmmSystempoffset OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (signed two's complement) calibration data, internal module + temperature. Bit 7 of byte 86 is MSB, bit 0 of byte 87 is LSB. T(Offset) + should be set to zero for internally calibrated devices + " + + ::= { cmmSysPortEntry 35 } + + cmmSysvoltageslope OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (unsigned) calibration data, internal module supply voltage. + Bit 7 of byte 88 is MSB, bit 0 of byte 89 is LSB. V(Slope) should be set to 1 + for internally calibrated devices + " + + ::= { cmmSysPortEntry 36 } + + cmmSysvoltageoffset OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Fixed decimal (signed two's complement) calibration data, internal module + supply voltage. Bit 7 of byte 90 is MSB. Bit 0 of byte 91 is LSB. V(Offset) + should be set to zero for internally calibrated devices. + " + + ::= { cmmSysPortEntry 37 } + + cmmSysTemperature OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Temperature value of the system + " + + ::= { cmmSysPortEntry 38 } + + cmmSysVoltage OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Internally measured supply voltage in transceiver + " + + ::= { cmmSysPortEntry 39 } + + cmmSysLaserBiasCurrent OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Internally measured TX Bias Current. + " + + ::= { cmmSysPortEntry 40 } + + cmmSysTxOutputPower OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Measured TX output power. + " + + ::= { cmmSysPortEntry 41 } + + cmmSysRxInputPower OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + Measured RX input power. + " + + ::= { cmmSysPortEntry 42 } + + cmmSysRamTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysRamEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Ram Entries." + ::= { cmmSysObjects 3 } + + cmmSysRamEntry OBJECT-TYPE + SYNTAX CmmSysRamEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Ram entries" + INDEX { cmmStackUnitIndex } + ::= { cmmSysRamTable 1 } + + CmmSysRamEntry ::= + SEQUENCE { + cmmSysRamFreeMem INTEGER, + cmmSysRamAvailableMem INTEGER, + cmmSysRamThreshold INTEGER + } + cmmSysRamFreeMem OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "CPU RAM's total free memory available for utilisation in KBytes." + ::= { cmmSysRamEntry 1 } + + cmmSysRamAvailableMem OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "CPU RAM's total memory in Kbytes." + ::= { cmmSysRamEntry 2 } + + cmmSysRamThreshold OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The CPU Free Memory threshold in kilobytes. + A zero threshold value indicates the CPU Free Memory Notification feature is disabled. + Notifications are triggered when the CPU Free Memory falls below the configured threshold + and when it rises to 10% above the configured threshold.CPU utilization in percentage for last 1 minute." + ::= { cmmSysRamEntry 3 } + + + + cmmStackUnitUtilTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmStackUnitUtilEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Stack Unit Util Entries." + ::= { cmmSysObjects 4 } + + cmmStackUnitUtilEntry OBJECT-TYPE + SYNTAX CmmStackUnitUtilEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Unit Til Entries" + INDEX { cmmStackUnitIndex } + ::= { cmmStackUnitUtilTable 1 } + + CmmStackUnitUtilEntry ::= + SEQUENCE { + cmmStackUnitCpuType DisplayString, + cmmStackUnitCpuUtil1Min DisplayString, + cmmStackUnitCpuUtil5Min DisplayString, + cmmStackUnitCpuUtil15Min DisplayString, + cmmSysCpuThresholdInterval INTEGER, + cmmSysCpuThreshold INTEGER, + cmmStackUnitCpuUtilization DisplayString, + } + + cmmStackUnitCpuType OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of module running on the Processor" + ::= { cmmStackUnitUtilEntry 1 } + + cmmStackUnitCpuUtil1Min OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "CPU utilization in percentage for last 5 seconds" + ::= { cmmStackUnitUtilEntry 2 } + + cmmStackUnitCpuUtil5Min OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "CPU utilization in percentage for last 1 minute" + ::= { cmmStackUnitUtilEntry 3 } + + cmmStackUnitCpuUtil15Min OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "CPU utilization in percentage for last 5 minutes." + ::= { cmmStackUnitUtilEntry 4 } + + cmmSysCpuThresholdInterval OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The CPU Rising threshold interval in seconds. The time interval is configured in multiples of 5 seconds. + A zero Rising interval indicates CPU Utilization Notification feature is disabled.." + ::= { cmmStackUnitUtilEntry 5 } + + + cmmSysCpuThreshold OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The CPU MAX Threshold" + ::= { cmmStackUnitUtilEntry 6 } + + + + cmmStackUnitCpuUtilization OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total memory usage in percentage" + ::= {cmmStackUnitUtilEntry 7 } + + -- ### Power Supply Table + + cmmSysPowerSupplyTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysPowerSupplyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of power supply resident + in the chassis." + ::= { cmmSysObjects 5 } + + cmmSysPowerSupplyEntry OBJECT-TYPE + SYNTAX CmmSysPowerSupplyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A power supply entry containing objects for a + particular power supply." + INDEX { cmmStackUnitIndex, + cmmSysPowerSupplyIndex } + ::= { cmmSysPowerSupplyTable 1 } + + CmmSysPowerSupplyEntry ::= + SEQUENCE { + cmmSysPowerSupplyIndex INTEGER, + cmmSysPOWERVDDR DisplayString, + cmmSysPOWERCORE DisplayString, + cmmSysV1P1POWERRAIL DisplayString, + cmmSysMAINBOARDPOWERRAIL DisplayString, + cmmSysVCC5V DisplayString, + cmmSysVCC33V DisplayString, + cmmSysVCCMAC1V DisplayString, + cmmSysVCCMACAVS1V DisplayString, + cmmSysVCCV1P05 DisplayString, + cmmSysVCCV1P5 DisplayString, + cmmSysVCCV1P8 DisplayString, + cmmSysV1P05POWERRAIL DisplayString, + cmmSysV1P5POWERRAIL DisplayString, + cmmSysVCCPOWERRAIL DisplayString, + cmmSysSBV1P5POWERRAIL DisplayString, + cmmSysV1P0POWERRAIL DisplayString, + cmmSysV3P3POWERRAIL DisplayString, + cmmSysV1P8POWERRAIL DisplayString, + cmmSysV1P35POWERRAIL DisplayString, + cmmSysDDRVTT DisplayString, + cmmSysPowerSupplyOperStatus DisplayString, + cmmSysPowerSupplyType DisplayString, + cmmSysHotSwapStat DisplayString, + cmmSysPSConsumption DisplayString + + } + + cmmSysPowerSupplyIndex OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unique index of the power supply." + ::= { cmmSysPowerSupplyEntry 1 } + + cmmSysPOWERVDDR OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power statistics for VCC 3.3v on Main board" + ::= { cmmSysPowerSupplyEntry 2 } + + cmmSysPOWERCORE OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power statistics for Mac 1v on Main board" + ::= { cmmSysPowerSupplyEntry 3 } + + cmmSysV1P1POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power statistics for Mac AVS 1v on Main board" + ::= { cmmSysPowerSupplyEntry 4 } + + cmmSysMAINBOARDPOWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status for Main Board" + ::= { cmmSysPowerSupplyEntry 5 } + + cmmSysVCC5V OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCC 5V" + ::= { cmmSysPowerSupplyEntry 6 } + + cmmSysVCC33V OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCC 33 V" + ::= { cmmSysPowerSupplyEntry 7 } + + cmmSysVCCMAC1V OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCCMAC1V" + ::= { cmmSysPowerSupplyEntry 8 } + + cmmSysVCCMACAVS1V OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCCMACAVS1V" + ::= { cmmSysPowerSupplyEntry 9 } + + cmmSysVCCV1P05 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power Status of VCCV1P05" + ::= { cmmSysPowerSupplyEntry 10 } + + cmmSysVCCV1P5 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power Status of VCCV1P5" + ::= { cmmSysPowerSupplyEntry 11 } + + cmmSysVCCV1P8 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCCV1P8" + ::= { cmmSysPowerSupplyEntry 12 } + + + cmmSysV1P05POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of V1P05POWERRAIL" + ::= { cmmSysPowerSupplyEntry 13 } + + cmmSysV1P5POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of V1P5POWERRAIL" + ::= { cmmSysPowerSupplyEntry 14 } + + cmmSysVCCPOWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of VCCPOWERRAIL" + ::= { cmmSysPowerSupplyEntry 15 } + + cmmSysSBV1P5POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status of SBV1P5POWERRAIL" + ::= { cmmSysPowerSupplyEntry 16 } + + cmmSysV1P0POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power rail 1.0V Status" + ::= { cmmSysPowerSupplyEntry 17 } + + cmmSysV3P3POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power rail 3.3V Status" + ::= { cmmSysPowerSupplyEntry 18 } + + cmmSysV1P8POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power rail 1.8V Status" + ::= { cmmSysPowerSupplyEntry 19 } + + cmmSysV1P35POWERRAIL OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power Rail 1.35 Status" + ::= { cmmSysPowerSupplyEntry 20 } + + cmmSysDDRVTT OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power statistics for VCC 5v on Main board." + ::= { cmmSysPowerSupplyEntry 21 } + + cmmSysPowerSupplyOperStatus OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of the power supply." + ::= { cmmSysPowerSupplyEntry 22 } + + cmmSysPowerSupplyType OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of the power supply." + ::= { cmmSysPowerSupplyEntry 23 } + + + cmmSysHotSwapStat OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power status for HOT SWAP" + ::= { cmmSysPowerSupplyEntry 24 } + + cmmSysPSConsumption OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Output Power of Power supply" + ::= { cmmSysPowerSupplyEntry 25 } + + -- ## Fan Tray Table + + cmmSysFanTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysFanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of fan tray resident in the M-series chassis." + ::= { cmmSysObjects 6 } + + cmmSysFanEntry OBJECT-TYPE + SYNTAX CmmSysFanEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A fan entry containing objects for a + particular fan tray." + INDEX { cmmStackUnitIndex, + cmmSysFanIndex } + ::= { cmmSysFanTable 1 } + + CmmSysFanEntry ::= + SEQUENCE { + cmmSysFanIndex INTEGER, + cmmSysFanControllerNum INTEGER, + cmmSysFanTrayNumber INTEGER, + cmmSysFanRpm INTEGER, + cmmSysFanLowRpm INTEGER, + cmmSysFanMidRpm INTEGER, + cmmSysFanHighRpm INTEGER, + cmmSysFanTrayOperStatus DisplayString, + cmmSysFanTrayLed DisplayString + } + + cmmSysFanIndex OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The unique index of the fan." + ::= { cmmSysFanEntry 1 } + + + cmmSysFanControllerNum OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the fan controller number." + ::= { cmmSysFanEntry 2 } + + cmmSysFanTrayNumber OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the fan tray Number." + ::= { cmmSysFanEntry 3 } + + + cmmSysFanRpm OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the fan rpm ." + ::= { cmmSysFanEntry 4 } + + cmmSysFanLowRpm OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the low RPM of fan." + ::= { cmmSysFanEntry 5 } + + cmmSysFanMidRpm OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the mid RPM of fan." + ::= { cmmSysFanEntry 6 } + + + cmmSysFanHighRpm OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the high RPM of fan." + ::= { cmmSysFanEntry 7 } + + + cmmSysFanTrayOperStatus OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of the fan tray." + ::= { cmmSysFanEntry 8 } + + cmmSysFanTrayLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents the fan led status." + ::= { cmmSysFanEntry 9 } + + +-- ## Stack Temperature Table + cmmSysTemperatureTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysTemperatureEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of Temperature Entities on board" + ::= { cmmSysObjects 7 } + + cmmSysTemperatureEntry OBJECT-TYPE + SYNTAX CmmSysTemperatureEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A temperature entry containing objects related to particular temperature sensor" + INDEX { cmmStackUnitIndex, + cmmSysTemperatureSensorIndex } + ::= { cmmSysTemperatureTable 1 } + + CmmSysTemperatureEntry ::= + SEQUENCE { + cmmSysTemperatureSensorIndex INTEGER, + cmmSysTemperatureValue DisplayString, + cmmSysTempLowThreshold DisplayString, + cmmSysTempHighThreshold DisplayString + } + + cmmSysTemperatureSensorIndex OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents Temperature Sensor Index" + ::= { cmmSysTemperatureEntry 1 } + + cmmSysTemperatureValue OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents Temperature Sensor value" + ::= { cmmSysTemperatureEntry 2 } + + cmmSysTempLowThreshold OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents Temperature Sensor lower threshold" + ::= { cmmSysTemperatureEntry 3 } + + cmmSysTempHighThreshold OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value represents Temperature Sensor high threshold" + ::= { cmmSysTemperatureEntry 4 } + + +-- ## Stack LED Table + cmmSysLedTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysLedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Sequence of cmmSysLedEntry" + ::= { cmmSysObjects 8 } + + cmmSysLedEntry OBJECT-TYPE + SYNTAX CmmSysLedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "OBJECT to hold elements related to LED information" + INDEX { cmmStackUnitIndex } + ::= { cmmSysLedTable 1 } + + CmmSysLedEntry ::= + SEQUENCE { + cmmSysPowerLed DisplayString, + cmmSysLocatorLed DisplayString, + cmmSysMasterLed DisplayString, + cmmSysSystemLed DisplayString, + cmmSysFrontFanLed DisplayString + + } + + cmmSysPowerLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Status of Power led " + ::= { cmmSysLedEntry 1 } + + cmmSysLocatorLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Status of Power led " + ::= { cmmSysLedEntry 2 } + + cmmSysMasterLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Status of Locator led " + ::= { cmmSysLedEntry 3 } + + cmmSysSystemLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Status of System led " + ::= { cmmSysLedEntry 4 } + + cmmSysFrontFanLed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Status of FrontFan led " + ::= { cmmSysLedEntry 5 } + + + + + -- ## Software Module Table + + cmmSysSwModuleTable OBJECT-TYPE + SYNTAX SEQUENCE OF CmmSysSwModuleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of software version information in + a processor." + ::= { cmmSysObjects 9 } + + cmmSysSwModuleEntry OBJECT-TYPE + SYNTAX CmmSysSwModuleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A software module entry containing version + number information for a particular processor." + INDEX { cmmStackUnitIndex } + ::= { cmmSysSwModuleTable 1 } + + CmmSysSwModuleEntry ::= + SEQUENCE { + cmmSysSwRuntimeImgVersion DisplayString, + cmmSysSwRuntimeImgDate OCTET STRING, + } + + cmmSysSwRuntimeImgVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable indicates the software + module version that is currently + running on the processor. + The software release version is in + the format as follow: + ........ + '1.2' indicate major version of 1 and + minor release of 2." + ::= { cmmSysSwModuleEntry 1 } + + cmmSysSwRuntimeImgDate OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The release date of this software + module." + ::= { cmmSysSwModuleEntry 2 } + + -- + -- ## Notifications + -- + + cmmAlarmVariable OBJECT IDENTIFIER ::= { cmmAlarmObjects 0 } + cmmAlarmMibNotifications OBJECT IDENTIFIER ::= { cmmAlarmObjects 1 } + + cmmAlarmVarInteger OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "An generic integer value in the TRAP object" + ::= { cmmAlarmVariable 1 } + + cmmAlarmVarString OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "An generic string value in the TRAP object" + ::= { cmmAlarmVariable 2 } + -- + -- TRAPS + -- + + + cmmAlarmCpuRisingThreshold NOTIFICATION-TYPE + OBJECTS {cmmSysCpuThresholdInterval, + cmmSysCpuThreshold, + cmmStackUnitCpuUtilization + } + STATUS current + DESCRIPTION + "Trap to send information for Rising threshold, threshold interval and + CPU Utilisation + " + ::= { cmmAlarmMibNotifications 1 } + + cmmAlarmFreeMemBlwThreshold NOTIFICATION-TYPE + OBJECTS {cmmSysRamFreeMem, + cmmSysRamThreshold + } + STATUS current + DESCRIPTION + "Trap to send information for Free Memory and Free Memory Threshold + " + ::= { cmmAlarmMibNotifications 2 } + + cmmAlarmTempHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTemperature, + cmmAlarmVarInteger + } + STATUS current + DESCRIPTION + "Set when internal temperature exceeds high alarm level. + " + ::= { cmmAlarmMibNotifications 3 } + + cmmAlarmTempLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTemperature, + cmmAlarmVarInteger + } + STATUS current + DESCRIPTION + "Set when internal temperature is below low alarm level. + " + ::= { cmmAlarmMibNotifications 4 } + + cmmWarningTempHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTemperature, + cmmAlarmVarInteger + } + + STATUS current + DESCRIPTION + "Set when internal temperature exceeds high warning level. + " + ::= { cmmAlarmMibNotifications 5 } + + cmmWarningTempLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTemperature, + cmmAlarmVarInteger + } + STATUS current + DESCRIPTION + "Set when internal temperature is below low warning level + " + ::= { cmmAlarmMibNotifications 6 } + + cmmAlarmVoltageHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysVoltage, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when internal supply voltage exceeds high alarm level. + " + ::= { cmmAlarmMibNotifications 7 } + + cmmAlarmVoltageLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysVoltage, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when internal supply voltage is below low alarm level. + " + ::= { cmmAlarmMibNotifications 8 } + + cmmWarningVoltageHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysVoltage, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when internal supply voltage exceeds high warning level. + " + ::= { cmmAlarmMibNotifications 9 } + + cmmWarningVoltageLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysVoltage, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when internal supply voltage is below low warning level + " + ::= { cmmAlarmMibNotifications 10 } + + cmmAlarmBiasHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysLaserBiasCurrent, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when TX Bias current exceeds high alarm level. + " + ::= { cmmAlarmMibNotifications 11 } + + cmmAlarmBiasLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysLaserBiasCurrent, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when TX Bias current is below low alarm level. + " + ::= { cmmAlarmMibNotifications 12 } + + cmmWarningBiashigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysLaserBiasCurrent, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when TX Bias current exceeds high warning level. + " + ::= { cmmAlarmMibNotifications 13 } + + cmmWarningBiasLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysLaserBiasCurrent, + cmmAlarmVarString + } + + STATUS current + DESCRIPTION + "Set when TX Bias current is below low warning level. + " + ::= { cmmAlarmMibNotifications 14 } + + + cmmAlarmRxPowerHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysRxInputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Received Power exceeds high alarm level. + " + ::= { cmmAlarmMibNotifications 15 } + + cmmAlarmRxPowerLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysRxInputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Received Power is below low alarm level. + " + ::= { cmmAlarmMibNotifications 16 } + + cmmWarningRxPowerHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysRxInputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Received Power exceeds high warning level. + " + ::= { cmmAlarmMibNotifications 17 } + + cmmWarningRxPowerLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysRxInputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Received Power is below low warning level. + " + ::= { cmmAlarmMibNotifications 18 } + + cmmAlarmTemperatureTooHigh NOTIFICATION-TYPE + OBJECTS {cmmSysTemperatureSensorIndex, + cmmAlarmVarInteger, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Temperature will be above threshold for sensor" + ::= { cmmAlarmMibNotifications 19 } + + cmmWarningPsuInserted NOTIFICATION-TYPE + OBJECTS { + cmmSysPowerSupplyIndex, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Power supply unit is inserted" + ::= { cmmAlarmMibNotifications 20 } + + cmmWarningPsuRemoved NOTIFICATION-TYPE + OBJECTS { + cmmSysPowerSupplyIndex, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Power supply unit is Removed" + ::= { cmmAlarmMibNotifications 21 } + + cmmWarningPsuFaulty NOTIFICATION-TYPE + OBJECTS { + cmmSysPowerSupplyIndex, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Power supply unit is Faulty" + ::= { cmmAlarmMibNotifications 22 } + + cmmWarningFanTrayInserted NOTIFICATION-TYPE + OBJECTS { + cmmSysFanTrayNumber, + cmmSysFanRpm, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when fan tray is inserted" + ::= { cmmAlarmMibNotifications 23 } + + cmmWarningFanTrayRemoved NOTIFICATION-TYPE + OBJECTS { + cmmSysFanTrayNumber, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when fan tray is Removed" + ::= { cmmAlarmMibNotifications 24 } + + + cmmAlarmPowerExceed NOTIFICATION-TYPE + OBJECTS { + cmmSysPSConsumption, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Power will be above threshold" + ::= { cmmAlarmMibNotifications 25 } + + + cmmAlarmTxPowerHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTxOutputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Transferred Power exceeds high alarm level. + " + ::= { cmmAlarmMibNotifications 26 } + + cmmAlarmTxPowerLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTxOutputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Transferred Power is below low alarm level. + " + ::= { cmmAlarmMibNotifications 27 } + + cmmWarningTxPowerHigh NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTxOutputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Transferred Power exceeds high warning level. + " + ::= { cmmAlarmMibNotifications 28 } + + cmmWarningTxPowerLow NOTIFICATION-TYPE + OBJECTS {cmmSysPortIndex, + cmmSysPortType, + cmmSysTxOutputPower, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Transferred Power is below low warning level. + " + ::= { cmmAlarmMibNotifications 29 } + + cmmWarningFanTrayFaulty NOTIFICATION-TYPE + OBJECTS {cmmSysFanTrayNumber, + cmmSysFanIndex, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Given Fan Tray Faulty. + " + ::= { cmmAlarmMibNotifications 30 } + + cmmWarningFanTrayRecovered NOTIFICATION-TYPE + OBJECTS {cmmSysFanTrayNumber, + cmmSysFanIndex, + cmmAlarmVarString + } + STATUS current + DESCRIPTION + "Set when Given Fan Tray is recovered. + " + ::= { cmmAlarmMibNotifications 31 } + + END + diff --git a/mibs/IPMCAST-MIB.txt b/mibs/IPMCAST-MIB.txt new file mode 100644 index 00000000..1c14ca2b --- /dev/null +++ b/mibs/IPMCAST-MIB.txt @@ -0,0 +1,2519 @@ +IPMCAST-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + mib-2, Unsigned32, Counter64, + Gauge32, TimeTicks FROM SNMPv2-SMI -- [RFC2578] + RowStatus, TruthValue, + StorageType, TimeStamp FROM SNMPv2-TC -- [RFC2579] + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580] + CounterBasedGauge64 FROM HCNUM-TC -- [RFC2856] + InterfaceIndexOrZero, + InterfaceIndex FROM IF-MIB -- [RFC2863] + IANAipRouteProtocol, + IANAipMRouteProtocol FROM IANA-RTPROTO-MIB + SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] + InetAddress, InetAddressType, + InetAddressPrefixLength, + InetZoneIndex, InetVersion FROM INET-ADDRESS-MIB -- [RFC4001] + LangTag FROM LANGTAG-TC-MIB; -- [RFC5131] + +ipMcastMIB MODULE-IDENTITY + LAST-UPDATED "200711090000Z" -- 9 November 2007 + ORGANIZATION "IETF MBONE Deployment (MBONED) Working Group" + CONTACT-INFO "David McWalter + Data Connection Limited + + + + 100 Church Street + Enfield, EN2 6BQ + UK + + Phone: +44 208 366 1177 + EMail: dmcw@dataconnection.com + + Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + US + + Phone: +1 425 703 8835 + EMail: dthaler@dthaler.microsoft.com + + Andrew Kessler + Cisco Systems + 425 E. Tasman Drive + San Jose, CA 95134 + US + + Phone: +1 408 526 5139 + EMail: kessler@cisco.com" + DESCRIPTION + "The MIB module for management of IP Multicast, including + multicast routing, data forwarding, and data reception. + + Copyright (C) The IETF Trust (2007). This version of this + MIB module is part of RFC 5132; see the RFC itself for full + legal notices." + REVISION "200711090000Z" -- 9 November 2007 + DESCRIPTION "Initial version, published as RFC 5132. + + This MIB module obsoletes IPMROUTE-STD-MIB defined by + [RFC2932]. Changes include the following: + + o This MIB module includes support for IPv6 addressing + and the IPv6 scoped address architecture. [RFC2932] + supported only IPv4. + + o This MIB module allows several multicast protocols + to perform routing on a single interface, where + [RFC2932] assumed each interface supported at most + one multicast routing protocol. Multicast routing + protocols are now per-route, see + ipMcastRouteProtocol. + + + + + o This MIB module includes objects that are not + specific to multicast routing. It allows management + of multicast function on systems that do not perform + routing, whereas [RFC2932] was restricted to + multicast routing. + + o This MIB module includes a table of Source-Specific + Multicast (SSM) address ranges to which SSM + semantics [RFC3569] should be applied. + + o This MIB module includes a table of local + applications that are receiving multicast data. + + o This MIB module includes a table of multicast scope + zones." + ::= { mib-2 168 } + +-- +-- Top-level structure of the MIB +-- + +ipMcast OBJECT IDENTIFIER ::= { ipMcastMIB 1 } + +ipMcastEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The enabled status of IP Multicast function on this + system. + + The storage type of this object is determined by + ipMcastDeviceConfigStorageType." + ::= { ipMcast 1 } + +ipMcastRouteEntryCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of rows in the ipMcastRouteTable. This can be + used to check for multicast routing activity, and to monitor + the multicast routing table size." + ::= { ipMcast 2 } + +ipMcastDeviceConfigStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-write + + + + STATUS current + DESCRIPTION + "The storage type used for the global IP multicast + configuration of this device, comprised of the objects + listed below. If this storage type takes the value + 'permanent', write-access to the listed objects need not be + allowed. + + The objects described by this storage type are: + ipMcastEnabled." + DEFVAL { nonVolatile } + ::= { ipMcast 11 } + +-- +-- The Multicast Interface Table +-- + +ipMcastInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table used to manage the multicast + protocol active on an interface." + ::= { ipMcast 3 } + +ipMcastInterfaceEntry OBJECT-TYPE + SYNTAX IpMcastInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) containing the multicast protocol + information for a particular interface. + + Per-interface multicast forwarding statistics are also + available in ipIfStatsTable." + REFERENCE "RFC 4293 ipIfStatsTable" + INDEX { ipMcastInterfaceIPVersion, + ipMcastInterfaceIfIndex } + ::= { ipMcastInterfaceTable 1 } + +IpMcastInterfaceEntry ::= SEQUENCE { + ipMcastInterfaceIPVersion InetVersion, + ipMcastInterfaceIfIndex InterfaceIndex, + ipMcastInterfaceTtl Unsigned32, + ipMcastInterfaceRateLimit Unsigned32, + ipMcastInterfaceStorageType StorageType +} + + + +ipMcastInterfaceIPVersion OBJECT-TYPE + SYNTAX InetVersion + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP version of this row." + ::= { ipMcastInterfaceEntry 1 } + +ipMcastInterfaceIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex." + ::= { ipMcastInterfaceEntry 2 } + +ipMcastInterfaceTtl OBJECT-TYPE + SYNTAX Unsigned32 (0..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The datagram Time to Live (TTL) threshold for the + interface. Any IP multicast datagrams with a TTL (IPv4) or + Hop Limit (IPv6) less than this threshold will not be + forwarded out the interface. The default value of 0 means + all multicast packets are forwarded out the interface. A + value of 256 means that no multicast packets are forwarded + out the interface." + DEFVAL { 0 } + ::= { ipMcastInterfaceEntry 3 } + +ipMcastInterfaceRateLimit OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The rate-limit, in kilobits per second, of forwarded + multicast traffic on the interface. A rate-limit of 0 + indicates that no rate limiting is done." + DEFVAL { 0 } + ::= { ipMcastInterfaceEntry 4 } + +ipMcastInterfaceStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-write + + + + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { ipMcastInterfaceEntry 5 } + +-- +-- The SSM Range Table +-- + +ipMcastSsmRangeTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastSsmRangeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is used to create and manage the range(s) of + group addresses to which SSM semantics should be applied." + REFERENCE "RFC 3569" + ::= { ipMcast 4 } + +ipMcastSsmRangeEntry OBJECT-TYPE + SYNTAX IpMcastSsmRangeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) containing a range of group + addresses to which SSM semantics should be applied. + + Object Identifiers (OIDs) are limited to 128 + sub-identifiers, but this limit is not enforced by the + syntax of this entry. In practice, this does not present + a problem, because IP address types allowed by conformance + statements do not exceed this limit." + REFERENCE "RFC 3569" + INDEX { ipMcastSsmRangeAddressType, + ipMcastSsmRangeAddress, + ipMcastSsmRangePrefixLength } + ::= { ipMcastSsmRangeTable 1 } + +IpMcastSsmRangeEntry ::= SEQUENCE { + ipMcastSsmRangeAddressType InetAddressType, + ipMcastSsmRangeAddress InetAddress, + ipMcastSsmRangePrefixLength InetAddressPrefixLength, + ipMcastSsmRangeRowStatus RowStatus, + ipMcastSsmRangeStorageType StorageType +} + + + +ipMcastSsmRangeAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the multicast group prefix." + ::= { ipMcastSsmRangeEntry 1 } + +ipMcastSsmRangeAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group address which, when combined with + ipMcastSsmRangePrefixLength, gives the group prefix for this + SSM range. The InetAddressType is given by + ipMcastSsmRangeAddressType. + + This address object is only significant up to + ipMcastSsmRangePrefixLength bits. The remaining address + bits are set to zero. This is especially important for this + index field, which is part of the index of this entry. Any + non-zero bits would signify an entirely different entry. + + For IPv6 SSM address ranges, only ranges prefixed by + FF3x::/16 are permitted, where 'x' is a valid IPv6 RFC 4291 + multicast address scope. The syntax of the address range is + given by RFC 3306, Sections 4 and 7. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + SSM range entry applies only within the given zone. Zone + index zero is not valid in this table. + + If non-global scope SSM range entries are present, then + consistent ipMcastBoundaryTable entries are required on + routers at the zone boundary." + REFERENCE "RFC 2365, RFC 4291 Section 2.7, RFC 3306 Sections 4, 6, + and 7" + ::= { ipMcastSsmRangeEntry 2 } + +ipMcastSsmRangePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + + + + ipMcastSsmRangeAddress, gives the group prefix for this SSM + range. + + The InetAddressType is given by ipMcastSsmRangeAddressType. + For values 'ipv4' and 'ipv4z', this object must be in the + range 4..32. For values 'ipv6' and 'ipv6z', this object + must be in the range 8..128." + REFERENCE "RFC 2365, RFC 4291 Section 2.7, RFC 3306 Sections 4, 6, + and 7" + ::= { ipMcastSsmRangeEntry 3 } + +ipMcastSsmRangeRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this row, by which rows in this table can + be created and destroyed. + + This status object can be set to active(1) without setting + any other columnar objects in this entry. + + All writeable objects in this entry can be modified when the + status of this entry is active(1)." + ::= { ipMcastSsmRangeEntry 4 } + +ipMcastSsmRangeStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { ipMcastSsmRangeEntry 5 } + +-- +-- The IP Multicast Routing Table +-- + +ipMcastRouteTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastRouteEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table containing multicast routing + information for IP datagrams sent by particular sources + + + + to the IP multicast groups known to this router." + ::= { ipMcast 5 } + +ipMcastRouteEntry OBJECT-TYPE + SYNTAX IpMcastRouteEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) containing the multicast routing + information for IP datagrams from a particular source and + addressed to a particular IP multicast group address. + + OIDs are limited to 128 sub-identifiers, but this limit + is not enforced by the syntax of this entry. In practice, + this does not present a problem, because IP address types + allowed by conformance statements do not exceed this limit." + INDEX { ipMcastRouteGroupAddressType, + ipMcastRouteGroup, + ipMcastRouteGroupPrefixLength, + ipMcastRouteSourceAddressType, + ipMcastRouteSource, + ipMcastRouteSourcePrefixLength } + ::= { ipMcastRouteTable 1 } + +IpMcastRouteEntry ::= SEQUENCE { + ipMcastRouteGroupAddressType InetAddressType, + ipMcastRouteGroup InetAddress, + ipMcastRouteGroupPrefixLength InetAddressPrefixLength, + ipMcastRouteSourceAddressType InetAddressType, + ipMcastRouteSource InetAddress, + ipMcastRouteSourcePrefixLength InetAddressPrefixLength, + ipMcastRouteUpstreamNeighborType InetAddressType, + ipMcastRouteUpstreamNeighbor InetAddress, + ipMcastRouteInIfIndex InterfaceIndexOrZero, + ipMcastRouteTimeStamp TimeStamp, + ipMcastRouteExpiryTime TimeTicks, + ipMcastRouteProtocol IANAipMRouteProtocol, + ipMcastRouteRtProtocol IANAipRouteProtocol, + ipMcastRouteRtAddressType InetAddressType, + ipMcastRouteRtAddress InetAddress, + ipMcastRouteRtPrefixLength InetAddressPrefixLength, + ipMcastRouteRtType INTEGER, + ipMcastRouteOctets Counter64, + ipMcastRoutePkts Counter64, + ipMcastRouteTtlDropOctets Counter64, + ipMcastRouteTtlDropPackets Counter64, + ipMcastRouteDifferentInIfOctets Counter64, + ipMcastRouteDifferentInIfPackets Counter64, + + + + ipMcastRouteBps CounterBasedGauge64 +} + +ipMcastRouteGroupAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteGroup. Legal values correspond to + the subset of address families for which multicast + forwarding is supported." + ::= { ipMcastRouteEntry 1 } + +ipMcastRouteGroup OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address which, when combined with + the corresponding value specified in + ipMcastRouteGroupPrefixLength, identifies the groups for + which this entry contains multicast routing information. + + This address object is only significant up to + ipMcastRouteGroupPrefixLength bits. The remaining address + bits are set to zero. This is especially important for this + index field, which is part of the index of this entry. Any + non-zero bits would signify an entirely different entry. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + forwarding state applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastRouteEntry 2 } + +ipMcastRouteGroupPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + the corresponding value of ipMcastRouteGroup, identifies the + groups for which this entry contains multicast routing + information. + + The InetAddressType is given by + + + + ipMcastRouteGroupAddressType. For values 'ipv4' and + 'ipv4z', this object must be in the range 4..32. For values + 'ipv6' and 'ipv6z', this object must be in the range + 8..128." + ::= { ipMcastRouteEntry 3 } + +ipMcastRouteSourceAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteSource. + + A value of unknown(0) indicates a non-source-specific entry, + corresponding to all sources in the group. Otherwise, the + value MUST be the same as the value of + ipMcastRouteGroupType." + ::= { ipMcastRouteEntry 4 } + +ipMcastRouteSource OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The network address which, when combined with the + corresponding value of ipMcastRouteSourcePrefixLength, + identifies the sources for which this entry contains + multicast routing information. + + This address object is only significant up to + ipMcastRouteSourcePrefixLength bits. The remaining address + bits are set to zero. This is especially important for this + index field, which is part of the index of this entry. Any + non-zero bits would signify an entirely different entry. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + source address applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastRouteEntry 5 } + +ipMcastRouteSourcePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + + + "The length in bits of the mask which, when combined with + the corresponding value of ipMcastRouteSource, identifies + the sources for which this entry contains multicast routing + information. + + The InetAddressType is given by + ipMcastRouteSourceAddressType. For the value 'unknown', + this object must be zero. For values 'ipv4' and 'ipv4z', + this object must be in the range 4..32. For values 'ipv6' + and 'ipv6z', this object must be in the range 8..128." + ::= { ipMcastRouteEntry 6 } + +ipMcastRouteUpstreamNeighborType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteUpstreamNeighbor. + + An address type of unknown(0) indicates that the upstream + neighbor is unknown, for example in BIDIR-PIM." + REFERENCE "RFC 5015" + ::= { ipMcastRouteEntry 7 } + +ipMcastRouteUpstreamNeighbor OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the upstream neighbor (for example, RPF + neighbor) from which IP datagrams from these sources to + this multicast address are received." + ::= { ipMcastRouteEntry 8 } + +ipMcastRouteInIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of ifIndex for the interface on which IP + datagrams sent by these sources to this multicast address + are received. A value of 0 indicates that datagrams are not + subject to an incoming interface check, but may be accepted + on multiple interfaces (for example, in BIDIR-PIM)." + REFERENCE "RFC 5015" + ::= { ipMcastRouteEntry 9 } + + + + +ipMcastRouteTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at which the multicast routing + information represented by this entry was learned by the + router. + + If this information was present at the most recent re- + initialization of the local management subsystem, then this + object contains a zero value." + ::= { ipMcastRouteEntry 10 } + +ipMcastRouteExpiryTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum amount of time remaining before this entry will + be aged out. The value 0 indicates that the entry is not + subject to aging. If ipMcastRouteNextHopState is pruned(1), + this object represents the remaining time until the prune + expires. If this timer expires, state reverts to + forwarding(2). Otherwise, this object represents the time + until this entry is removed from the table." + ::= { ipMcastRouteEntry 11 } + +ipMcastRouteProtocol OBJECT-TYPE + SYNTAX IANAipMRouteProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The multicast routing protocol via which this multicast + forwarding entry was learned." + ::= { ipMcastRouteEntry 12 } + +ipMcastRouteRtProtocol OBJECT-TYPE + SYNTAX IANAipRouteProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing mechanism via which the route used to find the + upstream or parent interface for this multicast forwarding + entry was learned." + ::= { ipMcastRouteEntry 13 } + +ipMcastRouteRtAddressType OBJECT-TYPE + + + + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteRtAddress." + ::= { ipMcastRouteEntry 14 } + +ipMcastRouteRtAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address portion of the route used to find the upstream + or parent interface for this multicast forwarding entry. + + This address object is only significant up to + ipMcastRouteRtPrefixLength bits. The remaining address bits + are set to zero. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + forwarding state applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastRouteEntry 15 } + +ipMcastRouteRtPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The length in bits of the mask associated with the route + used to find the upstream or parent interface for this + multicast forwarding entry. + + The InetAddressType is given by ipMcastRouteRtAddressType. + For values 'ipv4' and 'ipv4z', this object must be in the + range 4..32. For values 'ipv6' and 'ipv6z', this object + must be in the range 8..128." + ::= { ipMcastRouteEntry 16 } + +ipMcastRouteRtType OBJECT-TYPE + SYNTAX INTEGER { + unicast (1), -- Unicast route used in multicast RIB + multicast (2) -- Multicast route + } + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The reason the given route was placed in the (logical) + multicast Routing Information Base (RIB). A value of + unicast means that the route would normally be placed only + in the unicast RIB, but was placed in the multicast RIB + due (instead or in addition) to local configuration, such as + when running PIM over RIP. A value of multicast means that + the route was explicitly added to the multicast RIB by the + routing protocol, such as the Distance Vector Multicast + Routing Protocol (DVMRP) or Multiprotocol BGP." + ::= { ipMcastRouteEntry 17 } + +ipMcastRouteOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets contained in IP datagrams that were + received from these sources and addressed to this multicast + group address, and which were forwarded by this router. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + ::= { ipMcastRouteEntry 18 } + +ipMcastRoutePkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets routed using this multicast route + entry. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + ::= { ipMcastRouteEntry 19 } + +ipMcastRouteTtlDropOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "The number of octets contained in IP datagrams that this + router has received from these sources and addressed to this + multicast group address, which were dropped because the TTL + (IPv4) or Hop Limit (IPv6) was decremented to zero, or to a + value less than ipMcastInterfaceTtl for all next hops. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + ::= { ipMcastRouteEntry 20 } + +ipMcastRouteTtlDropPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets that this router has received from + these sources and addressed to this multicast group address, + which were dropped because the TTL (IPv4) or Hop Limit + (IPv6) was decremented to zero, or to a value less than + ipMcastInterfaceTtl for all next hops. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + ::= { ipMcastRouteEntry 21 } + +ipMcastRouteDifferentInIfOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets contained in IP datagrams that this + router has received from these sources and addressed to this + multicast group address, which were dropped because they + were received on an unexpected interface. + + For RPF checking protocols (such as PIM-SM), these packets + arrived on interfaces other than ipMcastRouteInIfIndex, and + were dropped because of this failed RPF check. (RPF paths + are 'Reverse Path Forwarding' paths; the unicast routes to + the expected origin of multicast data flows). + + + + + Other protocols may drop packets on an incoming interface + check for different reasons (for example, BIDIR-PIM performs + a DF check on receipt of packets). All packets dropped as a + result of an incoming interface check are counted here. + + If this counter increases rapidly, this indicates a problem. + A significant quantity of multicast data is arriving at this + router on unexpected interfaces, and is not being forwarded. + + For guidance, if the rate of increase of this counter + exceeds 1% of the rate of increase of ipMcastRouteOctets, + then there are multicast routing problems that require + investigation. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + REFERENCE "RFC 4601 and RFC 5015" + ::= { ipMcastRouteEntry 22 } + +ipMcastRouteDifferentInIfPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets which this router has received from + these sources and addressed to this multicast group address, + which were dropped because they were received on an + unexpected interface. + + For RPF checking protocols (such as PIM-SM), these packets + arrived on interfaces other than ipMcastRouteInIfIndex, and + were dropped because of this failed RPF check. (RPF paths + are 'Reverse Path Forwarding' path; the unicast routes to + the expected origin of multicast data flows). + + Other protocols may drop packets on an incoming interface + check for different reasons (for example, BIDIR-PIM performs + a DF check on receipt of packets). All packets dropped as a + result of an incoming interface check are counted here. + + If this counter increases rapidly, this indicates a problem. + A significant quantity of multicast data is arriving at this + router on unexpected interfaces, and is not being forwarded. + + For guidance, if the rate of increase of this counter + + + + exceeds 1% of the rate of increase of ipMcastRoutePkts, then + there are multicast routing problems that require + investigation. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteTimeStamp." + REFERENCE "RFC 4601 and RFC 5015" + ::= { ipMcastRouteEntry 23 } + +ipMcastRouteBps OBJECT-TYPE + SYNTAX CounterBasedGauge64 + UNITS "bits per second" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Bits per second forwarded by this router using this + multicast routing entry. + + This value is a sample; it is the number of bits forwarded + during the last whole 1 second sampling period. The value + during the current 1 second sampling period is not made + available until the period is completed. + + The quantity being sampled is the same as that measured by + ipMcastRouteOctets. The units and the sampling method are + different." + ::= { ipMcastRouteEntry 24 } +-- +-- The IP Multicast Routing Next Hop Table +-- + +ipMcastRouteNextHopTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastRouteNextHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table containing information on the + next-hops on outgoing interfaces for routing IP multicast + datagrams. Each entry is one of a list of next-hops on + outgoing interfaces for particular sources sending to a + particular multicast group address." + ::= { ipMcast 6 } + +ipMcastRouteNextHopEntry OBJECT-TYPE + SYNTAX IpMcastRouteNextHopEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the list of next-hops on + outgoing interfaces to which IP multicast datagrams from + particular sources to an IP multicast group address are + routed. + + OIDs are limited to 128 sub-identifiers, but this limit + is not enforced by the syntax of this entry. In practice, + this does not present a problem, because IP address types + allowed by conformance statements do not exceed this limit." + INDEX { ipMcastRouteNextHopGroupAddressType, + ipMcastRouteNextHopGroup, + ipMcastRouteNextHopGroupPrefixLength, + ipMcastRouteNextHopSourceAddressType, + ipMcastRouteNextHopSource, + ipMcastRouteNextHopSourcePrefixLength, + ipMcastRouteNextHopIfIndex, + ipMcastRouteNextHopAddressType, + ipMcastRouteNextHopAddress } + ::= { ipMcastRouteNextHopTable 1 } + +IpMcastRouteNextHopEntry ::= SEQUENCE { + ipMcastRouteNextHopGroupAddressType InetAddressType, + ipMcastRouteNextHopGroup InetAddress, + ipMcastRouteNextHopGroupPrefixLength InetAddressPrefixLength, + ipMcastRouteNextHopSourceAddressType InetAddressType, + ipMcastRouteNextHopSource InetAddress, + ipMcastRouteNextHopSourcePrefixLength InetAddressPrefixLength, + ipMcastRouteNextHopIfIndex InterfaceIndex, + ipMcastRouteNextHopAddressType InetAddressType, + ipMcastRouteNextHopAddress InetAddress, + ipMcastRouteNextHopState INTEGER, + ipMcastRouteNextHopTimeStamp TimeStamp, + ipMcastRouteNextHopExpiryTime TimeTicks, + ipMcastRouteNextHopClosestMemberHops Unsigned32, + ipMcastRouteNextHopProtocol IANAipMRouteProtocol, + ipMcastRouteNextHopOctets Counter64, + ipMcastRouteNextHopPkts Counter64 +} + +ipMcastRouteNextHopGroupAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + + + + contained in ipMcastRouteNextHopGroup. Legal values + correspond to the subset of address families for which + multicast forwarding is supported." + ::= { ipMcastRouteNextHopEntry 1 } + +ipMcastRouteNextHopGroup OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address which, when combined with + the corresponding value specified in + ipMcastRouteNextHopGroupPrefixLength, identifies the groups + for which this entry contains multicast forwarding + information. + + This address object is only significant up to + ipMcastRouteNextHopGroupPrefixLength bits. The remaining + address bits are set to zero. This is especially important + for this index field, which is part of the index of this + entry. Any non-zero bits would signify an entirely + different entry. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + forwarding state applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastRouteNextHopEntry 2 } + +ipMcastRouteNextHopGroupPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + the corresponding value of ipMcastRouteGroup, identifies the + groups for which this entry contains multicast routing + information. + + The InetAddressType is given by + ipMcastRouteNextHopGroupAddressType. For values 'ipv4' and + 'ipv4z', this object must be in the range 4..32. For values + 'ipv6' and 'ipv6z', this object must be in the range + 8..128." + ::= { ipMcastRouteNextHopEntry 3 } + +ipMcastRouteNextHopSourceAddressType OBJECT-TYPE + + + + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteNextHopSource. + + A value of unknown(0) indicates a non-source-specific entry, + corresponding to all sources in the group. Otherwise, the + value MUST be the same as the value of + ipMcastRouteNextHopGroupType." + ::= { ipMcastRouteNextHopEntry 4 } + +ipMcastRouteNextHopSource OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The network address which, when combined with the + corresponding value of the mask specified in + ipMcastRouteNextHopSourcePrefixLength, identifies the + sources for which this entry specifies a next-hop on an + outgoing interface. + + This address object is only significant up to + ipMcastRouteNextHopSourcePrefixLength bits. The remaining + address bits are set to zero. This is especially important + for this index field, which is part of the index of this + entry. Any non-zero bits would signify an entirely + different entry. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + source address applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastRouteNextHopEntry 5 } + +ipMcastRouteNextHopSourcePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + the corresponding value specified in + ipMcastRouteNextHopSource, identifies the sources for which + this entry specifies a next-hop on an outgoing interface. + + + + + The InetAddressType is given by + ipMcastRouteNextHopSourceAddressType. For the value + 'unknown', this object must be zero. For values 'ipv4' and + 'ipv4z', this object must be in the range 4..32. For values + 'ipv6' and 'ipv6z', this object must be in the range + 8..128." + ::= { ipMcastRouteNextHopEntry 6 } + +ipMcastRouteNextHopIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex value of the interface for the outgoing + interface for this next-hop." + ::= { ipMcastRouteNextHopEntry 7 } + +ipMcastRouteNextHopAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastRouteNextHopAddress." + ::= { ipMcastRouteNextHopEntry 8 } + +ipMcastRouteNextHopAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address of the next-hop specific to this entry. For + most interfaces, this is identical to + ipMcastRouteNextHopGroup. Non-Broadcast Multi-Access + (NBMA) interfaces, however, may + have multiple next-hop addresses out a single outgoing + interface." + ::= { ipMcastRouteNextHopEntry 9 } + +ipMcastRouteNextHopState OBJECT-TYPE + SYNTAX INTEGER { pruned(1), forwarding(2) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An indication of whether the outgoing interface and next- + hop represented by this entry is currently being used to + forward IP datagrams. The value 'forwarding' indicates it + is currently being used; the value 'pruned' indicates it is + + + + not." + ::= { ipMcastRouteNextHopEntry 10 } + +ipMcastRouteNextHopTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at which the multicast routing + information represented by this entry was learned by the + router. + + If this information was present at the most recent re- + initialization of the local management subsystem, then this + object contains a zero value." + ::= { ipMcastRouteNextHopEntry 11 } + +ipMcastRouteNextHopExpiryTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum amount of time remaining before this entry will + be aged out. If ipMcastRouteNextHopState is pruned(1), the + remaining time until the prune expires and the state reverts + to forwarding(2). Otherwise, the remaining time until this + entry is removed from the table. The time remaining may be + copied from ipMcastRouteExpiryTime if the protocol in use + for this entry does not specify next-hop timers. The value + 0 indicates that the entry is not subject to aging." + ::= { ipMcastRouteNextHopEntry 12 } + +ipMcastRouteNextHopClosestMemberHops OBJECT-TYPE + SYNTAX Unsigned32 (0..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum number of hops between this router and any + member of this IP multicast group reached via this next-hop + on this outgoing interface. Any IP multicast datagrams for + the group that have a TTL (IPv4) or Hop Count (IPv6) less + than this number of hops will not be forwarded to this + next-hop. + + A value of 0 means all multicast datagrams are forwarded out + the interface. A value of 256 means that no multicast + datagrams are forwarded out the interface. + + + + + This is an optimization applied by multicast routing + protocols that explicitly track hop counts to downstream + listeners. Multicast protocols that are not aware of hop + counts to downstream listeners set this object to 0." + ::= { ipMcastRouteNextHopEntry 13 } + +ipMcastRouteNextHopProtocol OBJECT-TYPE + SYNTAX IANAipMRouteProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing mechanism via which this next-hop was learned." + ::= { ipMcastRouteNextHopEntry 14 } + +ipMcastRouteNextHopOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets of multicast packets that have been + forwarded using this route. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteNextHopTimeStamp." + ::= { ipMcastRouteNextHopEntry 15 } + +ipMcastRouteNextHopPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets which have been forwarded using this + route. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of routes being + removed and replaced, which can be detected by observing + the value of ipMcastRouteNextHopTimeStamp." + ::= { ipMcastRouteNextHopEntry 16 } + +-- +-- The IP Multicast Scope Boundary Table +-- + + + + +ipMcastBoundaryTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastBoundaryEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the system's multicast scope + zone boundaries." + REFERENCE "RFC 4007 Section 5" + ::= { ipMcast 7 } + +ipMcastBoundaryEntry OBJECT-TYPE + SYNTAX IpMcastBoundaryEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) describing one of this device's + multicast scope zone boundaries. + + OIDs are limited to 128 sub-identifiers, but this limit + is not enforced by the syntax of this entry. In practice, + this does not present a problem, because IP address types + allowed by conformance statements do not exceed this limit." + REFERENCE "RFC 2365 Section 5, RFC 4007 Section 5" + INDEX { ipMcastBoundaryIfIndex, + ipMcastBoundaryAddressType, + ipMcastBoundaryAddress, + ipMcastBoundaryAddressPrefixLength } + ::= { ipMcastBoundaryTable 1 } + +IpMcastBoundaryEntry ::= SEQUENCE { + ipMcastBoundaryIfIndex InterfaceIndex, + ipMcastBoundaryAddressType InetAddressType, + ipMcastBoundaryAddress InetAddress, + ipMcastBoundaryAddressPrefixLength InetAddressPrefixLength, + ipMcastBoundaryTimeStamp TimeStamp, + ipMcastBoundaryDroppedMcastOctets Counter64, + ipMcastBoundaryDroppedMcastPkts Counter64, + ipMcastBoundaryStatus RowStatus, + ipMcastBoundaryStorageType StorageType +} + +ipMcastBoundaryIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IfIndex value for the interface to which this boundary + applies. Packets with a destination address in the + + + + associated address/mask range will not be forwarded over + this interface. + + For IPv4, zone boundaries cut through links. Therefore, + this is an external interface. This may be either a + physical or virtual interface (tunnel, encapsulation, and + so forth.) + + For IPv6, zone boundaries cut through nodes. Therefore, + this is a virtual interface within the node. This is not + an external interface, either real or virtual. Packets + crossing this interface neither arrive at nor leave the + node, but only move between zones within the node." + REFERENCE "RFC 2365 Section 5, RFC 4007 Section 5" + ::= { ipMcastBoundaryEntry 1 } + +ipMcastBoundaryAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastBoundaryAddress. Legal values + correspond to the subset of address families for which + multicast forwarding is supported." + ::= { ipMcastBoundaryEntry 2 } + +ipMcastBoundaryAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The group address which, when combined with the + corresponding value of ipMcastBoundaryAddressPrefixLength, + identifies the group range for which the scoped boundary + exists. Scoped IPv4 multicast address ranges must be + prefixed by 239.0.0.0/8. Scoped IPv6 multicast address + ranges are FF0x::/16, where x is a valid RFC 4291 multicast + scope. + + An IPv6 address prefixed by FF1x::/16 is a non-permanently- + assigned address. An IPv6 address prefixed by FF3x::/16 is + a unicast-prefix-based multicast addresses. A zone boundary + for FF0x::/16 implies an identical boundary for these other + prefixes. No separate FF1x::/16 or FF3x::/16 entries exist + in this table. + + This address object is only significant up to + + + + ipMcastBoundaryAddressPrefixLength bits. The remaining + address bits are set to zero. This is especially important + for this index field, which is part of the index of this + entry. Any non-zero bits would signify an entirely + different entry." + ::= { ipMcastBoundaryEntry 3 } + +ipMcastBoundaryAddressPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which when, combined with + the corresponding value of ipMcastBoundaryAddress, + identifies the group range for which the scoped boundary + exists. + + The InetAddressType is given by ipMcastBoundaryAddressType. + For values 'ipv4' and 'ipv4z', this object must be in the + range 4..32. For values 'ipv6' and 'ipv6z', this object + must be set to 16." + ::= { ipMcastBoundaryEntry 4 } + +ipMcastBoundaryTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at which the multicast boundary + information represented by this entry was learned by the + router. + + If this information was present at the most recent re- + initialization of the local management subsystem, then this + object contains a zero value." + ::= { ipMcastBoundaryEntry 5 } + +ipMcastBoundaryDroppedMcastOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets of multicast packets that have been + dropped as a result of this zone boundary configuration. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of boundary + + + + configuration being removed and replaced, which can be + detected by observing the value of + ipMcastBoundaryTimeStamp." + ::= { ipMcastBoundaryEntry 6 } + +ipMcastBoundaryDroppedMcastPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of multicast packets that have been dropped as a + result of this zone boundary configuration. + + Discontinuities in this monotonically increasing value + occur at re-initialization of the management system. + Discontinuities can also occur as a result of boundary + configuration being removed and replaced, which can be + detected by observing the value of + ipMcastBoundaryTimeStamp." + ::= { ipMcastBoundaryEntry 7 } + +ipMcastBoundaryStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this row, by which rows in this table can + be created and destroyed. + + This status object can be set to active(1) without setting + any other columnar objects in this entry. + + All writeable objects in this entry can be modified when the + status of this entry is active(1)." + ::= { ipMcastBoundaryEntry 8 } + +ipMcastBoundaryStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { ipMcastBoundaryEntry 9 } + +-- + + + +-- The IP Multicast Scope Name Table +-- + +ipMcastScopeNameTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastScopeNameEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing multicast scope names." + REFERENCE "RFC 4007 Section 4" + ::= { ipMcast 8 } + +ipMcastScopeNameEntry OBJECT-TYPE + SYNTAX IpMcastScopeNameEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) that names a multicast address + scope. + + OIDs are limited to 128 sub-identifiers, but this limit + is not enforced by the syntax of this entry. In practice, + this does not present a problem, because IP address types + allowed by conformance statements do not exceed this limit." + REFERENCE "RFC 4007 Section 4" + INDEX { ipMcastScopeNameAddressType, + ipMcastScopeNameAddress, + ipMcastScopeNameAddressPrefixLength, + ipMcastScopeNameLanguage } + ::= { ipMcastScopeNameTable 1 } + +IpMcastScopeNameEntry ::= SEQUENCE { + ipMcastScopeNameAddressType InetAddressType, + ipMcastScopeNameAddress InetAddress, + ipMcastScopeNameAddressPrefixLength InetAddressPrefixLength, + ipMcastScopeNameLanguage LangTag, + ipMcastScopeNameString SnmpAdminString, + ipMcastScopeNameDefault TruthValue, + ipMcastScopeNameStatus RowStatus, + ipMcastScopeNameStorageType StorageType +} + +ipMcastScopeNameAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + + + + contained in ipMcastScopeNameAddress. Legal values + correspond to the subset of address families for which + multicast forwarding is supported." + ::= { ipMcastScopeNameEntry 1 } + +ipMcastScopeNameAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The group address which, when combined with the + corresponding value of ipMcastScopeNameAddressPrefixLength, + identifies the group range associated with the multicast + scope. Scoped IPv4 multicast address ranges must be + prefixed by 239.0.0.0/8. Scoped IPv6 multicast address + ranges are FF0x::/16, where x is a valid RFC 4291 multicast + scope. + + An IPv6 address prefixed by FF1x::/16 is a non-permanently- + assigned address. An IPv6 address prefixed by FF3x::/16 is + a unicast-prefix-based multicast addresses. A scope + FF0x::/16 implies an identical scope name for these other + prefixes. No separate FF1x::/16 or FF3x::/16 entries exist + in this table. + + This address object is only significant up to + ipMcastScopeNameAddressPrefixLength bits. The remaining + address bits are set to zero. This is especially important + for this index field, which is part of the index of this + entry. Any non-zero bits would signify an entirely + different entry." + ::= { ipMcastScopeNameEntry 2 } + +ipMcastScopeNameAddressPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + the corresponding value of ipMcastScopeNameAddress, + identifies the group range associated with the multicast + scope. + + The InetAddressType is given by ipMcastScopeNameAddressType. + For values 'ipv4' and 'ipv4z', this object must be in the + range 4..32. For values 'ipv6' and 'ipv6z', this object + must be set to 16." + ::= { ipMcastScopeNameEntry 3 } + + + +ipMcastScopeNameLanguage OBJECT-TYPE + SYNTAX LangTag + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Language tag associated with the scope name." + REFERENCE "RFC 4646" + ::= { ipMcastScopeNameEntry 4 } + +ipMcastScopeNameString OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The textual name associated with the multicast scope. The + value of this object should be suitable for displaying to + end-users, such as when allocating a multicast address in + this scope. + + When no name is specified, the default value of this object + for IPv4 should be the string 239.x.x.x/y with x and y + replaced with decimal values to describe the address and + mask length associated with the scope. + + When no name is specified, the default value of this object + for IPv6 should be the string FF0x::/16, with x replaced by + the hexadecimal value for the RFC 4291 multicast scope. + + An IPv6 address prefixed by FF1x::/16 is a non-permanently- + assigned address. An IPv6 address prefixed by FF3x::/16 is + a unicast-prefix-based multicast addresses. A scope + FF0x::/16 implies an identical scope name for these other + prefixes. No separate FF1x::/16 or FF3x::/16 entries exist + in this table." + REFERENCE "RFC 2365, RFC 3306 Section 4, RFC 4291 Section 2.7" + ::= { ipMcastScopeNameEntry 5 } + +ipMcastScopeNameDefault OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If true, indicates a preference that the name in the + following language should be used by applications if no name + is available in a desired language." + DEFVAL { false } + ::= { ipMcastScopeNameEntry 6 } + + + + +ipMcastScopeNameStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this row, by which rows in this table can + be created and destroyed. Before the row can be activated, + the object ipMcastScopeNameString must be set to a valid + value. All writeable objects in this entry can be modified + when the status is active(1)." + ::= { ipMcastScopeNameEntry 7 } + +ipMcastScopeNameStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { ipMcastScopeNameEntry 8 } + +-- +-- The Multicast Listeners Table +-- + +ipMcastLocalListenerTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastLocalListenerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing local applications or + services that have joined multicast groups as listeners. + + Entries exist for all addresses in the multicast range for + all applications and services as they are classified on this + device." + ::= { ipMcast 9 } + +ipMcastLocalListenerEntry OBJECT-TYPE + SYNTAX IpMcastLocalListenerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) identifying a local application + or service that has joined a multicast group as a listener. + + + + + OIDs are limited to 128 sub-identifiers, but this limit + is not enforced by the syntax of this entry. In practice, + this does not present a problem, because IP address types + allowed by conformance statements do not exceed this limit." + INDEX { ipMcastLocalListenerGroupAddressType, + ipMcastLocalListenerGroupAddress, + ipMcastLocalListenerSourceAddressType, + ipMcastLocalListenerSourceAddress, + ipMcastLocalListenerSourcePrefixLength, + ipMcastLocalListenerIfIndex, + ipMcastLocalListenerRunIndex } + ::= { ipMcastLocalListenerTable 1 } + +IpMcastLocalListenerEntry ::= SEQUENCE { + ipMcastLocalListenerGroupAddressType InetAddressType, + ipMcastLocalListenerGroupAddress InetAddress, + ipMcastLocalListenerSourceAddressType InetAddressType, + ipMcastLocalListenerSourceAddress InetAddress, + ipMcastLocalListenerSourcePrefixLength InetAddressPrefixLength, + ipMcastLocalListenerIfIndex InterfaceIndex, + ipMcastLocalListenerRunIndex Unsigned32 +} + +ipMcastLocalListenerGroupAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A value indicating the address family of the address + contained in ipMcastLocalListenerGroupAddress. Legal values + correspond to the subset of address families for which + multicast is supported." + ::= { ipMcastLocalListenerEntry 1 } + +ipMcastLocalListenerGroupAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group for which this entry specifies + locally joined applications or services." + ::= { ipMcastLocalListenerEntry 2 } + +ipMcastLocalListenerSourceAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + + + "A value indicating the address family of the address + contained in ipMcastLocalListenerSource. + + A value of unknown(0) indicates a non-source-specific entry, + corresponding to all sources in the group. Otherwise, the + value MUST be the same as the value of + ipMcastLocalListenerGroupAddressType." + ::= { ipMcastLocalListenerEntry 3 } + +ipMcastLocalListenerSourceAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The network address which, when combined with the + corresponding value of the mask specified in + ipMcastLocalListenerSourcePrefixLength, identifies the + sources for which this entry specifies a local listener. + + This address object is only significant up to + ipMcastLocalListenerSourcePrefixLength bits. The remaining + address bits are set to zero. This is especially important + for this index field, which is part of the index of this + entry. Any non-zero bits would signify an entirely + different entry. + + For addresses of type ipv4z or ipv6z, the appended zone + index is significant even though it lies beyond the prefix + length. The use of these address types indicate that this + listener address applies only within the given zone. Zone + index zero is not valid in this table." + ::= { ipMcastLocalListenerEntry 4 } + +ipMcastLocalListenerSourcePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined with + the corresponding value specified in + ipMcastLocalListenerSource, identifies the sources for which + this entry specifies a local listener. + + The InetAddressType is given by + ipMcastLocalListenerSourceAddressType. For the value + 'unknown', this object must be zero. For values 'ipv4' and + 'ipv4z', this object must be in the range 4..32. For values + 'ipv6' and 'ipv6z', this object must be in the range + + + + 8..128." + ::= { ipMcastLocalListenerEntry 5 } + +ipMcastLocalListenerIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IfIndex value of the interface for which this entry + specifies a local listener." + ::= { ipMcastLocalListenerEntry 6 } + +ipMcastLocalListenerRunIndex OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A unique value corresponding to a piece of software running + on this router or host system. Where possible, this should + be the system's native, unique identification number. + + This identifier is platform-specific. It may correspond to + a process ID or application instance number. + + A value of zero indicates that the application instance(s) + cannot be identified. A value of zero indicates that one or + more unidentified applications have joined the specified + multicast groups (for the specified sources) as listeners." + REFERENCE "RFC 2287 sysApplRunIndex" + ::= { ipMcastLocalListenerEntry 7 } + +-- +-- The Multicast Zone Table +-- + +ipMcastZoneTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpMcastZoneEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing scope zones on this device." + REFERENCE "RFC 4007 Section 5" + ::= { ipMcast 10 } + +ipMcastZoneEntry OBJECT-TYPE + SYNTAX IpMcastZoneEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "An entry (conceptual row) describing a scope zone on this + device." + REFERENCE "RFC 4007 Section 5" + INDEX { ipMcastZoneIndex } + ::= { ipMcastZoneTable 1 } + +IpMcastZoneEntry ::= SEQUENCE { + ipMcastZoneIndex InetZoneIndex, + ipMcastZoneScopeDefaultZoneIndex InetZoneIndex, + ipMcastZoneScopeAddressType InetAddressType, + ipMcastZoneScopeAddress InetAddress, + ipMcastZoneScopeAddressPrefixLength InetAddressPrefixLength +} + +ipMcastZoneIndex OBJECT-TYPE + SYNTAX InetZoneIndex (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This zone index uniquely identifies a zone on a device. + + Each zone is for a given scope. Scope-level information in + this table is for the unique scope that corresponds to this + zone. + + Zero is a special value used to request the default zone for + a given scope. Zero is not a valid value for this object. + + To test whether ipMcastZoneIndex is the default zone for + this scope, test whether ipMcastZoneIndex is equal to + ipMcastZoneScopeDefaultZoneIndex." + ::= { ipMcastZoneEntry 1 } + +ipMcastZoneScopeDefaultZoneIndex OBJECT-TYPE + SYNTAX InetZoneIndex (1..4294967295) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The default zone index for this scope. This is the zone + that this device will use if the default (zero) zone is + requested for this scope. + + Zero is not a valid value for this object." + ::= { ipMcastZoneEntry 2 } + +ipMcastZoneScopeAddressType OBJECT-TYPE + SYNTAX InetAddressType + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address type for which this scope zone exists." + ::= { ipMcastZoneEntry 3 } + +ipMcastZoneScopeAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The multicast group address which, when combined with + ipMcastZoneScopeAddressPrefixLength, gives the multicast + address range for this scope. The InetAddressType is given + by ipMcastZoneScopeAddressType. + + Scoped IPv4 multicast address ranges are prefixed by + 239.0.0.0/8. Scoped IPv6 multicast address ranges are + FF0x::/16, where x is a valid RFC 4291 multicast scope. + + An IPv6 address prefixed by FF1x::/16 is a non-permanently- + assigned address. An IPv6 address prefixed by FF3x::/16 is + a unicast-prefix-based multicast addresses. A scope + FF0x::/16 implies an identical scope for these other + prefixes. No separate FF1x::/16 or FF3x::/16 entries exist + in this table. + + This address object is only significant up to + ipMcastZoneScopeAddressPrefixLength bits. The remaining + address bits are set to zero." + REFERENCE "RFC 2365, RFC 3306 Section 4, RFC 4291 Section 2.7" + ::= { ipMcastZoneEntry 4 } + +ipMcastZoneScopeAddressPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The length in bits of the mask which, when combined + with ipMcastZoneScopeAddress, gives the multicast address + prefix for this scope. + + The InetAddressType is given by ipMcastZoneScopeAddressType. + For values 'ipv4' and 'ipv4z', this object must be in the + range 4..32. For values 'ipv6' and 'ipv6z', this object + must be set to 16." + ::= { ipMcastZoneEntry 5 } + + + + +-- +-- Conformance information +-- + +ipMcastMIBConformance + OBJECT IDENTIFIER ::= { ipMcastMIB 2 } +ipMcastMIBCompliances + OBJECT IDENTIFIER ::= { ipMcastMIBConformance 1 } +ipMcastMIBGroups OBJECT IDENTIFIER ::= { ipMcastMIBConformance 2 } + +-- +-- Compliance statements +-- + +ipMcastMIBComplianceHost MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for hosts supporting IPMCAST-MIB. + + Support for either InetAddressType ipv4 or ipv6 is + mandatory; support for both InetAddressTypes ipv4 and ipv6 + is optional. Support for types ipv4z and ipv6z is + optional. + + -- OBJECT ipMcastLocalListenerGroupAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastLocalListenerGroupAddress + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastLocalListenerSourceAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastLocalListenerSourceAddress + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6." + + MODULE -- this module + MANDATORY-GROUPS { ipMcastMIBLocalListenerGroup, + + + + ipMcastMIBBasicGroup } + + OBJECT ipMcastEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastDeviceConfigStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP ipMcastMIBSsmGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteDiagnosticsGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBBoundaryIfGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBScopeNameGroup + DESCRIPTION + "This group is optional." + + ::= { ipMcastMIBCompliances 1 } + +ipMcastMIBComplianceRouter MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for routers supporting + IPMCAST-MIB. + + Support for either InetAddressType ipv4 or ipv6 is + mandatory; support for both InetAddressTypes ipv4 and ipv6 + is optional. Support for types ipv4z and ipv6z is + optional. + + -- OBJECT ipMcastSsmRangeAddressType + -- SYNTAX InetAddressType {ipv4(1), ipv6(2), ipv4z(3), + -- ipv6z(4)} + + + + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastSsmRangeAddress + -- SYNTAX InetAddress (SIZE (4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteGroupAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteGroup + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteSourceAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteSource + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopGroupAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopGroup + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopSourceAddressType + + + + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopSource + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteNextHopAddress + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6." + + MODULE -- this module + MANDATORY-GROUPS { ipMcastMIBRouteProtoGroup, + ipMcastMIBBasicGroup, + ipMcastMIBSsmGroup, + ipMcastMIBRouteGroup } + + OBJECT ipMcastEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastDeviceConfigStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceTtl + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceRateLimit + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastRouteUpstreamNeighborType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2), + ipv4z(3), ipv6z(4) } + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + or ipv6." + + OBJECT ipMcastRouteUpstreamNeighbor + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + or ipv6." + + OBJECT ipMcastRouteRtAddressType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2), + ipv4z(3), ipv6z(4) } + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + or ipv6." + + OBJECT ipMcastRouteRtAddress + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + or ipv6." + + OBJECT ipMcastSsmRangeRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastSsmRangeStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP ipMcastMIBRouteDiagnosticsGroup + DESCRIPTION + "This group is not mandatory, but SHOULD be supported where + hardware permits." + + + + GROUP ipMcastMIBPktsOutGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBHopCountGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteOctetsGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteBpsGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBLocalListenerGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBBoundaryIfGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBScopeNameGroup + DESCRIPTION + "This group is optional." + + ::= { ipMcastMIBCompliances 2 } + +ipMcastMIBComplianceBorderRouter MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for routers on scope + boundaries supporting IPMCAST-MIB. + + Support for either InetAddressType ipv4z or ipv6z is + mandatory; support for both InetAddressTypes ipv4z and + ipv6z is optional. + + -- OBJECT ipMcastSsmRangeAddressType + -- SYNTAX InetAddressType {ipv4(1), ipv6(2), ipv4z(3), + -- ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastSsmRangeAddress + -- SYNTAX InetAddress (SIZE (4|8|16|20)) + + + + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteGroupAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 or ipv6. + -- + -- OBJECT ipMcastRouteGroup + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteSourceAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteSource + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteNextHopGroupAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteNextHopGroup + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteNextHopSourceAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + + + + -- + -- OBJECT ipMcastRouteNextHopSource + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteNextHopAddressType + -- SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2), + -- ipv4z(3), ipv6z(4)} + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastRouteNextHopAddress + -- SYNTAX InetAddress (SIZE (0|4|8|16|20)) + -- DESCRIPTION + -- This compliance requires support for unknown and + -- either ipv4 and ipv4z or ipv6 and ipv6z. + -- + -- OBJECT ipMcastBoundaryAddressType + -- SYNTAX InetAddressType {ipv4(1), ipv6(2)} + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastBoundaryAddress + -- SYNTAX InetAddress (SIZE (4|16) + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastScopeNameAddressType + -- SYNTAX InetAddressType {ipv4(1), ipv6(2)} + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6. + -- + -- OBJECT ipMcastScopeNameAddress + -- SYNTAX InetAddress (SIZE (4|16) + -- DESCRIPTION + -- This compliance requires support for ipv4 or ipv6." + + MODULE -- this module + MANDATORY-GROUPS { ipMcastMIBRouteProtoGroup, + ipMcastMIBBasicGroup, + ipMcastMIBSsmGroup, + ipMcastMIBRouteGroup, + ipMcastMIBBoundaryIfGroup, + ipMcastMIBScopeNameGroup } + + + + + OBJECT ipMcastEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastDeviceConfigStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceTtl + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceRateLimit + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastInterfaceStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastRouteUpstreamNeighborType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2), + ipv4z(3), ipv6z(4) } + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + and ipv4z, or ipv6 and ipv6z." + + OBJECT ipMcastRouteUpstreamNeighbor + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + and ipv4z, or ipv6 and ipv6z." + + OBJECT ipMcastRouteRtAddressType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2), + ipv4z(3), ipv6z(4) } + DESCRIPTION + "This compliance requires support for unknown and either ipv4 + and ipv4z, or ipv6 and ipv6z." + + OBJECT ipMcastRouteRtAddress + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + DESCRIPTION + + + + "This compliance requires support for unknown and either ipv4 + and ipv4z, or ipv6 and ipv6z." + + OBJECT ipMcastSsmRangeRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ipMcastSsmRangeStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP ipMcastMIBRouteDiagnosticsGroup + DESCRIPTION + "This group is not mandatory, but SHOULD be supported where + hardware permits." + + GROUP ipMcastMIBPktsOutGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBHopCountGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteOctetsGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBRouteBpsGroup + DESCRIPTION + "This group is optional." + + GROUP ipMcastMIBLocalListenerGroup + DESCRIPTION + "This group is optional." + + OBJECT ipMcastZoneScopeAddressType + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + DESCRIPTION + "This compliance requires support for ipv4 or ipv6." + + OBJECT ipMcastZoneScopeAddress + SYNTAX InetAddress (SIZE (4|16)) + DESCRIPTION + "This compliance requires support for ipv4 or ipv6." + + + + + ::= { ipMcastMIBCompliances 3 } + +-- +-- Units of conformance +-- +ipMcastMIBBasicGroup OBJECT-GROUP + OBJECTS { ipMcastEnabled, + ipMcastRouteEntryCount, + ipMcastDeviceConfigStorageType + } + STATUS current + DESCRIPTION + "A collection of objects to support basic management of IP + Multicast protocols." + ::= { ipMcastMIBGroups 1 } + +ipMcastMIBSsmGroup OBJECT-GROUP + OBJECTS { ipMcastSsmRangeRowStatus, + ipMcastSsmRangeStorageType } + STATUS current + DESCRIPTION + "A collection of objects to support management of Source- + Specific Multicast routing." + ::= { ipMcastMIBGroups 2 } + +ipMcastMIBRouteGroup OBJECT-GROUP + OBJECTS { ipMcastInterfaceTtl, + ipMcastInterfaceRateLimit, + ipMcastInterfaceStorageType, + ipMcastRouteUpstreamNeighborType, + ipMcastRouteUpstreamNeighbor, + ipMcastRouteInIfIndex, + ipMcastRouteTimeStamp, + ipMcastRouteExpiryTime, + ipMcastRouteNextHopState, + ipMcastRouteNextHopTimeStamp, + ipMcastRouteNextHopExpiryTime + } + STATUS current + DESCRIPTION + "A collection of objects to support basic management of IP + Multicast routing." + ::= { ipMcastMIBGroups 3 } + +ipMcastMIBRouteDiagnosticsGroup OBJECT-GROUP + OBJECTS { ipMcastRoutePkts, + ipMcastRouteTtlDropPackets, + ipMcastRouteDifferentInIfPackets + + + + } + STATUS current + DESCRIPTION + "A collection of routing diagnostic packet counters." + ::= { ipMcastMIBGroups 4 } + +ipMcastMIBPktsOutGroup OBJECT-GROUP + OBJECTS { ipMcastRouteNextHopTimeStamp, + ipMcastRouteNextHopPkts } + STATUS current + DESCRIPTION + "A collection of objects to support management of packet + counters for each outgoing interface entry of a route." + ::= { ipMcastMIBGroups 5 } + +ipMcastMIBHopCountGroup OBJECT-GROUP + OBJECTS { ipMcastRouteNextHopClosestMemberHops } + STATUS current + DESCRIPTION + "A collection of objects to support management of the use of + hop counts in IP Multicast routing." + ::= { ipMcastMIBGroups 6 } + +ipMcastMIBRouteOctetsGroup OBJECT-GROUP + OBJECTS { ipMcastRouteTimeStamp, + ipMcastRouteOctets, + ipMcastRouteTtlDropOctets, + ipMcastRouteDifferentInIfOctets, + ipMcastRouteNextHopTimeStamp, + ipMcastRouteNextHopOctets } + STATUS current + DESCRIPTION + "A collection of objects to support management of octet + counters for each forwarding entry." + ::= { ipMcastMIBGroups 7 } + +ipMcastMIBRouteBpsGroup OBJECT-GROUP + OBJECTS { ipMcastRouteBps } + STATUS current + DESCRIPTION + "A collection of objects to support sampling of data rate + in bits per second for each forwarding entry." + ::= { ipMcastMIBGroups 8 } + +ipMcastMIBRouteProtoGroup OBJECT-GROUP + OBJECTS { ipMcastRouteProtocol, ipMcastRouteRtProtocol, + ipMcastRouteRtAddressType, ipMcastRouteRtAddress, + ipMcastRouteRtPrefixLength, ipMcastRouteRtType, + + + + ipMcastRouteNextHopProtocol } + STATUS current + DESCRIPTION + "A collection of objects providing information on the + relationship between multicast routing information and the + IP Forwarding Table." + ::= { ipMcastMIBGroups 9 } + +ipMcastMIBLocalListenerGroup OBJECT-GROUP + OBJECTS { ipMcastLocalListenerRunIndex } + STATUS current + DESCRIPTION + "A collection of objects to support management of local + listeners on hosts or routers." + ::= { ipMcastMIBGroups 10 } + +ipMcastMIBBoundaryIfGroup OBJECT-GROUP + OBJECTS { ipMcastBoundaryTimeStamp, + ipMcastBoundaryDroppedMcastOctets, + ipMcastBoundaryDroppedMcastPkts, + ipMcastBoundaryStatus, + ipMcastBoundaryStorageType, + ipMcastZoneScopeDefaultZoneIndex, + ipMcastZoneScopeAddressType, + ipMcastZoneScopeAddress, + ipMcastZoneScopeAddressPrefixLength + } + STATUS current + DESCRIPTION + "A collection of objects to support management of multicast + scope zone boundaries." + ::= { ipMcastMIBGroups 11 } + +ipMcastMIBScopeNameGroup OBJECT-GROUP + OBJECTS { ipMcastScopeNameString, ipMcastScopeNameDefault, + ipMcastScopeNameStatus, ipMcastScopeNameStorageType } + STATUS current + DESCRIPTION + "A collection of objects to support management of multicast + address scope names." + ::= { ipMcastMIBGroups 12 } + +END \ No newline at end of file diff --git a/mibs/ISIS-MIB.txt b/mibs/ISIS-MIB.txt new file mode 100644 index 00000000..ba847242 --- /dev/null +++ b/mibs/ISIS-MIB.txt @@ -0,0 +1,4581 @@ +ISIS-MIB DEFINITIONS ::= BEGIN + IMPORTS + TEXTUAL-CONVENTION, RowStatus, TruthValue, TimeStamp + FROM SNMPv2-TC -- RFC2579 + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Unsigned32, Counter32, mib-2 + FROM SNMPv2-SMI -- RFC2578 + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF -- RFC2580 + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB -- RFC2571 + IndexInteger, IndexIntegerNextFree + FROM DIFFSERV-MIB -- RFC3289 + InterfaceIndex + FROM IF-MIB -- RFC2863 + InetAddressType, InetAddress, InetAddressPrefixLength + FROM INET-ADDRESS-MIB; -- RFC3291 + + isisMIB MODULE-IDENTITY + LAST-UPDATED "200604040000Z" -- April 4, 2006, midnight + ORGANIZATION "IETF IS-IS for IP Internets Working Group" + CONTACT-INFO + "IS-IS for IP Internets working Group + http://www.ietf.org/html.charters/isis-charter.html + isis-wg@ietf.org + + Jeff Parker + Department of Computer Science + Middlebury College, + Middlebury, Vermont 05753 + jeffp at middlbury dot edu" + + DESCRIPTION + "This document describes a management information base for + the IS-IS Routing protocol, as described in ISO 10589, + when it is used to construct routing tables for IP + networks, as described in RFC 1195. + + This document is based on a 1994 IETF document by Chris + Gunner. This version has been modified to include + current syntax, to exclude portions of the protocol that + are not relevant to IP, and to add management support for + current practice. + + + + + + + Copyright (C) The Internet Society (2006). This version + of this MIB module is part of RFC 4444; see the RFC + itself for full legal notices." + + REVISION "200604040000Z" -- April 4, 2006, midnight + + DESCRIPTION + "Initial version, published as RFC 4444." + ::= { mib-2 138 } + +-- Top-level structure of the MIB + +isisNotifications OBJECT IDENTIFIER ::= { isisMIB 0 } +isisObjects OBJECT IDENTIFIER ::= { isisMIB 1 } +isisConformance OBJECT IDENTIFIER ::= { isisMIB 2 } + +-- OBJECT IDENTIFIER definitions + +-- System wide attributes. +isisSystem OBJECT IDENTIFIER ::= { isisObjects 1 } + +-- Attributes associated with the domain or with the area. +isisSysLevel OBJECT IDENTIFIER ::= { isisObjects 2 } + +-- Attributes associated with one Circuit +isisCirc OBJECT IDENTIFIER ::= { isisObjects 3 } + +-- Attributes associated with area or domain relevant within a Circuit. +isisCircLevelValues OBJECT IDENTIFIER ::= { isisObjects 4 } + +-- System and circuit counters. +isisCounters OBJECT IDENTIFIER ::= { isisObjects 5 } + +-- Attributes associated with an adjacent Protocol Peer. +isisISAdj OBJECT IDENTIFIER ::= { isisObjects 6 } + +-- Attributes associated with a configured address. +isisReachAddr OBJECT IDENTIFIER ::= { isisObjects 7 } + +-- Attributes associated with IP routes learned by +-- configuration or through another protocol. +isisIPReachAddr OBJECT IDENTIFIER ::= { isisObjects 8 } + +-- The collection of Link State PDUs known to the Intermediate System +isisLSPDataBase OBJECT IDENTIFIER ::= { isisObjects 9 } + +-- Objects included in Notifications. +isisNotification OBJECT IDENTIFIER ::= { isisObjects 10 } + + + +-- Type definitions + + IsisOSINSAddress ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "OSI Network Service Address, e.g., NSAP, SNPA, or Network + Entity Title" + SYNTAX OCTET STRING (SIZE(0..20)) + + IsisSystemID ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The ID for an Intermediate System. This should + be unique within a network, and is included + in all PDUs originated by an Intermediate System. + The protocol does not place any meanings upon + the bits, other than using ordering to break + ties in electing a Designated IS on a LAN." + REFERENCE "{ISIS.aoi systemId (119)}" + SYNTAX OCTET STRING (SIZE(6)) + + IsisLinkStatePDUID ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The 8-byte Link State PDU (LSP) ID, + consisting of the 6-byte SystemID of the + originating IS; a one-byte PseudoNode ID, + which is 0 unless the LSP represents the + topology of a LAN; and a one-byte LSP + fragment number that is issued in sequence, + starting with 0. Non-zero PseudoNode IDs + need to be unique to the IS but need not + match the IfIndex." + REFERENCE "{See section 9.8 of ISO 10589}" + SYNTAX OCTET STRING (SIZE(8)) + + IsisAdminState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Type used in enabling and disabling a row." + SYNTAX INTEGER + { + on(1), + off(2) + } + + IsisLSPBuffSize ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + + + + STATUS current + DESCRIPTION + "Integer sub-range for maximum LSP size." + SYNTAX Unsigned32 (512..16000) + + IsisLevelState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "States of the IS-IS protocol." + SYNTAX INTEGER + { + off (1), + on (2), + waiting (3), + overloaded(4) + } + + IsisSupportedProtocol ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Types of network protocol supported by Integrated IS-IS. + The values for ISO8473 and IP are those registered for + these protocols in ISO TR9577." + REFERENCE "{See section 5.3.1 of RFC 1195}" + SYNTAX INTEGER + { + iso8473(129), + ipV6(142), + ip(204) + } + + IsisDefaultMetric ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "Integer sub-range for default metric for single hop. + ISO 10589 provides for 4 types of metric. Only the + 'default' metric is used in practice." + REFERENCE "{See section 7.2.2 of ISO 10589}" + SYNTAX Unsigned32 (0..63) + + IsisWideMetric ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "Wide metric for IS Neighbors. ISO 10589 provides a + 6-bit metric. Traffic Engineering extensions provide + 24-bit metrics." + + + + REFERENCE "{See section 3 of RFC 3784}" + SYNTAX Unsigned32 (0..16777215) + + IsisFullMetric ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "Full metric for IP Routes. Traffic Engineering extensions + provide 32-bit metrics." + REFERENCE "{See section 4 of RFC 3784}" + SYNTAX Unsigned32 + + IsisMetricType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Is this an Internal or External Metric?" + REFERENCE "{See section 7.2.2 of ISO 10589}" + SYNTAX INTEGER + { + internal(1), + external(2) + } + + IsisMetricStyle ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Do we use RFC 1195 style metrics or wide metrics?" + REFERENCE "{See section 5 of RFC 3787}" + SYNTAX INTEGER + { + narrow(1), + wide(2), + both(3) + } + + IsisISLevel ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Identifies a level." + REFERENCE "{See definitions 3.6.1 and 3.6.11 of ISO 10589}" + SYNTAX INTEGER + { + area(1), -- L1 + domain(2) -- L2 + } + + IsisLevel ::= TEXTUAL-CONVENTION + STATUS current + + + + DESCRIPTION + "Identifies one or more levels." + REFERENCE "{See definitions 3.6.1 and 3.6.11 of ISO 10589}" + SYNTAX INTEGER + { + level1(1), + level2(2), + level1and2(3) + } + + IsisPDUHeader ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A block to contain the header from a PDU." + SYNTAX OCTET STRING (SIZE(0..64)) + + IsisCircuitID ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "ID for a circuit." + REFERENCE "{See section 7.2.7 of ISO 10589}" + SYNTAX OCTET STRING (SIZE(0|7)) + + IsisISPriority ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "Integer sub-range for IS-IS priority." + REFERENCE "{See section 9.5 of ISO 10589}" + SYNTAX Unsigned32 (0..127) + + IsisUnsigned16TC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An Unsigned32 further restricted to 16 bits. Note that + the ASN.1 BER encoding may still require 24 bits for + some values." + SYNTAX Unsigned32 (0..65535) + + IsisUnsigned8TC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An Unsigned32 further restricted to 8 bits. Note that + the ASN.1 BER encoding may still require 16 bits for + some values." + SYNTAX Unsigned32 (0..255) + + + +-- Behavior Definitions + +-- ResettingTimer behavior definition +-- + +-- "This behavior applies to objects that specify the interval +-- between events in the operation of the protocol state machine. +-- If the value of such an object is set to a new value while +-- the protocol state machine is in operation, the implementation +-- shall take the necessary steps to ensure that for any time +-- interval that was in progress when the value of the +-- corresponding object was changed, the next expiration of that +-- interval takes place the specified time after the original +-- start of that interval, or immediately, whichever is later. +-- The precision with which this time shall be implemented shall +-- be the same as that associated with the basic operation of +-- the timer object." + +-- ReplaceOnlyWhileDisabled behavior definition +-- "This behavior applies to objects that may not be modified +-- while the corresponding table row's variable of type +-- IsisAdminState is in state on." + +-- ManualOrAutomatic behavior definition +-- "This behavior applies to objects that are read-write +-- if the object was created manually. Objects that were +-- created automatically that have this behavior are +-- read-only. + + isisSysObject OBJECT IDENTIFIER ::= { isisSystem 1 } + + isisSysVersion OBJECT-TYPE + SYNTAX INTEGER + { + unknown(0), + one(1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version number of the IS-IS protocol that + is implemented." + REFERENCE "{ISIS.aoi version (1)}" + DEFVAL { one } + ::= { isisSysObject 1 } + + isisSysLevelType OBJECT-TYPE + SYNTAX IsisLevel + + + + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "At which levels is the Intermediate System + running? This object may not be modified when + the isisSysAdminState variable is in state 'on' + for this Intermediate System. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi iSType (2)}" + DEFVAL { level1and2 } + ::= { isisSysObject 2 } + + isisSysID OBJECT-TYPE + SYNTAX IsisSystemID + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The ID for this Intermediate System. + This value is appended to each of the + area addresses to form the Network Entity Titles. + The derivation of a value for this object is + implementation specific. Some implementations may + automatically assign values and not permit an + SNMP write, while others may require the value + to be set manually. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi systemId (119)}" + ::= { isisSysObject 3 } + + isisSysMaxPathSplits OBJECT-TYPE + SYNTAX Unsigned32 (1..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Maximum number of paths with equal routing metric value + which it is permitted to split between. This object + may not be modified when the isisSysAdminState variable + is in state 'on' for this Intermediate System. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi maximumPathSplits (3)}" + DEFVAL { 2 } + ::= { isisSysObject 4 } + + isisSysMaxLSPGenInt OBJECT-TYPE + SYNTAX Unsigned32 (1..65235) + + + + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Maximum interval, in seconds, between generated LSPs + by this Intermediate System. This object follows + the ResettingTimer behavior. The value must be + greater than any value configured for + isisSysLevelMinLSPGenInt, and should be at least 300 + seconds less than isisSysMaxAge. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi maximumLSPGenerationInterval (6)}" + DEFVAL { 900 } + ::= { isisSysObject 5 } + + isisSysPollESHelloRate OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value, in seconds, to be used for the suggested ES + configuration timer in ISH PDUs when soliciting the ES + configuration. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi pollESHelloRate (13)}" + DEFVAL { 50 } + ::= { isisSysObject 6 } + + isisSysWaitTime OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Number of seconds to delay in state 'waiting' before + entering the state 'on'. This object follows the + ResettingTimer behavior. + + Configured values MUST survive an agent reboot." + REFERENCE "{ISIS.aoi waitingTime (15)}" + DEFVAL { 60 } + ::= { isisSysObject 7 } + + isisSysAdminState OBJECT-TYPE + SYNTAX IsisAdminState + + + + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative state of this Intermediate + System. Setting this object to the value 'on' + when its current value is 'off' enables + the Intermediate System. + + Configured values MUST survive an agent reboot." + DEFVAL { off } + ::= { isisSysObject 8 } + + isisSysL2toL1Leaking OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If true, allow the router to leak L2 routes into L1. + + Configured values MUST survive an agent reboot." + DEFVAL { false } + ::= { isisSysObject 9 } + + isisSysMaxAge OBJECT-TYPE + SYNTAX IsisUnsigned16TC (350..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Value to place in RemainingLifeTime field of + the LSPs we generate. + This should be at least 300 seconds greater than + isisSysMaxLSPGenInt. + + Configured values MUST survive an agent reboot." + DEFVAL { 1200 } + ::= { isisSysObject 10 } + + isisSysReceiveLSPBufferSize OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1492..16000) + UNITS "bytes" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Size of the largest buffer we are designed or + configured to store. This should be at least + as big as the maximum isisSysLevelOrigLSPBuffSize + supported by the system. + + + + If resources allow, we will store and flood LSPs + larger than isisSysReceiveLSPBufferSize, as this + can help avoid problems in networks with different + values for isisSysLevelOrigLSPBuffSize. + + Configured values MUST survive an agent reboot." + DEFVAL { 1492 } + ::= { isisSysObject 11 } + + isisSysProtSupported OBJECT-TYPE + SYNTAX BITS { + iso8473 (0), + ipv4 (1), + ipv6 (2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This attribute contains the set of protocols + supported by this Intermediate System." + ::= { isisSysObject 12 } + + isisSysNotificationEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is set to true(1), then it enables + the emission of IS-IS Notifications. If it is + set to false(2), these notifications are not sent. + + Configured values MUST survive an agent reboot." + DEFVAL { true } + ::= { isisSysObject 13 } + +-- The Level 1 Manual Area Address Table + + isisManAreaAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisManAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The set of manual area addresses configured on this + Intermediate System. + + At least one row in which the value of + isisManAreaAddrExistState is active must be present. + The maximum number of rows in this table for + + + + which the object isisManAreaAddrExistState has the + value active is 3. + + An attempt to create more than 3 rows of + isisManAreaAddrEntry with state 'active' in one + instance of the IS-IS protocol should + return inconsistentValue." + REFERENCE "{ISIS.aoi manualAreaAddresses (10)}" + ::= { isisSystem 2 } + + isisManAreaAddrEntry OBJECT-TYPE + SYNTAX IsisManAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one area address manually configured + on this system. + + Dynamically created rows MUST survive an agent reboot." + INDEX { isisManAreaAddr } + ::= { isisManAreaAddrTable 1 } + + IsisManAreaAddrEntry ::= + SEQUENCE { + isisManAreaAddr + IsisOSINSAddress, + isisManAreaAddrExistState + RowStatus + } + + isisManAreaAddr OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A manually configured area address for this system. + + Note: An index for the entry {1, {49.0001} active} in + this table would be the ordered pair + (1, (0x03 0x49 0x00 0x01)), as the length of an octet + string is part of the OID." + ::= { isisManAreaAddrEntry 1 } + + isisManAreaAddrExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "The state of the isisManAreaAddrEntry. If the + isisSysAdminState for this Intermediate System is 'on' and + an attempt is made to set this object to the value + 'destroy' or 'notInService' when this is the only + isisManAreaAddrEntry in state 'active' for this + Intermediate System should return inconsistentValue. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisManAreaAddrEntry 2 } + +-- The Level 1 Area Address Table + +-- The Level 1 Area Address Table contains the +-- union of the sets of relevant area addresses configured +-- or learned from Level 1 LSPs received by this Intermediate System. + + isisAreaAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The union of the sets of area addresses reported in all + Level 1 LSPs with fragment number zero generated by this + Intermediate System, or received from other Intermediate + Systems that are reachable via Level 1 routing." + REFERENCE "{ISIS.aoi areaAddresses (18)}" + ::= { isisSystem 3 } + + isisAreaAddrEntry OBJECT-TYPE + SYNTAX IsisAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one area address reported in a + Level 1 LSP generated or received by this Intermediate + System. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisAreaAddr } + ::= { isisAreaAddrTable 1 } + + IsisAreaAddrEntry ::= + SEQUENCE { + isisAreaAddr + IsisOSINSAddress + } + + + + + isisAreaAddr OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An area address reported in a Level 1 LSP." + ::= { isisAreaAddrEntry 1 } + +-- The Summary Address Table + +-- The Summary Address Table contains the set of summary +-- addresses manually configured for the Intermediate System. +-- +-- This is used to control leaking L1 routes into L2. + + isisSummAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisSummAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The set of IP summary addresses to use in forming + summary TLVs originated by this Intermediate System. + + An administrator may use a summary address to combine + and modify IP Reachability announcements. If the + Intermediate system can reach any subset of the summary + address, the summary address MUST be announced instead, + at the configured metric." + ::= { isisSystem 4 } + + isisSummAddrEntry OBJECT-TYPE + SYNTAX IsisSummAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one IP summary address. + + Dynamically created rows MUST survive an agent reboot. + + Implementers need to be aware that if the total number + of elements (octets or sub-identifiers) in + isisSummAddress and isisSummAddrPrefixLen is too great, + then OIDs of column instances in this table will have + more than 128 subidentifiers and cannot be accessed + using SNMPv1, SNMPv2c, or SNMPv3." + INDEX { isisSummAddressType, + isisSummAddress, + isisSummAddrPrefixLen } + + + + ::= { isisSummAddrTable 1 } + + IsisSummAddrEntry ::= + SEQUENCE { + isisSummAddressType + InetAddressType, + isisSummAddress + InetAddress, + isisSummAddrPrefixLen + InetAddressPrefixLength, + isisSummAddrExistState + RowStatus, + isisSummAddrMetric + IsisDefaultMetric, + isisSummAddrFullMetric + IsisFullMetric + } + + isisSummAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Type of IP address for this summary address." + ::= { isisSummAddrEntry 1 } + + isisSummAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP Address value for this summary address. + The address must not contain any set host bits + (bits set after the address prefix determined by + isisSummAddrPrefixLen). + + The type of this address is determined by the value of + the isisSummAddressType object." + ::= { isisSummAddrEntry 2 } + + isisSummAddrPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Length of the IP NetMask for this summary address. + + The values for the index objects isisSummAddress and + + + + isisSummAddrPrefixLen must be consistent. When the value + of isisSummAddress (excluding the zone index, if one + is present) is x, then the bitwise logical-AND + of x with the value of the mask formed from the + corresponding index object isisSummAddrPrefixLen MUST be + equal to x. If not, then the index pair is not + consistent, and an inconsistentName error must be + returned on SET or CREATE requests." + ::= { isisSummAddrEntry 3 } + + isisSummAddrExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The existence state of this summary address. Support + for 'createAndWait' and 'notInService' is not required. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisSummAddrEntry 4 } + + isisSummAddrMetric OBJECT-TYPE + SYNTAX IsisDefaultMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric value to announce this summary + address within LSPs generated by this system." + DEFVAL { 20 } + ::= { isisSummAddrEntry 5 } + + isisSummAddrFullMetric OBJECT-TYPE + SYNTAX IsisFullMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The wide metric value to announce this summary + address within LSPs generated by this system." + DEFVAL { 20 } + ::= { isisSummAddrEntry 6 } + +-- The Redistribution table defines addresses that should be +-- leaked from L2 to L1 if isisSysL2toL1Leaking is enabled. + + isisRedistributeAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisRedistributeAddrEntry + MAX-ACCESS not-accessible + + + + STATUS current + DESCRIPTION + "This table provides criteria to decide if a route should + be leaked from L2 to L1 when Domain Wide Prefix leaking is + enabled. + + Addresses that match the summary mask in the table MUST + be announced at L1 by routers when isisSysL2toL1Leaking + is enabled. Routes that fall into the ranges specified + are announced as is, without being summarized. Routes + that do not match a summary mask are not announced." + ::= { isisSystem 5 } + + isisRedistributeAddrEntry OBJECT-TYPE + SYNTAX IsisRedistributeAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one configured IP summary + address to manage leaking L2 addresses into L1. + + Dynamically created rows MUST survive an agent reboot. + + Implementers need to be aware that if the total number + of elements (octets or sub-identifiers) in + isisRedistributeAddrAddress and + isisRedistributeAddrPrefixLen is too great, then OIDs + of column instances in this table will have more than + 128 subidentifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3." + INDEX { isisRedistributeAddrType, + isisRedistributeAddrAddress, + isisRedistributeAddrPrefixLen } + ::= { isisRedistributeAddrTable 1 } + + IsisRedistributeAddrEntry ::= + SEQUENCE { + isisRedistributeAddrType + InetAddressType, + isisRedistributeAddrAddress + InetAddress, + isisRedistributeAddrPrefixLen + InetAddressPrefixLength, + isisRedistributeAddrExistState + RowStatus + } + + isisRedistributeAddrType OBJECT-TYPE + + + + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Type of IP address for this summary address." + ::= { isisRedistributeAddrEntry 1 } + + isisRedistributeAddrAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP Address value for this summary address. + The type of this address is determined by the + value of the isisRedistributeAddrType object. + The address must not contain any set host bits - + bits set after the address prefix determined by + isisRedistributeAddrPrefixLen." + + ::= { isisRedistributeAddrEntry 2 } + + isisRedistributeAddrPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Length of the IP NetMask for this summary address. + + The values for the index objects + isisRedistributeAddrAddress and + isisRedistributeAddrPrefixLen must be consistent. + When the value of isisRedistributeAddrAddress + (excluding the zone index, if one is present) is x, + then the bitwise logical-AND of x with the value of + the mask formed from the corresponding index object + isisRedistributeAddrPrefixLen MUST be equal to x. + If not, then the index pair is not consistent, and an + inconsistentName error must be returned on SET or + CREATE requests." + + ::= { isisRedistributeAddrEntry 3 } + + isisRedistributeAddrExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The existence state of this summary address. Support + + + + for createAndWait and notInService is not required. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisRedistributeAddrEntry 4 } + +-- The Router Table keeps track of hostnames and router IDs +-- associated with Intermediate Systems in the area and domain. + + isisRouterTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisRouterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The set of hostnames and router ID." + ::= { isisSystem 6 } + + isisRouterEntry OBJECT-TYPE + SYNTAX IsisRouterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry tracks information about one Intermediate + System at one level. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisRouterSysID, + isisRouterLevel } + ::= { isisRouterTable 1 } + + IsisRouterEntry ::= + SEQUENCE { + isisRouterSysID + IsisSystemID, + isisRouterLevel + IsisISLevel, + isisRouterHostName + SnmpAdminString, + isisRouterID + Unsigned32 + } + + isisRouterSysID OBJECT-TYPE + SYNTAX IsisSystemID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The System ID of the Intermediate System." + + + + ::= { isisRouterEntry 1 } + + isisRouterLevel OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The level at which the information about this + Intermediate System was received." + ::= { isisRouterEntry 2 } + + isisRouterHostName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The hostname listed in the LSP, or a zero-length + string if none." + ::= { isisRouterEntry 3 } + + isisRouterID OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Router ID found in the LSP, or zero if none." + ::= { isisRouterEntry 4 } + +-- The System Level Table +-- This table captures level-specific information about the system + + isisSysLevelTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisSysLevelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Level specific information about the System." + ::= { isisSysLevel 1 } + + isisSysLevelEntry OBJECT-TYPE + SYNTAX IsisSysLevelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each row describes variables configured for Area or Domain. + + Configured values MUST survive an agent reboot." + INDEX { isisSysLevelIndex } + + + + ::= { isisSysLevelTable 1 } + + IsisSysLevelEntry ::= + SEQUENCE { + isisSysLevelIndex + IsisISLevel, + isisSysLevelOrigLSPBuffSize + IsisLSPBuffSize, + isisSysLevelMinLSPGenInt + IsisUnsigned16TC, + isisSysLevelState + IsisLevelState, + isisSysLevelSetOverload + TruthValue, + isisSysLevelSetOverloadUntil + Unsigned32, + isisSysLevelMetricStyle + IsisMetricStyle, + isisSysLevelSPFConsiders + IsisMetricStyle, + isisSysLevelTEEnabled + TruthValue + } + + isisSysLevelIndex OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The level that this entry describes." + ::= { isisSysLevelEntry 1 } + + isisSysLevelOrigLSPBuffSize OBJECT-TYPE + SYNTAX IsisLSPBuffSize + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The maximum size of LSPs and SNPs originated by + this Intermediate System at this level. This + object may not be modified when the isisSysAdminState + variable is in state 'on' for this Intermediate System." + REFERENCE "{ISIS.aoi originatingL1LSPBufferSize (9)}" + DEFVAL { 1492 } + ::= { isisSysLevelEntry 2 } + + isisSysLevelMinLSPGenInt OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1..65535) + UNITS "seconds" + + + + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Minimum interval, in seconds, between successive + generation of LSPs with the same LSPID at this level + by this Intermediate System." + REFERENCE "{ISIS.aoi minimumLSPGenerationInterval (11)}" + DEFVAL { 30 } + ::= { isisSysLevelEntry 3 } + + isisSysLevelState OBJECT-TYPE + SYNTAX IsisLevelState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the database at this level. + The value 'off' indicates that IS-IS is not active at + this level. + The value 'on' indicates that IS-IS is active at this + level and is not overloaded. + The value 'waiting' indicates a database that is low on + an essential resource, such as memory. + The administrator may force the state to 'overloaded' + by setting the object isisSysLevelSetOverload. + If the state is 'waiting' or 'overloaded', we + originate LSPs with the overload bit set." + REFERENCE "{ISIS.aoi l1State (17)}" + ::= { isisSysLevelEntry 4 } + + isisSysLevelSetOverload OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Administratively set the overload bit for the level. + The overload bit MUST continue to be set if the + implementation runs out of memory, independent of + this variable. It may also be set manually independent + of this variable, using the isisSysLevelSetOverloadUntil + object." + DEFVAL { false } + ::= { isisSysLevelEntry 5 } + + isisSysLevelSetOverloadUntil OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "Seconds until clearing manually set Overload Bit" + MAX-ACCESS read-write + STATUS current + + + + DESCRIPTION + "If this object is non-zero, the overload bit is set at + this level when the isisSysAdminState variable goes to + state 'on' for this Intermediate System. The overload bit + remains set for isisSysLevelSetOverloadUntil seconds. + When isisSysLevelSetOverloadUntil seconds have elapsed, + the overload flag remains set if the implementation has + run out of memory, or if it is set manually using the + isisSysLevelSetOverload object. + + If isisSysLevelSetOverload is false, the system clears + the overload bit when isisSysLevelSetOverloadUntil seconds + have elapsed, if the system has not run out of memory." + ::= { isisSysLevelEntry 6 } + + isisSysLevelMetricStyle OBJECT-TYPE + SYNTAX IsisMetricStyle + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Which style of metric do we generate in our LSPs + at this level?" + DEFVAL { narrow } + ::= { isisSysLevelEntry 7 } + + isisSysLevelSPFConsiders OBJECT-TYPE + SYNTAX IsisMetricStyle + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Which style of metric do we consider in our + SPF computation at this level?" + DEFVAL { narrow } + ::= { isisSysLevelEntry 8 } + + isisSysLevelTEEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Do we do Traffic Engineering at this level?" + DEFVAL { false } + ::= { isisSysLevelEntry 9 } + +-- Static to provide next CircIndex + + isisNextCircIndex OBJECT-TYPE + SYNTAX IndexIntegerNextFree + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object is used to assist a management + application in creating new rows in the + isisCircTable. If it is possible to create + a new instance of isisCircEntry, then this + object will contain a non-zero value that + is not in use as the index of any row in the + isisCircTable. The network manager reads the + value of this object and then (if the + value read is non-zero) attempts to create + the corresponding instance of isisCircEntry. + If the set request fails with the code + 'inconsistentValue', then the process must be + repeated; if the set request succeeds, then + the agent will change the value of this object + according to an implementation-specific + algorithm." + ::= { isisCirc 1 } + +-- The Circuit Table +-- Each broadcast or point-to-point interface on the system +-- corresponds to one entry in the Circuit table. However, there +-- may be multiple X.25 DA circuit entries in the Circuit table +-- for a given X.25 interface. + + isisCircTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisCircEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table of circuits used by this + Intermediate System." + ::= { isisCirc 2 } + + isisCircEntry OBJECT-TYPE + SYNTAX IsisCircEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An isisCircEntry exists for each circuit configured + for Integrated IS-IS on this system. + + Dynamically created rows MUST survive an agent reboot." + INDEX { isisCircIndex } + ::= { isisCircTable 1 } + + + + + IsisCircEntry ::= + SEQUENCE { + isisCircIndex + IndexInteger, + isisCircIfIndex + InterfaceIndex, + isisCircAdminState + IsisAdminState, + isisCircExistState + RowStatus, + isisCircType + INTEGER, + isisCircExtDomain + TruthValue, + isisCircLevelType + IsisLevel, + isisCircPassiveCircuit + TruthValue, + isisCircMeshGroupEnabled + INTEGER, + isisCircMeshGroup + Unsigned32, + isisCircSmallHellos + TruthValue, + isisCircLastUpTime + TimeStamp, + isisCirc3WayEnabled + TruthValue, + isisCircExtendedCircID + Unsigned32 + } + + isisCircIndex OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index used to uniquely identify this circuit. + When creating a row in this table, the + isisNextCircIndex object should be retrieved, + and its value should be specified as the value + of this index using a SET operation. A retrieved + value of zero(0) indicates that no rows can be + created at this time." + ::= { isisCircEntry 1 } + + isisCircIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + + + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value of ifIndex for the interface to which this + circuit corresponds. This object cannot be modified + after creation." + ::= { isisCircEntry 2 } + + isisCircAdminState OBJECT-TYPE + SYNTAX IsisAdminState + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The administrative state of the circuit." + DEFVAL { off } + ::= { isisCircEntry 3 } + + isisCircExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The existence state of this circuit. Setting the state + to 'notInService' halts the generation and processing of + IS-IS protocol PDUs on this circuit. Setting the state + to destroy will also erase any configuration associated + with the circuit. Support for 'createAndWait' and + 'notInService' is not required. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisCircEntry 4 } + + isisCircType OBJECT-TYPE + SYNTAX INTEGER + { + broadcast(1), + ptToPt(2), + staticIn(3), + staticOut(4), + dA(5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of the circuit. This object follows the + ReplaceOnlyWhileDisabled behavior. The type specified + must be compatible with the type of the interface defined + + + + by the value of isisCircIfIndex." + REFERENCE "{ISIS.aoi type (33)}" + ::= { isisCircEntry 5 } + + isisCircExtDomain OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If true, suppress normal transmission of and + interpretation of Intra-domain IS-IS PDUs on this + circuit." + REFERENCE "{ISIS.aoi externalDomain (46)}" + DEFVAL { false } + ::= { isisCircEntry 6 } + + isisCircLevelType OBJECT-TYPE + SYNTAX IsisLevel + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates which type of packets will be sent and + accepted on this circuit. The values set will be + saved, but the values used will be modified by + the settings of isisSysLevelType. Thus, if the + isisSysTpe is level2 and the isisCircLevelType + for a circuit is level1, the circuit will not send + or receive IS-IS packets. This object follows the + ReplaceOnlyWhileDisabled behavior." + DEFVAL { level1and2 } + ::= { isisCircEntry 7 } + + isisCircPassiveCircuit OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Should we include this interface in LSPs, even if + it is not running the IS-IS Protocol?" + DEFVAL { false } + ::= { isisCircEntry 8 } + + isisCircMeshGroupEnabled OBJECT-TYPE + SYNTAX INTEGER + { + inactive(1), + blocked(2), + set(3) + + + + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Is this port a member of a mesh group, or is it + blocked? Circuits in the same mesh group act as a + virtual multiaccess network. LSPs seen on one circuit + in a mesh group will not be flooded to another circuit + in the same mesh group." + REFERENCE "{ RFC 2973 }" + DEFVAL { inactive } + ::= { isisCircEntry 9 } + + isisCircMeshGroup OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Circuits in the same mesh group act as a virtual + multiaccess network. LSPs seen on one circuit in + a mesh group will not be flooded to another circuit + in the same mesh group. If isisCircMeshGroupEnabled + is inactive or blocked, this value is ignored." + REFERENCE "{ RFC 2973 }" + ::= { isisCircEntry 10 } + + isisCircSmallHellos OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Can we send unpadded hellos on LAN circuits? False + means the LAN Hellos must be padded. + Implementations should allow the administrator to read + this value. An implementation need not be able to + support unpadded hellos to be conformant." + DEFVAL { false } + ::= { isisCircEntry 11 } + + isisCircLastUpTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "How long the circuit has been enabled, measured in + hundredths of seconds since the last re-initialization + of the network management subsystem; 0 if the + circuit has never been 'on'." + + + + ::= { isisCircEntry 12 } + + isisCirc3WayEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Is this circuit enabled to run 3Way handshake?" + DEFVAL { true } + ::= { isisCircEntry 13 } + + isisCircExtendedCircID OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value to be used as the extended circuit ID in + 3Way handshake. This value is only used if + isisCirc3WayEnabled is true, and it must be unique + across all circuits on this IS." + ::= { isisCircEntry 14 } + +-- The Circuit Level Table +-- This table captures level-specific information about a circuit + + isisCircLevelTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisCircLevelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Level specific information about circuits used by IS-IS." + ::= { isisCircLevelValues 1 } + + isisCircLevelEntry OBJECT-TYPE + SYNTAX IsisCircLevelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An isisCircLevelEntry exists for each level on + each circuit configured for Integrated IS-IS on + this system. + + Configured values MUST survive an agent reboot." + INDEX { isisCircIndex, + isisCircLevelIndex } + ::= { isisCircLevelTable 1 } + + IsisCircLevelEntry ::= + + + + SEQUENCE { + isisCircLevelIndex + IsisISLevel, + isisCircLevelMetric + IsisDefaultMetric, + isisCircLevelWideMetric + IsisWideMetric, + isisCircLevelISPriority + IsisISPriority, + isisCircLevelIDOctet + Unsigned32, + isisCircLevelID + IsisCircuitID, + isisCircLevelDesIS + IsisCircuitID, + isisCircLevelHelloMultiplier + Unsigned32, + isisCircLevelHelloTimer + Unsigned32, + isisCircLevelDRHelloTimer + Unsigned32, + isisCircLevelLSPThrottle + IsisUnsigned16TC, + isisCircLevelMinLSPRetransInt + Unsigned32, + isisCircLevelCSNPInterval + Unsigned32, + isisCircLevelPartSNPInterval + Unsigned32 + } + + isisCircLevelIndex OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The level that this entry describes." + ::= { isisCircLevelEntry 1 } + + isisCircLevelMetric OBJECT-TYPE + SYNTAX IsisDefaultMetric + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The metric value of this circuit for this level." + REFERENCE "{ISIS.aoi l1DefaultMetric (35)}" + DEFVAL { 10 } + ::= { isisCircLevelEntry 2 } + + + + isisCircLevelWideMetric OBJECT-TYPE + SYNTAX IsisWideMetric + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The wide metric value of this circuit for this level." + DEFVAL { 10 } + ::= { isisCircLevelEntry 3 } + + isisCircLevelISPriority OBJECT-TYPE + SYNTAX IsisISPriority + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The priority for becoming the LAN-Designated + Intermediate System at this level." + REFERENCE "{ISIS.aoi l2IntermediateSystemPriority (73)}" + DEFVAL { 64 } + ::= { isisCircLevelEntry 4 } + + isisCircLevelIDOctet OBJECT-TYPE + SYNTAX Unsigned32(0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A one-byte identifier for the circuit selected by the + Intermediate System. + + On point-to-point circuits, the value is used as the Local + Circuit ID in point-to-point IIH PDUs transmitted on this + circuit. In this case, values of isisCircLevelIDOctet do + not need to be unique. + + For broadcast circuits, the value is used to generate the + LAN ID that will be used if this Intermediate System is + elected as the Designated IS on this circuit. The value + is required to differ on LANs where the Intermediate System + is the Designated Intermediate System." + ::= { isisCircLevelEntry 5 } + + isisCircLevelID OBJECT-TYPE + SYNTAX IsisCircuitID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "On a point-to-point circuit with a fully initialized + adjacency to a peer IS, the value of this object is + the circuit ID negotiated during adjacency initialization. + + + + On a point to point circuit without such an adjacency, + the value is the concatenation of the local system ID + and the one-byte isisCircLevelIDOctet for this circuit, + i.e., the value that would be proposed for the circuit ID. + On other circuit types, the value returned is the zero- + length OCTET STRING." + REFERENCE "{ISIS.aoi ptPtCircuitID (51)}" + ::= { isisCircLevelEntry 6 } + + isisCircLevelDesIS OBJECT-TYPE + SYNTAX IsisCircuitID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The ID of the LAN-Designated Intermediate System + on this circuit at this level. If, for any reason, + this system is not partaking in the relevant + Designated Intermediate System election process, + then the value returned is the zero-length OCTET STRING." + REFERENCE "{ISIS.aoi l2DesignatedIntermediateSystem (75)}" + ::= { isisCircLevelEntry 7 } + + isisCircLevelHelloMultiplier OBJECT-TYPE + SYNTAX Unsigned32 (2..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This value is multiplied by the corresponding HelloTimer, + and the result in seconds (rounded up) is used as the + holding time in transmitted hellos, to be used by + receivers of hello packets from this IS." + REFERENCE "{ISIS.aoi iSISHelloTimer (45)}" + DEFVAL { 10 } + ::= { isisCircLevelEntry 8 } + + isisCircLevelHelloTimer OBJECT-TYPE + SYNTAX Unsigned32 (10..600000) + UNITS "milliseconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Maximum period, in milliseconds, between IIH PDUs + on multiaccess networks at this level for LANs. + The value at L1 is used as the period between + Hellos on L1L2 point-to-point circuits. Setting + this value at level 2 on an L1L2 point-to-point + circuit will result in an error of InconsistentValue. + + + + + This object follows the ResettingTimer behavior." + REFERENCE "{ISIS.aoi iSISHelloTimer (45)}" + DEFVAL { 3000 } + ::= { isisCircLevelEntry 9 } + + isisCircLevelDRHelloTimer OBJECT-TYPE + SYNTAX Unsigned32 (10..120000) + UNITS "milliseconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Period, in milliseconds, between Hello PDUs on + multiaccess networks when this IS is the Designated + Intermediate System. This object follows the + ResettingTimer behavior." + REFERENCE "{ISIS.aoi iSISHelloTimer (45)}" + DEFVAL { 1000 } + ::= { isisCircLevelEntry 10 } + + isisCircLevelLSPThrottle OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1..65535) + UNITS "milliseconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Minimal interval of time, in milliseconds, between + transmissions of LSPs on an interface at this level." + REFERENCE + "{ISIS.aoi minimumBroadcastLSPTransmissionInterval (5)}" + DEFVAL { 30 } + ::= { isisCircLevelEntry 11 } + + isisCircLevelMinLSPRetransInt OBJECT-TYPE + SYNTAX Unsigned32 (1..300) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Minimum interval, in seconds, between re-transmission of + an LSP at this level. This object follows the + ResettingTimer behavior. + + Note that isisCircLevelLSPThrottle controls + how fast we send back-to-back LSPs. This variable + controls how fast we re-send the same LSP." + REFERENCE "{ISIS.aoi minimumLSPTransmissionInterval (5)}" + DEFVAL { 5 } + ::= { isisCircLevelEntry 12 } + + + + isisCircLevelCSNPInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..600) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Interval of time, in seconds, between periodic + transmission of a complete set of CSNPs on + multiaccess networks if this router is the + designated router at this level. + This object follows the ResettingTimer behavior." + REFERENCE "{ISIS.aoi completeSNPInterval (8)}" + DEFVAL { 10 } + ::= { isisCircLevelEntry 13 } + + isisCircLevelPartSNPInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..120) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Minimum interval, in seconds, between sending Partial + Sequence Number PDUs at this level. This object + follows the ResettingTimer behavior." + REFERENCE "{ISIS.aoi partialSNPInterval (14)}" + DEFVAL { 2 } + ::= { isisCircLevelEntry 14 } + +-- isisSystemCounterTable keeps track of system-wide events. + + isisSystemCounterTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisSystemCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "System-wide counters for this Intermediate System." + ::= { isisCounters 1 } + + isisSystemCounterEntry OBJECT-TYPE + SYNTAX IsisSystemCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "System-wide IS-IS counters." + INDEX { isisSysStatLevel } + ::= { isisSystemCounterTable 1 } + + IsisSystemCounterEntry ::= + + + + SEQUENCE { + isisSysStatLevel + IsisISLevel, + isisSysStatCorrLSPs + Counter32, + isisSysStatAuthTypeFails + Counter32, + isisSysStatAuthFails + Counter32, + isisSysStatLSPDbaseOloads + Counter32, + isisSysStatManAddrDropFromAreas + Counter32, + isisSysStatAttmptToExMaxSeqNums + Counter32, + isisSysStatSeqNumSkips + Counter32, + isisSysStatOwnLSPPurges + Counter32, + isisSysStatIDFieldLenMismatches + Counter32, + isisSysStatPartChanges + Counter32, + isisSysStatSPFRuns + Counter32, + isisSysStatLSPErrors + Counter32 + } + + isisSysStatLevel OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The level that this entry describes." + ::= { isisSystemCounterEntry 1 } + + isisSysStatCorrLSPs OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of corrupted in-memory frames" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of corrupted in-memory LSPs detected. + + LSPs received from the wire with a bad checksum + are silently dropped and are not counted. + + + + + LSPs received from the wire with parse errors + are counted by isisSysStatLSPErrors." + REFERENCE "{ISIS.aoi corruptedLSPsDetected (19)}" + ::= { isisSystemCounterEntry 2 } + + isisSysStatAuthTypeFails OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of frames with authentication type mismatches" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of authentication type mismatches recognized + by this Intermediate System." + ::= { isisSystemCounterEntry 3 } + + isisSysStatAuthFails OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of frames with authentication key failures" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of authentication key failures recognized + by this Intermediate System." + ::= { isisSystemCounterEntry 4 } + + isisSysStatLSPDbaseOloads OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times the LSP database has become + overloaded." + REFERENCE "{ISIS.aoi lSPL1DatabaseOverloads (20)}" + ::= { isisSystemCounterEntry 5 } + + isisSysStatManAddrDropFromAreas OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times a manual address has been dropped from + the area." + REFERENCE "{ISIS.aoi manualAddressesDroppedFromArea (21)}" + ::= { isisSystemCounterEntry 6 } + + isisSysStatAttmptToExMaxSeqNums OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "Number of times the IS has attempted to exceed the + maximum sequence number." + REFERENCE + "{ISIS.aoi attemptsToExceedmaximumSequenceNumber (22)}" + ::= { isisSystemCounterEntry 7 } + + isisSysStatSeqNumSkips OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times a sequence number skip has occurred." + REFERENCE "{ISIS.aoi sequenceNumberSkips (23)}" + ::= { isisSystemCounterEntry 8 } + + isisSysStatOwnLSPPurges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times a zero-aged copy of the system's own LSP + is received from some other node." + REFERENCE "{ISIS.aoi ownLSPPurges (24)}" + ::= { isisSystemCounterEntry 9 } + + isisSysStatIDFieldLenMismatches OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of frames with ID length mismatches" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times a PDU is received with a different value + for ID field length from that of the receiving system." + REFERENCE "{ISIS.aoi iDFieldLengthMismatches (25)}" + ::= { isisSystemCounterEntry 10 } + + isisSysStatPartChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Partition changes." + ::= { isisSystemCounterEntry 11 } + + isisSysStatSPFRuns OBJECT-TYPE + SYNTAX Counter32 + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of times we ran SPF at this level." + ::= { isisSystemCounterEntry 12 } + + isisSysStatLSPErrors OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of frames with errors that we have received" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of LSPs with errors we have received." + ::= { isisSystemCounterEntry 13 } + +-- isisCircuitCounterTable keeps track of events +-- specific to a circuit and a level + + isisCircuitCounterTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisCircuitCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Circuit specific counters for this + Intermediate System." + ::= { isisCounters 2 } + + isisCircuitCounterEntry OBJECT-TYPE + SYNTAX IsisCircuitCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An isisCircuitCounterEntry exists for each circuit + used by Integrated IS-IS on this system." + INDEX { isisCircIndex, + isisCircuitType } + ::= { isisCircuitCounterTable 1 } + + IsisCircuitCounterEntry ::= SEQUENCE { + isisCircuitType + INTEGER, + isisCircAdjChanges + Counter32, + isisCircNumAdj + Unsigned32, + isisCircInitFails + Counter32, + isisCircRejAdjs + + + + Counter32, + isisCircIDFieldLenMismatches + Counter32, + isisCircMaxAreaAddrMismatches + Counter32, + isisCircAuthTypeFails + Counter32, + isisCircAuthFails + Counter32, + isisCircLANDesISChanges + Counter32 + } + + isisCircuitType OBJECT-TYPE + SYNTAX INTEGER + { + lanlevel1(1), + lanlevel2(2), + p2pcircuit(3) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "What type of circuit saw these counts? + + The point-to-point Hello PDU includes + both L1 and L2, and ISs form a single + adjacency on point-to-point links. + Thus, we combine counts on + point-to-point links into one group." + ::= { isisCircuitCounterEntry 1 } + + isisCircAdjChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an adjacency state change has + occurred on this circuit." + REFERENCE "{ISIS.aoi changesInAdjacencyState (40)}" + ::= { isisCircuitCounterEntry 2 } + + isisCircNumAdj OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of adjacencies on this circuit." + + + + REFERENCE "{ISIS.aoi changesInAdjacencyState (40)}" + ::= { isisCircuitCounterEntry 3 } + + isisCircInitFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times initialization of this circuit has + failed. This counts events such as PPP NCP failures. + Failures to form an adjacency are counted by + isisCircRejAdjs." + ::= { isisCircuitCounterEntry 4 } + + isisCircRejAdjs OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an adjacency has been rejected on + this circuit." + REFERENCE "{ISIS.aoi rejectedAdjacencies (42)}" + ::= { isisCircuitCounterEntry 5 } + + isisCircIDFieldLenMismatches OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of frames with ID field length mismatch" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an IS-IS control PDU with an ID + field length different from that for this system has been + received." + REFERENCE "{ISIS.aoi iDFieldLengthMismatches (25)}" + ::= { isisCircuitCounterEntry 6 } + + isisCircMaxAreaAddrMismatches OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an IS-IS control PDU with a + max area address field different from that for this + system has been received." + REFERENCE "{ISIS.aoi iDFieldLengthMismatches (25)}" + ::= { isisCircuitCounterEntry 7 } + + isisCircAuthTypeFails OBJECT-TYPE + + + + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an IS-IS control PDU with + an auth type field different from that for this + system has been received." + ::= { isisCircuitCounterEntry 8 } + + isisCircAuthFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times an IS-IS control PDU with + the correct auth type has failed to pass authentication + validation." + ::= { isisCircuitCounterEntry 9 } + + isisCircLANDesISChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the Designated IS has changed + on this circuit at this level. If the circuit is + point to point, this count is zero." + ::= { isisCircuitCounterEntry 10 } + +-- isisPacketCounterTable keeps track of the number of IS-IS +-- control packets sent and received at each level + + isisPacketCounterTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisPacketCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about IS-IS protocol traffic at one level, + on one circuit, in one direction." + ::= { isisCounters 3 } + + isisPacketCounterEntry OBJECT-TYPE + SYNTAX IsisPacketCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about IS-IS protocol traffic at one level, + on one circuit, in one direction." + + + + INDEX { isisCircIndex, + isisPacketCountLevel, + isisPacketCountDirection } + ::= { isisPacketCounterTable 1 } + + IsisPacketCounterEntry ::= + SEQUENCE { + isisPacketCountLevel + IsisISLevel, + isisPacketCountDirection + INTEGER, + isisPacketCountIIHello + Counter32, + isisPacketCountISHello + Counter32, + isisPacketCountESHello + Counter32, + isisPacketCountLSP + Counter32, + isisPacketCountCSNP + Counter32, + isisPacketCountPSNP + Counter32, + isisPacketCountUnknown + Counter32 + } + + isisPacketCountLevel OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The level at which these PDU counts have been collected." + ::= { isisPacketCounterEntry 1 } + + isisPacketCountDirection OBJECT-TYPE + SYNTAX INTEGER + { + sending(1), + receiving(2) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Were we sending or receiving these PDUs?" + ::= { isisPacketCounterEntry 2 } + + isisPacketCountIIHello OBJECT-TYPE + + + + SYNTAX Counter32 + UNITS "Number of IS-IS Hellos frames seen in this direction + at this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IS-IS Hello PDUs seen in this + direction at this level. + + Point-to-Point IIH PDUs are counted at + the lowest enabled level: at L1 on L1 or L1L2 circuits, + and at L2 otherwise." + REFERENCE "{ISIS.aoi iSISControlPDUsSent (43)}" + ::= { isisPacketCounterEntry 3 } + + isisPacketCountISHello OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of ES-IS frames seen in this direction at + this level." + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of ES-IS Hello PDUs seen in this + direction. ISH PDUs are counted at the + lowest enabled level: at L1 on L1 or L1L2 + circuits, and at L2 otherwise." + ::= { isisPacketCounterEntry 4 } + + isisPacketCountESHello OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of ES Hello frames seen in this direction at + this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of ES Hello PDUs seen in this + direction. ESH PDUs are counted at the + lowest enabled level: at L1 on L1 or L1L2 + circuits, and at L2 otherwise." + ::= { isisPacketCounterEntry 5 } + + isisPacketCountLSP OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of IS-IS LSP frames seen in this direction at + this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "The number of IS-IS LSPs seen in this + direction at this level." + REFERENCE "{ISIS.aoi iSISControlPDUsSent (43)}" + ::= { isisPacketCounterEntry 6 } + + isisPacketCountCSNP OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of IS-IS CSNP frames seen in this direction at + this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IS-IS CSNPs seen in this + direction at this level." + REFERENCE "{ISIS.aoi iSISControlPDUsSent (43)}" + ::= { isisPacketCounterEntry 7 } + + isisPacketCountPSNP OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of IS-IS PSNP frames seen in this direction at + this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IS-IS PSNPs seen in this + direction at this level." + REFERENCE "{ISIS.aoi iSISControlPDUsSent (43)}" + ::= { isisPacketCounterEntry 8 } + + isisPacketCountUnknown OBJECT-TYPE + SYNTAX Counter32 + UNITS "Number of unknown IS-IS frames seen at this level" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of unknown IS-IS PDUs seen + at this level." + REFERENCE "{ISIS.aoi iSISControlPDUsSent (43)}" + ::= { isisPacketCounterEntry 9 } + +-- The IS Adjacency Table +-- +-- Each adjacency to an IS corresponds to one entry in this +-- table. + + isisISAdjTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisISAdjEntry + MAX-ACCESS not-accessible + + + + STATUS current + DESCRIPTION + "The table of adjacencies to Intermediate Systems." + ::= { isisISAdj 1 } + + isisISAdjEntry OBJECT-TYPE + SYNTAX IsisISAdjEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry corresponds to one adjacency to an + Intermediate System on this system. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisCircIndex, + isisISAdjIndex } + ::= { isisISAdjTable 1 } + + IsisISAdjEntry ::= + SEQUENCE { + isisISAdjIndex + Unsigned32, + isisISAdjState + INTEGER, + isisISAdj3WayState + INTEGER, + isisISAdjNeighSNPAAddress + IsisOSINSAddress, + isisISAdjNeighSysType + INTEGER, + isisISAdjNeighSysID + IsisSystemID, + isisISAdjNbrExtendedCircID + Unsigned32, + isisISAdjUsage + IsisLevel, + isisISAdjHoldTimer + IsisUnsigned16TC, + isisISAdjNeighPriority + IsisISPriority, + isisISAdjLastUpTime + TimeStamp + } + + isisISAdjIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "A unique value identifying the IS adjacency from all + other such adjacencies on this circuit. This value is + automatically assigned by the system when the adjacency + is created." + ::= { isisISAdjEntry 1 } + + isisISAdjState OBJECT-TYPE + SYNTAX INTEGER + { + down (1), + initializing (2), + up (3), + failed(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the adjacency." + REFERENCE "{ISIS.aoi adjacencyState (78)}" + ::= { isisISAdjEntry 2 } + + isisISAdj3WayState OBJECT-TYPE + SYNTAX INTEGER + { + up (0), + initializing (1), + down (2), + failed (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 3Way state of the adjacency. These are picked + to match the historical on-the-wire representation + of the 3Way state and are not intended to match + isisISAdjState." + REFERENCE "{ RFC 3373 }" + ::= { isisISAdjEntry 3 } + + isisISAdjNeighSNPAAddress OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The SNPA address of the neighboring system." + REFERENCE "{ISIS.aoi neighbourSNPAAddress (79)}" + ::= { isisISAdjEntry 4 } + + + + isisISAdjNeighSysType OBJECT-TYPE + SYNTAX INTEGER + { + l1IntermediateSystem(1), + l2IntermediateSystem(2), + l1L2IntermediateSystem(3), + unknown(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of the neighboring system." + REFERENCE "{ISIS.aoi neighbourSystemType (80)}" + ::= { isisISAdjEntry 5 } + + isisISAdjNeighSysID OBJECT-TYPE + SYNTAX IsisSystemID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The system ID of the neighboring Intermediate + System." + REFERENCE "{ISIS.aoi neighbourSystemIds (83)}" + ::= { isisISAdjEntry 6 } + + isisISAdjNbrExtendedCircID OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 4-byte Extended Circuit ID learned from the + Neighbor during 3-way handshake, or 0." + ::= { isisISAdjEntry 7 } + + isisISAdjUsage OBJECT-TYPE + SYNTAX IsisLevel + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "How is the adjacency used? On a point-to-point link, + this might be level1and2, but on a LAN, the usage will + be level1 on the adjacency between peers at L1, + and level2 for the adjacency between peers at L2." + REFERENCE "{ISIS.aoi adjacencyUsage (82)}" + ::= { isisISAdjEntry 8 } + + isisISAdjHoldTimer OBJECT-TYPE + SYNTAX IsisUnsigned16TC (1..65535) + + + + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The holding time, in seconds, for this adjacency. + This value is based on received IIH PDUs and + the elapsed time since receipt." + REFERENCE "{ISIS.aoi holdingTimer (85)}" + ::= { isisISAdjEntry 9 } + + isisISAdjNeighPriority OBJECT-TYPE + SYNTAX IsisISPriority + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Priority of the neighboring Intermediate System for + becoming the Designated Intermediate System." + REFERENCE "{ISIS.aoi lANPriority (86)}" + ::= { isisISAdjEntry 10 } + + isisISAdjLastUpTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "When the adjacency most recently entered the state 'up', + measured in hundredths of a second since the last + re-initialization of the network management subsystem. + Holds 0 if the adjacency has never been in state 'up'." + ::= { isisISAdjEntry 11 } + +-- The IS Adjacency Area Address Table + +-- The IS Adjacency Area Address Table contains the set of +-- Area Addresses of neighboring +-- Intermediate Systems as reported in IIH PDUs. + + isisISAdjAreaAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisISAdjAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains the set of Area Addresses of + neighboring Intermediate Systems as reported in received + IIH PDUs." + REFERENCE "{ISIS.aoi areaAddressesOfNeighbour (84)}" + ::= { isisISAdj 2 } + + + + + isisISAdjAreaAddrEntry OBJECT-TYPE + SYNTAX IsisISAdjAreaAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one Area Address reported by a + neighboring Intermediate System in its IIH PDUs. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisCircIndex, + isisISAdjIndex, + isisISAdjAreaAddrIndex } + ::= { isisISAdjAreaAddrTable 1 } + + IsisISAdjAreaAddrEntry ::= + SEQUENCE { + isisISAdjAreaAddrIndex + Unsigned32, + isisISAdjAreaAddress + IsisOSINSAddress + } + + isisISAdjAreaAddrIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index for the areas associated with one neighbor. + This provides a simple way to walk the table." + ::= { isisISAdjAreaAddrEntry 1 } + + isisISAdjAreaAddress OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "One Area Address as reported in IIH PDUs received from + the neighbor." + ::= { isisISAdjAreaAddrEntry 2 } + +-- The IS Adjacency IP Address Table + +-- The IS Adjacency IP Address Table contains the +-- set of IP Addresses of neighboring Intermediate Systems +-- as reported in received IIH PDUs. + + isisISAdjIPAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisISAdjIPAddrEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains the set of IP Addresses of + neighboring Intermediate Systems as reported in received + IIH PDUs." + ::= { isisISAdj 3 } + + isisISAdjIPAddrEntry OBJECT-TYPE + SYNTAX IsisISAdjIPAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one IP Address reported by a + neighboring Intermediate System in its IIH PDUs. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisCircIndex, + isisISAdjIndex, + isisISAdjIPAddrIndex + } + ::= { isisISAdjIPAddrTable 1 } + + IsisISAdjIPAddrEntry ::= + SEQUENCE { + isisISAdjIPAddrIndex + Unsigned32, + isisISAdjIPAddrType + InetAddressType, + isisISAdjIPAddrAddress + InetAddress + } + + isisISAdjIPAddrIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index to this table that identifies the IP addresses + to which this entry belongs." + ::= { isisISAdjIPAddrEntry 1 } + + isisISAdjIPAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of one IP Address as reported in IIH PDUs + + + + received from the neighbor." + ::= { isisISAdjIPAddrEntry 2 } + + isisISAdjIPAddrAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "One IP Address as reported in IIH PDUs received from the + neighbor. + + The type of this address is determined by the value of + the isisISAdjIPAddrType object." + ::= { isisISAdjIPAddrEntry 3 } + +-- The IS Adjacency Protocol Supported Table +-- +-- The IS Adjacency Protocol Supported Table contains the set of +-- protocols supported by neighboring +-- Intermediate Systems as reported in received IIH PDUs. + + isisISAdjProtSuppTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisISAdjProtSuppEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains the set of protocols supported by + neighboring Intermediate Systems as reported in received + IIH PDUs." + ::= { isisISAdj 4 } + + isisISAdjProtSuppEntry OBJECT-TYPE + SYNTAX IsisISAdjProtSuppEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains one protocol supported by a + neighboring Intermediate System as reported in its IIH + PDUs. + + Dynamically learned rows do not survive an agent reboot." + INDEX { isisCircIndex, + isisISAdjIndex, + isisISAdjProtSuppProtocol } + ::= { isisISAdjProtSuppTable 1 } + + IsisISAdjProtSuppEntry ::= + SEQUENCE { + + + + isisISAdjProtSuppProtocol + IsisSupportedProtocol + } + + isisISAdjProtSuppProtocol OBJECT-TYPE + SYNTAX IsisSupportedProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "One supported protocol as reported in IIH PDUs received + from the neighbor." + ::= { isisISAdjProtSuppEntry 1 } + +-- The Reachable Address Group +-- +-- The Reachable Address Table +-- Each entry records information about a reachable address +-- (NSAP or address prefix) manually configured on the system +-- or learned through another protocol. + + isisRATable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisRAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table of Reachable Addresses to NSAPs or Address + Prefixes." + ::= { isisReachAddr 1 } + + isisRAEntry OBJECT-TYPE + SYNTAX IsisRAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry defines a configured Reachable Address + to an NSAP or Address Prefix. + + Dynamically created rows MUST survive an agent reboot." + INDEX { isisCircIndex, + isisRAIndex } + ::= { isisRATable 1 } + + IsisRAEntry ::= + SEQUENCE { + isisRAIndex + Unsigned32, + isisRAExistState + RowStatus, + + + + isisRAAdminState + IsisAdminState, + isisRAAddrPrefix + IsisOSINSAddress, + isisRAMapType + INTEGER, + isisRAMetric + IsisDefaultMetric, + isisRAMetricType + IsisMetricType, + isisRASNPAAddress + IsisOSINSAddress, + isisRASNPAMask + IsisOSINSAddress, + isisRASNPAPrefix + IsisOSINSAddress, + isisRAType + INTEGER + } + + isisRAIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The identifier for this isisRAEntry. This value must be + unique amongst all Reachable Addresses on the same parent + Circuit." + ::= { isisRAEntry 1 } + + isisRAExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The existence state of this Reachable Address. This + object follows the ManualOrAutomatic behaviors. Support + for 'createAndWait' and 'notInService' is not required. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisRAEntry 2 } + + isisRAAdminState OBJECT-TYPE + SYNTAX IsisAdminState + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "The administrative state of the Reachable Address. This + object follows the ManualOrAutomatic behaviors." + DEFVAL { off } + ::= { isisRAEntry 3 } + + isisRAAddrPrefix OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The destination of this Reachable Address. This is an + Address Prefix. This object follows the + ReplaceOnlyWhileDisabled and ManualOrAutomatic + behaviors." + REFERENCE "{ISIS.aoi addressPrefix (98)}" + ::= { isisRAEntry 4 } + + isisRAMapType OBJECT-TYPE + SYNTAX INTEGER + { + none (1), + explicit (2), + extractIDI (3), + extractDSP (4) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of mapping to be employed to ascertain the SNPA + Address that should be used in forwarding PDUs for this + Reachable Address prefix. This object follows the + ManualOrAutomatic behavior. The following values of + mapping type are defined: + + none: The mapping is null because the neighbor SNPA is + implicit by nature of the subnetwork (e.g., a + point-to-point linkage). + + explicit: The subnetwork addresses in the object + isisRASNPAAddress are to be used. + + extractIDI: The SNPA is embedded in the IDI of + the destination NSAP Address. The mapping + algorithm extracts the SNPA to be used + according to the format and encoding rules of + ISO8473/Add2. This SNPA extraction algorithm can + be used in conjunction with Reachable Address + prefixes from the X.121, F.69, E.163, and E.164 + + + + addressing subdomains. + + extractDSP: All, or a suffix, of the SNPA is embedded + in the DSP of the destination address. This SNPA + extraction algorithm extracts the embedded + subnetwork addressing information by performing a + logical AND of the isisRASNPAMask object value + with the destination address. The part of the + SNPA extracted from the destination NSAP is + appended to the isisRASNPAPrefix object value to + form the next hop subnetwork addressing + information." + + REFERENCE "{ISO10589-ISIS.aoi mappingType (107)}" + ::= { isisRAEntry 5 } + + isisRAMetric OBJECT-TYPE + SYNTAX IsisDefaultMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric value for reaching the specified + prefix over this circuit. This object follows the + ManualOrAutomatic behavior." + REFERENCE "{ISIS.aoi DefaultMetric (99)}" + DEFVAL { 20 } + ::= { isisRAEntry 6 } + + isisRAMetricType OBJECT-TYPE + SYNTAX IsisMetricType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether the metric is internal or + external. This object follows the ManualOrAutomatic + behavior." + REFERENCE "{ISIS.aoi DefaultMetricType (103)}" + DEFVAL { internal } + ::= { isisRAEntry 7 } + + isisRASNPAAddress OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The SNPA Address to which a PDU may be forwarded in + order to reach a destination that matches the address + prefix of the Reachable Address. This object follows the + + + + ManualOrAutomatic behavior." + REFERENCE "{ISIS.aoi sNPAAddresses (109)}" +-- Note only one address may be specified per Reachable Address +-- in the MIB + DEFVAL { ''H } + ::= { isisRAEntry 8 } + + isisRASNPAMask OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A bit mask with 1 bit indicating the positions in the + effective destination address from which embedded SNPA + information is to be extracted. For the extraction, the + first octet of the isisRASNPAMask object value is aligned + with the first octet (AFI) of the NSAP Address. If the + isisRASNPAMask object value and NSAP Address are of + different lengths, the shorter of the two is logically + padded with zeros before performing the extraction. This + object follows the ManualOrAutomatic behavior." + REFERENCE "{ISIS.aoi sNPAMask (122)}" + DEFVAL { '00'H } + ::= { isisRAEntry 9 } + + isisRASNPAPrefix OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A fixed SNPA prefix for use when the isisRAMapType is + extractDSP. The SNPA Address to use is formed by + concatenating the fixed SNPA prefix with a variable SNPA + part that is extracted from the effective destination + address. For Reachable Address prefixes in which the + entire SNPA is embedded in the DSP, the SNPA Prefix shall + be null. This object follows the ManualOrAutomatic + behavior." + REFERENCE "{ISIS.aoi sNPAPrefix (123)}" + DEFVAL { '00'H } + ::= { isisRAEntry 10 } + + isisRAType OBJECT-TYPE + SYNTAX INTEGER + { + manual (1), + automatic (2) + } + + + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of Reachable address. Those of type + manual are created by the network manager. Those + of type automatic are created through propagation + of routing information from another routing + protocol (e.g., IDRP). " + DEFVAL {manual} + ::= {isisRAEntry 11 } + + +-- The IP Reachable Address Table + +-- Each entry records information about one IP reachable +-- address manually configured on this system or learned from +-- another protocol. + + isisIPRATable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisIPRAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table of IP Reachable Addresses to networks, + subnetworks, or hosts either manually configured or + learned from another protocol." + ::= { isisIPReachAddr 1 } + + isisIPRAEntry OBJECT-TYPE + SYNTAX IsisIPRAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry defines an IP Reachable Address to a network, + subnetwork, or host. + + Each IP Reachable Address may have multiple entries in the + table, one for each equal cost path to the reachable + address. + + Dynamically created rows MUST survive an agent reboot. + + Implementers need to be aware that if the total number + of elements (octets or sub-identifiers) in + isisIPRADestr, isisIPRADestPrefixLen, and + isisIPRANextHopIndex is too great, then OIDs of column + instances in this table will have more than 128 + subidentifiers and cannot be accessed using SNMPv1, + + + + SNMPv2c, or SNMPv3." + INDEX { isisSysLevelIndex, + isisIPRADestType, + isisIPRADest, + isisIPRADestPrefixLen, + isisIPRANextHopIndex } + ::= { isisIPRATable 1 } + + IsisIPRAEntry ::= + SEQUENCE { + isisIPRADestType + InetAddressType, + isisIPRADest + InetAddress, + isisIPRADestPrefixLen + InetAddressPrefixLength, + isisIPRANextHopIndex + Unsigned32, + isisIPRANextHopType + InetAddressType, + isisIPRANextHop + InetAddress, + isisIPRAType + INTEGER, + isisIPRAExistState + RowStatus, + isisIPRAAdminState + IsisAdminState, + isisIPRAMetric + IsisDefaultMetric, + isisIPRAMetricType + IsisMetricType, + isisIPRAFullMetric + IsisFullMetric, + isisIPRASNPAAddress + IsisOSINSAddress, + isisIPRASourceType + INTEGER + } + + isisIPRADestType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of this IP Reachable Address." + ::= { isisIPRAEntry 1 } + + + + + isisIPRADest OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The destination of this IP Reachable Address. This is + a network address, subnetwork address, or host + address. + + The type of this address is determined by the value of + the isisIPRADestType object." + + ::= { isisIPRAEntry 2 } + + isisIPRADestPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length of the IP Netmask for Reachability Address. + + The values for the index objects isisIPRADest and + isisIPRADestPrefixLen must be consistent. When the value + of isisIPRADest (excluding the zone index, if one + is present) is x, then the bitwise logical-AND + of x with the value of the mask formed from the + corresponding index object isisIPRADestPrefixLen MUST be + equal to x. If not, then the index pair is not + consistent, and an inconsistentName error must be + returned on SET or CREATE requests." + ::= { isisIPRAEntry 3 } + + isisIPRANextHopIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Index of next hop. Used when there are multiple Equal + Cost Multipath alternatives for the same destination." + ::= { isisIPRAEntry 4 } + + isisIPRANextHopType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of the IP next hop address." + ::= { isisIPRAEntry 5 } + + + + isisIPRANextHop OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP next hop to this destination. + + The type of this address is determined by the value of + the isisIPRANextHopType object." + ::= { isisIPRAEntry 6 } + + isisIPRAType OBJECT-TYPE + SYNTAX INTEGER + { + manual (1), + automatic (2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of this IP Reachable Address. Those of type + manual are created by the network manager. Those of type + automatic are created through propagation of routing + information from another routing protocol. This object + follows the ManualOrAutomatic behavior." + ::= { isisIPRAEntry 7 } + + isisIPRAExistState OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The state of this IP Reachable Address. This object + follows the ExistenceState and ManualOrAutomatic + behaviors. Support for 'createAndWait' and + 'notInService' is not required. + + A row entry cannot be modified when the value of this + object is 'active'." + ::= { isisIPRAEntry 8 } + + isisIPRAAdminState OBJECT-TYPE + SYNTAX IsisAdminState + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The administrative state of the IP Reachable Address. This + object follows the IsisAdminState and ManualOrAutomatic + + + + behaviors." + DEFVAL { off } + ::= { isisIPRAEntry 9 } + + isisIPRAMetric OBJECT-TYPE + SYNTAX IsisDefaultMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric value for reaching the specified + destination over this circuit. This object follows the + ManualOrAutomatic behavior." + DEFVAL { 10 } + ::= { isisIPRAEntry 10 } + + isisIPRAMetricType OBJECT-TYPE + SYNTAX IsisMetricType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether the metric is internal or + external. This object follows the ManualOrAutomatic + behavior." + DEFVAL { internal } + ::= { isisIPRAEntry 11 } + + isisIPRAFullMetric OBJECT-TYPE + SYNTAX IsisFullMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The wide metric value for reaching the specified + destination over this circuit. This object follows the + ManualOrAutomatic behavior." + DEFVAL { 10 } + ::= { isisIPRAEntry 12 } + + isisIPRASNPAAddress OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The SNPA Address to which a PDU may be forwarded in + order to reach a destination that matches this IP + Reachable Address. This object follows the + ManualOrAutomatic behavior." + DEFVAL { ''H } + ::= { isisIPRAEntry 13 } + + + + isisIPRASourceType OBJECT-TYPE + SYNTAX INTEGER + { + static (1), + direct (2), + ospfv2 (3), + ospfv3 (4), + isis (5), + rip (6), + igrp (7), + eigrp (8), + bgp (9), + other (10) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The origin of this route." + ::= { isisIPRAEntry 14 } + +-- The LSP Database Table +-- +-- The first table provides Summary Information about LSPs +-- The next table provides a complete record + + isisLSPSummaryTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisLSPSummaryEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table of LSP Headers." + ::= { isisLSPDataBase 1 } + + isisLSPSummaryEntry OBJECT-TYPE + SYNTAX IsisLSPSummaryEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry provides a summary describing an + LSP currently stored in the system. + + Dynamically learned rows will not survive an + agent reboot." + INDEX { isisLSPLevel, + isisLSPID } + ::= { isisLSPSummaryTable 1 } + + IsisLSPSummaryEntry ::= + + + + SEQUENCE { + isisLSPLevel + IsisISLevel, + isisLSPID + IsisLinkStatePDUID, + isisLSPSeq + Unsigned32, + isisLSPZeroLife + TruthValue, + isisLSPChecksum + IsisUnsigned16TC, + isisLSPLifetimeRemain + IsisUnsigned16TC, + isisLSPPDULength + IsisUnsigned16TC, + isisLSPAttributes + IsisUnsigned8TC + } + + isisLSPLevel OBJECT-TYPE + SYNTAX IsisISLevel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "At which level does this LSP appear?" + ::= { isisLSPSummaryEntry 1 } + + isisLSPID OBJECT-TYPE + SYNTAX IsisLinkStatePDUID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 8-byte LSP ID for this Link State PDU." + ::= { isisLSPSummaryEntry 2 } + + isisLSPSeq OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number for this LSP." + ::= { isisLSPSummaryEntry 3 } + + isisLSPZeroLife OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "Is this LSP being purged by this system?" + ::= { isisLSPSummaryEntry 4 } + + isisLSPChecksum OBJECT-TYPE + SYNTAX IsisUnsigned16TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 16-bit Fletcher Checksum for this LSP." + ::= { isisLSPSummaryEntry 5 } + + isisLSPLifetimeRemain OBJECT-TYPE + SYNTAX IsisUnsigned16TC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remaining lifetime, in seconds, for this LSP." + ::= { isisLSPSummaryEntry 6 } + + isisLSPPDULength OBJECT-TYPE + SYNTAX IsisUnsigned16TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The length of this LSP." + ::= { isisLSPSummaryEntry 7 } + + isisLSPAttributes OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Flags carried by the LSP." + ::= { isisLSPSummaryEntry 8 } + +-- LSP Table +-- +-- The full LSP as a sequence of {Type, Len, Value} tuples +-- Since the underlying LSP may have changed while downloading +-- TLVs, we provide the Sequence number and Checksum for each +-- LSP TLV, so the network manager may verify that they are +-- still working on the same version of the LSP. + + isisLSPTLVTable OBJECT-TYPE + SYNTAX SEQUENCE OF IsisLSPTLVEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "The table of LSPs in the database." + ::= { isisLSPDataBase 2 } + + isisLSPTLVEntry OBJECT-TYPE + SYNTAX IsisLSPTLVEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry describes a TLV within + an LSP currently stored in the system. + + Dynamically learned rows will not survive an + agent reboot." + INDEX { isisLSPLevel, + isisLSPID, + isisLSPTLVIndex } + ::= { isisLSPTLVTable 1 } + + IsisLSPTLVEntry ::= + SEQUENCE { + isisLSPTLVIndex + Unsigned32, + isisLSPTLVSeq + Unsigned32, + isisLSPTLVChecksum + IsisUnsigned16TC, + isisLSPTLVType + IsisUnsigned8TC, + isisLSPTLVLen + IsisUnsigned8TC, + isisLSPTLVValue + OCTET STRING + } + + isisLSPTLVIndex OBJECT-TYPE + SYNTAX Unsigned32(1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index of this TLV in the LSP. The first TLV has + index 1, and the Nth TLV has an index of N." + ::= { isisLSPTLVEntry 1 } + + isisLSPTLVSeq OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "The sequence number for this LSP." + ::= { isisLSPTLVEntry 2 } + + isisLSPTLVChecksum OBJECT-TYPE + SYNTAX IsisUnsigned16TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 16-bit Fletcher Checksum for this LSP." + ::= { isisLSPTLVEntry 3 } + + isisLSPTLVType OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of this TLV." + ::= { isisLSPTLVEntry 4 } + + isisLSPTLVLen OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The length of this TLV." + ::= { isisLSPTLVEntry 5 } + + isisLSPTLVValue OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of this TLV." + ::= { isisLSPTLVEntry 6 } + + +-- The IS-IS Notification Table + +-- The IS-IS Notification Table records fields that are +-- required for notifications + + isisNotificationEntry OBJECT IDENTIFIER + ::= { isisNotification 1 } + + isisNotificationSysLevelIndex OBJECT-TYPE + SYNTAX IsisLevel + MAX-ACCESS accessible-for-notify + + + + STATUS current + DESCRIPTION + "The system level for this notification." + ::= { isisNotificationEntry 1 } + + isisNotificationCircIfIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The identifier of this circuit relevant to + this notification." + ::= { isisNotificationEntry 2 } + + isisPduLspId OBJECT-TYPE + SYNTAX IsisLinkStatePDUID + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "An Octet String that uniquely identifies + a Link State PDU." + ::= { isisNotificationEntry 3 } + + isisPduFragment OBJECT-TYPE + SYNTAX IsisPDUHeader + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds up to 64 initial bytes of a PDU that + triggered the notification." + ::= { isisNotificationEntry 4 } + + isisPduFieldLen OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the System ID length reported in PDU we received." + ::= { isisNotificationEntry 5 } + + isisPduMaxAreaAddress OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the Max Area Addresses reported in a PDU + we received." + ::= { isisNotificationEntry 6 } + + + + isisPduProtocolVersion OBJECT-TYPE + SYNTAX IsisUnsigned8TC + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the Protocol version reported in PDU we received." + ::= { isisNotificationEntry 7 } + + isisPduLspSize OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the size of LSP we received that is too + big to forward." + ::= { isisNotificationEntry 8 } + + isisPduOriginatingBufferSize OBJECT-TYPE + SYNTAX IsisUnsigned16TC (0..16000) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the size of isisSysLevelOrigLSPBuffSize advertised + by the peer in the originatingLSPBufferSize TLV. + If the peer does not advertise this TLV, this + value is set to 0." + ::= { isisNotificationEntry 9 } + + isisPduBufferSize OBJECT-TYPE + SYNTAX IsisUnsigned16TC (0..16000) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Holds the size of LSP received from peer." + ::= { isisNotificationEntry 10 } + + isisPduProtocolsSupported OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..255)) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The list of protocols supported by an + adjacent system. This may be empty." + ::= { isisNotificationEntry 11 } + + isisAdjState OBJECT-TYPE + SYNTAX INTEGER + { + + + + down (1), + initializing (2), + up (3), + failed(4) + } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The current state of an adjacency." + ::= { isisNotificationEntry 12 } + + isisErrorOffset OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "An offset to a problem in a PDU. If the problem + is a malformed TLV, this points to the beginning + of the TLV. If the problem is in the header, this + points to the byte that is suspicious." + ::= { isisNotificationEntry 13 } + + isisErrorTLVType OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The type for a malformed TLV." + ::= { isisNotificationEntry 14 } + + isisNotificationAreaAddress OBJECT-TYPE + SYNTAX IsisOSINSAddress + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "An Area Address." + ::= { isisNotificationEntry 15 } + +-- Notification definitions +-- +-- Note that notifications can be disabled by setting +-- isisSysNotificationEnable false + + isisDatabaseOverload NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisSysLevelState + } + + + + STATUS current + DESCRIPTION + "This notification is generated when the system + enters or leaves the Overload state. The number + of times this has been generated and cleared is kept + track of by isisSysStatLSPDbaseOloads." + ::= { isisNotifications 1 } + + isisManualAddressDrops NOTIFICATION-TYPE + OBJECTS { + isisNotificationAreaAddress + } + STATUS current + DESCRIPTION + "This notification is generated when one of the + manual areaAddresses assigned to this system is + ignored when computing routes. The object + isisNotificationAreaAddress describes the area that + has been dropped. + + The number of times this event has been generated + is counted by isisSysStatManAddrDropFromAreas. + + The agent must throttle the generation of + consecutive isisManualAddressDrops notifications + so that there is at least a 5-second gap between + notifications of this type. When notifications + are throttled, they are dropped, not queued for + sending at a future time." + ::= { isisNotifications 2 } + + isisCorruptedLSPDetected NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisPduLspId + } + STATUS current + DESCRIPTION + "This notification is generated when we find that + an LSP that was stored in memory has become + corrupted. The number of times this has been + generated is counted by isisSysCorrLSPs. + + We forward an LSP ID. We may have independent + knowledge of the ID, but in some implementations + there is a chance that the ID itself will be + corrupted." + + + + + ::= { isisNotifications 3 } + + isisAttemptToExceedMaxSequence NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisPduLspId + } + STATUS current + DESCRIPTION + "When the sequence number on an LSP we generate + wraps the 32-bit sequence counter, we purge and + wait to re-announce this information. This + notification describes that event. Since these + should not be generated rapidly, we generate + an event each time this happens. + + While the first 6 bytes of the LSPID are ours, + the other two contain useful information." + + ::= { isisNotifications 4 } + + isisIDLenMismatch NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisPduFieldLen, + isisNotificationCircIfIndex, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a PDU + with a different value for the System ID Length. + This notification includes an index to identify + the circuit where we saw the PDU and the header of + the PDU, which may help a network manager identify + the source of the confusion. + + The agent must throttle the generation of + consecutive isisIDLenMismatch notifications + so that there is at least a 5-second gap between + notifications of this type. When notifications + are throttled, they are dropped, not queued for + sending at a future time." + + ::= { isisNotifications 5 } + + isisMaxAreaAddressesMismatch NOTIFICATION-TYPE + OBJECTS { + + + + isisNotificationSysLevelIndex, + isisPduMaxAreaAddress, + isisNotificationCircIfIndex, + isisPduFragment + } + + STATUS current + DESCRIPTION + "A notification sent when we receive a PDU + with a different value for the Maximum Area + Addresses. This notification includes the + header of the packet, which may help a + network manager identify the source of the + confusion. + + The agent must throttle the generation of + consecutive isisMaxAreaAddressesMismatch + notifications so that there is at least a 5-second + gap between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 6 } + + isisOwnLSPPurge NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspId + } + STATUS current + DESCRIPTION + "A notification sent when we receive a PDU + with our systemID and zero age. This + notification includes the circuit Index + and router ID from the LSP, if available, + which may help a network manager + identify the source of the confusion." + + ::= { isisNotifications 7 } + + isisSequenceNumberSkip NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspId + } + STATUS current + + + + DESCRIPTION + "When we receive an LSP with our System ID + and different contents, we may need to reissue + the LSP with a higher sequence number. + + We send this notification if we need to increase + the sequence number by more than one. If two + Intermediate Systems are configured with the same + System ID, this notification will fire." + + ::= { isisNotifications 8 } + + isisAuthenticationTypeFailure NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a PDU + with the wrong authentication type field. + This notification includes the header of the + packet, which may help a network manager + identify the source of the confusion. + + The agent must throttle the generation of + consecutive isisAuthenticationTypeFailure + notifications so that there is at least a 5-second + gap between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 9 } + + isisAuthenticationFailure NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a PDU + with an incorrect authentication information + field. This notification includes the header + of the packet, which may help a network manager + identify the source of the confusion. + + + + The agent must throttle the generation of + consecutive isisAuthenticationFailure + notifications so that there is at least a 5-second + gap between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 10 } + + isisVersionSkew NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduProtocolVersion, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a Hello + PDU from an IS running a different version + of the protocol. This notification includes + the header of the packet, which may help a + network manager identify the source of the + confusion. + + The agent must throttle the generation of + consecutive isisVersionSkew notifications + so that there is at least a 5-second gap + between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 11 } + + isisAreaMismatch NOTIFICATION-TYPE + OBJECTS { + isisNotificationCircIfIndex, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a Hello + PDU from an IS that does not share any + area address. This notification includes + the header of the packet, which may help a + network manager identify the source of the + confusion. + + + + + The agent must throttle the generation of + consecutive isisAreaMismatch notifications + so that there is at least a 5-second gap + between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 12 } + + isisRejectedAdjacency NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when we receive a Hello + PDU from an IS but do not establish an + adjacency for some reason. + + The agent must throttle the generation of + consecutive isisRejectedAdjacency notifications + so that there is at least a 5-second gap + between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 13 } + + isisLSPTooLargeToPropagate NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspSize, + isisPduLspId + } + STATUS current + DESCRIPTION + "A notification sent when we attempt to propagate + an LSP that is larger than the dataLinkBlockSize + for the circuit. + + The agent must throttle the generation of + consecutive isisLSPTooLargeToPropagate notifications + so that there is at least a 5-second gap + between notifications of this type. When + notifications are throttled, they are dropped, not + + + + queued for sending at a future time." + + ::= { isisNotifications 14 } + + isisOrigLSPBuffSizeMismatch NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspId, + isisPduOriginatingBufferSize, + isisPduBufferSize + } + STATUS current + DESCRIPTION + "A notification sent when a Level 1 LSP or Level + 2 LSP is received that is larger than the local + value for isisSysLevelOrigLSPBuffSize, or when an + LSP is received that contains the supported Buffer Size + option and the value in the PDU option field does + not match the local value for isisSysLevelOrigLSPBuffSize. + We pass up the size from the option field and the + size of the LSP when one of them exceeds our configuration. + + The agent must throttle the generation of + consecutive isisOrigLSPBuffSizeMismatch notifications + so that there is at least a 5-second gap + between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 15 } + + isisProtocolsSupportedMismatch NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduProtocolsSupported, + isisPduLspId, + isisPduFragment + } + STATUS current + DESCRIPTION + "A notification sent when a non-pseudonode + segment 0 LSP is received that has no matching + protocols supported. This may be because the system + does not generate the field, or because there are no + common elements. The list of protocols supported + should be included in the notification: it may be + + + + empty if the TLV is not supported, or if the + TLV is empty. + + The agent must throttle the generation of + consecutive isisProtocolsSupportedMismatch + notifications so that there is at least a 5-second + gap between notifications of this type. When + notifications are throttled, they are dropped, not + queued for sending at a future time." + + ::= { isisNotifications 16 } + + isisAdjacencyChange NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspId, + isisAdjState + } + STATUS current + DESCRIPTION + "A notification sent when an adjacency changes + state, entering or leaving state up. + The first 6 bytes of the isisPduLspId are the + SystemID of the adjacent IS. + The isisAdjState is the new state of the adjacency." + + ::= { isisNotifications 17 } + + isisLSPErrorDetected NOTIFICATION-TYPE + OBJECTS { + isisNotificationSysLevelIndex, + isisPduLspId, + isisNotificationCircIfIndex, + isisPduFragment, + isisErrorOffset, + isisErrorTLVType + } + STATUS current + DESCRIPTION + "This notification is generated when we receive + an LSP with a parse error. The isisCircIfIndex + holds an index of the circuit on which the PDU + arrived. The isisPduFragment holds the start of the + LSP, and the isisErrorOffset points to the problem. + + If the problem is a malformed TLV, isisErrorOffset + points to the start of the TLV, and isisErrorTLVType + + + + holds the value of the type. + + If the problem is with the LSP header, isisErrorOffset + points to the suspicious byte. + + The number of such LSPs is accumulated in + isisSysStatLSPErrors." + + ::= { isisNotifications 18 } + +-- Agent Conformance Definitions +-- We define the objects a conformant agent must define + +isisCompliances OBJECT IDENTIFIER ::= { isisConformance 1 } +isisGroups OBJECT IDENTIFIER ::= { isisConformance 2 } + +-- compliance statements + + isisCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that support + the IS-IS MIB. + + There are a number of INDEX objects that cannot be + represented in the form of OBJECT clauses in SMIv2, + but for which there are compliance requirements. + Those requirements and similar requirements for + related objects are expressed below, in + pseudo-OBJECT clause form, in this description: + + -- OBJECT isisSummAddressType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 Summary + -- Addresses and anticipates the support of + -- IPv6 addresses. + -- + -- + -- OBJECT isisRedistributeAddrType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 + -- Redistribution Addresses and anticipates + -- the support of IPv6 addresses." + -- + + + + -- + -- OBJECT isisISAdjIPAddrType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 + -- Adjacency Addresses and anticipates the + -- support of IPv6 addresses. + MODULE -- this module + MANDATORY-GROUPS { + isisSystemGroup, + isisCircuitGroup, + isisISAdjGroup, + isisNotificationObjectGroup, + isisNotificationGroup + } + ::= { isisCompliances 1 } + + -- List of all groups, mandatory and optional + isisAdvancedCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that fully + support the IS-IS MIB. + + There are a number of INDEX objects that cannot be + represented in the form of OBJECT clauses in SMIv2, + but for which there are compliance requirements. + Those requirements and similar requirements for + related objects are expressed below, in + pseudo-OBJECT clause form, in this description: + + -- OBJECT isisSummAddressType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 Summary + -- Addresses and anticipates the support of + -- IPv6 addresses. + -- + -- + -- OBJECT isisRedistributeAddrType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 + -- Redistribution Addresses and anticipates + -- the support of IPv6 addresses." + + + + -- + -- + -- OBJECT isisISAdjIPAddrType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 + -- Adjacency Addresses and anticipates the + -- support of IPv6 addresses. + -- + -- + -- OBJECT isisIPRADestType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 RA + -- Addresses and anticipates the support of + -- IPv6 addresses. + -- + -- + -- OBJECT isisIPRANextHopType + -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } + -- + -- DESCRIPTION + -- The MIB requires support for IPv4 NextHop + -- Addresses and anticipates the support of + -- IPv6 addresses. + MODULE -- this module + MANDATORY-GROUPS { + isisSystemGroup, + isisCircuitGroup, + isisISAdjGroup, + isisNotificationObjectGroup, + isisNotificationGroup, + isisISPDUCounterGroup, + isisRATableGroup, + isisISIPRADestGroup, + isisLSPGroup + } + ::= { isisCompliances 2 } + + isisReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB is implemented without support for + read-create (i.e., in read-only mode), the + implementation can claim read-only compliance. Such + a device can then be monitored but cannot be + + + + configured with this MIB." + MODULE -- this module + MANDATORY-GROUPS { + isisSystemGroup, + isisCircuitGroup, + isisISAdjGroup + } + + OBJECT isisSysLevelType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysID + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysMaxPathSplits + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysMaxLSPGenInt + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysPollESHelloRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysWaitTime + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysAdminState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysL2toL1Leaking + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + OBJECT isisSysMaxAge + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisManAreaAddrExistState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelOrigLSPBuffSize + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelMinLSPGenInt + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelSetOverload + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelSetOverloadUntil + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelMetricStyle + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelSPFConsiders + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysLevelTEEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSysReceiveLSPBufferSize + MIN-ACCESS read-only + DESCRIPTION + + + + "Write access is not required." + + OBJECT isisSummAddrExistState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSummAddrMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisSummAddrFullMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisRedistributeAddrExistState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircAdminState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircExistState + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircExtDomain + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircPassiveCircuit + + + + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircMeshGroupEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircMeshGroup + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircSmallHellos + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircExtendedCircID + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircIfIndex + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCirc3WayEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelWideMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelISPriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + OBJECT isisCircLevelHelloMultiplier + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelHelloTimer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelDRHelloTimer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelLSPThrottle + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelMinLSPRetransInt + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelCSNPInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT isisCircLevelPartSNPInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { isisCompliances 3 } + +-- MIB Grouping + + isisSystemGroup OBJECT-GROUP + OBJECTS { + isisSysVersion, + isisSysLevelType, + isisSysID, + isisSysMaxPathSplits, + isisSysMaxLSPGenInt, + isisSysPollESHelloRate, + isisSysWaitTime, + + + + isisSysAdminState, + isisSysL2toL1Leaking, + isisSysMaxAge, + isisSysProtSupported, + isisSysNotificationEnable, + isisManAreaAddrExistState, + isisSysLevelOrigLSPBuffSize, + isisSysLevelMinLSPGenInt, + isisSysLevelState, + isisSysLevelSetOverload, + isisSysLevelSetOverloadUntil, + isisSysLevelMetricStyle, + isisSysLevelSPFConsiders, + isisSysLevelTEEnabled, + isisSysReceiveLSPBufferSize, + isisSummAddrExistState, + isisSummAddrMetric, + isisAreaAddr, + isisSummAddrFullMetric, + isisRedistributeAddrExistState, + isisRouterHostName, + isisRouterID, + isisSysStatCorrLSPs, + isisSysStatLSPDbaseOloads, + isisSysStatManAddrDropFromAreas, + isisSysStatAttmptToExMaxSeqNums, + isisSysStatSeqNumSkips, + isisSysStatOwnLSPPurges, + isisSysStatIDFieldLenMismatches, + isisSysStatPartChanges, + isisSysStatSPFRuns, + isisSysStatAuthTypeFails, + isisSysStatAuthFails, + isisSysStatLSPErrors + } + STATUS current + DESCRIPTION + "The collections of objects used to manage an + IS-IS router." + ::= { isisGroups 1 } + + isisCircuitGroup OBJECT-GROUP + OBJECTS { + isisNextCircIndex, + isisCircAdminState, + isisCircExistState, + isisCircType, + isisCircExtDomain, + + + + isisCircLevelType, + isisCircAdjChanges, + isisCircNumAdj, + isisCircInitFails, + isisCircRejAdjs, + isisCircIDFieldLenMismatches, + isisCircMaxAreaAddrMismatches, + isisCircAuthTypeFails, + isisCircAuthFails, + isisCircLANDesISChanges, + isisCircPassiveCircuit, + isisCircMeshGroupEnabled, + isisCircMeshGroup, + isisCircSmallHellos, + isisCircLastUpTime, + isisCirc3WayEnabled, + isisCircExtendedCircID, + isisCircIfIndex, + isisCircLevelMetric, + isisCircLevelWideMetric, + isisCircLevelISPriority, + isisCircLevelIDOctet, + isisCircLevelID, + isisCircLevelDesIS, + isisCircLevelHelloMultiplier, + isisCircLevelHelloTimer, + isisCircLevelDRHelloTimer, + isisCircLevelLSPThrottle, + isisCircLevelMinLSPRetransInt, + isisCircLevelCSNPInterval, + isisCircLevelPartSNPInterval + } + STATUS current + DESCRIPTION + "The collections of objects used to describe an + IS-IS Circuit." + ::= { isisGroups 2 } + + isisISAdjGroup OBJECT-GROUP + OBJECTS { + isisISAdjState, + isisISAdj3WayState, + isisISAdjNeighSNPAAddress, + isisISAdjNeighSysType, + isisISAdjNeighSysID, + isisISAdjNbrExtendedCircID, + isisISAdjUsage, + isisISAdjHoldTimer, + + + + isisISAdjNeighPriority, + isisISAdjLastUpTime, + isisISAdjAreaAddress, + isisISAdjIPAddrType, + isisISAdjIPAddrAddress, + isisISAdjProtSuppProtocol + } + STATUS current + DESCRIPTION + "The collections of objects used to manage an + IS-IS Adjacency." + ::= { isisGroups 3 } + + isisNotificationObjectGroup OBJECT-GROUP + OBJECTS { + isisNotificationSysLevelIndex, + isisNotificationCircIfIndex, + isisPduLspId, + isisPduFragment, + isisPduFieldLen, + isisPduMaxAreaAddress, + isisPduProtocolVersion, + isisPduLspSize, + isisPduOriginatingBufferSize, + isisPduBufferSize, + isisPduProtocolsSupported, + isisAdjState, + isisErrorOffset, + isisErrorTLVType, + isisNotificationAreaAddress + } + STATUS current + DESCRIPTION + "The objects used to record notification parameters." + ::= { isisGroups 4 } + + + isisNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + isisDatabaseOverload, + isisManualAddressDrops, + isisCorruptedLSPDetected, + isisAttemptToExceedMaxSequence, + isisIDLenMismatch, + isisMaxAreaAddressesMismatch, + isisOwnLSPPurge, + isisSequenceNumberSkip, + isisAuthenticationTypeFailure, + + + + isisAuthenticationFailure, + isisVersionSkew, + isisAreaMismatch, + isisRejectedAdjacency, + isisLSPTooLargeToPropagate, + isisOrigLSPBuffSizeMismatch, + isisProtocolsSupportedMismatch, + isisAdjacencyChange, + isisLSPErrorDetected + } + STATUS current + DESCRIPTION + "The collections of notifications sent by an IS." + ::= { isisGroups 5 } + + + isisISPDUCounterGroup OBJECT-GROUP + OBJECTS { + isisPacketCountIIHello, + isisPacketCountISHello, + isisPacketCountESHello, + isisPacketCountLSP, + isisPacketCountCSNP, + isisPacketCountPSNP, + isisPacketCountUnknown + } + STATUS current + DESCRIPTION + "The collections of objects used to count protocol PDUs." + ::= { isisGroups 6 } + + + isisRATableGroup OBJECT-GROUP + OBJECTS { + isisRAExistState, + isisRAAdminState, + isisRAAddrPrefix, + isisRAMapType, + isisRAMetric, + isisRAMetricType, + isisRASNPAAddress, + isisRASNPAMask, + isisRASNPAPrefix, + isisRAType + } + STATUS current + DESCRIPTION + "The collections of objects used to manage the + + + + reachable NSAP prefixes." + ::= { isisGroups 7 } + + + isisISIPRADestGroup OBJECT-GROUP + OBJECTS { + isisIPRANextHopType, + isisIPRANextHop, + isisIPRAType, + isisIPRAExistState, + isisIPRAAdminState, + isisIPRAMetric, + isisIPRAFullMetric, + isisIPRAMetricType, + isisIPRASNPAAddress, + isisIPRASourceType + } + STATUS current + DESCRIPTION + "The collections of objects used to manage configured + IP addresses." + ::= { isisGroups 8 } + + isisLSPGroup OBJECT-GROUP + OBJECTS { + isisLSPSeq, + isisLSPZeroLife, + isisLSPChecksum, + isisLSPLifetimeRemain, + isisLSPPDULength, + isisLSPAttributes, + isisLSPTLVSeq, + isisLSPTLVChecksum, + isisLSPTLVType, + isisLSPTLVLen, + isisLSPTLVValue + } + STATUS current + DESCRIPTION + "The collections of objects used to observe the LSP + Database." + ::= { isisGroups 9 } + +END \ No newline at end of file diff --git a/mibs/LLDP-MIB.txt b/mibs/LLDP-MIB.txt new file mode 100644 index 00000000..106cee4b --- /dev/null +++ b/mibs/LLDP-MIB.txt @@ -0,0 +1,2032 @@ +LLDP-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, NOTIFICATION-TYPE + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, TimeStamp, TruthValue + FROM SNMPv2-TC + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + TimeFilter, ZeroBasedCounter32 + FROM RMON2-MIB + AddressFamilyNumbers + FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB; + +lldpMIB MODULE-IDENTITY + LAST-UPDATED "200505060000Z" -- May 06, 2005 + ORGANIZATION "IEEE 802.1 Working Group" + CONTACT-INFO + " WG-URL: http://grouper.ieee.org/groups/802/1/index.html + WG-EMail: stds-802-1@ieee.org + + Contact: Paul Congdon + Postal: Hewlett-Packard Company + 8000 Foothills Blvd. + Roseville, CA 95747 + USA + Tel: +1-916-785-5753 + E-mail: paul_congdon@hp.com" + DESCRIPTION + "Management Information Base module for LLDP configuration, + statistics, local system data and remote systems data + components. + + Copyright (C) IEEE (2005). This version of this MIB module + is published as subclause 12.1 of IEEE Std 802.1AB-2005; + see the standard itself for full legal notices." + REVISION "200505060000Z" -- May 06, 2005 + DESCRIPTION + "Published as part of IEEE Std 802.1AB-2005 initial version." + ::= { iso std(0) iso8802(8802) ieee802dot1(1) ieee802dot1mibs(1) 2 } + +lldpNotifications OBJECT IDENTIFIER ::= { lldpMIB 0 } +lldpObjects OBJECT IDENTIFIER ::= { lldpMIB 1 } +lldpConformance OBJECT IDENTIFIER ::= { lldpMIB 2 } + +-- +-- LLDP MIB Objects +-- + +lldpConfiguration OBJECT IDENTIFIER ::= { lldpObjects 1 } +lldpStatistics OBJECT IDENTIFIER ::= { lldpObjects 2 } +lldpLocalSystemData OBJECT IDENTIFIER ::= { lldpObjects 3 } +lldpRemoteSystemsData OBJECT IDENTIFIER ::= { lldpObjects 4 } +lldpExtensions OBJECT IDENTIFIER ::= { lldpObjects 5 } + +-- +-- *********************************************************** +-- +-- Textual Conventions +-- +-- *********************************************************** + +LldpChassisIdSubtype ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the source of a chassis identifier. + + The enumeration 'chassisComponent(1)' represents a chassis + identifier based on the value of entPhysicalAlias object + (defined in IETF RFC 2737) for a chassis component (i.e., + an entPhysicalClass value of 'chassis(3)'). + + The enumeration 'interfaceAlias(2)' represents a chassis + identifier based on the value of ifAlias object (defined in + IETF RFC 2863) for an interface on the containing chassis. + + The enumeration 'portComponent(3)' represents a chassis + identifier based on the value of entPhysicalAlias object + (defined in IETF RFC 2737) for a port or backplane + component (i.e., entPhysicalClass value of 'port(10)' or + 'backplane(4)'), within the containing chassis. + + The enumeration 'macAddress(4)' represents a chassis + identifier based on the value of a unicast source address + (encoded in network byte order and IEEE 802.3 canonical bit + order), of a port on the containing chassis as defined in + IEEE Std 802-2001. + + The enumeration 'networkAddress(5)' represents a chassis + identifier based on a network address, associated with + a particular chassis. The encoded address is actually + composed of two fields. The first field is a single octet, + representing the IANA AddressFamilyNumbers value for the + specific address type, and the second field is the network + address value. + + The enumeration 'interfaceName(6)' represents a chassis + identifier based on the value of ifName object (defined in + IETF RFC 2863) for an interface on the containing chassis. + + The enumeration 'local(7)' represents a chassis identifier + based on a locally defined value." + SYNTAX INTEGER { + chassisComponent(1), + interfaceAlias(2), + portComponent(3), + macAddress(4), + networkAddress(5), + interfaceName(6), + local(7) + } + +LldpChassisId ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the format of a chassis identifier string. + Objects of this type are always used with an associated + LldpChassisIdSubtype object, which identifies the format of + the particular LldpChassisId object instance. + + If the associated LldpChassisIdSubtype object has a value of + 'chassisComponent(1)', then the octet string identifies + a particular instance of the entPhysicalAlias object + (defined in IETF RFC 2737) for a chassis component (i.e., + an entPhysicalClass value of 'chassis(3)'). + + If the associated LldpChassisIdSubtype object has a value + of 'interfaceAlias(2)', then the octet string identifies + a particular instance of the ifAlias object (defined in + IETF RFC 2863) for an interface on the containing chassis. + If the particular ifAlias object does not contain any values, + another chassis identifier type should be used. + + If the associated LldpChassisIdSubtype object has a value + of 'portComponent(3)', then the octet string identifies a + particular instance of the entPhysicalAlias object (defined + in IETF RFC 2737) for a port or backplane component within + the containing chassis. + + If the associated LldpChassisIdSubtype object has a value of + 'macAddress(4)', then this string identifies a particular + unicast source address (encoded in network byte order and + IEEE 802.3 canonical bit order), of a port on the containing + chassis as defined in IEEE Std 802-2001. + + If the associated LldpChassisIdSubtype object has a value of + 'networkAddress(5)', then this string identifies a particular + network address, encoded in network byte order, associated + with one or more ports on the containing chassis. The first + octet contains the IANA Address Family Numbers enumeration + value for the specific address type, and octets 2 through + N contain the network address value in network byte order. + + If the associated LldpChassisIdSubtype object has a value + of 'interfaceName(6)', then the octet string identifies + a particular instance of the ifName object (defined in + IETF RFC 2863) for an interface on the containing chassis. + If the particular ifName object does not contain any values, + another chassis identifier type should be used. + + If the associated LldpChassisIdSubtype object has a value of + 'local(7)', then this string identifies a locally assigned + Chassis ID." + SYNTAX OCTET STRING (SIZE (1..255)) + +LldpPortIdSubtype ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the source of a particular type of port + identifier used in the LLDP MIB. + + The enumeration 'interfaceAlias(1)' represents a port + identifier based on the ifAlias MIB object, defined in IETF + RFC 2863. + + The enumeration 'portComponent(2)' represents a port + identifier based on the value of entPhysicalAlias (defined in + IETF RFC 2737) for a port component (i.e., entPhysicalClass + value of 'port(10)'), within the containing chassis. + + The enumeration 'macAddress(3)' represents a port identifier + based on a unicast source address (encoded in network + byte order and IEEE 802.3 canonical bit order), which has + been detected by the agent and associated with a particular + port (IEEE Std 802-2001). + + The enumeration 'networkAddress(4)' represents a port + identifier based on a network address, detected by the agent + and associated with a particular port. + + The enumeration 'interfaceName(5)' represents a port + identifier based on the ifName MIB object, defined in IETF + RFC 2863. + + The enumeration 'agentCircuitId(6)' represents a port + identifier based on the agent-local identifier of the circuit + (defined in RFC 3046), detected by the agent and associated + with a particular port. + + The enumeration 'local(7)' represents a port identifier + based on a value locally assigned." + + SYNTAX INTEGER { + interfaceAlias(1), + portComponent(2), + macAddress(3), + networkAddress(4), + interfaceName(5), + agentCircuitId(6), + local(7) + } + +LldpPortId ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the format of a port identifier string. + Objects of this type are always used with an associated + LldpPortIdSubtype object, which identifies the format of the + particular LldpPortId object instance. + + If the associated LldpPortIdSubtype object has a value of + 'interfaceAlias(1)', then the octet string identifies a + particular instance of the ifAlias object (defined in IETF + RFC 2863). If the particular ifAlias object does not contain + any values, another port identifier type should be used. + + If the associated LldpPortIdSubtype object has a value of + 'portComponent(2)', then the octet string identifies a + particular instance of the entPhysicalAlias object (defined + in IETF RFC 2737) for a port or backplane component. + + If the associated LldpPortIdSubtype object has a value of + 'macAddress(3)', then this string identifies a particular + unicast source address (encoded in network byte order + and IEEE 802.3 canonical bit order) associated with the port + (IEEE Std 802-2001). + + If the associated LldpPortIdSubtype object has a value of + 'networkAddress(4)', then this string identifies a network + address associated with the port. The first octet contains + the IANA AddressFamilyNumbers enumeration value for the + specific address type, and octets 2 through N contain the + networkAddress address value in network byte order. + + If the associated LldpPortIdSubtype object has a value of + 'interfaceName(5)', then the octet string identifies a + particular instance of the ifName object (defined in IETF + RFC 2863). If the particular ifName object does not contain + any values, another port identifier type should be used. + + If the associated LldpPortIdSubtype object has a value of + 'agentCircuitId(6)', then this string identifies a agent-local + identifier of the circuit (defined in RFC 3046). + + If the associated LldpPortIdSubtype object has a value of + 'local(7)', then this string identifies a locally + assigned port ID." + SYNTAX OCTET STRING (SIZE (1..255)) + +LldpManAddrIfSubtype ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the basis of a particular type of + interface associated with the management address. + + The enumeration 'unknown(1)' represents the case where the + interface is not known. + + The enumeration 'ifIndex(2)' represents interface identifier + based on the ifIndex MIB object. + + The enumeration 'systemPortNumber(3)' represents interface + identifier based on the system port numbering convention." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.5" + + SYNTAX INTEGER { + unknown(1), + ifIndex(2), + systemPortNumber(3) + } + +LldpManAddress ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The value of a management address associated with the LLDP + agent that may be used to reach higher layer entities to + assist discovery by network management. + + It should be noted that appropriate security credentials, + such as SNMP engineId, may be required to access the LLDP + agent using a management address. These necessary credentials + should be known by the network management and the objects + associated with the credentials are not included in the + LLDP agent." + SYNTAX OCTET STRING (SIZE (1..31)) + +LldpSystemCapabilitiesMap ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This TC describes the system capabilities. + + The bit 'other(0)' indicates that the system has capabilities + other than those listed below. + + The bit 'repeater(1)' indicates that the system has repeater + capability. + + The bit 'bridge(2)' indicates that the system has bridge + capability. + + The bit 'wlanAccessPoint(3)' indicates that the system has + WLAN access point capability. + + The bit 'router(4)' indicates that the system has router + capability. + + The bit 'telephone(5)' indicates that the system has telephone + capability. + + The bit 'docsisCableDevice(6)' indicates that the system has + DOCSIS Cable Device capability (IETF RFC 2669 & 2670). + + The bit 'stationOnly(7)' indicates that the system has only + station capability and nothing else." + SYNTAX BITS { + other(0), + repeater(1), + bridge(2), + wlanAccessPoint(3), + router(4), + telephone(5), + docsisCableDevice(6), + stationOnly(7) + } + +LldpPortNumber ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "Each port contained in the chassis (that is known to the + LLDP agent) is uniquely identified by a port number. + + A port number has no mandatory relationship to an + InterfaceIndex object (of the interfaces MIB, IETF RFC 2863). + If the LLDP agent is a IEEE 802.1D, IEEE 802.1Q bridge, the + LldpPortNumber will have the same value as the dot1dBasePort + object (defined in IETF RFC 1493) associated corresponding + bridge port. If the system hosting LLDP agent is not an + IEEE 802.1D or an IEEE 802.1Q bridge, the LldpPortNumber + will have the same value as the corresponding interface's + InterfaceIndex object. + + Port numbers should be in the range of 1 and 4096 since a + particular port is also represented by the corresponding + port number bit in LldpPortList." + SYNTAX Integer32(1..4096) + +LldpPortList ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Each octet within this value specifies a set of eight ports, + with the first octet specifying ports 1 through 8, the second + octet specifying ports 9 through 16, etc. Within each octet, + the most significant bit represents the lowest numbered port, + and the least significant bit represents the highest numbered + port. Thus, each port of the system is represented by a + single bit within the value of this object. If that bit has + a value of '1' then that port is included in the set of ports; + the port is not included if its bit has a value of '0'." + REFERENCE + "IETF RFC 2674 section 5" + SYNTAX OCTET STRING(SIZE(0..512)) + +-- +-- *********************************************************** +-- +-- L L D P C O N F I G +-- +-- *********************************************************** +-- + +lldpMessageTxInterval OBJECT-TYPE + SYNTAX Integer32(5..32768) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The interval at which LLDP frames are transmitted on + behalf of this LLDP agent. + + The default value for lldpMessageTxInterval object is + 30 seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + REFERENCE + "IEEE 802.1AB-2005 10.5.3.3" + DEFVAL { 30 } + ::= { lldpConfiguration 1 } + +lldpMessageTxHoldMultiplier OBJECT-TYPE + SYNTAX Integer32(2..10) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The time-to-live value expressed as a multiple of the + lldpMessageTxInterval object. The actual time-to-live value + used in LLDP frames, transmitted on behalf of this LLDP agent, + can be expressed by the following formula: TTL = min(65535, + (lldpMessageTxInterval * lldpMessageTxHoldMultiplier)) For + example, if the value of lldpMessageTxInterval is '30', and + the value of lldpMessageTxHoldMultiplier is '4', then the + value '120' is encoded in the TTL field in the LLDP header. + + The default value for lldpMessageTxHoldMultiplier object is 4. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + REFERENCE + "IEEE 802.1AB-2005 10.5.3.3" + DEFVAL { 4 } + ::= { lldpConfiguration 2 } + +lldpReinitDelay OBJECT-TYPE + SYNTAX Integer32(1..10) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The lldpReinitDelay indicates the delay (in units of + seconds) from when lldpPortConfigAdminStatus object of a + particular port becomes 'disabled' until re-initialization + will be attempted. + + The default value for lldpReintDelay object is two seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + REFERENCE + "IEEE 802.1AB-2005 10.5.3.3" + DEFVAL { 2 } + ::= { lldpConfiguration 3 } + +lldpTxDelay OBJECT-TYPE + SYNTAX Integer32(1..8192) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The lldpTxDelay indicates the delay (in units + of seconds) between successive LLDP frame transmissions + initiated by value/status changes in the LLDP local systems + MIB. The recommended value for the lldpTxDelay is set by the + following formula: + + 1 <= lldpTxDelay <= (0.25 * lldpMessageTxInterval) + + The default value for lldpTxDelay object is two seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + REFERENCE + "IEEE 802.1AB-2005 10.5.3.3" + DEFVAL { 2 } + ::= { lldpConfiguration 4 } + +lldpNotificationInterval OBJECT-TYPE + SYNTAX Integer32(5..3600) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object controls the transmission of LLDP notifications. + + the agent must not generate more than one lldpRemTablesChange + notification-event in the indicated period, where a + 'notification-event' is the transmission of a single + notification PDU type to a list of notification destinations. + If additional changes in lldpRemoteSystemsData object + groups occur within the indicated throttling period, + then these trap- events must be suppressed by the + agent. An NMS should periodically check the value of + lldpStatsRemTableLastChangeTime to detect any missed + lldpRemTablesChange notification-events, e.g. due to + throttling or transmission loss. + + If notification transmission is enabled for particular ports, + the suggested default throttling period is 5 seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + DEFVAL { 5 } + ::= { lldpConfiguration 5 } + +-- +-- lldpPortConfigTable: LLDP configuration on a per port basis +-- + +lldpPortConfigTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpPortConfigEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table that controls LLDP frame transmission on individual + ports." + ::= { lldpConfiguration 6 } + +lldpPortConfigEntry OBJECT-TYPE + SYNTAX LldpPortConfigEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "LLDP configuration information for a particular port. + This configuration parameter controls the transmission and + the reception of LLDP frames on those ports whose rows are + created in this table." + INDEX { lldpPortConfigPortNum } + ::= { lldpPortConfigTable 1 } + +LldpPortConfigEntry ::= SEQUENCE { + lldpPortConfigPortNum LldpPortNumber, + lldpPortConfigAdminStatus INTEGER, + lldpPortConfigNotificationEnable TruthValue, + lldpPortConfigTLVsTxEnable BITS } + +lldpPortConfigPortNum OBJECT-TYPE + SYNTAX LldpPortNumber + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpPortConfigTable." + ::= { lldpPortConfigEntry 1 } + +lldpPortConfigAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + txOnly(1), + rxOnly(2), + txAndRx(3), + disabled(4) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administratively desired status of the local LLDP agent. + + If the associated lldpPortConfigAdminStatus object has a + value of 'txOnly(1)', then LLDP agent will transmit LLDP + frames on this port and it will not store any information + about the remote systems connected. + + If the associated lldpPortConfigAdminStatus object has a + value of 'rxOnly(2)', then the LLDP agent will receive, + but it will not transmit LLDP frames on this port. + + If the associated lldpPortConfigAdminStatus object has a + value of 'txAndRx(3)', then the LLDP agent will transmit + and receive LLDP frames on this port. + + If the associated lldpPortConfigAdminStatus object has a + value of 'disabled(4)', then LLDP agent will not transmit or + receive LLDP frames on this port. If there is remote systems + information which is received on this port and stored in + other tables, before the port's lldpPortConfigAdminStatus + becomes disabled, then the information will naturally age out." + REFERENCE + "IEEE 802.1AB-2005 10.5.1" + DEFVAL { txAndRx } + ::= { lldpPortConfigEntry 2 } + +lldpPortConfigNotificationEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The lldpPortConfigNotificationEnable controls, on a per + port basis, whether or not notifications from the agent + are enabled. The value true(1) means that notifications are + enabled; the value false(2) means that they are not." + DEFVAL { false } + ::= { lldpPortConfigEntry 3 } + +lldpPortConfigTLVsTxEnable OBJECT-TYPE + SYNTAX BITS { + portDesc(0), + sysName(1), + sysDesc(2), + sysCap(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The lldpPortConfigTLVsTxEnable, defined as a bitmap, + includes the basic set of LLDP TLVs whose transmission is + allowed on the local LLDP agent by the network management. + Each bit in the bitmap corresponds to a TLV type associated + with a specific optional TLV. + + It should be noted that the organizationally-specific TLVs + are excluded from the lldpTLVsTxEnable bitmap. + + LLDP Organization Specific Information Extension MIBs should + have similar configuration object to control transmission + of their organizationally defined TLVs. + + The bit 'portDesc(0)' indicates that LLDP agent should + transmit 'Port Description TLV'. + + The bit 'sysName(1)' indicates that LLDP agent should transmit + 'System Name TLV'. + + The bit 'sysDesc(2)' indicates that LLDP agent should transmit + 'System Description TLV'. + + The bit 'sysCap(3)' indicates that LLDP agent should transmit + 'System Capabilities TLV'. + + There is no bit reserved for the management address TLV type + since transmission of management address TLVs are controlled + by another object, lldpConfigManAddrTable. + + The default value for lldpPortConfigTLVsTxEnable object is + empty set, which means no enumerated values are set. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system." + REFERENCE + "IEEE 802.1AB-2005 10.2.1.1" + DEFVAL { { } } + ::= { lldpPortConfigEntry 4 } + + +-- +-- lldpManAddrConfigTxPortsTable : selection of management addresses +-- to be transmitted on a specified set +-- of ports. +-- + +lldpConfigManAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpConfigManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table that controls selection of LLDP management address + TLV instances to be transmitted on individual ports." + ::= { lldpConfiguration 7 } + +lldpConfigManAddrEntry OBJECT-TYPE + SYNTAX LldpConfigManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "LLDP configuration information that specifies the set + of ports (represented as a PortList) on which the local + system management address instance will be transmitted. + + This configuration object augments the lldpLocManAddrEntry, + therefore it is only present along with the management + address instance contained in the associated + lldpLocManAddrEntry entry. + + Each active lldpConfigManAddrEntry must be restored from + non-volatile and re-created (along with the corresponding + lldpLocManAddrEntry) after a re-initialization of the + management system." + AUGMENTS { lldpLocManAddrEntry } + ::= { lldpConfigManAddrTable 1 } + +LldpConfigManAddrEntry ::= SEQUENCE { + lldpConfigManAddrPortsTxEnable LldpPortList +} + +lldpConfigManAddrPortsTxEnable OBJECT-TYPE + SYNTAX LldpPortList + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A set of ports that are identified by a PortList, in which + each port is represented as a bit. The corresponding local + system management address instance will be transmitted on the + member ports of the lldpManAddrPortsTxEnable. + + The default value for lldpConfigManAddrPortsTxEnable object + is empty binary string, which means no ports are specified + for advertising indicated management address instance." + REFERENCE + "IEEE 802.1AB-2005 10.2.1.1" + DEFVAL { ''H } -- empty binary string + ::= { lldpConfigManAddrEntry 1 } + + +-- +-- *********************************************************** +-- +-- L L D P S T A T S +-- +-- *********************************************************** +-- +-- LLDP Stats Group + +lldpStatsRemTablesLastChangeTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime object (defined in IETF RFC 3418) + at the time an entry is created, modified, or deleted in the + in tables associated with the lldpRemoteSystemsData objects + and all LLDP extension objects associated with remote systems. + + An NMS can use this object to reduce polling of the + lldpRemoteSystemsData objects." + ::= { lldpStatistics 1 } + +lldpStatsRemTablesInserts OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + UNITS "table entries" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the complete set of information + advertised by a particular MSAP has been inserted into tables + contained in lldpRemoteSystemsData and lldpExtensions objects. + + The complete set of information received from a particular + MSAP should be inserted into related tables. If partial + information cannot be inserted for a reason such as lack + of resources, all of the complete set of information should + be removed. + + This counter should be incremented only once after the + complete set of information is successfully recorded + in all related tables. Any failures during inserting + information set which result in deletion of previously + inserted information should not trigger any changes in + lldpStatsRemTablesInserts since the insert is not completed + yet or or in lldpStatsRemTablesDeletes, since the deletion + would only be a partial deletion. If the failure was the + result of lack of resources, the lldpStatsRemTablesDrops + counter should be incremented once." + ::= { lldpStatistics 2 } + +lldpStatsRemTablesDeletes OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + UNITS "table entries" + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "The number of times the complete set of information + advertised by a particular MSAP has been deleted from + tables contained in lldpRemoteSystemsData and lldpExtensions + objects. + + This counter should be incremented only once when the + complete set of information is completely deleted from all + related tables. Partial deletions, such as deletion of + rows associated with a particular MSAP from some tables, + but not from all tables are not allowed, thus should not + change the value of this counter." + ::= { lldpStatistics 3 } + +lldpStatsRemTablesDrops OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + UNITS "table entries" + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The number of times the complete set of information + advertised by a particular MSAP could not be entered into + tables contained in lldpRemoteSystemsData and lldpExtensions + objects because of insufficient resources." + ::= { lldpStatistics 4 } + +lldpStatsRemTablesAgeouts OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times the complete set of information + advertised by a particular MSAP has been deleted from tables + contained in lldpRemoteSystemsData and lldpExtensions objects + because the information timeliness interval has expired. + + This counter should be incremented only once when the complete + set of information is completely invalidated (aged out) + from all related tables. Partial aging, similar to deletion + case, is not allowed, and thus, should not change the value + of this counter." + ::= { lldpStatistics 5 } + +-- +-- TX statistics +-- + +lldpStatsTxPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpStatsTxPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing LLDP transmission statistics for + individual ports. Entries are not required to exist in + this table while the lldpPortConfigEntry object is equal to + 'disabled(4)'." + ::= { lldpStatistics 6 } + +lldpStatsTxPortEntry OBJECT-TYPE + SYNTAX LldpStatsTxPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "LLDP frame transmission statistics for a particular port. + The port must be contained in the same chassis as the + LLDP agent. + + All counter values in a particular entry shall be + maintained on a continuing basis and shall not be deleted + upon expiration of rxInfoTTL timing counters in the LLDP + remote systems MIB of the receipt of a shutdown frame from + a remote LLDP agent. + + All statistical counters associated with a particular + port on the local LLDP agent become frozen whenever the + adminStatus is disabled for the same port." + INDEX { lldpStatsTxPortNum } + ::= { lldpStatsTxPortTable 1 } + +LldpStatsTxPortEntry ::= SEQUENCE { + lldpStatsTxPortNum LldpPortNumber, + lldpStatsTxPortFramesTotal Counter32 +} + +lldpStatsTxPortNum OBJECT-TYPE + SYNTAX LldpPortNumber + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpStatsTable." + ::= { lldpStatsTxPortEntry 1 } + +lldpStatsTxPortFramesTotal OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of LLDP frames transmitted by this LLDP agent + on the indicated port." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.1" + ::= { lldpStatsTxPortEntry 2 } + +-- +-- RX statistics +-- + +lldpStatsRxPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpRxStatsPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing LLDP reception statistics for individual + ports. Entries are not required to exist in this table while + the lldpPortConfigEntry object is equal to 'disabled(4)'." + ::= { lldpStatistics 7 } + +lldpStatsRxPortEntry OBJECT-TYPE + SYNTAX LldpRxStatsPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "LLDP frame reception statistics for a particular port. + The port must be contained in the same chassis as the + LLDP agent. + + All counter values in a particular entry shall be + maintained on a continuing basis and shall not be deleted + upon expiration of rxInfoTTL timing counters in the LLDP + remote systems MIB of the receipt of a shutdown frame from + a remote LLDP agent. + + All statistical counters associated with a particular + port on the local LLDP agent become frozen whenever the + adminStatus is disabled for the same port." + INDEX { lldpStatsRxPortNum } + ::= { lldpStatsRxPortTable 1 } + +LldpRxStatsPortEntry ::= SEQUENCE { + lldpStatsRxPortNum LldpPortNumber, + lldpStatsRxPortFramesDiscardedTotal Counter32, + lldpStatsRxPortFramesErrors Counter32, + lldpStatsRxPortFramesTotal Counter32, + lldpStatsRxPortTLVsDiscardedTotal Counter32, + lldpStatsRxPortTLVsUnrecognizedTotal Counter32, + lldpStatsRxPortAgeoutsTotal ZeroBasedCounter32 +} + +lldpStatsRxPortNum OBJECT-TYPE + SYNTAX LldpPortNumber + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpStatsTable." + ::= { lldpStatsRxPortEntry 1 } + +lldpStatsRxPortFramesDiscardedTotal OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of LLDP frames received by this LLDP agent on + the indicated port, and then discarded for any reason. + This counter can provide an indication that LLDP header + formating problems may exist with the local LLDP agent in + the sending system or that LLDPDU validation problems may + exist with the local LLDP agent in the receiving system." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 2 } + +lldpStatsRxPortFramesErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of invalid LLDP frames received by this LLDP + agent on the indicated port, while this LLDP agent is enabled." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 3 } + +lldpStatsRxPortFramesTotal OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of valid LLDP frames received by this LLDP agent + on the indicated port, while this LLDP agent is enabled." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 4 } + +lldpStatsRxPortTLVsDiscardedTotal OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of LLDP TLVs discarded for any reason by this LLDP + agent on the indicated port." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 5 } + +lldpStatsRxPortTLVsUnrecognizedTotal OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of LLDP TLVs received on the given port that + are not recognized by this LLDP agent on the indicated port. + + An unrecognized TLV is referred to as the TLV whose type value + is in the range of reserved TLV types (000 1001 - 111 1110) + in Table 9.1 of IEEE Std 802.1AB-2005. An unrecognized + TLV may be a basic management TLV from a later LLDP version." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 6 } + +lldpStatsRxPortAgeoutsTotal OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The counter that represents the number of age-outs that + occurred on a given port. An age-out is the number of + times the complete set of information advertised by a + particular MSAP has been deleted from tables contained in + lldpRemoteSystemsData and lldpExtensions objects because + the information timeliness interval has expired. + + This counter is similar to lldpStatsRemTablesAgeouts, except + that the counter is on a per port basis. This enables NMS to + poll tables associated with the lldpRemoteSystemsData objects + and all LLDP extension objects associated with remote systems + on the indicated port only. + + This counter should be set to zero during agent initialization + and its value should not be saved in non-volatile storage. + When a port's admin status changes from 'disabled' to + 'rxOnly', 'txOnly' or 'txAndRx', the counter associated with + the same port should reset to 0. The agent should also flush + all remote system information associated with the same port. + + This counter should be incremented only once when the + complete set of information is invalidated (aged out) from + all related tables on a particular port. Partial aging + is not allowed, and thus, should not change the value of + this counter." + REFERENCE + "IEEE 802.1AB-2005 10.5.2.2" + ::= { lldpStatsRxPortEntry 7 } + +-- *********************************************************** +-- +-- L O C A L S Y S T E M D A T A +-- +-- *********************************************************** + +lldpLocChassisIdSubtype OBJECT-TYPE + SYNTAX LldpChassisIdSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of encoding used to identify the chassis + associated with the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.2.2" + ::= { lldpLocalSystemData 1 } + +lldpLocChassisId OBJECT-TYPE + SYNTAX LldpChassisId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the chassis component + associated with the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.2.3" + ::= { lldpLocalSystemData 2 } + +lldpLocSysName OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the system name of the + local system. If the local agent supports IETF RFC 3418, + lldpLocSysName object should have the same value of sysName + object." + REFERENCE + "IEEE 802.1AB-2005 9.5.6.2" + ::= { lldpLocalSystemData 3 } + +lldpLocSysDesc OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the system description + of the local system. If the local agent supports IETF RFC 3418, + lldpLocSysDesc object should have the same value of sysDesc + object." + REFERENCE + "IEEE 802.1AB-2005 9.5.7.2" + ::= { lldpLocalSystemData 4 } + +lldpLocSysCapSupported OBJECT-TYPE + SYNTAX LldpSystemCapabilitiesMap + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bitmap value used to identify which system capabilities + are supported on the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.8.1" + ::= { lldpLocalSystemData 5 } + +lldpLocSysCapEnabled OBJECT-TYPE + SYNTAX LldpSystemCapabilitiesMap + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bitmap value used to identify which system capabilities + are enabled on the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.8.2" + ::= { lldpLocalSystemData 6 } + + +-- +-- lldpLocPortTable : Port specific Local system data +-- + +lldpLocPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpLocPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains one or more rows per port information + associated with the local system known to this agent." + ::= { lldpLocalSystemData 7 } + +lldpLocPortEntry OBJECT-TYPE + SYNTAX LldpLocPortEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a particular port component. + + Entries may be created and deleted in this table by the + agent." + INDEX { lldpLocPortNum } + ::= { lldpLocPortTable 1 } + +LldpLocPortEntry ::= SEQUENCE { + lldpLocPortNum LldpPortNumber, + lldpLocPortIdSubtype LldpPortIdSubtype, + lldpLocPortId LldpPortId, + lldpLocPortDesc SnmpAdminString +} + +lldpLocPortNum OBJECT-TYPE + SYNTAX LldpPortNumber + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpLocPortTable." + ::= { lldpLocPortEntry 1 } + +lldpLocPortIdSubtype OBJECT-TYPE + SYNTAX LldpPortIdSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of port identifier encoding used in the associated + 'lldpLocPortId' object." + REFERENCE + "IEEE 802.1AB-2005 9.5.3.2" + ::= { lldpLocPortEntry 2 } + +lldpLocPortId OBJECT-TYPE + SYNTAX LldpPortId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the port component + associated with a given port in the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.3.3" + ::= { lldpLocPortEntry 3 } + +lldpLocPortDesc OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the 802 LAN station's port + description associated with the local system. If the local + agent supports IETF RFC 2863, lldpLocPortDesc object should + have the same value of ifDescr object." + REFERENCE + "IEEE 802.1AB-2005 9.5.5.2" + ::= { lldpLocPortEntry 4 } + +-- +-- lldpLocManAddrTable : Management addresses of the local system +-- + +lldpLocManAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpLocManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains management address information on the + local system known to this agent." + ::= { lldpLocalSystemData 8 } + +lldpLocManAddrEntry OBJECT-TYPE + SYNTAX LldpLocManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Management address information about a particular chassis + component. There may be multiple management addresses + configured on the system identified by a particular + lldpLocChassisId. Each management address should have + distinct 'management address type' (lldpLocManAddrSubtype) and + 'management address' (lldpLocManAddr.) + + Entries may be created and deleted in this table by the + agent." + INDEX { lldpLocManAddrSubtype, + lldpLocManAddr } + ::= { lldpLocManAddrTable 1 } + +LldpLocManAddrEntry ::= SEQUENCE { + lldpLocManAddrSubtype AddressFamilyNumbers, + lldpLocManAddr LldpManAddress, + lldpLocManAddrLen Integer32, + lldpLocManAddrIfSubtype LldpManAddrIfSubtype, + lldpLocManAddrIfId Integer32, + lldpLocManAddrOID OBJECT IDENTIFIER +} + +lldpLocManAddrSubtype OBJECT-TYPE + SYNTAX AddressFamilyNumbers + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of management address identifier encoding used in + the associated 'lldpLocManagmentAddr' object." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.3" + ::= { lldpLocManAddrEntry 1 } + +lldpLocManAddr OBJECT-TYPE + SYNTAX LldpManAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The string value used to identify the management address + component associated with the local system. The purpose of + this address is to contact the management entity." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.4" + ::= { lldpLocManAddrEntry 2 } + +lldpLocManAddrLen OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total length of the management address subtype and the + management address fields in LLDPDUs transmitted by the + local LLDP agent. + + The management address length field is needed so that the + receiving systems that do not implement SNMP will not be + required to implement an iana family numbers/address length + equivalency table in order to decode the management adress." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.2" + ::= { lldpLocManAddrEntry 3 } + + +lldpLocManAddrIfSubtype OBJECT-TYPE + SYNTAX LldpManAddrIfSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The enumeration value that identifies the interface numbering + method used for defining the interface number, associated + with the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.5" + ::= { lldpLocManAddrEntry 4 } + +lldpLocManAddrIfId OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The integer value used to identify the interface number + regarding the management address component associated with + the local system." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.6" + ::= { lldpLocManAddrEntry 5 } + +lldpLocManAddrOID OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The OID value used to identify the type of hardware component + or protocol entity associated with the management address + advertised by the local system agent." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.8" + ::= { lldpLocManAddrEntry 6 } + + +-- *********************************************************** +-- +-- R E M O T E S Y S T E M S D A T A +-- +-- *********************************************************** + +lldpRemTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpRemEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains one or more rows per physical network + connection known to this agent. The agent may wish to ensure + that only one lldpRemEntry is present for each local port, + or it may choose to maintain multiple lldpRemEntries for + the same local port. + + The following procedure may be used to retrieve remote + systems information updates from an LLDP agent: + + 1. NMS polls all tables associated with remote systems + and keeps a local copy of the information retrieved. + NMS polls periodically the values of the following + objects: + a. lldpStatsRemTablesInserts + b. lldpStatsRemTablesDeletes + c. lldpStatsRemTablesDrops + d. lldpStatsRemTablesAgeouts + e. lldpStatsRxPortAgeoutsTotal for all ports. + + 2. LLDP agent updates remote systems MIB objects, and + sends out notifications to a list of notification + destinations. + + 3. NMS receives the notifications and compares the new + values of objects listed in step 1. + + Periodically, NMS should poll the object + lldpStatsRemTablesLastChangeTime to find out if anything + has changed since the last poll. if something has + changed, NMS will poll the objects listed in step 1 to + figure out what kind of changes occurred in the tables. + + if value of lldpStatsRemTablesInserts has changed, + then NMS will walk all tables by employing TimeFilter + with the last-polled time value. This request will + return new objects or objects whose values are updated + since the last poll. + + if value of lldpStatsRemTablesAgeouts has changed, + then NMS will walk the lldpStatsRxPortAgeoutsTotal and + compare the new values with previously recorded ones. + For ports whose lldpStatsRxPortAgeoutsTotal value is + greater than the recorded value, NMS will have to + retrieve objects associated with those ports from + table(s) without employing a TimeFilter (which is + performed by specifying 0 for the TimeFilter.) + + lldpStatsRemTablesDeletes and lldpStatsRemTablesDrops + objects are provided for informational purposes." + ::= { lldpRemoteSystemsData 1 } + +lldpRemEntry OBJECT-TYPE + SYNTAX LldpRemEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a particular physical network connection. + Entries may be created and deleted in this table by the agent, + if a physical topology discovery process is active." + INDEX { + lldpRemTimeMark, + lldpRemLocalPortNum, + lldpRemIndex + } + ::= { lldpRemTable 1 } + +LldpRemEntry ::= SEQUENCE { + lldpRemTimeMark TimeFilter, + lldpRemLocalPortNum LldpPortNumber, + lldpRemIndex Integer32, + lldpRemChassisIdSubtype LldpChassisIdSubtype, + lldpRemChassisId LldpChassisId, + lldpRemPortIdSubtype LldpPortIdSubtype, + lldpRemPortId LldpPortId, + lldpRemPortDesc SnmpAdminString, + lldpRemSysName SnmpAdminString, + lldpRemSysDesc SnmpAdminString, + lldpRemSysCapSupported LldpSystemCapabilitiesMap, + lldpRemSysCapEnabled LldpSystemCapabilitiesMap +} + +lldpRemTimeMark OBJECT-TYPE + SYNTAX TimeFilter + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A TimeFilter for this entry. See the TimeFilter textual + convention in IETF RFC 2021 and + http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt + to see how TimeFilter works." + REFERENCE + "IETF RFC 2021 section 6" + ::= { lldpRemEntry 1 } + +lldpRemLocalPortNum OBJECT-TYPE + SYNTAX LldpPortNumber + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. The lldpRemLocalPortNum + identifies the port on which the remote system information + is received. + + The value of this object is used as a port index to the + lldpRemTable." + ::= { lldpRemEntry 2 } + +lldpRemIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object represents an arbitrary local integer value used + by this agent to identify a particular connection instance, + unique only for the indicated remote system. + + An agent is encouraged to assign monotonically increasing + index values to new entries, starting with one, after each + reboot. It is considered unlikely that the lldpRemIndex + will wrap between reboots." + ::= { lldpRemEntry 3 } + +lldpRemChassisIdSubtype OBJECT-TYPE + SYNTAX LldpChassisIdSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of encoding used to identify the chassis associated + with the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.2.2" + ::= { lldpRemEntry 4 } + +lldpRemChassisId OBJECT-TYPE + SYNTAX LldpChassisId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the chassis component + associated with the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.2.3" + ::= { lldpRemEntry 5 } + +lldpRemPortIdSubtype OBJECT-TYPE + SYNTAX LldpPortIdSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of port identifier encoding used in the associated + 'lldpRemPortId' object." + REFERENCE + "IEEE 802.1AB-2005 9.5.3.2" + ::= { lldpRemEntry 6 } + +lldpRemPortId OBJECT-TYPE + SYNTAX LldpPortId + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the port component + associated with the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.3.3" + ::= { lldpRemEntry 7 } + +lldpRemPortDesc OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the description of + the given port associated with the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.5.2" + ::= { lldpRemEntry 8 } + +lldpRemSysName OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the system name of the + remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.6.2" + ::= { lldpRemEntry 9 } + +lldpRemSysDesc OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE(0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the system description + of the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.7.2" + ::= { lldpRemEntry 10 } + +lldpRemSysCapSupported OBJECT-TYPE + SYNTAX LldpSystemCapabilitiesMap + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bitmap value used to identify which system capabilities + are supported on the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.8.1" + ::= { lldpRemEntry 11 } + +lldpRemSysCapEnabled OBJECT-TYPE + SYNTAX LldpSystemCapabilitiesMap + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The bitmap value used to identify which system capabilities + are enabled on the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.8.2" + ::= { lldpRemEntry 12 } + +-- +-- lldpRemManAddrTable : Management addresses of the remote system +-- + +lldpRemManAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpRemManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains one or more rows per management address + information on the remote system learned on a particular port + contained in the local chassis known to this agent." + ::= { lldpRemoteSystemsData 2 } + +lldpRemManAddrEntry OBJECT-TYPE + SYNTAX LldpRemManAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Management address information about a particular chassis + component. There may be multiple management addresses + configured on the remote system identified by a particular + lldpRemIndex whose information is received on + lldpRemLocalPortNum of the local system. Each management + address should have distinct 'management address + type' (lldpRemManAddrSubtype) and 'management address' + (lldpRemManAddr.) + + Entries may be created and deleted in this table by the + agent." + INDEX { lldpRemTimeMark, + lldpRemLocalPortNum, + lldpRemIndex, + lldpRemManAddrSubtype, + lldpRemManAddr + } + ::= { lldpRemManAddrTable 1 } + +LldpRemManAddrEntry ::= SEQUENCE { + lldpRemManAddrSubtype AddressFamilyNumbers, + lldpRemManAddr LldpManAddress, + lldpRemManAddrIfSubtype LldpManAddrIfSubtype, + lldpRemManAddrIfId Integer32, + lldpRemManAddrOID OBJECT IDENTIFIER +} + +lldpRemManAddrSubtype OBJECT-TYPE + SYNTAX AddressFamilyNumbers + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of management address identifier encoding used in + the associated 'lldpRemManagmentAddr' object." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.3" + ::= { lldpRemManAddrEntry 1 } + +lldpRemManAddr OBJECT-TYPE + SYNTAX LldpManAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The string value used to identify the management address + component associated with the remote system. The purpose + of this address is to contact the management entity." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.4" + ::= { lldpRemManAddrEntry 2 } + +lldpRemManAddrIfSubtype OBJECT-TYPE + SYNTAX LldpManAddrIfSubtype + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The enumeration value that identifies the interface numbering + method used for defining the interface number, associated + with the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.5" + ::= { lldpRemManAddrEntry 3 } + +lldpRemManAddrIfId OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The integer value used to identify the interface number + regarding the management address component associated with + the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.6" + ::= { lldpRemManAddrEntry 4 } + +lldpRemManAddrOID OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The OID value used to identify the type of hardware component + or protocol entity associated with the management address + advertised by the remote system agent." + REFERENCE + "IEEE 802.1AB-2005 9.5.9.8" + ::= { lldpRemManAddrEntry 5 } + +-- +-- lldpRemUnknownTLVTable : Unrecognized TLV information +-- +lldpRemUnknownTLVTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpRemUnknownTLVEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains information about an incoming TLV which + is not recognized by the receiving LLDP agent. The TLV may + be from a later version of the basic management set. + + This table should only contain TLVs that are found in + a single LLDP frame. Entries in this table, associated + with an MAC service access point (MSAP, the access point + for MAC services provided to the LCC sublayer, defined + in IEEE 100, which is also identified with a particular + lldpRemLocalPortNum, lldpRemIndex pair) are overwritten with + most recently received unrecognized TLV from the same MSAP, + or they will naturally age out when the rxInfoTTL timer + (associated with the MSAP) expires." + REFERENCE + "IEEE 802.1AB-2005 10.3.2" + ::= { lldpRemoteSystemsData 3 } + +lldpRemUnknownTLVEntry OBJECT-TYPE + SYNTAX LldpRemUnknownTLVEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about an unrecognized TLV received from a + physical network connection. Entries may be created and + deleted in this table by the agent, if a physical topology + discovery process is active." + INDEX { + lldpRemTimeMark, + lldpRemLocalPortNum, + lldpRemIndex, + lldpRemUnknownTLVType + } + ::= { lldpRemUnknownTLVTable 1 } + +LldpRemUnknownTLVEntry ::= SEQUENCE { + lldpRemUnknownTLVType Integer32, + lldpRemUnknownTLVInfo OCTET STRING +} + +lldpRemUnknownTLVType OBJECT-TYPE + SYNTAX Integer32(9..126) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object represents the value extracted from the type + field of the TLV." + REFERENCE + "IEEE 802.1AB-2005 10.3.5" + ::= { lldpRemUnknownTLVEntry 1 } + +lldpRemUnknownTLVInfo OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..511)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object represents the value extracted from the value + field of the TLV." + REFERENCE + "IEEE 802.1AB-2005 10.3.5" + ::= { lldpRemUnknownTLVEntry 2 } + +------------------------------------------------------------------------------ +-- Remote Systems Extension Table - Organizationally-Defined Information +------------------------------------------------------------------------------ +lldpRemOrgDefInfoTable OBJECT-TYPE + SYNTAX SEQUENCE OF LldpRemOrgDefInfoEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains one or more rows per physical network + connection which advertises the organizationally defined + information. + + Note that this table contains one or more rows of + organizationally defined information that is not recognized + by the local agent. + + If the local system is capable of recognizing any + organizationally defined information, appropriate extension + MIBs from the organization should be used for information + retrieval." + ::= { lldpRemoteSystemsData 4 } + +lldpRemOrgDefInfoEntry OBJECT-TYPE + SYNTAX LldpRemOrgDefInfoEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about the unrecognized organizationally + defined information advertised by the remote system. + The lldpRemTimeMark, lldpRemLocalPortNum, lldpRemIndex, + lldpRemOrgDefInfoOUI, lldpRemOrgDefInfoSubtype, and + lldpRemOrgDefInfoIndex are indexes to this table. If there is + an lldpRemOrgDefInfoEntry associated with a particular remote + system identified by the lldpRemLocalPortNum and lldpRemIndex, + there must be an lldpRemEntry associated with the same + instance (i.e, using same indexes.) When the lldpRemEntry + for the same index is removed from the lldpRemTable, the + associated lldpRemOrgDefInfoEntry should be removed from + the lldpRemOrgDefInfoTable. + + Entries may be created and deleted in this table by the + agent." + INDEX { lldpRemTimeMark, + lldpRemLocalPortNum, + lldpRemIndex, + lldpRemOrgDefInfoOUI, + lldpRemOrgDefInfoSubtype, + lldpRemOrgDefInfoIndex } + ::= { lldpRemOrgDefInfoTable 1 } + +LldpRemOrgDefInfoEntry ::= SEQUENCE { + lldpRemOrgDefInfoOUI OCTET STRING, + lldpRemOrgDefInfoSubtype Integer32, + lldpRemOrgDefInfoIndex Integer32, + lldpRemOrgDefInfo OCTET STRING +} + +lldpRemOrgDefInfoOUI OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(3)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Organizationally Unique Identifier (OUI), as defined + in IEEE std 802-2001, is a 24 bit (three octets) globally + unique assigned number referenced by various standards, + of the information received from the remote system." + REFERENCE + "IEEE 802.1AB-2005 9.5.1.3" + ::= { lldpRemOrgDefInfoEntry 1 } + +lldpRemOrgDefInfoSubtype OBJECT-TYPE + SYNTAX Integer32(1..255) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The integer value used to identify the subtype of the + organizationally defined information received from the + remote system. + + The subtype value is required to identify different instances + of organizationally defined information that could not be + retrieved without a unique identifier that indicates the + particular type of information contained in the information + string." + REFERENCE + "IEEE 802.1AB-2005 9.5.1.4" + ::= { lldpRemOrgDefInfoEntry 2 } + +lldpRemOrgDefInfoIndex OBJECT-TYPE + SYNTAX Integer32(1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object represents an arbitrary local integer value + used by this agent to identify a particular unrecognized + organizationally defined information instance, unique only + for the lldpRemOrgDefInfoOUI and lldpRemOrgDefInfoSubtype + from the same remote system. + + An agent is encouraged to assign monotonically increasing + index values to new entries, starting with one, after each + reboot. It is considered unlikely that the + lldpRemOrgDefInfoIndex will wrap between reboots." + ::= { lldpRemOrgDefInfoEntry 3 } + +lldpRemOrgDefInfo OBJECT-TYPE + SYNTAX OCTET STRING(SIZE(0..507)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The string value used to identify the organizationally + defined information of the remote system. The encoding for + this object should be as defined for SnmpAdminString TC." + REFERENCE + "IEEE 802.1AB-2005 9.5.1.5" + ::= { lldpRemOrgDefInfoEntry 4 } + + +-- +-- *********************************************************** +-- +-- L L D P M I B N O T I F I C A T I O N S +-- +-- *********************************************************** +-- + +lldpNotificationPrefix OBJECT IDENTIFIER ::= { lldpNotifications 0 } + +lldpRemTablesChange NOTIFICATION-TYPE + OBJECTS { + lldpStatsRemTablesInserts, + lldpStatsRemTablesDeletes, + lldpStatsRemTablesDrops, + lldpStatsRemTablesAgeouts + } + STATUS current + DESCRIPTION + "A lldpRemTablesChange notification is sent when the value + of lldpStatsRemTableLastChangeTime changes. It can be + utilized by an NMS to trigger LLDP remote systems table + maintenance polls. + + Note that transmission of lldpRemTablesChange + notifications are throttled by the agent, as specified by the + 'lldpNotificationInterval' object." + ::= { lldpNotificationPrefix 1 } + + +-- +-- *********************************************************** +-- +-- L L D P M I B C O N F O R M A N C E +-- +-- *********************************************************** +-- + +lldpCompliances OBJECT IDENTIFIER ::= { lldpConformance 1 } +lldpGroups OBJECT IDENTIFIER ::= { lldpConformance 2 } + +-- compliance statements + +lldpCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for SNMP entities which implement + the LLDP MIB." + MODULE -- this module + MANDATORY-GROUPS { lldpConfigGroup, + lldpConfigRxGroup, + lldpConfigTxGroup, + lldpStatsRxGroup, + lldpStatsTxGroup, + lldpLocSysGroup, + lldpRemSysGroup, + lldpNotificationsGroup + } + ::= { lldpCompliances 1 } + +-- MIB groupings + +lldpConfigGroup OBJECT-GROUP + OBJECTS { + lldpPortConfigAdminStatus + } + STATUS current + DESCRIPTION + "The collection of objects which are used to configure the + LLDP implementation behavior. + + This group is mandatory for agents which implement the LLDP." + ::= { lldpGroups 1 } + +lldpConfigRxGroup OBJECT-GROUP + OBJECTS { + lldpNotificationInterval, + lldpPortConfigNotificationEnable + } + STATUS current + DESCRIPTION + "The collection of objects which are used to configure the + LLDP implementation behavior. + + This group is mandatory for agents which implement the LLDP + and have the capability of receiving LLDP frames." + ::= { lldpGroups 2 } + +lldpConfigTxGroup OBJECT-GROUP + OBJECTS { + lldpMessageTxInterval, + lldpMessageTxHoldMultiplier, + lldpReinitDelay, + lldpTxDelay, + lldpPortConfigTLVsTxEnable, + lldpConfigManAddrPortsTxEnable + } + STATUS current + DESCRIPTION + "The collection of objects which are used to configure the + LLDP implementation behavior. + + This group is mandatory for agents which implement the LLDP + and have the capability of transmitting LLDP frames." + ::= { lldpGroups 3 } + +lldpStatsRxGroup OBJECT-GROUP + OBJECTS { + lldpStatsRemTablesLastChangeTime, + lldpStatsRemTablesInserts, + lldpStatsRemTablesDeletes, + lldpStatsRemTablesDrops, + lldpStatsRemTablesAgeouts, + lldpStatsRxPortFramesDiscardedTotal, + lldpStatsRxPortFramesErrors, + lldpStatsRxPortFramesTotal, + lldpStatsRxPortTLVsDiscardedTotal, + lldpStatsRxPortTLVsUnrecognizedTotal, + lldpStatsRxPortAgeoutsTotal + } + STATUS current + DESCRIPTION + "The collection of objects which are used to represent LLDP + reception statistics. + + This group is mandatory for agents which implement the LLDP + and have the capability of receiving LLDP frames." + ::= { lldpGroups 4 } + +lldpStatsTxGroup OBJECT-GROUP + OBJECTS { + lldpStatsTxPortFramesTotal + } + STATUS current + DESCRIPTION + "The collection of objects which are used to represent LLDP + transmission statistics. + + This group is mandatory for agents which implement the LLDP + and have the capability of transmitting LLDP frames." + ::= { lldpGroups 5 } + +lldpLocSysGroup OBJECT-GROUP + OBJECTS { + lldpLocChassisIdSubtype, + lldpLocChassisId, + lldpLocPortIdSubtype, + lldpLocPortId, + lldpLocPortDesc, + lldpLocSysDesc, + lldpLocSysName, + lldpLocSysCapSupported, + lldpLocSysCapEnabled, + lldpLocManAddrLen, + lldpLocManAddrIfSubtype, + lldpLocManAddrIfId, + lldpLocManAddrOID + } + STATUS current + DESCRIPTION + "The collection of objects which are used to represent LLDP + Local System Information. + + This group is mandatory for agents which implement the LLDP + and have the capability of transmitting LLDP frames." + ::= { lldpGroups 6 } + +lldpRemSysGroup OBJECT-GROUP + OBJECTS { + lldpRemChassisIdSubtype, + lldpRemChassisId, + lldpRemPortIdSubtype, + lldpRemPortId, + lldpRemPortDesc, + lldpRemSysName, + lldpRemSysDesc, + lldpRemSysCapSupported, + lldpRemSysCapEnabled, + lldpRemManAddrIfSubtype, + lldpRemManAddrIfId, + lldpRemManAddrOID, + lldpRemUnknownTLVInfo, + lldpRemOrgDefInfo + } + STATUS current + DESCRIPTION + "The collection of objects which are used to represent + LLDP Remote Systems Information. The objects represent the + information associated with the basic TLV set. Please note + that even the agent doesn't implement some of the optional + TLVs, it shall recognize all the optional TLV information + that the remote system may advertise. + + This group is mandatory for agents which implement the LLDP + and have the capability of receiving LLDP frames." + ::= { lldpGroups 7 } + +lldpNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { + lldpRemTablesChange + } + STATUS current + DESCRIPTION + "The collection of notifications used to indicate LLDP MIB + data consistency and general status information. + + This group is mandatory for agents which implement the LLDP + and have the capability of receiving LLDP frames." + ::= { lldpGroups 8 } + +END \ No newline at end of file diff --git a/mibs/MGMD-STD-MIB.txt b/mibs/MGMD-STD-MIB.txt new file mode 100644 index 00000000..8c131998 --- /dev/null +++ b/mibs/MGMD-STD-MIB.txt @@ -0,0 +1,1656 @@ +MGMD-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, mib-2, Counter32, Gauge32, + Unsigned32, TimeTicks FROM SNMPv2-SMI + InetAddress, InetAddressType FROM INET-ADDRESS-MIB + RowStatus FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF + InterfaceIndexOrZero, + InterfaceIndex FROM IF-MIB; + +mgmdStdMIB MODULE-IDENTITY + LAST-UPDATED "200903300000Z" -- March 30, 2009 + ORGANIZATION "INTERNET ENGINEERING TASK FORCE MULTICAST and + ANYCAST GROUP MEMBERSHIP Working + Group. + www: http://www.ietf.org/html.charters/magma-charter.html + EMail: magma@ietf.org" + CONTACT-INFO + "Julian Chesterfield + University of Cambridge, + Computer Laboratory, + 15 JJ Thompson Avenue, + Cambridge, + CB3 0FD + UK + + EMail: julian.chesterfield@cl.cam.ac.uk" + + DESCRIPTION + "The MIB module for MGMD management. + A new version of MGMD combining RFC 2933 and RFC 3019. + Includes IGMPv3 and MLDv2 source filtering changes. + + Copyright (c) 2009 IETF Trust and the persons + identified as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + - Neither the name of Internet Society, IETF or IETF Trust, + nor the names of specific contributors, may be used to endorse + or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This version of this MIB module is part of RFC 5519; + see the RFC itself for full legal notices." + + REVISION "200903300000Z" -- March 30, 2009 + DESCRIPTION + "This MIB obsoletes both RFC 2933 and RFC 3019." + + ::= { mib-2 185 } + + +mgmdMIBObjects OBJECT IDENTIFIER ::= { mgmdStdMIB 1 } + +-- +-- The MGMD Host Interface Table +-- + +mgmdHostInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdHostInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interfaces on which + IGMP or MLD is enabled." + + ::= { mgmdMIBObjects 1 } + +mgmdHostInterfaceEntry OBJECT-TYPE + SYNTAX MgmdHostInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) representing an interface on + which IGMP or MLD is enabled." + INDEX { mgmdHostInterfaceIfIndex, + mgmdHostInterfaceQuerierType } + + ::= { mgmdHostInterfaceTable 1 } + +MgmdHostInterfaceEntry ::= SEQUENCE { + mgmdHostInterfaceIfIndex InterfaceIndex, + mgmdHostInterfaceQuerierType InetAddressType, + mgmdHostInterfaceQuerier InetAddress, + mgmdHostInterfaceStatus RowStatus, + mgmdHostInterfaceVersion Unsigned32, + mgmdHostInterfaceVersion1QuerierTimer TimeTicks, + mgmdHostInterfaceVersion2QuerierTimer TimeTicks, + mgmdHostInterfaceVersion3Robustness Unsigned32 +} + +mgmdHostInterfaceIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex value of the interface for which IGMP or MLD is + enabled. The table is indexed by the ifIndex value and the + InetAddressType to allow for interfaces that may be + configured in both IPv4 and IPv6 modes." + + ::= { mgmdHostInterfaceEntry 1 } + +mgmdHostInterfaceQuerierType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this interface. This entry along with + the ifIndex value acts as an index to the mgmdHostInterface + table. A physical interface may be configured in multiple + modes concurrently, e.g., in IPv4 and IPv6 modes connected + to the same interface; however, the traffic is considered + to be logically separate." + + ::= { mgmdHostInterfaceEntry 2 } + +mgmdHostInterfaceQuerier OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the IGMP or MLD Querier on the IP subnet to + which this interface is attached. The InetAddressType, + e.g., IPv4 or IPv6, is identified by the + mgmdHostInterfaceQuerierType variable in the + mgmdHostInterface table." + + ::= { mgmdHostInterfaceEntry 3 } + +mgmdHostInterfaceStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The activation of a row enables the host side of IGMP or + MLD on the interface. The destruction of a row disables + the host side of IGMP or MLD on the interface." + + ::= { mgmdHostInterfaceEntry 4 } + +mgmdHostInterfaceVersion OBJECT-TYPE + SYNTAX Unsigned32 (1..3) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum version of MGMD that the host can run on + this interface. A value of 1 is only applicable for IPv4, + and indicates that the host only supports IGMPv1 on the + + interface. A value of 2 indicates that the host also + supports IGMPv2 (for IPv4) or MLDv1 (for IPv6). A value of + 3 indicates that the host also supports IGMPv3 (for IPv4) + or MLDv2 (for IPv6)." + DEFVAL { 3 } + + ::= { mgmdHostInterfaceEntry 5 } + +mgmdHostInterfaceVersion1QuerierTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining until the host assumes that there are + no IGMPv1 routers present on the interface. While this is + non-zero, the host will reply to all queries with version 1 + membership reports. This variable applies to IGMPv2 or 3 + hosts that are forced to run in v1 for compatibility with + v1 routers present on the interface. This object may only + be present when the corresponding value of + mgmdHostInterfaceQuerierType is ipv4." + REFERENCE "RFC 2236, Section 4 and RFC 3376, Section 7.2.1" + DEFVAL { 0 } + + ::= { mgmdHostInterfaceEntry 6 } + +mgmdHostInterfaceVersion2QuerierTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining until the host assumes that there are + no MGMDv2 routers present on the interface. While this is + non-zero, the host will reply to all queries with version 1 + or 2 membership reports. This variable applies to MGMDv3 + hosts that are forced to run in v2 for compatibility with + v2 hosts or routers present on the interface." + REFERENCE "RFC 3376, Section 7.2.1 and RFC 3810, Section 8.2.1" + DEFVAL { 0 } + + ::= { mgmdHostInterfaceEntry 7 } + +mgmdHostInterfaceVersion3Robustness OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The robustness variable utilised by an MGMDv3 host in + sending state-change reports for multicast routers. To + ensure the state-change report is not missed, the host + retransmits the state-change report + [mgmdHostInterfaceVersion3Robustness - 1] times. The + variable must be a non-zero value." + REFERENCE "RFC 3376, Section 8.1 and RFC 3810, Section 9.14.1" + DEFVAL { 2 } + + ::= { mgmdHostInterfaceEntry 8 } + +-- +-- The MGMD Router Interface Table +-- + +mgmdRouterInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdRouterInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interfaces on which + IGMP or MLD is enabled." + + ::= { mgmdMIBObjects 2 } + +mgmdRouterInterfaceEntry OBJECT-TYPE + SYNTAX MgmdRouterInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) representing an interface on + which IGMP or MLD is enabled." + INDEX { mgmdRouterInterfaceIfIndex, + mgmdRouterInterfaceQuerierType } + + ::= { mgmdRouterInterfaceTable 1 } + +MgmdRouterInterfaceEntry ::= SEQUENCE { + mgmdRouterInterfaceIfIndex InterfaceIndex, + mgmdRouterInterfaceQuerierType InetAddressType, + mgmdRouterInterfaceQuerier InetAddress, + mgmdRouterInterfaceQueryInterval Unsigned32, + mgmdRouterInterfaceStatus RowStatus, + mgmdRouterInterfaceVersion Unsigned32, + mgmdRouterInterfaceQueryMaxResponseTime Unsigned32, + mgmdRouterInterfaceQuerierUpTime TimeTicks, + mgmdRouterInterfaceQuerierExpiryTime TimeTicks, + + mgmdRouterInterfaceWrongVersionQueries Counter32, + mgmdRouterInterfaceJoins Counter32, + mgmdRouterInterfaceProxyIfIndex InterfaceIndexOrZero, + mgmdRouterInterfaceGroups Gauge32, + mgmdRouterInterfaceRobustness Unsigned32, + mgmdRouterInterfaceLastMemberQueryInterval Unsigned32, + mgmdRouterInterfaceLastMemberQueryCount Unsigned32, + mgmdRouterInterfaceStartupQueryCount Unsigned32, + mgmdRouterInterfaceStartupQueryInterval Unsigned32 +} + +mgmdRouterInterfaceIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex value of the interface for which IGMP or MLD + is enabled. The table is indexed by the ifIndex value and + the InetAddressType to allow for interfaces that may be + configured in both IPv4 and IPv6 modes." + + ::= { mgmdRouterInterfaceEntry 1 } + +mgmdRouterInterfaceQuerierType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this interface. This entry along with + the ifIndex value acts as the index to the + mgmdRouterInterface table. A physical interface may be + configured in multiple modes concurrently, e.g., in IPv4 + and IPv6 modes connected to the same interface; however, + the traffic is considered to be logically separate." + + ::= { mgmdRouterInterfaceEntry 2 } + +mgmdRouterInterfaceQuerier OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the IGMP or MLD Querier on the IP subnet to + which this interface is attached. The InetAddressType, + e.g., IPv4 or IPv6, is identified by the + mgmdRouterInterfaceQuerierType variable in the + mgmdRouterInterface table." + + + ::= { mgmdRouterInterfaceEntry 3 } + +mgmdRouterInterfaceQueryInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..31744) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The frequency at which IGMP or MLD Host-Query packets are + transmitted on this interface." + DEFVAL { 125 } + + ::= { mgmdRouterInterfaceEntry 4 } + +mgmdRouterInterfaceStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The activation of a row enables the router side of IGMP or + MLD on the interface. The destruction of a row disables + the router side of IGMP or MLD on the interface." + + ::= { mgmdRouterInterfaceEntry 5 } + +mgmdRouterInterfaceVersion OBJECT-TYPE + SYNTAX Unsigned32 (1..3) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The version of MGMD that is running on this interface. + Value 1 applies to IGMPv1 routers only. Value 2 applies + to IGMPv2 and MLDv1 routers, and value 3 applies to IGMPv3 + and MLDv2 routers. + + This object can be used to configure a router capable of + running either version. For IGMP and MLD to function + correctly, all routers on a LAN must be configured to run + the same version on that LAN." + DEFVAL { 3 } + + ::= { mgmdRouterInterfaceEntry 6 } + +mgmdRouterInterfaceQueryMaxResponseTime OBJECT-TYPE + SYNTAX Unsigned32 (0..31744) + UNITS "tenths of seconds" + MAX-ACCESS read-create + STATUS current + + DESCRIPTION + "The maximum query response interval advertised in MGMDv2 + or IGMPv3 queries on this interface." + REFERENCE "RFC 3810, Section 9.3" + DEFVAL { 100 } + + ::= { mgmdRouterInterfaceEntry 7 } + +mgmdRouterInterfaceQuerierUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since mgmdRouterInterfaceQuerier was last + changed." + + ::= { mgmdRouterInterfaceEntry 8 } + +mgmdRouterInterfaceQuerierExpiryTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The amount of time remaining before the Other Querier + Present Timer expires. If the local system is the querier, + the value of this object is zero." + + ::= { mgmdRouterInterfaceEntry 9 } + +mgmdRouterInterfaceWrongVersionQueries OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of general queries received whose IGMP or MLD + version does not match the equivalent + mgmdRouterInterfaceVersion, over the lifetime of the row + entry. Both IGMP and MLD require that all routers on a LAN + be configured to run the same version. Thus, if any general + queries are received with the wrong version, this indicates + a configuration error." + + ::= { mgmdRouterInterfaceEntry 10 } + +mgmdRouterInterfaceJoins OBJECT-TYPE + SYNTAX Counter32 + + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The number of times a group membership has been added on + this interface, that is, the number of times an entry for + this interface has been added to the Cache Table. This + object can give an indication of the amount of activity + between samples over time." + + ::= { mgmdRouterInterfaceEntry 11 } + +mgmdRouterInterfaceProxyIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Some devices implement a form of IGMP or MLD proxying + whereby memberships learned on the interface represented by + this row cause Host Membership Reports to be sent on the + interface whose ifIndex value is given by this object. + Such a device would implement the mgmdV2RouterBaseMIBGroup + only on its router interfaces (those interfaces with + non-zero mgmdRouterInterfaceProxyIfIndex). Typically, the + value of this object is 0, indicating that no proxying is + being done." + DEFVAL { 0 } + + ::= { mgmdRouterInterfaceEntry 12 } + +mgmdRouterInterfaceGroups OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current number of entries for this interface in the + mgmdRouterCacheTable." + + ::= { mgmdRouterInterfaceEntry 13 } + +mgmdRouterInterfaceRobustness OBJECT-TYPE + SYNTAX Unsigned32 (1..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Robustness Variable allows tuning for the expected + packet loss on a subnet. If a subnet is expected to be + lossy, the Robustness Variable may be increased. IGMP and + MLD are robust to (Robustness Variable-1) packet losses." + DEFVAL { 2 } + + ::= { mgmdRouterInterfaceEntry 14 } + +mgmdRouterInterfaceLastMemberQueryInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..31744) + UNITS "tenths of seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Last Member Query Interval is the Max Query Response + Interval inserted into group-specific queries sent in + response to leave group messages, and is also the amount + of time between group-specific query messages. This value + may be tuned to modify the leave latency of the network. A + reduced value results in reduced time to detect the loss of + the last member of a group. The value of this object is + irrelevant if mgmdRouterInterfaceVersion is 1." + DEFVAL { 10 } + + ::= { mgmdRouterInterfaceEntry 15 } + +mgmdRouterInterfaceLastMemberQueryCount OBJECT-TYPE + SYNTAX Unsigned32 (1..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Represents the number of group-specific and group-and- + source-specific queries sent by the router before it assumes + there are no local members." + + ::= { mgmdRouterInterfaceEntry 16 } + +mgmdRouterInterfaceStartupQueryCount OBJECT-TYPE + SYNTAX Unsigned32 (1..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Represents the number of Queries sent out on startup, + separated by the Startup Query Interval." + + ::= { mgmdRouterInterfaceEntry 17 } + +mgmdRouterInterfaceStartupQueryInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..31744) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "This variable represents the interval between General + Queries sent by a Querier on startup." + + ::= { mgmdRouterInterfaceEntry 18 } + +-- +-- The MGMD Host Cache Table +-- + +mgmdHostCacheTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdHostCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the IP multicast groups for + which the host is a member on a particular interface." + + ::= { mgmdMIBObjects 3 } + +mgmdHostCacheEntry OBJECT-TYPE + SYNTAX MgmdHostCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the mgmdHostCacheTable." + INDEX { mgmdHostCacheAddressType, mgmdHostCacheAddress, + mgmdHostCacheIfIndex } + + ::= { mgmdHostCacheTable 1 } + +MgmdHostCacheEntry ::= SEQUENCE { + mgmdHostCacheAddressType InetAddressType, + mgmdHostCacheAddress InetAddress , + mgmdHostCacheIfIndex InterfaceIndex, + mgmdHostCacheUpTime TimeTicks, + mgmdHostCacheLastReporter InetAddress, + mgmdHostCacheSourceFilterMode INTEGER +} + +mgmdHostCacheAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the mgmdHostCacheTable entry. This + value applies to both the mgmdHostCacheAddress and the + mgmdHostCacheLastReporter entries." + + ::= { mgmdHostCacheEntry 1 } + +mgmdHostCacheAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information. The InetAddressType, e.g., IPv4 or + IPv6, is identified by the mgmdHostCacheAddressType variable + in the mgmdHostCache table." + + ::= { mgmdHostCacheEntry 2 } + +mgmdHostCacheIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information + for an IP multicast group address." + + ::= { mgmdHostCacheEntry 3 } + +mgmdHostCacheUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time elapsed since this entry was created." + + ::= { mgmdHostCacheEntry 4 } + +mgmdHostCacheLastReporter OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the source of the last membership report + received for this IP multicast group address on this + interface. If no membership report has been received, this + object has a value of 0. The InetAddressType, e.g., IPv4 or + IPv6, is identified by the mgmdHostCacheAddressType variable + in the mgmdHostCache table." + + ::= { mgmdHostCacheEntry 5 } + +mgmdHostCacheSourceFilterMode OBJECT-TYPE + + SYNTAX INTEGER {include (1), + exclude (2) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state in which the interface is currently set. The + value indicates the relevance of the corresponding source + list entries in the mgmdHostSecListTable for MGMDv3 + interfaces." + + ::= { mgmdHostCacheEntry 6 } + +-- +-- The MGMD Router Cache Table +-- + +mgmdRouterCacheTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdRouterCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the IP multicast groups for + which there are members on a particular router interface." + + ::= { mgmdMIBObjects 4 } + +mgmdRouterCacheEntry OBJECT-TYPE + SYNTAX MgmdRouterCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the mgmdRouterCacheTable." + + INDEX { mgmdRouterCacheAddressType, mgmdRouterCacheAddress, + mgmdRouterCacheIfIndex } + + ::= { mgmdRouterCacheTable 1 } + +MgmdRouterCacheEntry ::= SEQUENCE { + mgmdRouterCacheAddressType InetAddressType, + mgmdRouterCacheAddress InetAddress, + mgmdRouterCacheIfIndex InterfaceIndex, + mgmdRouterCacheLastReporter InetAddress, + mgmdRouterCacheUpTime TimeTicks, + mgmdRouterCacheExpiryTime TimeTicks, + mgmdRouterCacheExcludeModeExpiryTimer + TimeTicks, + mgmdRouterCacheVersion1HostTimer TimeTicks, + + mgmdRouterCacheVersion2HostTimer TimeTicks, + mgmdRouterCacheSourceFilterMode INTEGER +} + +mgmdRouterCacheAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the mgmdRouterCacheTable entry. This + value applies to both the mgmdRouterCacheAddress and the + mgmdRouterCacheLastReporter entries." + + ::= { mgmdRouterCacheEntry 1 } + +mgmdRouterCacheAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information. The InetAddressType, e.g., IPv4 or + IPv6, is identified by the mgmdRouterCacheAddressType + variable in the mgmdRouterCache table." + + ::= { mgmdRouterCacheEntry 2 } + +mgmdRouterCacheIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information + for an IP multicast group address." + + ::= { mgmdRouterCacheEntry 3 } + +mgmdRouterCacheLastReporter OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the source of the last membership report + received for this IP multicast group address on this + interface. If no membership report has been received, this + object has the value 0. The InetAddressType, e.g., IPv4 or + IPv6, is identified by the mgmdRouterCacheAddressType + variable in the mgmdRouterCache table." + + ::= { mgmdRouterCacheEntry 4 } + +mgmdRouterCacheUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time elapsed since this entry was created." + + ::= { mgmdRouterCacheEntry 5 } + +mgmdRouterCacheExpiryTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the time remaining before the Group + Membership Interval state expires. The value must always be + greater than or equal to 1." + + ::= { mgmdRouterCacheEntry 6 } + +mgmdRouterCacheExcludeModeExpiryTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value is applicable only to MGMDv3-compatible nodes + and represents the time remaining before the interface + EXCLUDE state expires and the interface state transitions + to INCLUDE mode. This value can never be greater than + mgmdRouterCacheExpiryTime." + + ::= { mgmdRouterCacheEntry 7 } + +mgmdRouterCacheVersion1HostTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining until the local router will assume that + there are no longer any MGMD version 1 members on the IP + subnet attached to this interface. This entry only applies + to IGMPv1 hosts, and is not implemented for MLD. Upon + hearing any MGMDv1 Membership Report (IGMPv1 only), this + value is reset to the group membership timer. While this + + + + time remaining is non-zero, the local router ignores any + MGMDv2 Leave messages (IGMPv2 only) for this group that it + receives on this interface." + + ::= { mgmdRouterCacheEntry 8 } + +mgmdRouterCacheVersion2HostTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining until the local router will assume that + there are no longer any MGMD version 2 members on the IP + subnet attached to this interface. This entry applies to + both IGMP and MLD hosts. Upon hearing any MGMDv2 Membership + Report, this value is reset to the group membership timer. + Assuming no MGMDv1 hosts have been detected, the local + router does not ignore any MGMDv2 Leave messages for this + group that it receives on this interface." + + ::= { mgmdRouterCacheEntry 9 } + +mgmdRouterCacheSourceFilterMode OBJECT-TYPE + SYNTAX INTEGER {include (1), + exclude (2) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current cache state, applicable to MGMDv3-compatible + nodes. The value indicates whether the state is INCLUDE or + EXCLUDE." + + ::= { mgmdRouterCacheEntry 10 } + +-- +-- The MGMD Inverse Host interface/cache lookup Table +-- + +mgmdInverseHostCacheTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdInverseHostCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interfaces that are + members of a particular group. This is an inverse lookup + table for entries in the mgmdHostCacheTable." + + ::= { mgmdMIBObjects 5 } + +mgmdInverseHostCacheEntry OBJECT-TYPE + SYNTAX MgmdInverseHostCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the + mgmdInverseHostCacheTable." + INDEX { mgmdInverseHostCacheIfIndex, + mgmdInverseHostCacheAddressType, + mgmdInverseHostCacheAddress} + + ::= { mgmdInverseHostCacheTable 1 } + +MgmdInverseHostCacheEntry ::= SEQUENCE { + mgmdInverseHostCacheIfIndex InterfaceIndex, + mgmdInverseHostCacheAddressType InetAddressType, + mgmdInverseHostCacheAddress InetAddress +} + +mgmdInverseHostCacheIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information." + + ::= { mgmdInverseHostCacheEntry 1 } + +mgmdInverseHostCacheAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the mgmdInverseHostCacheTable entry." + + ::= { mgmdInverseHostCacheEntry 2 } + +mgmdInverseHostCacheAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information about an interface. The + InetAddressType, e.g., IPv4 or IPv6, is identified by the + mgmdInverseHostCacheAddressType variable in the + mgmdInverseHostCache table." + + + ::= { mgmdInverseHostCacheEntry 3 } + +-- +-- The MGMD Inverse Router interface/cache lookup Table +-- + +mgmdInverseRouterCacheTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdInverseRouterCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interfaces that + are members of a particular group. This is an inverse + lookup table for entries in the mgmdRouterCacheTable." + + ::= { mgmdMIBObjects 6 } + +mgmdInverseRouterCacheEntry OBJECT-TYPE + SYNTAX MgmdInverseRouterCacheEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the + mgmdInverseRouterCacheTable." + INDEX { mgmdInverseRouterCacheIfIndex, + mgmdInverseRouterCacheAddressType, + mgmdInverseRouterCacheAddress } + + ::= { mgmdInverseRouterCacheTable 1 } + +MgmdInverseRouterCacheEntry ::= SEQUENCE { + mgmdInverseRouterCacheIfIndex InterfaceIndex, + mgmdInverseRouterCacheAddressType InetAddressType, + mgmdInverseRouterCacheAddress InetAddress +} + +mgmdInverseRouterCacheIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information + for an IP multicast group address." + + ::= { mgmdInverseRouterCacheEntry 1 } + +mgmdInverseRouterCacheAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the mgmdInverseRouterCacheTable entry." + + ::= { mgmdInverseRouterCacheEntry 2 } + +mgmdInverseRouterCacheAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information. The InetAddressType, e.g., IPv4 or + IPv6, is identified by the mgmdInverseRouterCacheAddressType + variable in the mgmdInverseRouterCache table." + + ::= { mgmdInverseRouterCacheEntry 3 } + +-- +-- The MGMD Host Source list Table +-- + +mgmdHostSrcListTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdHostSrcListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the Source List entries + corresponding to each interface and multicast group pair + on a host." + + ::= { mgmdMIBObjects 7 } + +mgmdHostSrcListEntry OBJECT-TYPE + SYNTAX MgmdHostSrcListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the mgmdHostSrcListTable." + INDEX { mgmdHostSrcListAddressType, mgmdHostSrcListAddress, + mgmdHostSrcListIfIndex, mgmdHostSrcListHostAddress } + + ::= { mgmdHostSrcListTable 1 } + +MgmdHostSrcListEntry ::= SEQUENCE { + mgmdHostSrcListAddressType InetAddressType, + mgmdHostSrcListAddress InetAddress, + + mgmdHostSrcListIfIndex InterfaceIndex, + mgmdHostSrcListHostAddress InetAddress, + mgmdHostSrcListExpire TimeTicks +} + +mgmdHostSrcListAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the InetAddress variables in this + table. This value applies to the mgmdHostSrcListHostAddress + and mgmdHostSrcListAddress entries." + + ::= { mgmdHostSrcListEntry 1 } + +mgmdHostSrcListAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information." + + ::= { mgmdHostSrcListEntry 2 } + +mgmdHostSrcListIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information + for an IP multicast group address." + + ::= { mgmdHostSrcListEntry 3 } + +mgmdHostSrcListHostAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The host address to which this entry corresponds. The + mgmdHostCacheSourceFilterMode value for this group address + and interface indicates whether this host address is + included or excluded." + + ::= { mgmdHostSrcListEntry 4 } + + +mgmdHostSrcListExpire OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value indicates the relevance of the SrcList entry, + whereby a non-zero value indicates this is an INCLUDE state + value, and a zero value indicates this to be an EXCLUDE + state value." + + ::= { mgmdHostSrcListEntry 5 } + +-- +-- The MGMD Router Source list Table +-- + +mgmdRouterSrcListTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgmdRouterSrcListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the Source List entries + corresponding to each interface and multicast group pair on + a Router." + + ::= { mgmdMIBObjects 8 } + +mgmdRouterSrcListEntry OBJECT-TYPE + SYNTAX MgmdRouterSrcListEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the mgmdRouterSrcListTable." + INDEX { mgmdRouterSrcListAddressType, + mgmdRouterSrcListAddress, + mgmdRouterSrcListIfIndex, + mgmdRouterSrcListHostAddress } + + ::= { mgmdRouterSrcListTable 1 } + +MgmdRouterSrcListEntry ::= SEQUENCE { + mgmdRouterSrcListAddressType InetAddressType, + mgmdRouterSrcListAddress InetAddress, + mgmdRouterSrcListIfIndex InterfaceIndex, + mgmdRouterSrcListHostAddress InetAddress, + mgmdRouterSrcListExpire TimeTicks +} + + +mgmdRouterSrcListAddressType OBJECT-TYPE + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the InetAddress variables in this + table. This value applies to the + mgmdRouterSrcListHostAddress and mgmdRouterSrcListAddress + entries." + + ::= { mgmdRouterSrcListEntry 1 } + +mgmdRouterSrcListAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address for which this entry + contains information." + + ::= { mgmdRouterSrcListEntry 2 } + +mgmdRouterSrcListIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface for which this entry contains information + for an IP multicast group address." + + ::= { mgmdRouterSrcListEntry 3 } + +mgmdRouterSrcListHostAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE(4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The host address to which this entry corresponds. The + mgmdRouterCacheSourceFilterMode value for this group address + and interface indicates whether this host address is + included or excluded." + + ::= { mgmdRouterSrcListEntry 4 } + +mgmdRouterSrcListExpire OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "This value indicates the relevance of the SrcList entry, + whereby a non-zero value indicates this is an INCLUDE state + value, and a zero value indicates this to be an EXCLUDE + state value." + + ::= { mgmdRouterSrcListEntry 5 } + +-- conformance information + +mgmdMIBConformance OBJECT IDENTIFIER ::= { mgmdStdMIB 2 } +mgmdMIBCompliance OBJECT IDENTIFIER ::= { mgmdMIBConformance 1 } +mgmdMIBGroups OBJECT IDENTIFIER ::= { mgmdMIBConformance 2 } + +-- Protocol Version Conformance + +-- Read Compliance statement for IGMPv1 Hosts +-- IGMPv1 only supports the IPv4 Address Family + +mgmdIgmpV1HostReadMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-only compliance statement for hosts running IGMPv1 + [RFC1112] and implementing the MGMD MIB. IGMPv1 hosts must + support the IPv4 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdHostBaseMIBGroup } + + OBJECT mgmdHostInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + OBJECT mgmdHostInterfaceVersion + SYNTAX Unsigned32 (1) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. Only version 1 needs to be + supported." + + GROUP mgmdHostExtendedMIBGroup + DESCRIPTION + "Supporting this group can be especially useful in + an environment with a router that does not support the + MGMD MIB." + + + ::= { mgmdMIBCompliance 1 } + +-- Read Compliance statement for IGMPv1 Routers +-- IGMPv1 only supports the IPv4 Address Family + +mgmdIgmpV1RouterReadMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-only compliance statement for routers running + IGMPv1 [RFC1112] and implementing the MGMD MIB. IGMPv1 + routers only support the IPv4 address type. + + Non-accessible index objects that only need IPv4 + support are: + + OBJECT mgmdRouterCacheAddressType + SYNTAX InetAddressType { ipv4(1) } + + OBJECT mgmdRouterCacheAddress + SYNTAX InetAddress (SIZE(4)) + + OBJECT mgmdRouterInterfaceQuerierType + SYNTAX InetAddressType { ipv4(1) } + + OBJECT mgmdInverseRouterCacheAddressType + SYNTAX InetAddressType { ipv4(1) } + " + + MODULE -- this module + MANDATORY-GROUPS { mgmdRouterBaseMIBGroup } + + OBJECT mgmdRouterCacheLastReporter + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "IGMPv1 routers only support IPv4 addresses." + + OBJECT mgmdRouterInterfaceQuerier + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "IGMPv1 routers only support IPv4 addresses." + + OBJECT mgmdInverseRouterCacheAddress + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "IGMPv1 routers only support IPv4 addresses." + + OBJECT mgmdRouterInterfaceVersion + SYNTAX Unsigned32 (1) + + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. Only version 1 needs to + be supported." + + OBJECT mgmdRouterInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + OBJECT mgmdRouterInterfaceQueryInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + ::= { mgmdMIBCompliance 2 } + +-- Write Compliance statement for IGMPv1 Routers +-- IGMPv1 only supports the IPv4 Address Family + +mgmdIgmpV1RouterWriteMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-create compliance statement for routers running + IGMPv1 [RFC1112] and implementing the MGMD MIB. IGMPv1 + routers only support the IPv4 address type. + + Non-accessible index objects that only need IPv4 + support are: + + OBJECT mgmdRouterCacheAddressType + SYNTAX InetAddressType { ipv4(1) } + + OBJECT mgmdRouterCacheAddress + SYNTAX InetAddress (SIZE(4)) + + OBJECT mgmdRouterInterfaceQuerierType + SYNTAX InetAddressType { ipv4(1) } + + OBJECT mgmdInverseRouterCacheAddressType + SYNTAX InetAddressType { ipv4(1) } + " + MODULE -- this module + MANDATORY-GROUPS { mgmdRouterBaseMIBGroup } + + + + OBJECT mgmdRouterCacheLastReporter + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "Only IPv4 addresses needed for IGMPv1 router support." + + OBJECT mgmdRouterInterfaceQuerier + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "Only IPv4 addresses needed for IGMPv1 router support." + + OBJECT mgmdInverseRouterCacheAddress + SYNTAX InetAddress (SIZE(4)) + DESCRIPTION + "Only IPv4 addresses needed for IGMPv1 router support." + + OBJECT mgmdRouterInterfaceVersion + SYNTAX Unsigned32 (1) + DESCRIPTION + "Write access is not required. Only version 1 needs to + be supported." + + ::= { mgmdMIBCompliance 3 } + +-- Read Compliance statement for IGMPv2 and MLDv1 Hosts +-- IGMPv2 only supports the IPv4 Address Family +-- MLDv1 only supports the IPv6 Address Family + +mgmdIgmpV2MldV1HostReadMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-only compliance statement for hosts running IGMPv2 + [RFC2236] or MLDv1 [RFC2710] and implementing the MGMD + MIB. IGMPv2 hosts only support the IPv4 address type and + MLDv1 hosts only support the IPv6 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdHostBaseMIBGroup, + mgmdV2HostMIBGroup + } + + OBJECT mgmdHostInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + OBJECT mgmdHostInterfaceVersion + SYNTAX Unsigned32 (1..2) + + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. Only versions 1 and 2 need + to be supported." + + GROUP mgmdHostExtendedMIBGroup + DESCRIPTION + "Supporting this group can be especially useful in an + environment with a router that does not support the + MGMD MIB." + + ::= { mgmdMIBCompliance 4 } + +-- Write Compliance statement for IGMPv2 and MLDv1 Hosts +-- IGMPv2 only supports the IPv4 Address Family +-- MLDv1 only supports the IPv6 Address Family + +mgmdIgmpV2MldV1HostWriteMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-create compliance statement for hosts running + IGMPv2 [RFC2236] or MLDv1 [RFC2710] and implementing + the MGMD MIB. IGMPv2 hosts only support the IPv4 address + type and MLDv1 hosts only support the IPv6 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdHostBaseMIBGroup, + mgmdV2HostMIBGroup } + OBJECT mgmdHostInterfaceVersion + SYNTAX Unsigned32 (1..2) + DESCRIPTION + "Only versions 1 and 2 need to be supported." + + ::= { mgmdMIBCompliance 5 } + +-- Read Compliance statement for IGMPv2 and MLDv1 Routers +-- IGMPv2 only supports the IPv4 Address Family +-- MLDv1 only supports the IPv6 Address Family + +mgmdIgmpV2MldV1RouterReadMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-only compliance statement for routers running + IGMPv2 [RFC2236] or MLDv1 [RFC2710] and implementing + the MGMD MIB. IGMPv2 routers only support the IPv4 + address type and MLDv1 routers only support the IPv6 + address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdRouterBaseMIBGroup, + + mgmdV2RouterBaseMIBGroup + } + + OBJECT mgmdRouterInterfaceLastMemberQueryInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceRobustness + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceQueryMaxResponseTime + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceVersion + SYNTAX Unsigned32 (1..2) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. Only versions 1 and 2 + need to be supported." + + OBJECT mgmdRouterInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + OBJECT mgmdRouterInterfaceQueryInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP mgmdV2ProxyMIBGroup + DESCRIPTION + "Write access is not required." + + ::= { mgmdMIBCompliance 6 } + +-- Write Compliance statement for IGMPv2, IGMPv3, MLDv1, and MLDv2 +-- Routers +-- IGMPv2 and IGMPv3 only support the IPv4 Address Family +-- MLDv1 and MLDv2 only support the IPv6 Address Family + + +mgmdIgmpV2V3MldV1V2RouterWriteMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "A read-create compliance statement for routers running + IGMPv2 [RFC2236], IGMPv3 [RFC3376], MLDv1 [RFC2710], or + MLDv2 [RFC3810] and implementing the MGMD MIB. IGMPv2 and + IGMPv3 routers only support the IPv4 address type, while + MLDv1 and MLDv2 routers only support the IPv6 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdRouterBaseMIBGroup, + mgmdV2RouterBaseMIBGroup + } + + GROUP mgmdV2ProxyMIBGroup + DESCRIPTION + "Read-create access is required." + + ::= { mgmdMIBCompliance 7 } + +-- Read Compliance statement for IGMPv2, IGMPv3, MLDv1, and MLDv2 Hosts +-- IGMPv2 and IGMPv3 only support the IPv4 Address Family +-- MLDv1 and MLDv2 only support the IPv6 Address Family + +mgmdIgmpV3MldV2HostReadMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for hosts running IGMPv3 + [RFC3376] or MLDv2 [RFC3810] and implementing the + MGMD MIB. IGMPv3 hosts only support the IPv4 address + type and MLDv2 hosts only support the IPv6 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdHostBaseMIBGroup, + mgmdV2HostMIBGroup, + mgmdV3HostMIBGroup + } + + OBJECT mgmdHostInterfaceVersion + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdHostInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + + OBJECT mgmdHostInterfaceVersion3Robustness + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP mgmdHostExtendedMIBGroup + DESCRIPTION + "Supporting this group can be especially useful in + an environment with a router that does not support the + MGMD MIB." + + ::= { mgmdMIBCompliance 8 } + +-- Write Compliance statement for IGMPv2, IGMPv3, MLDv1, and MLDv2 Hosts +-- IGMPv2 and IGMPv3 only support the IPv4 Address Family +-- MLDv1 and MLDv2 only support the IPv6 Address Family + +mgmdIgmpV3MldV2HostWriteMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for hosts running IGMPv3 + [RFC3376] or MLDv2 [RFC3810] and implementing the + MGMD MIB. IGMPv3 hosts only support the IPv4 address + type and MLDv2 hosts only support the IPv6 address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdHostBaseMIBGroup, + mgmdV2HostMIBGroup, + + mgmdV3HostMIBGroup + } + + GROUP mgmdHostExtendedMIBGroup + DESCRIPTION + "Supporting this group can be especially useful in + an environment with a router that does not support the + MGMD MIB." + + ::= { mgmdMIBCompliance 9 } + +-- Read Compliance statement for IGMPv2, IGMPv3, MLDv1, and MLDv2 +-- Routers +-- IGMPv2 and IGMPv3 only support the IPv4 Address Family +-- MLDv1 and MLDv2 only support the IPv6 Address Family + +mgmdIgmpV3MldV2RouterReadMIBCompliance MODULE-COMPLIANCE + STATUS current + + + + DESCRIPTION + "A read-only compliance statement for routers running + IGMPv3 [RFC3376] or MLDv2 [RFC3810] and implementing + the MGMD MIB. IGMPv3 routers only support the IPv4 + address type and MLDv2 routers only support the IPv6 + address type." + MODULE -- this module + MANDATORY-GROUPS { mgmdRouterBaseMIBGroup, + mgmdV2RouterBaseMIBGroup, + mgmdV3RouterMIBGroup + } + + OBJECT mgmdRouterInterfaceLastMemberQueryInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceRobustness + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceQueryMaxResponseTime + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceVersion + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mgmdRouterInterfaceStatus + SYNTAX RowStatus {active(1)} + MIN-ACCESS read-only + DESCRIPTION + "Read-write or read-create access is not required and only + the value 'active(1)' needs to be supported." + + OBJECT mgmdRouterInterfaceQueryInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + GROUP mgmdV2ProxyMIBGroup + DESCRIPTION + "Write access is not required." + + + ::= { mgmdMIBCompliance 10 } + +-- units of conformance + +mgmdHostBaseMIBGroup OBJECT-GROUP + OBJECTS { mgmdHostInterfaceStatus, + mgmdHostInterfaceVersion + } + STATUS current + DESCRIPTION + "The basic collection of objects providing management of + MGMD version 1, 2, or 3 for hosts." + + ::= { mgmdMIBGroups 1 } + +mgmdRouterBaseMIBGroup OBJECT-GROUP + OBJECTS { mgmdRouterInterfaceStatus, + mgmdRouterInterfaceQueryInterval, + mgmdRouterCacheUpTime, mgmdRouterCacheExpiryTime, + mgmdRouterInterfaceVersion, + mgmdRouterInterfaceJoins, mgmdRouterInterfaceGroups, + mgmdRouterCacheLastReporter, + mgmdRouterInterfaceQuerierUpTime, + mgmdRouterInterfaceQuerierExpiryTime, + mgmdRouterInterfaceQuerier, + mgmdInverseRouterCacheAddress + } + STATUS current + DESCRIPTION + "The basic collection of objects providing management of + MGMD version 1, 2, or 3 for routers." + + ::= { mgmdMIBGroups 2 } + +mgmdV2HostMIBGroup OBJECT-GROUP + OBJECTS { mgmdHostInterfaceVersion1QuerierTimer + } + STATUS current + DESCRIPTION + "A collection of additional read-only objects for management + of IGMP version 2 in hosts for MGMD version 2 compliance." + + ::= { mgmdMIBGroups 3 } + +mgmdHostExtendedMIBGroup OBJECT-GROUP + OBJECTS { mgmdHostCacheLastReporter, mgmdHostCacheUpTime, + mgmdHostInterfaceQuerier, mgmdInverseHostCacheAddress } + STATUS current + + DESCRIPTION + "A collection of optional objects for MGMD hosts." + + ::= { mgmdMIBGroups 4 } + +mgmdV2RouterBaseMIBGroup OBJECT-GROUP + OBJECTS { mgmdRouterInterfaceWrongVersionQueries, + mgmdRouterInterfaceLastMemberQueryCount, + mgmdRouterInterfaceStartupQueryCount, + mgmdRouterInterfaceStartupQueryInterval, + mgmdRouterCacheVersion1HostTimer, + mgmdRouterInterfaceQueryMaxResponseTime, + mgmdRouterInterfaceRobustness, + mgmdRouterInterfaceLastMemberQueryInterval + } + STATUS current + DESCRIPTION + "A collection of additional read-only objects for + management of MGMD version 2 in routers." + + ::= { mgmdMIBGroups 5 } + +mgmdV2ProxyMIBGroup OBJECT-GROUP + OBJECTS { mgmdRouterInterfaceProxyIfIndex } + STATUS current + DESCRIPTION + "A collection of additional read-create objects for + management of MGMD proxy devices." + + ::= { mgmdMIBGroups 6 } + +mgmdV3HostMIBGroup OBJECT-GROUP + OBJECTS { mgmdHostInterfaceVersion2QuerierTimer, + mgmdHostCacheSourceFilterMode, + mgmdHostInterfaceVersion3Robustness, + mgmdHostSrcListExpire + } + STATUS current + DESCRIPTION + "A collection of additional objects for + management of MGMD version 3 in hosts." + + ::= { mgmdMIBGroups 7 } + +mgmdV3RouterMIBGroup OBJECT-GROUP + OBJECTS { mgmdRouterCacheSourceFilterMode, + mgmdRouterCacheVersion2HostTimer, + mgmdRouterCacheExcludeModeExpiryTimer, + + mgmdRouterSrcListExpire + } + STATUS current + DESCRIPTION + "A collection of additional read-only objects for + management of MGMD version 3 in routers." + + ::= { mgmdMIBGroups 8 } + +END \ No newline at end of file diff --git a/mibs/MPLS-FTN-STD-MIB.txt b/mibs/MPLS-FTN-STD-MIB.txt new file mode 100644 index 00000000..8626f463 --- /dev/null +++ b/mibs/MPLS-FTN-STD-MIB.txt @@ -0,0 +1,1086 @@ +MPLS-FTN-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter64, Integer32 + FROM SNMPv2-SMI -- [RFC2578] + RowStatus, StorageType, RowPointer, + TEXTUAL-CONVENTION, TimeStamp + FROM SNMPv2-TC -- [RFC2579] + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF -- [RFC2580] + InterfaceIndexOrZero, + ifGeneralInformationGroup, ifCounterDiscontinuityGroup + FROM IF-MIB -- [RFC2863] + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB -- [RFC3411] + Dscp + FROM DIFFSERV-DSCP-TC -- [RFC3289] + InetAddressType, InetAddress, InetPortNumber + FROM INET-ADDRESS-MIB -- [RFC3291] + mplsStdMIB + FROM MPLS-TC-STD-MIB -- [RFC3811] + + + + ; + +mplsFTNStdMIB MODULE-IDENTITY + LAST-UPDATED "200406030000Z" -- June 6, 2004 + ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" + CONTACT-INFO + " + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-244-3051 + Email: tnadeau@cisco.com + + Cheenu Srinivasan + Postal: Bloomberg L.P. + 499 Park Avenue + New York, NY 10022 + Tel: +1-212-893-3682 + Email: cheenu@bloomberg.net + + Arun Viswanathan + Postal: Force10 Networks, Inc. + 1440 McCarthy Blvd + Milpitas, CA 95035 + Tel: +1-408-571-3516 + Email: arunv@force10networks.com + + IETF MPLS Working Group email: mpls@uu.net" + + DESCRIPTION + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3814. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html + + This MIB module contains managed object definitions for + specifying FEC to NHLFE (FTN) mappings and corresponding + performance for MPLS." + + -- Revision history. + + REVISION + "200406030000Z" -- June 3, 2004 + + DESCRIPTION + "Initial version issued as part of RFC 3814." + + + + ::= { mplsStdMIB 8 } + +-- TEXTUAL-CONVENTIONs used in this MIB. +MplsFTNEntryIndex ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Index for an entry in mplsFTNTable." + SYNTAX Unsigned32 (1..4294967295) + +MplsFTNEntryIndexOrZero ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Index for an entry in mplsFTNTable or the special value + zero. The value zero is object-specific and must + therefore be defined as part of the description of any + object which uses this syntax. Examples of the usage + of zero might include situations when none or all + entries in mplsFTNTable need to be referenced." + SYNTAX Unsigned32 (0..4294967295) + +-- Top-Level Components of this MIB. + +mplsFTNNotifications OBJECT IDENTIFIER ::= { mplsFTNStdMIB 0 } +mplsFTNObjects OBJECT IDENTIFIER ::= { mplsFTNStdMIB 1 } +mplsFTNConformance OBJECT IDENTIFIER ::= { mplsFTNStdMIB 2 } + +-- Next free index in mplsFTNTable. +mplsFTNIndexNext OBJECT-TYPE + SYNTAX MplsFTNEntryIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains the next available valid value to + be used for mplsFTNIndex when creating entries in the + mplsFTNTable. + + When creating a new conceptual row (configuration + entry) in mplsFTNTable with an SNMP SET operation the + command generator (Network Management Application) must + first issue a management protocol retrieval operation + to obtain the current value of this object. + + If the command responder (agent) does not wish to allow + creation of more entries in mplsFTNTable, possibly + because of resource exhaustion, this object MUST return + a value of 0. + + If a non-zero value is returned the Network Management + + + + Application must determine whether the value is indeed + still unused since two Network Management Applications + may attempt to create a row simultaneously and use the + same value. + + If it is currently unused and the SET succeeds, the + agent MUST change the value of this object to a + currently unused non-zero value (according to an + implementation specific algorithm) or zero (if no + further row creation will be permitted). + + If the value is in use, however, the SET fails and the + Network Management Application must then reread this + object to obtain a new usable value." + ::= { mplsFTNObjects 1 } + +-- Last time an object in mplsFTNTable changed. +mplsFTNTableLastChanged OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the last time an entry was added, deleted or + modified in mplsFTNTable. Management stations should + consult this object to determine if mplsFTNTable + requires their attention. This object is particularly + useful for applications performing a retrieval on + mplsFTNTable to ensure that the table is not modified + during the retrieval operation." + ::= { mplsFTNObjects 2 } + +-- Table of FTN entries. +mplsFTNTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsFTNEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains the currently defined FTN entries. + This table allows FEC to NHLFE mappings to be + specified. Each entry in this table defines a rule to + be applied to incoming packets (on interfaces that the + FTN entry is activated on using mplsFTNMapTable) and an + action to be taken on matching packets + (mplsFTNActionPointer). + + This table supports 6-tuple matching rules based on one + or more of source address range, destination address + range, source port range, destination port range, IPv4 + + + + Protocol field or IPv6 next-header field and the + DiffServ Code Point (DSCP) to be specified. + + The action pointer points either to instance of + mplsXCEntry in MPLS-LSR-STD-MIB when the NHLFE is a non- + TE LSP, or to an instance of mplsTunnelEntry in the + MPLS-TE-STD-MIB when the NHLFE is an originating TE + tunnel." + REFERENCE + "J. Postel, Internet Protocol, RFC 791, STD 5, September + 1981 + + Deering, S., and R. Hinden, Internet Protocol, Version + 6 (IPv6) Specification, RFC 2460, December 1998 + + Nichols, K, Blake, S., Baker, F. and D. Black, + Definition of the Differentiated Services Field (DS + Field) in the IPv4 and IPv6 Headers, RFC 2474, December + 1998 + + Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS + Label Switch Router Management Information Base, + RFC 3813 + + Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS + Traffic Engineering Management Information Base, + RFC 3812" + ::= { mplsFTNObjects 3 } + +mplsFTNEntry OBJECT-TYPE + SYNTAX MplsFTNEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry represents one FTN entry which defines a + rule to compare incoming packets with and an action to + be taken on matching packets." + INDEX { mplsFTNIndex } + ::= { mplsFTNTable 1 } + +MplsFTNEntry ::= SEQUENCE { + mplsFTNIndex MplsFTNEntryIndex, + mplsFTNRowStatus RowStatus, + mplsFTNDescr SnmpAdminString, + mplsFTNMask BITS, + mplsFTNAddrType InetAddressType, + mplsFTNSourceAddrMin InetAddress, + mplsFTNSourceAddrMax InetAddress, + + + + mplsFTNDestAddrMin InetAddress, + mplsFTNDestAddrMax InetAddress, + mplsFTNSourcePortMin InetPortNumber, + mplsFTNSourcePortMax InetPortNumber, + mplsFTNDestPortMin InetPortNumber, + mplsFTNDestPortMax InetPortNumber, + mplsFTNProtocol Integer32, + mplsFTNDscp Dscp, + mplsFTNActionType INTEGER, + mplsFTNActionPointer RowPointer, + mplsFTNStorageType StorageType + } + +mplsFTNIndex OBJECT-TYPE + SYNTAX MplsFTNEntryIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This is the unique index for a conceptual row in + mplsFTNTable. + + To create a new conceptual row in mplsFTNTable a + Network Management Application SHOULD retrieve the + current value of mplsFTNIndexNext to determine the next + valid available value of mplsFTNIndex." + ::= { mplsFTNEntry 1 } + +mplsFTNRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Used for controlling the creation and deletion of this + row. All writeable objects in this row may be modified + at any time. If a Network Management Application + attempts to delete a conceptual row by setting this + object to 'destroy' and there are one or more entries + in mplsFTNMapTable pointing to the row (i.e., when + mplsFTNIndex of the conceptual row being deleted is + equal to mplsFTNMapCurrIndex for one or more entries in + mplsFTNMapTable), the agent MUST also destroy the + corresponding entries in mplsFTNMapTable." + ::= { mplsFTNEntry 2 } + +mplsFTNDescr OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The description of this FTN entry. Since the index for + this table has no particular significance or meaning, + this object should contain some meaningful text that an + operator could use to further distinguish entries in + this table." + ::= { mplsFTNEntry 3 } + +mplsFTNMask OBJECT-TYPE + SYNTAX BITS { + sourceAddr(0), + destAddr(1), + sourcePort(2), + destPort(3), + protocol(4), + dscp(5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This bit map indicates which of the fields described + next, namely source address range, destination address + range, source port range, destination port range, IPv4 + Protocol field or IPv6 next-header field and + Differentiated Services Code Point (DSCP) is active for + this FTN entry. If a particular bit is set to zero then + the corresponding field in the packet MUST be ignored + for comparison purposes." + ::= { mplsFTNEntry 4 } + +mplsFTNAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object determines the type of address contained in + the source and destination address objects + (mplsFTNSourceAddrMin, mplsFTNSourceAddrMax, + mplsFTNDestAddrMin and mplsFTNDestAddrMax) of a + conceptual row. + + This object MUST NOT be set to unknown(0) when + mplsFTNMask has bit positions sourceAddr(0) or + destAddr(1) set to one. + + When both these bit positions of mplsFTNMask are set to + zero the value of mplsFTNAddrType SHOULD be set to + unknown(0) and the corresponding source and destination + + + + address objects SHOULD be set to zero-length strings." + ::= { mplsFTNEntry 5 } + +mplsFTNSourceAddrMin OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The lower end of the source address range. The type of + this object is determined by the corresponding + mplsFTNAddrType object." + ::= { mplsFTNEntry 6 } + +mplsFTNSourceAddrMax OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The upper end of the source address range. The type of + this object is determined by the corresponding + mplsFTNAddrType object." + ::= { mplsFTNEntry 7 } + +mplsFTNDestAddrMin OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The lower end of the destination address range. The + type of this object is determined by the corresponding + mplsFTNAddrType object." + ::= { mplsFTNEntry 8 } + +mplsFTNDestAddrMax OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The higher end of the destination address range. The + type of this object is determined by the corresponding + mplsFTNAddrType object." + ::= { mplsFTNEntry 9 } + +mplsFTNSourcePortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "The lower end of the source port range." + DEFVAL { 0 } + ::= { mplsFTNEntry 10 } + +mplsFTNSourcePortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The higher end of the source port range " + DEFVAL { 65535 } + ::= { mplsFTNEntry 11 } + +mplsFTNDestPortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The lower end of the destination port range." + DEFVAL { 0 } + ::= { mplsFTNEntry 12 } + +mplsFTNDestPortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The higher end of the destination port range." + DEFVAL { 65535 } + ::= { mplsFTNEntry 13 } + +mplsFTNProtocol OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP protocol to match against the IPv4 protocol + number or IPv6 Next-Header number in the packet. A + value of 255 means match all. Note that the protocol + number of 255 is reserved by IANA, and Next-Header + number of 0 is used in IPv6." + DEFVAL { 255 } + ::= { mplsFTNEntry 14 } + +mplsFTNDscp OBJECT-TYPE + SYNTAX Dscp + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The contents of the DSCP field." + REFERENCE + "Nichols, K., Blake, S., Baker, F. and D. Black, + Definition of the Differentiated Services Field (DS + Field) in the IPv4 and IPv6 Headers, RFC 2474, December + 1998." + ::= { mplsFTNEntry 15 } + +mplsFTNActionType OBJECT-TYPE + SYNTAX INTEGER { + redirectLsp(1), -- redirect into LSP + redirectTunnel(2) -- redirect into tunnel + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of action to be taken on packets matching this + FTN entry." + ::= { mplsFTNEntry 16 } + +mplsFTNActionPointer OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsFTNActionType is redirectLsp(1), then this + object MUST contain zeroDotZero or point to a instance + of mplsXCEntry indicating the LSP to redirect matching + packets to. + + If mplsFTNActionType is redirectTunnel(2), then this + object MUST contain zeroDotZero or point to a instance + of mplsTunnelEntry indicating the MPLS TE tunnel to + redirect matching packets to. + + If this object points to a conceptual row instance in a + table consistent with mplsFTNActionType but this + instance does not currently exist then no action will + be taken on packets matching such an FTN entry till + this instance comes into existence. + + If this object contains zeroDotZero then no action will + be taken on packets matching such an FTN entry till it + is populated with a valid pointer consistent with the + value of mplsFTNActionType as explained above." + ::= { mplsFTNEntry 17 } + + + + +mplsFTNStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this FTN entry. Conceptual rows + having the value 'permanent' need not allow write- + access to any columnar objects in the row." + DEFVAL { nonVolatile } + ::= { mplsFTNEntry 18 } + +-- End of mplsFTNTable. + +-- Last time an object in mplsFTNMapTable changed. + +mplsFTNMapTableLastChanged OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the last time an entry was added, deleted or + modified in mplsFTNMapTable. Management stations should + consult this object to determine if the table requires + their attention. This object is particularly useful + for applications performing a retrieval on + mplsFTNMapTable to ensure that the table is not + modified during the retrieval operation." + ::= { mplsFTNObjects 4 } + +-- FTN to interface mapping table. + +mplsFTNMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsFTNMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains objects which provide the + capability to apply or map FTN rules as defined by + entries in mplsFTNTable to specific interfaces in the + system. FTN rules are compared with incoming packets + in the order in which they are applied on an interface. + + The indexing structure of mplsFTNMapTable is as + follows. + + - mplsFTNMapIndex indicates the interface to which the + rule is being applied. A value of 0 represents the + application of the rule to all interfaces. + + + + + - mplsFTNMapPrevIndex specifies the rule on the + interface prior to the one being applied. A value of + 0 specifies that the rule is being inserted at the + head of the list of rules currently applied to the + interface. + + - mplsFTNMapCurrIndex is the index in mplsFTNTable + corresponding to the rule being applied. + + This indexing structure makes the entries in the table + behave like items in a linked-list. The object + mplsFTNMapPrevIndex in each conceptual row is a pointer + to the previous entry that is applied to a particular + interface. This allows a new entry to be 'inserted' at + an arbitrary position in a list of entries currently + applied to an interface. This object is self- + adjusting, i.e., its value is automatically adjusted by + the agent, if necessary, after an insertion or deletion + operation. + + Using this linked-list structure, one can retrieve FTN + entries in the order of application on a per-interface + basis as follows: + + - To determine the first FTN entry on an interface + with index ifIndex perform a GETNEXT retrieval + operation on mplsFTNMapRowStatus.ifIndex.0.0; the + returned object, if one exists, is (say) + mplsFTNMapRowStatus.ifIndex.0.n (mplsFTNMapRowStatus + is the first accessible columnar object in the + conceptual row). Then the index of the first FTN + entry applied on this interface is n. + + - To determine the FTN entry applied to an interface + after the one indexed by n perform a GETNEXT + retrieval operation on + mplsFTNMapRowStatus.ifIndex.n.0. If such an entry + exists the returned object would be of the form + mplsFTNMapRowStatus.ifIndex.n.m. Then the index of + the next FTN entry applied on this interface is m. + + - If the FTN entry indexed by n is the last entry + applied to the interface with index ifIndex then the + object returned would either be: + + 1.mplsFTNMapRowStatus.ifIndexNext.0.k, where + ifIndexNext is the index of the next interface in + + + + ifTable to which an FTN entry has been applied, in + which case k is the index of the first FTN entry + applied to the interface with index ifIndexNext; + + or: + + 2.mplsFTNMapStorageType.firstIfIndex.0.p, if there + are no more entries in mplsFTNMapTable, where + firstIfIndex is the first entry in ifTable to + which an FTN entry has been mapped. + + Use the above steps to retrieve all the applied FTN + entries on a per-interface basis in application order. + Note that the number of retrieval operations is the + same as the number of applied FTN entries (i.e., the + minimum number of GETNEXT operations needed using any + indexing scheme). + + Agents MUST NOT allow the same FTN entry as specified + by mplsFTNMapCurrIndex to be applied multiple times to + the same interface. + + Agents MUST NOT allow the creation of rows in this + table until the corresponding rows are created in the + mplsFTNTable. + + If a row in mplsFTNTable is destroyed, the agent MUST + destroy the corresponding entries (i.e., ones with a + matching value of mplsFTNCurrIndex) in this table as + well." + ::= { mplsFTNObjects 5 } + +mplsFTNMapEntry OBJECT-TYPE + SYNTAX MplsFTNMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each conceptual row represents the application of an + FTN rule at a specific position in the list of FTN + rules applied on an interface. " + INDEX { + mplsFTNMapIndex, + mplsFTNMapPrevIndex, + mplsFTNMapCurrIndex + } + ::= { mplsFTNMapTable 1 } + +MplsFTNMapEntry ::= SEQUENCE { + + + + mplsFTNMapIndex InterfaceIndexOrZero, + mplsFTNMapPrevIndex MplsFTNEntryIndexOrZero, + mplsFTNMapCurrIndex MplsFTNEntryIndex, + mplsFTNMapRowStatus RowStatus, + mplsFTNMapStorageType StorageType + } + +mplsFTNMapIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface index that this FTN entry is being + applied to. A value of zero indicates an entry that is + applied all interfaces. + + Entries mapped to an interface by specifying its (non- + zero) interface index in mplsFTNMapIndex are applied + ahead of entries with mplsFTNMapIndex equal to zero." + ::= { mplsFTNMapEntry 1 } + +mplsFTNMapPrevIndex OBJECT-TYPE + SYNTAX MplsFTNEntryIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index of the previous FTN entry that was applied to + this interface. The special value zero indicates that + this should be the first FTN entry in the list." + ::= { mplsFTNMapEntry 2 } + +mplsFTNMapCurrIndex OBJECT-TYPE + SYNTAX MplsFTNEntryIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Index of the current FTN entry that is being applied to + this interface." + ::= { mplsFTNMapEntry 3 } + +mplsFTNMapRowStatus OBJECT-TYPE + SYNTAX RowStatus { + active(1), + createAndGo(4), + destroy(6) + } + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "Used for controlling the creation and deletion of this + row. + + All writable objects in this row may be modified at any + time. + + If a conceptual row in mplsFTNMapTable points to a + conceptual row in mplsFTNTable which is subsequently + deleted, the corresponding conceptual row in + mplsFTNMapTable MUST also be deleted by the agent." + ::= { mplsFTNMapEntry 4 } + +mplsFTNMapStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this entry. Conceptual rows + having the value 'permanent' need not allow write- + access to any columnar objects in this row." + DEFVAL { nonVolatile } + ::= { mplsFTNMapEntry 5 } + +-- End of mplsFTNMapTable + +-- FTN entry performance table + +mplsFTNPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsFTNPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains performance statistics on FTN + entries on a per-interface basis." + ::= { mplsFTNObjects 6 } + +mplsFTNPerfEntry OBJECT-TYPE + SYNTAX MplsFTNPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains performance information for the + specified interface and an FTN entry mapped to this + interface." + INDEX { mplsFTNPerfIndex, mplsFTNPerfCurrIndex } + ::= { mplsFTNPerfTable 1 } + + + + +MplsFTNPerfEntry ::= SEQUENCE { + mplsFTNPerfIndex InterfaceIndexOrZero, + mplsFTNPerfCurrIndex MplsFTNEntryIndex, + mplsFTNPerfMatchedPackets Counter64, + mplsFTNPerfMatchedOctets Counter64, + mplsFTNPerfDiscontinuityTime TimeStamp + } + +mplsFTNPerfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface index of an interface that an FTN entry + has been applied/mapped to. Each instance of this + object corresponds to an instance of mplsFTNMapIndex." + ::= { mplsFTNPerfEntry 1 } + +mplsFTNPerfCurrIndex OBJECT-TYPE + SYNTAX MplsFTNEntryIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Index of an FTN entry that has been applied/mapped to + the specified interface. Each instance of this object + corresponds to an instance of mplsFTNMapCurrIndex." + ::= { mplsFTNPerfEntry 2 } + +mplsFTNPerfMatchedPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of packets that matched the specified FTN entry + if it is applied/mapped to the specified interface. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsFTNDiscontinuityTime." + ::= { mplsFTNPerfEntry 3 } + +mplsFTNPerfMatchedOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of octets that matched the specified FTN entry + if it is applied/mapped to the specified interface. + + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsFTNDiscontinuityTime." + ::= { mplsFTNPerfEntry 4 } + +mplsFTNPerfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion at + which any one or more of this entry's counters suffered + a discontinuity. If no such discontinuities have + occurred since the last re-initialization of the local + management subsystem, then this object contains a zero + value." + ::= { mplsFTNPerfEntry 5 } + +-- End of mplsFTNPerfTable + +-- Module compliance. + +-- Top level object IDs. + +mplsFTNGroups + OBJECT IDENTIFIER ::= { mplsFTNConformance 1 } +mplsFTNCompliances + OBJECT IDENTIFIER ::= { mplsFTNConformance 2 } + +-- Compliance requirement for fully compliant implementations. +mplsFTNModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "Compliance statement for agents that provide full + support for MPLS-FTN-STD-MIB." + + MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + + MODULE -- This module. + MANDATORY-GROUPS { + mplsFTNRuleGroup, + mplsFTNMapGroup, + mplsFTNPerfGroup + + + + } + + OBJECT mplsFTNAddrType + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support IPv4 + and/or IPv6 addresses. An implementation is only + required to support the address types that are actually + supported on the LSR." + + OBJECT mplsFTNSourceAddrMin + SYNTAX InetAddress (SIZE (4 | 20)) + DESCRIPTION + "An implementation is only required to support IPv4 + and/or IPv6 addresses. An implementation is only + required to support the address types that are actually + supported on the LSR." + + OBJECT mplsFTNSourceAddrMax + SYNTAX InetAddress (SIZE (4 | 20)) + DESCRIPTION + "An implementation is only required to support IPv4 + and/or IPv6 addresses. An implementation is only + required to support the address types that are actually + supported on the LSR." + + OBJECT mplsFTNDestAddrMin + SYNTAX InetAddress (SIZE (4 | 20)) + DESCRIPTION + "An implementation is only required to support IPv4 + and/or IPv6 addresses. An implementation is only + required to support the address types that are actually + supported on the LSR." + + OBJECT mplsFTNDestAddrMax + SYNTAX InetAddress (SIZE (4 | 20)) + DESCRIPTION + "An implementation is only required to support IPv4 + and/or IPv6 addresses. An implementation is only + required to support the address types that are actually + supported on the LSR." + ::= { mplsFTNCompliances 1 } + +-- Compliance requirement for read-only implementations. +mplsFTNModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "Compliance requirement for implementations that only + + + + provide read-only support for MPLS-FTN-STD-MIB. Such + devices can then be monitored but cannot be configured + using this MIB module." + + MODULE IF-MIB -- The interfaces Group MIB, RFC 2863 + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + + MODULE -- This module + MANDATORY-GROUPS { + mplsFTNRuleGroup, + mplsFTNMapGroup, + mplsFTNPerfGroup + } + + OBJECT mplsFTNIndexNext + MIN-ACCESS not-accessible + DESCRIPTION + "This object is not needed when mplsFTNTable is + implemented as read-only." + + OBJECT mplsFTNRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only + status that needs to be supported." + + OBJECT mplsFTNDescr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNMask + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNAddrType + SYNTAX InetAddressType { ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only + required to support IPv4 and IPv6 addresses." + + OBJECT mplsFTNSourceAddrMin + + + + SYNTAX InetAddress (SIZE (4 | 20)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only + required to support IPv4 and IPv6 addresses." + + OBJECT mplsFTNSourceAddrMax + SYNTAX InetAddress (SIZE (4 | 20)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only + required to support IPv4 and IPv6 addresses." + + OBJECT mplsFTNDestAddrMin + SYNTAX InetAddress (SIZE (4 | 20)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only + required to support IPv4 and IPv6 addresses." + + OBJECT mplsFTNDestAddrMax + SYNTAX InetAddress (SIZE (4 | 20)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only + required to support IPv4 and IPv6 addresses." + + OBJECT mplsFTNSourcePortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNSourcePortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNDestPortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNDestPortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNProtocol + + + + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNActionType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNActionPointer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNDscp + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFTNMapRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active(1) is the only + status that needs to be supported." + + OBJECT mplsFTNMapStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + ::= { mplsFTNCompliances 2 } + +-- Units of conformance. +mplsFTNRuleGroup OBJECT-GROUP + OBJECTS { + mplsFTNIndexNext, + mplsFTNTableLastChanged, + mplsFTNRowStatus, + mplsFTNDescr, + mplsFTNMask, + mplsFTNAddrType, + mplsFTNSourceAddrMin, + mplsFTNSourceAddrMax, + + + + mplsFTNDestAddrMin, + mplsFTNDestAddrMax, + mplsFTNSourcePortMin, + mplsFTNSourcePortMax, + mplsFTNDestPortMin, + mplsFTNDestPortMax, + mplsFTNProtocol, + mplsFTNActionType, + mplsFTNActionPointer, + mplsFTNDscp, + mplsFTNStorageType + } + STATUS current + DESCRIPTION + "Collection of objects that implement MPLS FTN rules." + ::= { mplsFTNGroups 1 } + +mplsFTNMapGroup OBJECT-GROUP + OBJECTS { + mplsFTNMapTableLastChanged, + mplsFTNMapRowStatus, + mplsFTNMapStorageType + } + STATUS current + DESCRIPTION + "Collection of objects that implement activation of MPLS + FTN entries on interfaces." + ::= { mplsFTNGroups 2 } + +mplsFTNPerfGroup OBJECT-GROUP + OBJECTS { + mplsFTNPerfMatchedPackets, + mplsFTNPerfMatchedOctets, + mplsFTNPerfDiscontinuityTime + } + STATUS current + DESCRIPTION + "Collection of objects providing MPLS FTN performance + information." + ::= { mplsFTNGroups 3 } + +END \ No newline at end of file diff --git a/mibs/MPLS-LDP-STD-MIB.txt b/mibs/MPLS-LDP-STD-MIB.txt new file mode 100644 index 00000000..344d6400 --- /dev/null +++ b/mibs/MPLS-LDP-STD-MIB.txt @@ -0,0 +1,2547 @@ +MPLS-LDP-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, + Integer32, Counter32, Unsigned32 + FROM SNMPv2-SMI -- [RFC2578] + + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF -- [RFC2580] + + RowStatus, TimeInterval, TruthValue, + TimeStamp, StorageType + + + + FROM SNMPv2-TC -- [RFC2579] + + InetAddressPrefixLength, + InetAddressType, + InetAddress, + InetPortNumber + FROM INET-ADDRESS-MIB -- [RFC3291] + + IndexInteger, + IndexIntegerNextFree + FROM DIFFSERV-MIB -- [RFC3289] + + mplsStdMIB, + MplsLabelDistributionMethod, + MplsLdpIdentifier, + MplsLdpLabelType, + MplsLspType, + MplsLsrIdentifier, + MplsRetentionMode + FROM MPLS-TC-STD-MIB -- [RFC3811] + + MplsIndexType + FROM MPLS-LSR-STD-MIB; -- [RFC3813] + +mplsLdpStdMIB MODULE-IDENTITY + LAST-UPDATED "200406030000Z" -- June 3, 2004 + ORGANIZATION "Multiprotocol Label Switching (mpls) + Working Group" + CONTACT-INFO + + "Joan Cucchiara (jcucchiara@mindspring.com) + Marconi Communications, Inc. + + Hans Sjostrand (hans@ipunplugged.com) + ipUnplugged + + James V. Luciani (james_luciani@mindspring.com) + Marconi Communications, Inc. + + Working Group Chairs: + George Swallow, email: swallow@cisco.com + Loa Andersson, email: loa@pi.se + + MPLS Working Group, email: mpls@uu.net" + + DESCRIPTION + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + + + + in RFC 3815. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html + + This MIB contains managed object definitions for the + 'Multiprotocol Label Switching, Label Distribution + Protocol, LDP' document." + + REVISION "200406030000Z" -- June 3, 2004 + DESCRIPTION + "Initial version published as part of RFC 3815." + + ::= { mplsStdMIB 4 } + +--**************************************************************** + +mplsLdpNotifications OBJECT IDENTIFIER ::= { mplsLdpStdMIB 0 } +mplsLdpObjects OBJECT IDENTIFIER ::= { mplsLdpStdMIB 1 } +mplsLdpConformance OBJECT IDENTIFIER ::= { mplsLdpStdMIB 2 } + +--**************************************************************** +-- MPLS LDP Objects +--**************************************************************** + +mplsLdpLsrObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 1 } + +mplsLdpEntityObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 2 } + +-- +-- The MPLS Label Distribution Protocol's +-- Label Switching Router Objects +-- + +mplsLdpLsrId OBJECT-TYPE + SYNTAX MplsLsrIdentifier + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Label Switching Router's Identifier." + ::= { mplsLdpLsrObjects 1 } + +mplsLdpLsrLoopDetectionCapable OBJECT-TYPE + SYNTAX INTEGER { + none(1), + other(2), + hopCount(3), + pathVector(4), + hopCountAndPathVector(5) + + + + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A indication of whether this + Label Switching Router supports + loop detection. + + none(1) -- Loop Detection is not supported + on this LSR. + + other(2) -- Loop Detection is supported but + by a method other than those + listed below. + + hopCount(3) -- Loop Detection is supported by + Hop Count only. + + pathVector(4) -- Loop Detection is supported by + Path Vector only. + + hopCountAndPathVector(5) -- Loop Detection is + supported by both Hop Count + And Path Vector. + + Since Loop Detection is determined during + Session Initialization, an individual session + may not be running with loop detection. This + object simply gives an indication of whether or not the + LSR has the ability to support Loop Detection and + which types." + + ::= { mplsLdpLsrObjects 2 } + +-- +-- The MPLS Label Distribution Protocol Entity Objects +-- + +mplsLdpEntityLastChange OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time of the most + recent addition or deletion of an entry + to/from the mplsLdpEntityTable/mplsLdpEntityStatsTable, or + the most recent change in value of any objects in the + mplsLdpEntityTable. + + + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsLdpEntityObjects 1 } + +mplsLdpEntityIndexNext OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to + be used for mplsLdpEntityIndex when creating + entries in the mplsLdpEntityTable. The value + 0 indicates that no unassigned entries are + available." + ::= { mplsLdpEntityObjects 2 } + + +mplsLdpEntityTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpEntityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains information about the + MPLS Label Distribution Protocol Entities which + exist on this Label Switching Router (LSR) + or Label Edge Router (LER)." + ::= { mplsLdpEntityObjects 3 } + + mplsLdpEntityEntry OBJECT-TYPE + SYNTAX MplsLdpEntityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents an LDP entity. + An entry can be created by a network administrator + or by an SNMP agent as instructed by LDP." + INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex } + ::= { mplsLdpEntityTable 1 } + + MplsLdpEntityEntry ::= SEQUENCE { + mplsLdpEntityLdpId MplsLdpIdentifier, + mplsLdpEntityIndex IndexInteger, + mplsLdpEntityProtocolVersion Unsigned32, + mplsLdpEntityAdminStatus INTEGER, + mplsLdpEntityOperStatus INTEGER, + mplsLdpEntityTcpPort InetPortNumber, + mplsLdpEntityUdpDscPort InetPortNumber, + + + + mplsLdpEntityMaxPduLength Unsigned32, + mplsLdpEntityKeepAliveHoldTimer Unsigned32, + mplsLdpEntityHelloHoldTimer Unsigned32, + mplsLdpEntityInitSessionThreshold Integer32, + mplsLdpEntityLabelDistMethod MplsLabelDistributionMethod, + mplsLdpEntityLabelRetentionMode MplsRetentionMode, + mplsLdpEntityPathVectorLimit Integer32, + mplsLdpEntityHopCountLimit Integer32, + mplsLdpEntityTransportAddrKind INTEGER, + mplsLdpEntityTargetPeer TruthValue, + mplsLdpEntityTargetPeerAddrType InetAddressType, + mplsLdpEntityTargetPeerAddr InetAddress, + mplsLdpEntityLabelType MplsLdpLabelType, + mplsLdpEntityDiscontinuityTime TimeStamp, + mplsLdpEntityStorageType StorageType, + mplsLdpEntityRowStatus RowStatus + } + + mplsLdpEntityLdpId OBJECT-TYPE + SYNTAX MplsLdpIdentifier + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The LDP identifier." + REFERENCE + "RFC3036, LDP Specification, Section on LDP Identifiers." + ::= { mplsLdpEntityEntry 1 } + +mplsLdpEntityIndex OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index is used as a secondary index to uniquely + identify this row. Before creating a row in this table, + the 'mplsLdpEntityIndexNext' object should be retrieved. + That value should be used for the value of this index + when creating a row in this table. NOTE: if a value + of zero (0) is retrieved, that indicates that no rows + can be created in this table at this time. + + A secondary index (this object) is meaningful to some + but not all, LDP implementations. For example + an LDP implementation which uses PPP would + use this index to differentiate PPP sub-links. + + Another way to use this index is to give this the + value of ifIndex. However, this is dependant + + + + on the implementation." + ::= { mplsLdpEntityEntry 2 } + +mplsLdpEntityProtocolVersion OBJECT-TYPE + SYNTAX Unsigned32(1..65535) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The version number of the LDP protocol which will be + used in the session initialization message. + + Section 3.5.3 in the LDP Specification specifies + that the version of the LDP protocol is negotiated during + session establishment. The value of this object + represents the value that is sent in the initialization + message." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3 Initialization + Message." + DEFVAL { 1 } + ::= { mplsLdpEntityEntry 3 } + +mplsLdpEntityAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The administrative status of this LDP Entity. + If this object is changed from 'enable' to 'disable' + and this entity has already attempted to establish + contact with a Peer, then all contact with that + Peer is lost and all information from that Peer + needs to be removed from the MIB. (This implies + that the network management subsystem should clean + up any related entry in the mplsLdpPeerTable. This + further implies that a 'tear-down' for that session + is issued and the session and all information related + to that session cease to exist). + + At this point the operator is able to change values + which are related to this entity. + + When the admin status is set back to 'enable', then + this Entity will attempt to establish a new session + with the Peer." + + + + DEFVAL { enable } + ::= { mplsLdpEntityEntry 4 } + +mplsLdpEntityOperStatus OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + enabled(2), + disabled(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational status of this LDP Entity. + + The value of unknown(1) indicates that the + operational status cannot be determined at + this time. The value of unknown should be + a transient condition before changing + to enabled(2) or disabled(3)." + ::= { mplsLdpEntityEntry 5 } + +mplsLdpEntityTcpPort OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The TCP Port for + LDP. The default value is the well-known + value of this port." + REFERENCE + "RFC3036, LDP Specification, Section 3.10, Well-known + Numbers, and Section 3.10.1. UDP and TCP Ports." + DEFVAL { 646 } + ::= { mplsLdpEntityEntry 6 } + +mplsLdpEntityUdpDscPort OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The UDP Discovery Port for + LDP. The default value is the + well-known value for this port." + REFERENCE + "RFC3036, LDP Specification, Section 2.4.1, + Basic Discovery Mechanism, Section 2.4.2, + Extended Discovery Mechanism, Section + 3.10, Well-known Numbers, and Section 3.10.1. + + + + UDP and TCP Ports." + DEFVAL { 646 } + ::= { mplsLdpEntityEntry 7 } + +mplsLdpEntityMaxPduLength OBJECT-TYPE + SYNTAX Unsigned32 (256..65535) + UNITS "octets" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum PDU Length that is sent in + the Common Session Parameters of an Initialization + Message. According to the LDP Specification [RFC3036] + a value of 255 or less specifies the + default maximum length of 4096 octets, this is why + the value of this object starts at 256. The operator + should explicitly choose the default value (i.e., 4096), + or some other value. + + The receiving LSR MUST calculate the maximum PDU + length for the session by using the smaller of its and + its peer's proposals for Max PDU Length." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3. + Initialization Message." + DEFVAL { 4096 } + ::= { mplsLdpEntityEntry 8 } + +mplsLdpEntityKeepAliveHoldTimer OBJECT-TYPE + SYNTAX Unsigned32 (1..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The 16-bit integer value which is the proposed keep + alive hold timer for this LDP Entity." + DEFVAL { 40 } + ::= { mplsLdpEntityEntry 9 } + +mplsLdpEntityHelloHoldTimer OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The 16-bit integer value which is the proposed Hello + hold timer for this LDP Entity. The Hello Hold time + in seconds. + + + + An LSR maintains a record of Hellos received + from potential peers. This object represents + the Hold Time in the Common Hello Parameters TLV of + the Hello Message. + + A value of 0 is a default value and should be + interpretted in conjunction with the + mplsLdpEntityTargetPeer object. + + If the value of this object is 0: if the value of the + mplsLdpEntityTargetPeer object is false(2), then this + specifies that the Hold Time's actual default value is + 15 seconds (i.e., the default Hold time for Link Hellos + is 15 seconds). Otherwise if the value of the + mplsLdpEntityTargetPeer object is true(1), then this + specifies that the Hold Time's actual default value is + 45 seconds (i.e., the default Hold time for Targeted + Hellos is 45 seconds). + + A value of 65535 means infinite (i.e., wait forever). + + All other values represent the amount of time in + seconds to wait for a Hello Message. Setting the + hold time to a value smaller than 15 is not + recommended, although not forbidden according + to RFC3036." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.2., + Hello Message." + DEFVAL { 0 } + ::= { mplsLdpEntityEntry 10 } + +mplsLdpEntityInitSessionThreshold OBJECT-TYPE + SYNTAX Integer32(0..100) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "When attempting to establish a session with + a given Peer, the given LDP Entity should + send out the SNMP notification, + 'mplsLdpInitSessionThresholdExceeded', when + the number of Session Initialization messages + sent exceeds this threshold. + + The notification is used to notify an + operator when this Entity and its Peer are + possibly engaged in an endless sequence + of messages as each NAKs the other's + + + + Initialization messages with Error Notification + messages. Setting this threshold which triggers + the notification is one way to notify the + operator. The notification should be generated + each time this threshold is exceeded and + for every subsequent Initialization message + which is NAK'd with an Error Notification + message after this threshold is exceeded. + + A value of 0 (zero) for this object + indicates that the threshold is infinity, thus + the SNMP notification will never be generated." + REFERENCE + "RFC3036, LDP Specification, + Section 2.5.3 Session Initialization." + DEFVAL { 8 } + ::= { mplsLdpEntityEntry 11 } + +mplsLdpEntityLabelDistMethod OBJECT-TYPE + SYNTAX MplsLabelDistributionMethod + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For any given LDP session, the method of + label distribution must be specified." + ::= { mplsLdpEntityEntry 12 } + +mplsLdpEntityLabelRetentionMode OBJECT-TYPE + SYNTAX MplsRetentionMode + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The LDP Entity can be configured to use either + conservative or liberal label retention mode. + + If the value of this object is conservative(1) + then advertized label mappings are retained + only if they will be used to forward packets, + i.e., if label came from a valid next hop. + + If the value of this object is liberal(2) + then all advertized label mappings are retained + whether they are from a valid next hop or not." + ::= { mplsLdpEntityEntry 13 } + +mplsLdpEntityPathVectorLimit OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "If the value of this object is 0 (zero) then + Loop Detection for Path Vectors is disabled. + + Otherwise, if this object has a value greater than + zero, then Loop Dection for Path Vectors is enabled, + and the Path Vector Limit is this value. + Also, the value of the object, + 'mplsLdpLsrLoopDetectionCapable', must be set to + either 'pathVector(4)' or 'hopCountAndPathVector(5)', + if this object has a value greater than 0 (zero), + otherwise it is ignored." + REFERENCE + "RFC3036, LDP Specification, Section 2.8 Loop Dection, + Section 3.4.5 Path Vector TLV." + ::= { mplsLdpEntityEntry 14 } + +mplsLdpEntityHopCountLimit OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the value of this object is 0 (zero), + then Loop Detection using Hop Counters is + disabled. + + If the value of this object is greater than + 0 (zero) then Loop Detection using Hop + Counters is enabled, and this object + specifies this Entity's maximum allowable + value for the Hop Count. + Also, the value of the object + mplsLdpLsrLoopDetectionCapable must be set + to either 'hopCount(3)' or + 'hopCountAndPathVector(5)' if this object + has a value greater than 0 (zero), otherwise + it is ignored." + DEFVAL { 0 } + ::= { mplsLdpEntityEntry 15 } + +mplsLdpEntityTransportAddrKind OBJECT-TYPE + SYNTAX INTEGER { + interface(1), + loopback(2) + } + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "This specifies whether the loopback or interface + address is to be used as the transport address + in the transport address TLV of the + hello message. + + If the value is interface(1), then the IP + address of the interface from which hello + messages are sent is used as the transport + address in the hello message. + + Otherwise, if the value is loopback(2), then the IP + address of the loopback interface is used as the + transport address in the hello message." + DEFVAL { loopback } + ::= { mplsLdpEntityEntry 16 } + +mplsLdpEntityTargetPeer OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If this LDP entity uses targeted peer then set + this to true." + DEFVAL { false } + ::= { mplsLdpEntityEntry 17 } + +mplsLdpEntityTargetPeerAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of the internetwork layer address used for + the Extended Discovery. This object indicates how + the value of mplsLdpEntityTargetPeerAddr is to + be interpreted." + ::= { mplsLdpEntityEntry 18 } + +mplsLdpEntityTargetPeerAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value of the internetwork layer address + used for the Extended Discovery. The value of + mplsLdpEntityTargetPeerAddrType specifies how + this address is to be interpreted." + ::= { mplsLdpEntityEntry 19 } + + + +mplsLdpEntityLabelType OBJECT-TYPE + SYNTAX MplsLdpLabelType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Specifies the optional parameters for the LDP + Initialization Message. + + If the value is generic(1) then no + optional parameters will be sent in + the LDP Initialization message associated + with this Entity. + + If the value is atmParameters(2) then + a row must be created in the + mplsLdpEntityAtmTable, which + corresponds to this entry. + + If the value is frameRelayParameters(3) then + a row must be created in the + mplsLdpEntityFrameRelayTable, which + corresponds to this entry." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3., + Initialization Message." + ::= { mplsLdpEntityEntry 20 } + +mplsLdpEntityDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this entity's counters + suffered a discontinuity. The relevant counters + are the specific instances associated with this + entity of any Counter32 object contained + in the 'mplsLdpEntityStatsTable'. If no such + discontinuities have occurred since the last + re-initialization of the local management + subsystem, then this object contains a zero + value." + ::= { mplsLdpEntityEntry 21 } + +mplsLdpEntityStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row." + DEFVAL{ nonVolatile } + ::= { mplsLdpEntityEntry 22 } + +mplsLdpEntityRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable + objects in this row may be modified at any + time, however, as described in detail in + the section entitled, 'Changing Values After + Session Establishment', and again described + in the DESCRIPTION clause of the + mplsLdpEntityAdminStatus object, if a session + has been initiated with a Peer, changing objects + in this table will wreak havoc with the session + and interrupt traffic. To repeat again: + the recommended procedure is to + set the mplsLdpEntityAdminStatus to down, thereby + explicitly causing a session to be torn down. Then, + change objects in this entry, then set + the mplsLdpEntityAdminStatus to enable, + which enables a new session to be initiated." + ::= { mplsLdpEntityEntry 23 } + +-- +-- The MPLS LDP Entity Statistics Table +-- + +mplsLdpEntityStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpEntityStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is a read-only table which augments + the mplsLdpEntityTable. The purpose of this + table is to keep statistical information about + the LDP Entities on the LSR." + ::= { mplsLdpEntityObjects 4 } + +mplsLdpEntityStatsEntry OBJECT-TYPE + SYNTAX MplsLdpEntityStatsEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table contains statistical information + about an LDP Entity. Some counters contained in a + row are for fatal errors received during a former + LDP Session associated with this entry. For example, + an LDP PDU received on a TCP connection during an + LDP Session contains a fatal error. That + error is counted here, because the + session is terminated. + + If the error is NOT fatal (i.e., the Session + remains), then the error is counted in the + mplsLdpSessionStatsEntry." + AUGMENTS { mplsLdpEntityEntry } + ::= { mplsLdpEntityStatsTable 1 } + +MplsLdpEntityStatsEntry ::= SEQUENCE { + mplsLdpEntityStatsSessionAttempts Counter32, + mplsLdpEntityStatsSessionRejectedNoHelloErrors Counter32, + mplsLdpEntityStatsSessionRejectedAdErrors Counter32, + mplsLdpEntityStatsSessionRejectedMaxPduErrors Counter32, + mplsLdpEntityStatsSessionRejectedLRErrors Counter32, + mplsLdpEntityStatsBadLdpIdentifierErrors Counter32, + mplsLdpEntityStatsBadPduLengthErrors Counter32, + mplsLdpEntityStatsBadMessageLengthErrors Counter32, + mplsLdpEntityStatsBadTlvLengthErrors Counter32, + mplsLdpEntityStatsMalformedTlvValueErrors Counter32, + mplsLdpEntityStatsKeepAliveTimerExpErrors Counter32, + mplsLdpEntityStatsShutdownReceivedNotifications Counter32, + mplsLdpEntityStatsShutdownSentNotifications Counter32 +} + +mplsLdpEntityStatsSessionAttempts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A count of the Session Initialization messages + which were sent or received by this LDP Entity and + were NAK'd. In other words, this counter counts + the number of session initializations that failed. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + + + + ::= { mplsLdpEntityStatsEntry 1 } + +mplsLdpEntityStatsSessionRejectedNoHelloErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A count of the Session Rejected/No Hello Error + Notification Messages sent or received by + this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 2 } + +mplsLdpEntityStatsSessionRejectedAdErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A count of the Session Rejected/Parameters + Advertisement Mode Error Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 3 } + +mplsLdpEntityStatsSessionRejectedMaxPduErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A count of the Session Rejected/Parameters + + Max Pdu Length Error Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 4 } + + + + +mplsLdpEntityStatsSessionRejectedLRErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A count of the Session Rejected/Parameters + Label Range Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 5 } + +mplsLdpEntityStatsBadLdpIdentifierErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Bad LDP Identifier + Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 6 } + +mplsLdpEntityStatsBadPduLengthErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Bad PDU Length + Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 7 } + + + +mplsLdpEntityStatsBadMessageLengthErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Bad Message + Length Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 8 } + +mplsLdpEntityStatsBadTlvLengthErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Bad TLV + Length Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 9 } + +mplsLdpEntityStatsMalformedTlvValueErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Malformed TLV + Value Fatal Errors detected by the session(s) + (past and present) associated with this + LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + + + + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 10 } + +mplsLdpEntityStatsKeepAliveTimerExpErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Session Keep Alive + Timer Expired Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.1.2." + ::= { mplsLdpEntityStatsEntry 11 } + +mplsLdpEntityStatsShutdownReceivedNotifications OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Shutdown Notifications + received related to session(s) (past and present) + associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 12 } + +mplsLdpEntityStatsShutdownSentNotifications OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Shutdown Notfications + sent related to session(s) (past and present) associated + with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + + + + mplsLdpEntityDiscontinuityTime." + ::= { mplsLdpEntityStatsEntry 13 } + +-- +-- The MPLS LDP Peer Table +-- + +mplsLdpSessionObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 3 } + +mplsLdpPeerLastChange OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time of the most + recent addition or deletion to/from the + mplsLdpPeerTable/mplsLdpSessionTable." + ::= { mplsLdpSessionObjects 1 } + +mplsLdpPeerTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpPeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about LDP peers known by Entities in + the mplsLdpEntityTable. The information in this table + is based on information from the Entity-Peer interaction + during session initialization but is not appropriate + for the mplsLdpSessionTable, because objects in this + table may or may not be used in session establishment." + ::= { mplsLdpSessionObjects 2 } + +mplsLdpPeerEntry OBJECT-TYPE + SYNTAX MplsLdpPeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a single Peer which is related + to a Session. This table is augmented by + the mplsLdpSessionTable." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId } + ::= { mplsLdpPeerTable 1 } + +MplsLdpPeerEntry ::= SEQUENCE { + mplsLdpPeerLdpId MplsLdpIdentifier, + mplsLdpPeerLabelDistMethod MplsLabelDistributionMethod, + + + + mplsLdpPeerPathVectorLimit Integer32, + mplsLdpPeerTransportAddrType InetAddressType, + mplsLdpPeerTransportAddr InetAddress +} + +mplsLdpPeerLdpId OBJECT-TYPE + SYNTAX MplsLdpIdentifier + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The LDP identifier of this LDP Peer." + ::= { mplsLdpPeerEntry 1 } + +mplsLdpPeerLabelDistMethod OBJECT-TYPE + SYNTAX MplsLabelDistributionMethod + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For any given LDP session, the method of + label distribution must be specified." + ::= { mplsLdpPeerEntry 2 } + +mplsLdpPeerPathVectorLimit OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If the value of this object is 0 (zero) then + Loop Dection for Path Vectors for this Peer + is disabled. + + Otherwise, if this object has a value greater than + zero, then Loop Dection for Path Vectors for this + Peer is enabled and the Path Vector Limit is this value." + REFERENCE + "RFC3036, LDP Specification, Section 2.8 Loop Dection, + Section 3.4.5 Path Vector TLV." + ::= { mplsLdpPeerEntry 3 } + +mplsLdpPeerTransportAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of the Internet address for the + mplsLdpPeerTransportAddr object. The LDP + specification describes this as being either + an IPv4 Transport Address or IPv6 Transport + + + + Address which is used in opening the LDP session's + TCP connection, or if the optional TLV is not + present, then this is the IPv4/IPv6 source + address for the UPD packet carrying the Hellos. + + This object specifies how the value of the + mplsLdpPeerTransportAddr object should be + interpreted." + REFERENCE + "RFC3036, LDP Specification, Section 2.5.2 + Transport Connection Establishment and + Section 3.5.2.1 Hello Message Procedures." + ::= { mplsLdpPeerEntry 4 } + +mplsLdpPeerTransportAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Internet address advertised by the peer + in the Hello Message or the Hello source address. + + The type of this address is specified by the + value of the mplsLdpPeerTransportAddrType + object." + REFERENCE + "RFC3036, LDP Specification, Section 2.5.2 + Transport Connection Establishment and + Section 3.5.2.1 Hello Message Procedures." + ::= { mplsLdpPeerEntry 5 } + +-- +-- The MPLS LDP Sessions Table +-- + +mplsLdpSessionTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpSessionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of Sessions between the LDP Entities + and LDP Peers. This table AUGMENTS the + mplsLdpPeerTable. Each row in this table + represents a single session." + ::= { mplsLdpSessionObjects 3 } + +mplsLdpSessionEntry OBJECT-TYPE + SYNTAX MplsLdpSessionEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents information on a + single session between an LDP Entity and LDP Peer. + The information contained in a row is read-only. + + Please note: the Path Vector Limit for the + Session is the value which is configured in + the corresponding mplsLdpEntityEntry. The + Peer's Path Vector Limit is in the + mplsLdpPeerPathVectorLimit object in the + mplsLdpPeerTable. + + Values which may differ from those configured are + noted in the objects of this table, the + mplsLdpAtmSessionTable and the + mplsLdpFrameRelaySessionTable. A value will + differ if it was negotiated between the + Entity and the Peer. Values may or may not + be negotiated. For example, if the values + are the same then no negotiation takes place. + If they are negotiated, then they may differ." + AUGMENTS { mplsLdpPeerEntry } + ::= { mplsLdpSessionTable 1 } + +MplsLdpSessionEntry ::= SEQUENCE { + mplsLdpSessionStateLastChange TimeStamp, + mplsLdpSessionState INTEGER, + mplsLdpSessionRole INTEGER, + mplsLdpSessionProtocolVersion Unsigned32, + mplsLdpSessionKeepAliveHoldTimeRem TimeInterval, + mplsLdpSessionKeepAliveTime Unsigned32, + mplsLdpSessionMaxPduLength Unsigned32, + mplsLdpSessionDiscontinuityTime TimeStamp +} + +mplsLdpSessionStateLastChange OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time this + Session entered its current state as + denoted by the mplsLdpSessionState + object." + ::= { mplsLdpSessionEntry 1 } + + + + +mplsLdpSessionState OBJECT-TYPE + SYNTAX INTEGER { + nonexistent(1), + initialized(2), + openrec(3), + opensent(4), + operational(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current state of the session, all of the + states 1 to 5 are based on the state machine + for session negotiation behavior." + REFERENCE + "RFC3036, LDP Specification, Section 2.5.4, + Initialization State Machine." + ::= { mplsLdpSessionEntry 2 } + +mplsLdpSessionRole OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + active(2), + passive(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "During session establishment the LSR/LER takes either + the active role or the passive role based on address + comparisons. This object indicates whether this LSR/LER + was behaving in an active role or passive role during + this session's establishment. + + The value of unknown(1), indicates that the role is not + able to be determined at the present time." + REFERENCE + "RFC3036, LDP Specification, Section 2.5.3., + Session Initialization" + ::= { mplsLdpSessionEntry 3 } + +mplsLdpSessionProtocolVersion OBJECT-TYPE + SYNTAX Unsigned32(1..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version of the LDP Protocol which + this session is using. This is the version of + + + + the LDP protocol which has been negotiated + during session initialization." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message." + ::= { mplsLdpSessionEntry 4 } + +mplsLdpSessionKeepAliveHoldTimeRem OBJECT-TYPE + SYNTAX TimeInterval + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The keep alive hold time remaining for + this session." + ::= { mplsLdpSessionEntry 5 } + + mplsLdpSessionKeepAliveTime OBJECT-TYPE + SYNTAX Unsigned32 (1..65535) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The negotiated KeepAlive Time which + represents the amount of seconds between + keep alive messages. The + mplsLdpEntityKeepAliveHoldTimer + related to this Session is the + value that was proposed as the + KeepAlive Time for this session. + + This value is negotiated during + session initialization between + the entity's proposed value + (i.e., the value configured in + mplsLdpEntityKeepAliveHoldTimer) + and the peer's proposed + KeepAlive Hold Timer value. + This value is the smaller + of the two proposed values." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message." + ::= { mplsLdpSessionEntry 6 } + + mplsLdpSessionMaxPduLength OBJECT-TYPE + SYNTAX Unsigned32 (1..65535) + UNITS "octets" + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The value of maximum allowable length for LDP PDUs for + this session. This value may have been negotiated + during the Session Initialization. This object is + related to the mplsLdpEntityMaxPduLength object. The + mplsLdpEntityMaxPduLength object specifies the requested + LDP PDU length, and this object reflects the negotiated + LDP PDU length between the Entity and + the Peer." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message." + ::= { mplsLdpSessionEntry 7 } + +mplsLdpSessionDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this session's counters + suffered a discontinuity. The relevant counters are + the specific instances associated with this session + of any Counter32 object contained in the + mplsLdpSessionStatsTable. + + The initial value of this object is the value of + sysUpTime when the entry was created in this table. + + Also, a command generator can distinguish when a session + between a given Entity and Peer goes away and a new + session is established. This value would change and + thus indicate to the command generator that this is a + different session." + ::= { mplsLdpSessionEntry 8 } + +-- +-- The MPLS LDP Session Statistics Table +-- + +mplsLdpSessionStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpSessionStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of statistics for Sessions between + LDP Entities and LDP Peers. This table AUGMENTS + + + + the mplsLdpPeerTable." + ::= { mplsLdpSessionObjects 4 } + +mplsLdpSessionStatsEntry OBJECT-TYPE + SYNTAX MplsLdpSessionStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents statistical + information on a single session between an LDP + Entity and LDP Peer." + + AUGMENTS { mplsLdpPeerEntry } + ::= { mplsLdpSessionStatsTable 1 } + +MplsLdpSessionStatsEntry ::= SEQUENCE { + mplsLdpSessionStatsUnknownMesTypeErrors Counter32, + mplsLdpSessionStatsUnknownTlvErrors Counter32 +} + +mplsLdpSessionStatsUnknownMesTypeErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Unknown Message Type + Errors detected by this LSR/LER during this session. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpSessionDiscontinuityTime." + ::= { mplsLdpSessionStatsEntry 1 } + +mplsLdpSessionStatsUnknownTlvErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of Unknown TLV Errors + detected by this LSR/LER during this session. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpSessionDiscontinuityTime." + ::= { mplsLdpSessionStatsEntry 2 } + + + + +-- +-- The MPLS LDP Hello Adjacency Table +-- + +mplsLdpHelloAdjacencyObjects OBJECT IDENTIFIER ::= + { mplsLdpSessionObjects 5 } + +mplsLdpHelloAdjacencyTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpHelloAdjacencyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of Hello Adjacencies for Sessions." + ::= { mplsLdpHelloAdjacencyObjects 1 } + +mplsLdpHelloAdjacencyEntry OBJECT-TYPE + SYNTAX MplsLdpHelloAdjacencyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each row represents a single LDP Hello Adjacency. + An LDP Session can have one or more Hello + Adjacencies." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId, + mplsLdpHelloAdjacencyIndex } + ::= { mplsLdpHelloAdjacencyTable 1 } + +MplsLdpHelloAdjacencyEntry ::= SEQUENCE { + mplsLdpHelloAdjacencyIndex Unsigned32, + mplsLdpHelloAdjacencyHoldTimeRem TimeInterval, + mplsLdpHelloAdjacencyHoldTime Unsigned32, + mplsLdpHelloAdjacencyType INTEGER +} + +mplsLdpHelloAdjacencyIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An identifier for this specific adjacency." + ::= { mplsLdpHelloAdjacencyEntry 1 } + +mplsLdpHelloAdjacencyHoldTimeRem OBJECT-TYPE + SYNTAX TimeInterval + UNITS "seconds" + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "If the value of this object is 65535, + this means that the hold time is infinite + (i.e., wait forever). + + Otherwise, the time remaining for + this Hello Adjacency to receive its + next Hello Message. + + This interval will change when the 'next' + Hello Message which corresponds to this + Hello Adjacency is received unless it + is infinite." + ::= { mplsLdpHelloAdjacencyEntry 2 } + +mplsLdpHelloAdjacencyHoldTime OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Hello hold time which is negotiated between + the Entity and the Peer. The entity associated + with this Hello Adjacency issues a proposed + Hello Hold Time value in the + mplsLdpEntityHelloHoldTimer object. The peer + also proposes a value and this object represents + the negotiated value. + + A value of 0 means the default, + which is 15 seconds for Link Hellos + and 45 seconds for Targeted Hellos. + A value of 65535 indicates an + infinite hold time." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.2 Hello Message" + ::= { mplsLdpHelloAdjacencyEntry 3 } + +mplsLdpHelloAdjacencyType OBJECT-TYPE + SYNTAX INTEGER { + link(1), + targeted(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This adjacency is the result of a 'link' + hello if the value of this object is link(1). + + + + Otherwise, it is a result of a 'targeted' + hello, targeted(2)." + ::= { mplsLdpHelloAdjacencyEntry 4 } + +-- +-- Session Label (LSP) Mapping to LSR MIB's +-- In Segment LIB Information. +-- +-- +-- NOTE: the next 2 tables map to the +-- MPLS-LSR-STD-MIB's MplsInSegmentTable +-- and MplsOutSegmentTable. The +-- cross-connect (XC) information is not +-- represented here as it can be gleaned +-- from the MPLS-LSR-STD-MIB. +-- + +mplsInSegmentLdpLspTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentLdpLspEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of LDP LSP's which + map to the mplsInSegmentTable in the + MPLS-LSR-STD-MIB module." + ::= { mplsLdpSessionObjects 6 } + +mplsInSegmentLdpLspEntry OBJECT-TYPE + SYNTAX MplsInSegmentLdpLspEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents information + on a single LDP LSP which is represented by + a session's index triple (mplsLdpEntityLdpId, + mplsLdpEntityIndex, mplsLdpPeerLdpId) AND the + index for the mplsInSegmentTable + (mplsInSegmentLdpLspLabelIndex) from the + MPLS-LSR-STD-MIB. + + The information contained in a row is read-only." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId, + mplsInSegmentLdpLspIndex + } + ::= { mplsInSegmentLdpLspTable 1 } + + + + +MplsInSegmentLdpLspEntry ::= SEQUENCE { + mplsInSegmentLdpLspIndex MplsIndexType, + mplsInSegmentLdpLspLabelType MplsLdpLabelType, + mplsInSegmentLdpLspType MplsLspType +} + +mplsInSegmentLdpLspIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This contains the same value as the + mplsInSegmentIndex in the + MPLS-LSR-STD-MIB's mplsInSegmentTable." + ::= { mplsInSegmentLdpLspEntry 1 } + +mplsInSegmentLdpLspLabelType OBJECT-TYPE + SYNTAX MplsLdpLabelType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Layer 2 Label Type." + ::= { mplsInSegmentLdpLspEntry 2 } + +mplsInSegmentLdpLspType OBJECT-TYPE + SYNTAX MplsLspType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of LSP connection." + ::= { mplsInSegmentLdpLspEntry 3 } + +-- +-- Session Label (LSP) Mapping to LSR MIB's +-- Out Segment LIB Information. +-- + +mplsOutSegmentLdpLspTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsOutSegmentLdpLspEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of LDP LSP's which + map to the mplsOutSegmentTable in the + MPLS-LSR-STD-MIB." + ::= { mplsLdpSessionObjects 7 } + +mplsOutSegmentLdpLspEntry OBJECT-TYPE + + + + SYNTAX MplsOutSegmentLdpLspEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents information + on a single LDP LSP which is represented by + a session's index triple (mplsLdpEntityLdpId, + mplsLdpEntityIndex, mplsLdpPeerLdpId) AND the + index (mplsOutSegmentLdpLspIndex) + for the mplsOutSegmentTable. + + The information contained in a row is read-only." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId, + mplsOutSegmentLdpLspIndex + } + ::= { mplsOutSegmentLdpLspTable 1 } + +MplsOutSegmentLdpLspEntry ::= SEQUENCE { + mplsOutSegmentLdpLspIndex MplsIndexType, + mplsOutSegmentLdpLspLabelType MplsLdpLabelType, + mplsOutSegmentLdpLspType MplsLspType +} + +mplsOutSegmentLdpLspIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This contains the same value as the + mplsOutSegmentIndex in the + MPLS-LSR-STD-MIB's mplsOutSegmentTable." + ::= { mplsOutSegmentLdpLspEntry 1 } + +mplsOutSegmentLdpLspLabelType OBJECT-TYPE + SYNTAX MplsLdpLabelType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Layer 2 Label Type." + ::= { mplsOutSegmentLdpLspEntry 2 } + +mplsOutSegmentLdpLspType OBJECT-TYPE + SYNTAX MplsLspType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "The type of LSP connection." + ::= { mplsOutSegmentLdpLspEntry 3 } + +-- +-- Mpls FEC Table +-- + +mplsFecObjects OBJECT IDENTIFIER ::= + { mplsLdpSessionObjects 8 } + +mplsFecLastChange OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time of the most + recent addition/deletion of an entry + to/from the mplsLdpFectTable or + the most recent change in values to any objects + in the mplsLdpFecTable. + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsFecObjects 1 } + +mplsFecIndexNext OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to + be used for mplsFecIndex when creating + entries in the mplsFecTable. The value + 0 indicates that no unassigned entries are + available." + ::= { mplsFecObjects 2 } + +mplsFecTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsFecEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table represents the FEC + (Forwarding Equivalence Class) + Information associated with an LSP." + ::= { mplsFecObjects 3 } + + + + +mplsFecEntry OBJECT-TYPE + SYNTAX MplsFecEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each row represents a single FEC Element." + INDEX { mplsFecIndex } + ::= { mplsFecTable 1 } + +MplsFecEntry ::= SEQUENCE { + mplsFecIndex IndexInteger, + mplsFecType INTEGER, + mplsFecAddrType InetAddressType, + mplsFecAddr InetAddress, + mplsFecAddrPrefixLength InetAddressPrefixLength, + mplsFecStorageType StorageType, + mplsFecRowStatus RowStatus +} + +mplsFecIndex OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index which uniquely identifies this entry." + ::= { mplsFecEntry 1 } + +mplsFecType OBJECT-TYPE + SYNTAX INTEGER { + prefix(1), + hostAddress(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of the FEC. If the value of this object + is 'prefix(1)' then the FEC type described by this + row is an address prefix. + + If the value of this object is 'hostAddress(2)' then + the FEC type described by this row is a host address." + REFERENCE + "RFC3036, Section 3.4.1. FEC TLV." + ::= { mplsFecEntry 2 } + +mplsFecAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "The value of this object is the type of the + Internet address. The value of this object, + decides how the value of the mplsFecAddr object + is interpreted." + REFERENCE + "RFC3036, Section 3.4.1. FEC TLV." + ::= { mplsFecEntry 4 } + +mplsFecAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value of this object is interpreted based + on the value of the 'mplsFecAddrType' object. + + This address is then further interpretted as + an being used with the address prefix, + or as the host address. This further interpretation + is indicated by the 'mplsFecType' object. + In other words, the FEC element is populated + according to the Prefix FEC Element value encoding, or + the Host Address FEC Element encoding." + REFERENCE + "RFC3036, Section 3.4.1 FEC TLV." + ::= { mplsFecEntry 5 } + +mplsFecAddrPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the value of the 'mplsFecType' is 'hostAddress(2)' + then this object is undefined. + + If the value of 'mplsFecType' is 'prefix(1)' + then the value of this object is the length in + bits of the address prefix represented by + 'mplsFecAddr', or zero. If the value of this + object is zero, this indicates that the + prefix matches all addresses. In this case the + address prefix MUST also be zero (i.e., 'mplsFecAddr' + should have the value of zero.)" + REFERENCE + "RFC3036, Section 3.4.1. FEC TLV." + DEFVAL { 0 } + + + + ::= { mplsFecEntry 3 } + +mplsFecStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { mplsFecEntry 6 } + +mplsFecRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. If the value of this + object is 'active(1)', then none of the writable objects + of this entry can be modified, except to set this object + to 'destroy(6)'. + + NOTE: if this row is being referenced by any entry in + the mplsLdpLspFecTable, then a request to destroy + this row, will result in an inconsistentValue error." + ::= { mplsFecEntry 7 } + +-- +-- LDP LSP FEC Table +-- + +mplsLdpLspFecLastChange OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time of the most + recent addition/deletion of an entry + to/from the mplsLdpLspFecTable or + the most recent change in values to any objects in the + mplsLdpLspFecTable. + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsLdpSessionObjects 9 } + + + +mplsLdpLspFecTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpLspFecEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table which shows the relationship between + LDP LSPs and FECs. Each row represents + a single LDP LSP to FEC association." + ::= { mplsLdpSessionObjects 10 } + +mplsLdpLspFecEntry OBJECT-TYPE + SYNTAX MplsLdpLspFecEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry represents a LDP LSP + to FEC association." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId, + mplsLdpLspFecSegment, + mplsLdpLspFecSegmentIndex, + mplsLdpLspFecIndex + } + ::= { mplsLdpLspFecTable 1 } + +MplsLdpLspFecEntry ::= SEQUENCE { + mplsLdpLspFecSegment INTEGER, + mplsLdpLspFecSegmentIndex MplsIndexType, + mplsLdpLspFecIndex IndexInteger, + mplsLdpLspFecStorageType StorageType, + mplsLdpLspFecRowStatus RowStatus +} + +mplsLdpLspFecSegment OBJECT-TYPE + SYNTAX INTEGER { + inSegment(1), + outSegment(2) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "If the value is inSegment(1), then this + indicates that the following index, + mplsLdpLspFecSegmentIndex, contains the same + value as the mplsInSegmentLdpLspIndex. + + Otherwise, if the value of this object is + + + + outSegment(2), then this + indicates that following index, + mplsLdpLspFecSegmentIndex, contains the same + value as the mplsOutSegmentLdpLspIndex." + ::= { mplsLdpLspFecEntry 1 } + +mplsLdpLspFecSegmentIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index is interpretted by using the value + of the mplsLdpLspFecSegment. + + If the mplsLdpLspFecSegment is inSegment(1), + then this index has the same value as + mplsInSegmentLdpLspIndex. + + If the mplsLdpLspFecSegment is outSegment(2), + then this index has the same value as + mplsOutSegmentLdpLspIndex." + ::= { mplsLdpLspFecEntry 2 } + +mplsLdpLspFecIndex OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index identifies the FEC entry in the + mplsFecTable associated with this session. + In other words, the value of this index + is the same as the value of the mplsFecIndex + that denotes the FEC associated with this + Session." + ::= { mplsLdpLspFecEntry 3 } + +mplsLdpLspFecStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { mplsLdpLspFecEntry 4 } + + + + +mplsLdpLspFecRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. If the + value of this object is 'active(1)', then + none of the writable objects of this entry + can be modified. + + The Agent should delete this row when + the session ceases to exist. If an + operator wants to associate the session with + a different FEC, the recommended + procedure is (as described in detail in the section + entitled, 'Changing Values After Session + Establishment', and again described in the + DESCRIPTION clause of the + mplsLdpEntityAdminStatus object) + is to set the mplsLdpEntityAdminStatus to + down, thereby explicitly causing a session + to be torn down. This will also + cause this entry to be deleted. + + Then, set the mplsLdpEntityAdminStatus + to enable which enables a new session to be initiated. + Once the session is initiated, an entry may be + added to this table to associate the new session + with a FEC." + ::= { mplsLdpLspFecEntry 5 } + +-- +-- Address Message/Address Withdraw Message Information +-- +-- This information is associated with a specific Session +-- because Label Address Messages are sent after session +-- initialization has taken place. +-- + +mplsLdpSessionPeerAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLdpSessionPeerAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table 'extends' the mplsLdpSessionTable. + This table is used to store Label Address Information + from Label Address Messages received by this LSR from + Peers. This table is read-only and should be updated + + + + when Label Withdraw Address Messages are received, i.e., + Rows should be deleted as appropriate. + + NOTE: since more than one address may be contained + in a Label Address Message, this table 'sparse augments', + the mplsLdpSessionTable's information." + ::= { mplsLdpSessionObjects 11 } + +mplsLdpSessionPeerAddrEntry OBJECT-TYPE + SYNTAX MplsLdpSessionPeerAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents information on + a session's single next hop address which was + advertised in an Address Message from the LDP peer. + The information contained in a row is read-only." + INDEX { mplsLdpEntityLdpId, + mplsLdpEntityIndex, + mplsLdpPeerLdpId, + mplsLdpSessionPeerAddrIndex + } + ::= { mplsLdpSessionPeerAddrTable 1 } + +MplsLdpSessionPeerAddrEntry ::= SEQUENCE { + mplsLdpSessionPeerAddrIndex Unsigned32, + mplsLdpSessionPeerNextHopAddrType InetAddressType, + mplsLdpSessionPeerNextHopAddr InetAddress +} + +mplsLdpSessionPeerAddrIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index which uniquely identifies this entry within + a given session." + ::= { mplsLdpSessionPeerAddrEntry 1 } + +mplsLdpSessionPeerNextHopAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The internetwork layer address type of this Next Hop + Address as specified in the Label Address Message + associated with this Session. The value of this + object indicates how to interpret the value of + + + + mplsLdpSessionPeerNextHopAddr." + ::= { mplsLdpSessionPeerAddrEntry 2 } + +mplsLdpSessionPeerNextHopAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The next hop address. The type of this address + is specified by the value of the + mplsLdpSessionPeerNextHopAddrType." + REFERENCE + "RFC3036, Section 2.7. LDP Identifiers + and Next Hop Addresses" + ::= { mplsLdpSessionPeerAddrEntry 3 } + +--- +--- Notifications +--- + +mplsLdpInitSessionThresholdExceeded NOTIFICATION-TYPE + OBJECTS { + mplsLdpEntityInitSessionThreshold + } + STATUS current + DESCRIPTION + "This notification is generated when the value of + the 'mplsLdpEntityInitSessionThreshold' object + is not zero, and the number of Session + Initialization messages exceeds the value + of the 'mplsLdpEntityInitSessionThreshold' object." + ::= { mplsLdpNotifications 1 } + +mplsLdpPathVectorLimitMismatch NOTIFICATION-TYPE + OBJECTS { + mplsLdpEntityPathVectorLimit, + mplsLdpPeerPathVectorLimit + } + STATUS current + DESCRIPTION + "This notification is sent when the + 'mplsLdpEntityPathVectorLimit' does NOT match + the value of the 'mplsLdpPeerPathVectorLimit' for + a specific Entity." + REFERENCE + "RFC3036, LDP Specification, Section 3.5.3." + ::= { mplsLdpNotifications 2 } + + + + +mplsLdpSessionUp NOTIFICATION-TYPE + OBJECTS { + mplsLdpSessionState, + mplsLdpSessionDiscontinuityTime, + mplsLdpSessionStatsUnknownMesTypeErrors, + mplsLdpSessionStatsUnknownTlvErrors + } + STATUS current + DESCRIPTION + "If this notification is sent when the + value of 'mplsLdpSessionState' enters + the 'operational(5)' state." + ::= { mplsLdpNotifications 3 } + +mplsLdpSessionDown NOTIFICATION-TYPE + OBJECTS { + mplsLdpSessionState, + mplsLdpSessionDiscontinuityTime, + mplsLdpSessionStatsUnknownMesTypeErrors, + mplsLdpSessionStatsUnknownTlvErrors + + } + STATUS current + DESCRIPTION + "This notification is sent when the + value of 'mplsLdpSessionState' leaves + the 'operational(5)' state." + ::= { mplsLdpNotifications 4 } + +--**************************************************************** +-- Module Conformance Statement +--**************************************************************** + +mplsLdpGroups + OBJECT IDENTIFIER ::= { mplsLdpConformance 1 } + +mplsLdpCompliances + OBJECT IDENTIFIER ::= { mplsLdpConformance 2 } + +-- +-- Full Compliance +-- + +mplsLdpModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The Module is implemented with support + for read-create and read-write. In other + + + + words, both monitoring and configuration + are available when using this MODULE-COMPLIANCE." + + MODULE -- this module + MANDATORY-GROUPS { mplsLdpGeneralGroup, + mplsLdpNotificationsGroup + } + GROUP mplsLdpLspGroup + DESCRIPTION + "This group must be supported if the LSR MIB is + implemented, specifically the mplsInSegmentTable, + the mplsOutSegmentTable or the mplsXCTable." + + OBJECT mplsLdpEntityTargetPeerAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + OBJECT mplsLdpEntityTargetPeerAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 and + globally unique IPv6 addresses." + + OBJECT mplsLdpEntityRowStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not + required." + + OBJECT mplsFecAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + OBJECT mplsFecAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 and + globally unique IPv6 addresses." + + OBJECT mplsFecRowStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + + + + "Support for createAndWait and notInService is not + required." + + OBJECT mplsLdpLspFecRowStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not + required." + + OBJECT mplsLdpSessionPeerNextHopAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + OBJECT mplsLdpSessionPeerNextHopAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 + and globally unique IPv6 addresses." + + ::= { mplsLdpCompliances 1 } + +-- +-- Read-Only Compliance +-- + +mplsLdpModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The Module is implemented with support + for read-only. In other words, only monitoring + is available by implementing this MODULE-COMPLIANCE." + + MODULE -- this module + MANDATORY-GROUPS { mplsLdpGeneralGroup, + mplsLdpNotificationsGroup + } + + GROUP mplsLdpLspGroup + DESCRIPTION + "This group must be supported if the LSR MIB is + implemented, specifically the mplsInSegmentTable, + the mplsOutSegmentTable or the mplsXCTable." + + OBJECT mplsLdpEntityProtocolVersion + MIN-ACCESS read-only + + + + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityAdminStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityTcpPort + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityUdpDscPort + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityMaxPduLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityKeepAliveHoldTimer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityHelloHoldTimer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityInitSessionThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityLabelDistMethod + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityLabelRetentionMode + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + OBJECT mplsLdpEntityPathVectorLimit + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityHopCountLimit + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityTransportAddrKind + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityTargetPeer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityTargetPeerAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. + An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + OBJECT mplsLdpEntityTargetPeerAddr + SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. + An implementation is only required to support IPv4 and + globally unique IPv6 addresses." + + OBJECT mplsLdpEntityLabelType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsLdpEntityRowStatus + SYNTAX RowStatus { active(1) } + + + + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the + only status that needs to be supported." + + OBJECT mplsFecType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFecAddrPrefixLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFecAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. + An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + OBJECT mplsFecAddr + SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. + An implementation is only required to support IPv4 and + globally unique IPv6 addresses." + + OBJECT mplsFecStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsFecRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the + only status that needs to be supported." + + OBJECT mplsLdpLspFecStorageType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + OBJECT mplsLdpLspFecRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the + only status that needs to be supported." + + OBJECT mplsLdpSessionPeerNextHopAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support + 'unknown(0)', IPv4 and globally unique IPv6 addresses." + + + OBJECT mplsLdpSessionPeerNextHopAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 + and globally unique IPv6 addresses." + + ::= { mplsLdpCompliances 2 } + +-- units of conformance + +mplsLdpGeneralGroup OBJECT-GROUP + OBJECTS { + mplsLdpLsrId, + mplsLdpLsrLoopDetectionCapable, + mplsLdpEntityLastChange, + mplsLdpEntityIndexNext, + mplsLdpEntityProtocolVersion, + mplsLdpEntityAdminStatus, + mplsLdpEntityOperStatus, + mplsLdpEntityTcpPort, + mplsLdpEntityUdpDscPort, + mplsLdpEntityMaxPduLength, + mplsLdpEntityKeepAliveHoldTimer, + mplsLdpEntityHelloHoldTimer, + mplsLdpEntityInitSessionThreshold, + mplsLdpEntityLabelDistMethod, + mplsLdpEntityLabelRetentionMode, + mplsLdpEntityPathVectorLimit, + mplsLdpEntityHopCountLimit, + mplsLdpEntityTransportAddrKind, + mplsLdpEntityTargetPeer, + mplsLdpEntityTargetPeerAddrType, + mplsLdpEntityTargetPeerAddr, + mplsLdpEntityLabelType, + + + + mplsLdpEntityDiscontinuityTime, + mplsLdpEntityStorageType, + mplsLdpEntityRowStatus, + mplsLdpEntityStatsSessionAttempts, + mplsLdpEntityStatsSessionRejectedNoHelloErrors, + mplsLdpEntityStatsSessionRejectedAdErrors, + mplsLdpEntityStatsSessionRejectedMaxPduErrors, + mplsLdpEntityStatsSessionRejectedLRErrors, + mplsLdpEntityStatsBadLdpIdentifierErrors, + mplsLdpEntityStatsBadPduLengthErrors, + mplsLdpEntityStatsBadMessageLengthErrors, + mplsLdpEntityStatsBadTlvLengthErrors, + mplsLdpEntityStatsMalformedTlvValueErrors, + mplsLdpEntityStatsKeepAliveTimerExpErrors, + mplsLdpEntityStatsShutdownReceivedNotifications, + mplsLdpEntityStatsShutdownSentNotifications, + mplsLdpPeerLastChange, + mplsLdpPeerLabelDistMethod, + mplsLdpPeerPathVectorLimit, + mplsLdpPeerTransportAddrType, + mplsLdpPeerTransportAddr, + mplsLdpHelloAdjacencyHoldTimeRem, + mplsLdpHelloAdjacencyHoldTime, + mplsLdpHelloAdjacencyType, + mplsLdpSessionStateLastChange, + mplsLdpSessionState, + mplsLdpSessionRole, + mplsLdpSessionProtocolVersion, + mplsLdpSessionKeepAliveHoldTimeRem, + mplsLdpSessionKeepAliveTime, + mplsLdpSessionMaxPduLength, + mplsLdpSessionDiscontinuityTime, + mplsLdpSessionStatsUnknownMesTypeErrors, + mplsLdpSessionStatsUnknownTlvErrors, + mplsLdpSessionPeerNextHopAddrType, + mplsLdpSessionPeerNextHopAddr, + mplsFecLastChange, + mplsFecIndexNext, + mplsFecType, + mplsFecAddrType, + mplsFecAddr, + mplsFecAddrPrefixLength, + mplsFecStorageType, + mplsFecRowStatus + } + STATUS current + DESCRIPTION + "Objects that apply to all MPLS LDP implementations." + + + + ::= { mplsLdpGroups 1 } + +mplsLdpLspGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentLdpLspLabelType, + mplsInSegmentLdpLspType, + mplsOutSegmentLdpLspLabelType, + mplsOutSegmentLdpLspType, + mplsLdpLspFecLastChange, + mplsLdpLspFecStorageType, + mplsLdpLspFecRowStatus + } + STATUS current + DESCRIPTION + "These objects are for LDP implementations + which interface to the Label Information Base (LIB) + in the MPLS-LSR-STD-MIB. The LIB is + represented in the mplsInSegmentTable, + mplsOutSegmentTable and mplsXCTable." + ::= { mplsLdpGroups 2 } + +mplsLdpNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { mplsLdpInitSessionThresholdExceeded, + mplsLdpPathVectorLimitMismatch, + mplsLdpSessionUp, + mplsLdpSessionDown + } + STATUS current + DESCRIPTION + "The notification for an MPLS LDP implementation." + ::= { mplsLdpGroups 3 } + +END \ No newline at end of file diff --git a/mibs/MPLS-LSR-STD-MIB.txt b/mibs/MPLS-LSR-STD-MIB.txt new file mode 100644 index 00000000..c0c8d2de --- /dev/null +++ b/mibs/MPLS-LSR-STD-MIB.txt @@ -0,0 +1,2232 @@ +MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Integer32, Counter32, Unsigned32, Counter64, Gauge32, + zeroDotZero + FROM SNMPv2-SMI -- [RFC2578] + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF -- [RFC2580] + TruthValue, RowStatus, StorageType, RowPointer, + TimeStamp, TEXTUAL-CONVENTION + FROM SNMPv2-TC -- [RFC2579] + InterfaceIndexOrZero, ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + FROM IF-MIB -- [RFC2863] + mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate, + MplsOwner + FROM MPLS-TC-STD-MIB -- [RFC3811] + AddressFamilyNumbers + FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB -- [IANAFamily] + InetAddress, InetAddressType + FROM INET-ADDRESS-MIB -- [RFC3291] + ; + +mplsLsrStdMIB MODULE-IDENTITY + LAST-UPDATED "200406030000Z" -- June 3, 2004 + ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" + CONTACT-INFO + " Cheenu Srinivasan + Bloomberg L.P. + Email: cheenu@bloomberg.net + + Arun Viswanathan + Force10 Networks, Inc. + Email: arunv@force10networks.com + + Thomas D. Nadeau + Cisco Systems, Inc. + Email: tnadeau@cisco.com + + Comments about this document should be emailed + directly to the MPLS working group mailing list at + mpls@uu.net." + + DESCRIPTION + "This MIB module contains managed object definitions for + the Multiprotocol Label Switching (MPLS) Router as + + + + defined in: Rosen, E., Viswanathan, A., and R. + Callon, Multiprotocol Label Switching Architecture, + RFC 3031, January 2001. + + Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3812. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html" + + -- Revision history. + REVISION + "200406030000Z" -- June 3, 2004 + DESCRIPTION + "Initial revision, published as part of RFC 3813." + + ::= { mplsStdMIB 2 } + +-- TEXTUAL-CONVENTIONs + +MplsIndexType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This is an octet string that can be used as a table + index in cases where a large addressable space is + required such as on an LSR where many applications + may be provisioning labels. + + Note that the string containing the single octet with + the value 0x00 is a reserved value used to represent + special cases. When this TEXTUAL-CONVENTION is used + as the SYNTAX of an object, the DESCRIPTION clause + MUST specify if this special value is valid and if so + what the special meaning is. + + In systems that provide write access to the MPLS-LSR-STD + MIB, mplsIndexType SHOULD be used as a simple multi-digit + integer encoded as an octet string. + No further overloading of the meaning of an index SHOULD + be made. + + In systems that do not offer write access to the MPLS-LSR-STD + MIB, the mplsIndexType may contain implicit formatting that is + specific to the implementation to convey additional + information such as interface index, physical card or + device, or application id. The interpretation of this + additional formatting is implementation dependent and + not covered in this document. Such formatting MUST + + + + NOT impact the basic functionality of read-only access + to the MPLS-LSR-STD MIB by management applications that are + not aware of the formatting rules." + SYNTAX OCTET STRING (SIZE(1..24)) + +MplsIndexNextType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "When a MIB module is used for configuration, an object with + this SYNTAX always contains a legal value (a non-zero-length + string) for an index that is not currently used in the relevant + table. The Command Generator (Network Management Application) + reads this variable and uses the (non-zero-length string) + value read when creating a new row with an SNMP SET. + + When the SET is performed, the Command Responder (agent) must + determine whether the value is indeed still unused; Two Network + Management Applications may attempt to create a row + (configuration entry) simultaneously and use the same value. If + it is currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, according + to an implementation-specific algorithm. If the value is in + use, however, the SET fails. The Network Management + Application must then re-read this variable to obtain a new + usable value. + + Note that the string containing the single octet with + the value 0x00 is a reserved value used to represent + the special case where no additional indexes can be + provisioned, or in systems that do not offer + write access, objects defined using this TEXTUAL-CONVENTION + MUST return the string containing the single + octet with the value 0x00." + SYNTAX OCTET STRING (SIZE(1..24)) + +-- Top level components of this MIB module. + +-- Notifications +mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 } + +-- Tables, Scalars +mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 } + +-- Conformance +mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 } + +-- MPLS Interface Table. +mplsInterfaceTable OBJECT-TYPE + + + + SYNTAX SEQUENCE OF MplsInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies per-interface MPLS capability + and associated information." + ::= { mplsLsrObjects 1 } + +mplsInterfaceEntry OBJECT-TYPE + SYNTAX MplsInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row in this table is created + automatically by an LSR for every interface capable + of supporting MPLS and which is configured to do so. + A conceptual row in this table will exist if and only if + a corresponding entry in ifTable exists with ifType = + mpls(166). If this associated entry in ifTable is + operationally disabled (thus removing MPLS + capabilities on that interface), the corresponding + entry in this table MUST be deleted shortly thereafter. + An conceptual row with index 0 is created if the LSR + supports per-platform labels. This conceptual row + represents the per-platform label space and contains + parameters that apply to all interfaces that participate + in the per-platform label space. Other conceptual rows + in this table represent MPLS interfaces that may + participate in either the per-platform or per- + interface label spaces, or both. Implementations + that either only support per-platform labels, + or have only them configured, may choose to return + just the mplsInterfaceEntry of 0 and not return + the other rows. This will greatly reduce the number + of objects returned. Further information about label + space participation of an interface is provided in + the DESCRIPTION clause of + mplsInterfaceLabelParticipationType." + INDEX { mplsInterfaceIndex } + ::= { mplsInterfaceTable 1 } + +MplsInterfaceEntry ::= SEQUENCE { + mplsInterfaceIndex InterfaceIndexOrZero, + mplsInterfaceLabelMinIn MplsLabel, + mplsInterfaceLabelMaxIn MplsLabel, + mplsInterfaceLabelMinOut MplsLabel, + mplsInterfaceLabelMaxOut MplsLabel, + mplsInterfaceTotalBandwidth MplsBitRate, + + + + mplsInterfaceAvailableBandwidth MplsBitRate, + mplsInterfaceLabelParticipationType BITS +} + +mplsInterfaceIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This is a unique index for an entry in the + MplsInterfaceTable. A non-zero index for an + entry indicates the ifIndex for the corresponding + interface entry of the MPLS-layer in the ifTable. + The entry with index 0 represents the per-platform + label space and contains parameters that apply to all + interfaces that participate in the per-platform label + space. Other entries defined in this table represent + additional MPLS interfaces that may participate in either + the per-platform or per-interface label spaces, or both." + REFERENCE + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000" + ::= { mplsInterfaceEntry 1 } + +mplsInterfaceLabelMinIn OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the minimum value of an MPLS label that this + LSR is willing to receive on this interface." + ::= { mplsInterfaceEntry 2 } + +mplsInterfaceLabelMaxIn OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the maximum value of an MPLS label that this + LSR is willing to receive on this interface." + ::= { mplsInterfaceEntry 3 } + +mplsInterfaceLabelMinOut OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the minimum value of an MPLS label that this + + + + LSR is willing to send on this interface." + ::= { mplsInterfaceEntry 4 } + +mplsInterfaceLabelMaxOut OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is the maximum value of an MPLS label that this + LSR is willing to send on this interface." + ::= { mplsInterfaceEntry 5 } + +mplsInterfaceTotalBandwidth OBJECT-TYPE + SYNTAX MplsBitRate + UNITS "kilobits per second" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value indicates the total amount of usable + bandwidth on this interface and is specified in + kilobits per second (Kbps). This variable is not + applicable when applied to the interface with index + 0. When this value cannot be measured, this value + should contain the nominal bandwidth." +::= { mplsInterfaceEntry 6 } + +mplsInterfaceAvailableBandwidth OBJECT-TYPE + SYNTAX MplsBitRate + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value indicates the total amount of available + bandwidth available on this interface and is + specified in kilobits per second (Kbps). This value + is calculated as the difference between the amount + of bandwidth currently in use and that specified in + mplsInterfaceTotalBandwidth. This variable is not + applicable when applied to the interface with index + 0. When this value cannot be measured, this value + should contain the nominal bandwidth." +::= { mplsInterfaceEntry 7 } + +mplsInterfaceLabelParticipationType OBJECT-TYPE + SYNTAX BITS { + perPlatform (0), + perInterface (1) + } + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "If the value of the mplsInterfaceIndex for this + entry is zero, then this entry corresponds to the + per-platform label space for all interfaces configured + to use that label space. In this case the perPlatform(0) + bit MUST be set; the perInterface(1) bit is meaningless + and MUST be ignored. + + The remainder of this description applies to entries + with a non-zero value of mplsInterfaceIndex. + + If the perInterface(1) bit is set then the value of + mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, and + mplsInterfaceLabelMaxOut for this entry reflect the + label ranges for this interface. + + If only the perPlatform(0) bit is set, then the value of + mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, and + mplsInterfaceLabelMaxOut for this entry MUST be + identical to the instance of these objects with + index 0. These objects may only vary from the entry + with index 0 if both the perPlatform(0) and perInterface(1) + bits are set. + + In all cases, at a minimum one of the perPlatform(0) or + perInterface(1) bits MUST be set to indicate that + at least one label space is in use by this interface. In + all cases, agents MUST ensure that label ranges are + specified consistently and MUST return an + inconsistentValue error when they do not." + REFERENCE + "Rosen, E., Viswanathan, A., and R. Callon, + Multiprotocol Label Switching Architecture, RFC + 3031, January 2001." +::= { mplsInterfaceEntry 8 } + +-- End of mplsInterfaceTable + + +-- MPLS Interface Performance Table. + +mplsInterfacePerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInterfacePerfEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "This table provides MPLS performance information on + a per-interface basis." + ::= { mplsLsrObjects 2 } + +mplsInterfacePerfEntry OBJECT-TYPE + SYNTAX MplsInterfacePerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the LSR for + every interface capable of supporting MPLS. Its is + an extension to the mplsInterfaceEntry table. + Note that the discontinuity behavior of entries in + this table MUST be based on the corresponding + ifEntry's ifDiscontinuityTime." + AUGMENTS { mplsInterfaceEntry } + ::= { mplsInterfacePerfTable 1 } + +MplsInterfacePerfEntry ::= SEQUENCE { + -- incoming direction + mplsInterfacePerfInLabelsInUse Gauge32, + mplsInterfacePerfInLabelLookupFailures Counter32, + + -- outgoing direction + mplsInterfacePerfOutLabelsInUse Gauge32, + mplsInterfacePerfOutFragmentedPkts Counter32 + } + +mplsInterfacePerfInLabelsInUse OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of labels that are in + use at this point in time on this interface in the + incoming direction. If the interface participates in + only the per-platform label space, then the value of + the instance of this object MUST be identical to + the value of the instance with index 0. If the + interface participates in the per-interface label + space, then the instance of this object MUST + represent the number of per-interface labels that + are in use on this interface." + ::= { mplsInterfacePerfEntry 1 } + +mplsInterfacePerfInLabelLookupFailures OBJECT-TYPE + SYNTAX Counter32 + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of labeled packets + that have been received on this interface and which + were discarded because there was no matching cross- + connect entry. This object MUST count on a per- + interface basis regardless of which label space the + interface participates in." + ::= { mplsInterfacePerfEntry 2 } + +mplsInterfacePerfOutLabelsInUse OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of top-most labels in + the outgoing label stacks that are in use at this + point in time on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in." + ::= { mplsInterfacePerfEntry 3 } + +mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of outgoing MPLS + packets that required fragmentation before + transmission on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in." +::= { mplsInterfacePerfEntry 4 } + +-- mplsInterfacePerf Table end. + +mplsInSegmentIndexNext OBJECT-TYPE + SYNTAX MplsIndexNextType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains the next available value to + be used for mplsInSegmentIndex when creating entries + in the mplsInSegmentTable. The special value of a + string containing the single octet 0x00 indicates + that no new entries can be created in this table. + Agents not allowing managers to create entries + + + + in this table MUST set this object to this special + value." + ::= { mplsLsrObjects 3 } + +-- in-segment table. +mplsInSegmentTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains a description of the incoming MPLS + segments (labels) to an LSR and their associated parameters. + The index for this table is mplsInSegmentIndex. + The index structure of this table is specifically designed + to handle many different MPLS implementations that manage + their labels both in a distributed and centralized manner. + The table is also designed to handle existing MPLS labels + as defined in RFC3031 as well as longer ones that may + be necessary in the future. + + In cases where the label cannot fit into the + mplsInSegmentLabel object, the mplsInSegmentLabelPtr + will indicate this by being set to the first accessible + column in the appropriate extension table's row. + In this case an additional table MUST + be provided and MUST be indexed by at least the indexes + used by this table. In all other cases when the label is + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be set to 0.0. Due to the + fact that MPLS labels may not exceed 24 bits, the + mplsInSegmentLabelPtr object is only a provision for + future-proofing the MIB module. Thus, the definition + of any extension tables is beyond the scope of this + MIB module." + ::= { mplsLsrObjects 4 } + +mplsInSegmentEntry OBJECT-TYPE + SYNTAX MplsInSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one incoming + segment as is represented in an LSR's LFIB. + An entry can be created by a network + administrator or an SNMP agent, or an MPLS signaling + protocol. The creator of the entry is denoted by + mplsInSegmentOwner. + + + + + The value of mplsInSegmentRowStatus cannot be active(1) + unless the ifTable entry corresponding to + mplsInSegmentInterface exists. An entry in this table + must match any incoming packets, and indicates an + instance of mplsXCEntry based on which forwarding + and/or switching actions are taken." + INDEX { mplsInSegmentIndex } + ::= { mplsInSegmentTable 1 } + +MplsInSegmentEntry ::= SEQUENCE { + mplsInSegmentIndex MplsIndexType, + mplsInSegmentInterface InterfaceIndexOrZero, + mplsInSegmentLabel MplsLabel, + mplsInSegmentLabelPtr RowPointer, + mplsInSegmentNPop Integer32, + mplsInSegmentAddrFamily AddressFamilyNumbers, + mplsInSegmentXCIndex MplsIndexType, + mplsInSegmentOwner MplsOwner , + mplsInSegmentTrafficParamPtr RowPointer, + mplsInSegmentRowStatus RowStatus, + mplsInSegmentStorageType StorageType +} + +mplsInSegmentIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The index for this in-segment. The + string containing the single octet 0x00 + MUST not be used as an index." + ::= { mplsInSegmentEntry 1 } + +mplsInSegmentInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object represents the + interface index for the incoming MPLS interface. A + value of zero represents all interfaces participating in + the per-platform label space. This may only be used + in cases where the incoming interface and label + are associated with the same mplsXCEntry. Specifically, + given a label and any incoming interface pair from the + per-platform label space, the outgoing label/interface + mapping remains the same. If this is not the case, + then individual entries MUST exist that + + + + can then be mapped to unique mplsXCEntries." + ::= { mplsInSegmentEntry 2 } + +mplsInSegmentLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the corresponding instance of mplsInSegmentLabelPtr is + zeroDotZero then this object MUST contain the incoming label + associated with this in-segment. If not this object SHOULD + be zero and MUST be ignored." + ::= { mplsInSegmentEntry 3 } + +mplsInSegmentLabelPtr OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the label for this segment cannot be represented + fully within the mplsInSegmentLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsInSegmentTopLabel + object SHOULD be set to 0 and ignored. This object MUST + be set to zeroDotZero otherwise." + DEFVAL { zeroDotZero } + ::= { mplsInSegmentEntry 4 } + +mplsInSegmentNPop OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of labels to pop from the incoming + packet. Normally only the top label is popped from + the packet and used for all switching decisions for + that packet. This is indicated by setting this + object to the default value of 1. If an LSR supports + popping of more than one label, this object MUST + be set to that number. This object cannot be modified + if mplsInSegmentRowStatus is active(1)." + DEFVAL { 1 } + ::= { mplsInSegmentEntry 5 } + +mplsInSegmentAddrFamily OBJECT-TYPE + SYNTAX AddressFamilyNumbers + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "The IANA address family [IANAFamily] of packets + received on this segment, which is used at an egress + LSR to deliver them to the appropriate layer 3 entity. + A value of other(0) indicates that the family type is + either unknown or undefined; this SHOULD NOT be used + at an egress LSR. This object cannot be + modified if mplsInSegmentRowStatus is active(1)." + REFERENCE + "Internet Assigned Numbers Authority (IANA), ADDRESS + FAMILY NUMBERS, (http://www.iana.org/assignments/ + address-family-numbers), for MIB see: + http://www.iana.org/assignments/ + ianaaddressfamilynumbers-mib +" + DEFVAL { other } + ::= { mplsInSegmentEntry 6 } + +mplsInSegmentXCIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Index into mplsXCTable which identifies which cross- + connect entry this segment is part of. The string + containing the single octet 0x00 indicates that this + entry is not referred to by any cross-connect entry. + When a cross-connect entry is created which this + in-segment is a part of, this object is automatically + updated to reflect the value of mplsXCIndex of that + cross-connect entry." + ::= { mplsInSegmentEntry 7 } + +mplsInSegmentOwner OBJECT-TYPE + SYNTAX MplsOwner + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + for managing this segment." + ::= { mplsInSegmentEntry 8 } + +mplsInSegmentTrafficParamPtr OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "This variable represents a pointer to the traffic + parameter specification for this in-segment. This + value may point at an entry in the + mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFC3812) + to indicate which traffic parameter settings for this + segment if it represents an LSP used for a TE tunnel. + + This value may optionally point at an + externally defined traffic parameter specification + table. A value of zeroDotZero indicates best-effort + treatment. By having the same value of this object, + two or more segments can indicate resource sharing + of such things as LSP queue space, etc. + + This object cannot be modified if mplsInSegmentRowStatus + is active(1). For entries in this table that + are preserved after a re-boot, the agent MUST ensure + that their integrity be preserved, or this object should + be set to 0.0 if it cannot." + DEFVAL { zeroDotZero } + ::= { mplsInSegmentEntry 9 } + +mplsInSegmentRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table has a row in the active(1) state, no + objects in this row can be modified except the + mplsInSegmentRowStatus and mplsInSegmentStorageType." + ::= { mplsInSegmentEntry 10 } + +mplsInSegmentStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object. The agent MUST ensure that this object's + value remains consistent with the associated + mplsXCEntry. Conceptual rows having the value + 'permanent' need not allow write-access to any + columnar objects in the row." + REFERENCE + "See RFC2579." + DEFVAL { volatile } + + + + ::= { mplsInSegmentEntry 11 } + +-- End of mplsInSegmentTable + +-- in-segment performance table. + +mplsInSegmentPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains statistical information for + incoming MPLS segments to an LSR." + ::= { mplsLsrObjects 5 } + +mplsInSegmentPerfEntry OBJECT-TYPE + SYNTAX MplsInSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table contains statistical + information about one incoming segment which is + configured in the mplsInSegmentTable. The counters + in this entry should behave in a manner similar to + that of the interface. + mplsInSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in all of these + objects." + AUGMENTS { mplsInSegmentEntry } + ::= { mplsInSegmentPerfTable 1 } + +MplsInSegmentPerfEntry ::= SEQUENCE { + mplsInSegmentPerfOctets Counter32, + mplsInSegmentPerfPackets Counter32, + mplsInSegmentPerfErrors Counter32, + mplsInSegmentPerfDiscards Counter32, + + -- high capacity counter + mplsInSegmentPerfHCOctets Counter64, + + mplsInSegmentPerfDiscontinuityTime TimeStamp + } + +mplsInSegmentPerfOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "This value represents the total number of octets + received by this segment. It MUST be equal to the + least significant 32 bits of + mplsInSegmentPerfHCOctets + if mplsInSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863." + ::= { mplsInSegmentPerfEntry 1 } + +mplsInSegmentPerfPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total number of packets received by this segment." + ::= { mplsInSegmentPerfEntry 2 } + +mplsInSegmentPerfErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of errored packets received on this + segment." + ::= { mplsInSegmentPerfEntry 3 } + +mplsInSegmentPerfDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of labeled packets received on this in- + segment, which were chosen to be discarded even + though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space." + ::= { mplsInSegmentPerfEntry 4 } + +mplsInSegmentPerfHCOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets received. This is the 64 + bit version of mplsInSegmentPerfOctets, + if mplsInSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863." + ::= { mplsInSegmentPerfEntry 5 } + + + + +mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsInSegmentPerfEntry 6 } + +-- End of mplsInSegmentPerfTable. + +-- out-segment table. + +mplsOutSegmentIndexNext OBJECT-TYPE + SYNTAX MplsIndexNextType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains the next available value to + be used for mplsOutSegmentIndex when creating entries + in the mplsOutSegmentTable. The special value of a + string containing the single octet 0x00 + indicates that no new entries can be created in this + table. Agents not allowing managers to create entries + in this table MUST set this object to this special + value." + ::= { mplsLsrObjects 6 } + +mplsOutSegmentTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsOutSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains a representation of the outgoing + segments from an LSR." + ::= { mplsLsrObjects 7 } + +mplsOutSegmentEntry OBJECT-TYPE + SYNTAX MplsOutSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one outgoing + + + + segment. An entry can be created by a network + administrator, an SNMP agent, or an MPLS signaling + protocol. The object mplsOutSegmentOwner indicates + the creator of this entry. The value of + mplsOutSegmentRowStatus cannot be active(1) unless + the ifTable entry corresponding to + mplsOutSegmentInterface exists. + + Note that the indexing of this table uses a single, + arbitrary index (mplsOutSegmentIndex) to indicate + which out-segment (i.e.: label) is being switched to + from which in-segment (i.e: label) or in-segments. + This is necessary because it is possible to have an + equal-cost multi-path situation where two identical + out-going labels are assigned to the same + cross-connect (i.e.: they go to two different neighboring + LSRs); thus, requiring two out-segments. In order to + preserve the uniqueness of the references + by the mplsXCEntry, an arbitrary integer must be used as + the index for this table." + INDEX { mplsOutSegmentIndex } + ::= { mplsOutSegmentTable 1 } + +MplsOutSegmentEntry ::= SEQUENCE { + mplsOutSegmentIndex MplsIndexType, + mplsOutSegmentInterface InterfaceIndexOrZero, + mplsOutSegmentPushTopLabel TruthValue, + mplsOutSegmentTopLabel MplsLabel, + mplsOutSegmentTopLabelPtr RowPointer, + mplsOutSegmentNextHopAddrType InetAddressType, + mplsOutSegmentNextHopAddr InetAddress, + mplsOutSegmentXCIndex MplsIndexType, + mplsOutSegmentOwner MplsOwner, + mplsOutSegmentTrafficParamPtr RowPointer, + mplsOutSegmentRowStatus RowStatus, + mplsOutSegmentStorageType StorageType +} + +mplsOutSegmentIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This value contains a unique index for this row. + While a value of a string containing the single + octet 0x00 is not valid as an index for entries + in this table, it can be supplied as a valid value + to index the mplsXCTable to represent entries for + + + + which no out-segment has been configured or + exists." + ::= { mplsOutSegmentEntry 1 } + +mplsOutSegmentInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value must contain the interface index of the + outgoing interface. This object cannot be modified + if mplsOutSegmentRowStatus is active(1). The + mplsOutSegmentRowStatus cannot be set to active(1) + until this object is set to a value corresponding to + a valid ifEntry." + ::= { mplsOutSegmentEntry 2 } + +mplsOutSegmentPushTopLabel OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value indicates whether or not a top label + should be pushed onto the outgoing packet's label + stack. The value of this variable MUST be set to + true(1) if the outgoing interface does not support + pop-and-go (and no label stack remains). For example, + on ATM interface, or if the segment represents a + tunnel origination. Note that it is considered + an error in the case that mplsOutSegmentPushTopLabel + is set to false, but the cross-connect entry which + refers to this out-segment has a non-zero + mplsLabelStackIndex. The LSR MUST ensure that this + situation does not happen. This object cannot be + modified if mplsOutSegmentRowStatus is active(1)." + DEFVAL { true } + ::= { mplsOutSegmentEntry 3 } + +mplsOutSegmentTopLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsOutSegmentPushTopLabel is true then this + represents the label that should be pushed onto the + top of the outgoing packet's label stack. Otherwise + this value SHOULD be set to 0 by the management + station and MUST be ignored by the agent. This + + + + object cannot be modified if mplsOutSegmentRowStatus + is active(1)." + DEFVAL { 0 } + ::= { mplsOutSegmentEntry 4 } + +mplsOutSegmentTopLabelPtr OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the label for this segment cannot be represented + fully within the mplsOutSegmentLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsOutSegmentTopLabel + object SHOULD be set to 0 and ignored. This object + MUST be set to zeroDotZero otherwise." + DEFVAL { zeroDotZero } + ::= { mplsOutSegmentEntry 5 } + +mplsOutSegmentNextHopAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates the next hop Internet address type. + Only values unknown(0), ipv4(1) or ipv6(2) + have to be supported. + + A value of unknown(0) is allowed only when + the outgoing interface is of type point-to-point. + If any other unsupported values are attempted in a set + operation, the agent MUST return an inconsistentValue + error." + REFERENCE + "See RFC3291." + ::= { mplsOutSegmentEntry 6 } + +mplsOutSegmentNextHopAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The internet address of the next hop. The type of + this address is determined by the value of the + mplslOutSegmentNextHopAddrType object. + + This object cannot be modified if + + + + mplsOutSegmentRowStatus is active(1)." + ::= { mplsOutSegmentEntry 7 } + +mplsOutSegmentXCIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Index into mplsXCTable which identifies which cross- + connect entry this segment is part of. A value of + the string containing the single octet 0x00 + indicates that this entry is not referred + to by any cross-connect entry. When a cross-connect + entry is created which this out-segment is a part of, + this object MUST be updated by the agent to reflect + the value of mplsXCIndex of that cross-connect + entry." + ::= { mplsOutSegmentEntry 8 } + +mplsOutSegmentOwner OBJECT-TYPE + SYNTAX MplsOwner + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes the entity which created and is responsible + for managing this segment." + ::= { mplsOutSegmentEntry 9 } + +mplsOutSegmentTrafficParamPtr OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable represents a pointer to the traffic + parameter specification for this out-segment. This + value may point at an entry in the + MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFC3812) + + RFC Editor: Please fill in RFC number. + + to indicate which traffic parameter settings for this + segment if it represents an LSP used for a TE tunnel. + + This value may optionally point at an + externally defined traffic parameter specification + table. A value of zeroDotZero indicates best-effort + treatment. By having the same value of this object, + two or more segments can indicate resource sharing + + + + of such things as LSP queue space, etc. + + This object cannot be modified if + mplsOutSegmentRowStatus is active(1). + For entries in this table that + are preserved after a re-boot, the agent MUST ensure + that their integrity be preserved, or this object should + be set to 0.0 if it cannot." + DEFVAL { zeroDotZero } + ::= { mplsOutSegmentEntry 10 } + +mplsOutSegmentRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row can be modified + except the mplsOutSegmentRowStatus or + mplsOutSegmentStorageType." + ::= { mplsOutSegmentEntry 11 } + +mplsOutSegmentStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object. The agent MUST ensure that this object's value + remains consistent with the associated mplsXCEntry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row." + DEFVAL { volatile } + ::= { mplsOutSegmentEntry 12 } + +-- End of mplsOutSegmentTable + + +-- out-segment performance table. + +mplsOutSegmentPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains statistical information about + + + + outgoing segments from an LSR. The counters in this + entry should behave in a manner similar to that of + the interface." + ::= { mplsLsrObjects 8 } + +mplsOutSegmentPerfEntry OBJECT-TYPE + SYNTAX MplsOutSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table contains statistical + information about one outgoing segment configured in + mplsOutSegmentTable. The object + mplsOutSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in these objects. " + AUGMENTS { mplsOutSegmentEntry } + ::= { mplsOutSegmentPerfTable 1 } + +MplsOutSegmentPerfEntry ::= SEQUENCE { + mplsOutSegmentPerfOctets Counter32, + mplsOutSegmentPerfPackets Counter32, + mplsOutSegmentPerfErrors Counter32, + mplsOutSegmentPerfDiscards Counter32, + + -- HC counter + mplsOutSegmentPerfHCOctets Counter64, + + mplsOutSegmentPerfDiscontinuityTime TimeStamp + } + +mplsOutSegmentPerfOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value contains the total number of octets sent + on this segment. It MUST be equal to the least + significant 32 bits of mplsOutSegmentPerfHCOctets + if mplsOutSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863." + ::= { mplsOutSegmentPerfEntry 1 } + +mplsOutSegmentPerfPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value contains the total number of packets sent + + + + on this segment." + ::= { mplsOutSegmentPerfEntry 2 } + +mplsOutSegmentPerfErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of packets that could not be sent due to + errors on this segment." + ::= { mplsOutSegmentPerfEntry 3 } + +mplsOutSegmentPerfDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of labeled packets attempted to be transmitted + on this out-segment, which were chosen to be discarded + even though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space." + ::= { mplsOutSegmentPerfEntry 4 } + +mplsOutSegmentPerfHCOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total number of octets sent. This is the 64 bit + version of mplsOutSegmentPerfOctets, + if mplsOutSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863." + ::= { mplsOutSegmentPerfEntry 5 } + +mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsOutSegmentPerfEntry 6 } + + + + +-- End of mplsOutSegmentPerfTable. + + +-- Cross-connect table. + +mplsXCIndexNext OBJECT-TYPE + SYNTAX MplsIndexNextType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains the next available value to + be used for mplsXCIndex when creating entries in + the mplsXCTable. A special value of the zero length + string indicates that no more new entries can be created + in the relevant table. Agents not allowing managers + to create entries in this table MUST set this value + to the zero length string." + ::= { mplsLsrObjects 9 } + +mplsXCTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsXCEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies information for switching + between LSP segments. It supports point-to-point, + point-to-multipoint and multipoint-to-point + connections. mplsLabelStackTable specifies the + label stack information for a cross-connect LSR and + is referred to from mplsXCTable." + ::= { mplsLsrObjects 10 } + +mplsXCEntry OBJECT-TYPE + SYNTAX MplsXCEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table represents one cross-connect + entry. It is indexed by the following objects: + + - cross-connect index mplsXCIndex that uniquely + identifies a group of cross-connect entries + + - in-segment index, mplsXCInSegmentIndex + + - out-segment index, mplsXCOutSegmentIndex + + + + + LSPs originating at this LSR: + These are represented by using the special + of value of mplsXCInSegmentIndex set to the + string containing a single octet 0x00. In + this case the mplsXCOutSegmentIndex + MUST not be the string containing a single + octet 0x00. + + LSPs terminating at this LSR: + These are represented by using the special value + mplsXCOutSegmentIndex set to the string containing + a single octet 0x00. + + Special labels: + Entries indexed by the strings containing the + reserved MPLS label values as a single octet 0x00 + through 0x0f (inclusive) imply LSPs terminating at + this LSR. Note that situations where LSPs are + terminated with incoming label equal to the string + containing a single octet 0x00 can be distinguished + from LSPs originating at this LSR because the + mplsXCOutSegmentIndex equals the string containing the + single octet 0x00. + + An entry can be created by a network administrator + or by an SNMP agent as instructed by an MPLS + signaling protocol." + INDEX { mplsXCIndex, mplsXCInSegmentIndex, + mplsXCOutSegmentIndex } + ::= { mplsXCTable 1 } + +MplsXCEntry ::= SEQUENCE { + mplsXCIndex MplsIndexType, + mplsXCInSegmentIndex MplsIndexType, + mplsXCOutSegmentIndex MplsIndexType, + mplsXCLspId MplsLSPID, + mplsXCLabelStackIndex MplsIndexType, + mplsXCOwner MplsOwner , + mplsXCRowStatus RowStatus, + mplsXCStorageType StorageType, + mplsXCAdminStatus INTEGER, + mplsXCOperStatus INTEGER + } + +mplsXCIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "Primary index for the conceptual row identifying a + group of cross-connect segments. The string + containing a single octet 0x00 is an invalid index." + ::= { mplsXCEntry 1 } + +mplsXCInSegmentIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Incoming label index. + If this object is set to the string containing + a single octet 0x00, this indicates a special + case outlined in the table's description above. + In this case no corresponding mplsInSegmentEntry + shall exist." + ::= { mplsXCEntry 2 } + +mplsXCOutSegmentIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Index of out-segment for LSPs not terminating on + this LSR if not set to the string containing the + single octet 0x00. If the segment identified by this + entry is terminating, then this object MUST be set to + the string containing a single octet 0x00 to indicate + that no corresponding mplsOutSegmentEntry shall + exist." + ::= { mplsXCEntry 3 } + +mplsXCLspId OBJECT-TYPE + SYNTAX MplsLSPID + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value identifies the label switched path that + this cross-connect entry belongs to. This object + cannot be modified if mplsXCRowStatus is active(1) + except for this object." + ::= { mplsXCEntry 4 } + +mplsXCLabelStackIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "Primary index into mplsLabelStackTable identifying a + stack of labels to be pushed beneath the top label. + Note that the top label identified by the out- + segment ensures that all the components of a + multipoint-to-point connection have the same + outgoing label. A value of the string containing the + single octet 0x00 indicates that no labels are to + be stacked beneath the top label. + This object cannot be modified if mplsXCRowStatus is + active(1)." + ::= { mplsXCEntry 5 } + +mplsXCOwner OBJECT-TYPE + SYNTAX MplsOwner + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + for managing this cross-connect." + ::= { mplsXCEntry 6 } + +mplsXCRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row except this object + and the mplsXCStorageType can be modified. " + ::= { mplsXCEntry 7 } + +mplsXCStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object. The agent MUST ensure that the associated in + and out segments also have the same StorageType value + and are restored consistently upon system restart. + This value SHOULD be set to permanent(4) if created + as a result of a static LSP configuration. + + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row." + + + + DEFVAL { volatile } + ::= { mplsXCEntry 8 } + +mplsXCAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + up(1), -- ready to pass packets + down(2), + testing(3) -- in some test mode + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The desired operational status of this segment." + DEFVAL { up } + ::= { mplsXCEntry 9 } + +mplsXCOperStatus OBJECT-TYPE + SYNTAX INTEGER { + up(1), -- ready to pass packets + down(2), + testing(3), -- in some test mode + unknown(4), -- status cannot be determined + -- for some reason. + dormant(5), + notPresent(6), -- some component is missing + lowerLayerDown(7) -- down due to the state of + -- lower layer interfaces + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The actual operational status of this cross- + connect." + ::= { mplsXCEntry 10 } + +-- End of mplsXCTable + + +-- Label stack table. + +mplsMaxLabelStackDepth OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum stack depth supported by this LSR." +::= { mplsLsrObjects 11 } + + + + +mplsLabelStackIndexNext OBJECT-TYPE + SYNTAX MplsIndexNextType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains the next available value to + be used for mplsLabelStackIndex when creating entries + in the mplsLabelStackTable. The special string + containing the single octet 0x00 + indicates that no more new entries can be created + in the relevant table. Agents not allowing managers + to create entries in this table MUST set this value + to the string containing the single octet 0x00." +::= { mplsLsrObjects 12 } + +mplsLabelStackTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsLabelStackEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies the label stack to be pushed + onto a packet, beneath the top label. Entries into + this table are referred to from mplsXCTable." + ::= { mplsLsrObjects 13 } + +mplsLabelStackEntry OBJECT-TYPE + SYNTAX MplsLabelStackEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one label which is + to be pushed onto an outgoing packet, beneath the + top label. An entry can be created by a network + administrator or by an SNMP agent as instructed by + an MPLS signaling protocol." + INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex } + ::= { mplsLabelStackTable 1 } + +MplsLabelStackEntry ::= SEQUENCE { + mplsLabelStackIndex MplsIndexType, + mplsLabelStackLabelIndex Unsigned32, + mplsLabelStackLabel MplsLabel, + mplsLabelStackLabelPtr RowPointer, + mplsLabelStackRowStatus RowStatus, + mplsLabelStackStorageType StorageType + } + +mplsLabelStackIndex OBJECT-TYPE + + + + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index for this row identifying a stack of + labels to be pushed on an outgoing packet, beneath + the top label. An index containing the string with + a single octet 0x00 MUST not be used." + ::= { mplsLabelStackEntry 1 } + +mplsLabelStackLabelIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Secondary index for this row identifying one label + of the stack. Note that an entry with a smaller + mplsLabelStackLabelIndex would refer to a label + higher up the label stack and would be popped at a + downstream LSR before a label represented by a + higher mplsLabelStackLabelIndex at a downstream + LSR." + ::= { mplsLabelStackEntry 2 } + +mplsLabelStackLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The label to pushed." + ::= { mplsLabelStackEntry 3 } + +mplsLabelStackLabelPtr OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the label for this segment cannot be represented + fully within the mplsLabelStackLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsLabelStackLabel + object SHOULD be set to 0 and ignored. This object + MUST be set to zeroDotZero otherwise." + DEFVAL { zeroDotZero } + ::= { mplsLabelStackEntry 4 } + +mplsLabelStackRowStatus OBJECT-TYPE + + + + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row except this object + and the mplsLabelStackStorageType can be modified." + ::= { mplsLabelStackEntry 5 } + +mplsLabelStackStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object. This object cannot be modified if + mplsLabelStackRowStatus is active(1). + No objects are required to be writable for + rows in this table with this object set to + permanent(4). + + The agent MUST ensure that all related entries + in this table retain the same value for this + object. Agents MUST ensure that the storage type + for all entries related to a particular mplsXCEntry + retain the same value for this object as the + mplsXCEntry's StorageType." + DEFVAL { volatile } + ::= { mplsLabelStackEntry 6 } + +-- End of mplsLabelStackTable + +-- Begin mplsInSegmentMapTable + +mplsInSegmentMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies the mapping from the + mplsInSegmentIndex to the corresponding + mplsInSegmentInterface and mplsInSegmentLabel + objects. The purpose of this table is to + provide the manager with an alternative + means by which to locate in-segments." + ::= { mplsLsrObjects 14 } + + + + +mplsInSegmentMapEntry OBJECT-TYPE + SYNTAX MplsInSegmentMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one interface + and incoming label pair. + + In cases where the label cannot fit into the + mplsInSegmentLabel object, the mplsInSegmentLabelPtr + will indicate this by being set to the first accessible + column in the appropriate extension table's row, + and the mplsInSegmentLabel SHOULD be set to 0. + In all other cases when the label is + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be 0.0. + + Implementors need to be aware that if the value of + the mplsInSegmentMapLabelPtrIndex (an OID) has more + that 111 sub-identifiers, then OIDs of column + instances in this table will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3." + INDEX { mplsInSegmentMapInterface, + mplsInSegmentMapLabel, + mplsInSegmentMapLabelPtrIndex } + ::= { mplsInSegmentMapTable 1 } + +MplsInSegmentMapEntry ::= SEQUENCE { + mplsInSegmentMapInterface InterfaceIndexOrZero, + mplsInSegmentMapLabel MplsLabel, + mplsInSegmentMapLabelPtrIndex RowPointer, + mplsInSegmentMapIndex MplsIndexType + } + +mplsInSegmentMapInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index contains the same value as the + mplsInSegmentIndex in the mplsInSegmentTable." + ::= { mplsInSegmentMapEntry 1 } + +mplsInSegmentMapLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "This index contains the same value as the + mplsInSegmentLabel in the mplsInSegmentTable." + ::= { mplsInSegmentMapEntry 2 } + +mplsInSegmentMapLabelPtrIndex OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index contains the same value as the + mplsInSegmentLabelPtr. + + If the label for the InSegment cannot be represented + fully within the mplsInSegmentLabel object, + this index MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsInSegmentTopLabel + object SHOULD be set to 0 and ignored. This object MUST + be set to zeroDotZero otherwise." + ::= { mplsInSegmentMapEntry 3 } + +mplsInSegmentMapIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The mplsInSegmentIndex that corresponds + to the mplsInSegmentInterface and + mplsInSegmentLabel, or the mplsInSegmentInterface + and mplsInSegmentLabelPtr, if applicable. + The string containing the single octet 0x00 + MUST not be returned." + ::= { mplsInSegmentMapEntry 4 } + +-- End mplsInSegmentMapTable + + +-- Notification Configuration + +mplsXCNotificationsEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is set to true(1), then it enables + the emission of mplsXCUp and mplsXCDown + notifications; otherwise these notifications are not + + + + emitted." + REFERENCE + "See also RFC3413 for explanation that + notifications are under the ultimate control of the + MIB module in this document." + DEFVAL { false } + ::= { mplsLsrObjects 15 } + +-- Cross-connect. + +mplsXCUp NOTIFICATION-TYPE + OBJECTS { mplsXCOperStatus, -- start of range + mplsXCOperStatus -- end of range + } + STATUS current + DESCRIPTION + "This notification is generated when the + mplsXCOperStatus object for one or more contiguous + entries in mplsXCTable are about to enter the up(1) + state from some other state. The included values of + mplsXCOperStatus MUST both be set equal to this + new state (i.e: up(1)). The two instances of + mplsXCOperStatus in this notification indicate the range + of indexes that are affected. Note that all the indexes + of the two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the up(1) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + mplsXCOperStatus objects MUST be the identical." + ::= { mplsLsrNotifications 1 } + +mplsXCDown NOTIFICATION-TYPE + OBJECTS { + mplsXCOperStatus, -- start of range + mplsXCOperStatus -- end of range + } + STATUS current + DESCRIPTION + "This notification is generated when the + mplsXCOperStatus object for one or more contiguous + entries in mplsXCTable are about to enter the + down(2) state from some other state. The included values + + + + of mplsXCOperStatus MUST both be set equal to this + down(2) state. The two instances of mplsXCOperStatus + in this notification indicate the range of indexes + that are affected. Note that all the indexes of the + two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the down(2) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + mplsXCOperStatus objects MUST be identical." + ::= { mplsLsrNotifications 2 } + +-- End of notifications. + + +-- Module compliance. + +mplsLsrGroups + OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } + +mplsLsrCompliances + OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } + +-- Compliance requirement for fully compliant implementations. + +mplsLsrModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION "Compliance statement for agents that provide full + support for MPLS-LSR-STD-MIB. Such devices can + then be monitored and also be configured using + this MIB module." + + MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + + MODULE -- This module. + MANDATORY-GROUPS { + mplsInterfaceGroup, + mplsInSegmentGroup, + mplsOutSegmentGroup, + + + + mplsXCGroup, + mplsPerfGroup + } + + GROUP mplsLabelStackGroup + DESCRIPTION "This group is only mandatory for LSRs that wish to + support the modification of LSP label stacks. + " + + GROUP mplsHCInSegmentPerfGroup + DESCRIPTION "This group is mandatory for those in-segment entries + for which the object mplsInSegmentOutOctets wraps + around too quickly based on the criteria specified in + RFC 2863 for high-capacity counters. + " + + GROUP mplsHCOutSegmentPerfGroup + DESCRIPTION "This group is mandatory for those out-segment entries + for which the object mplsOutSegmentPerfOctets wraps + around too quickly based on the criteria specified in + RFC 2863 for high-capacity counters. + " + + GROUP mplsLsrNotificationGroup + DESCRIPTION "This group is only mandatory for those implementations + which can efficiently implement the notifications + contained in this group." + + OBJECT mplsInSegmentRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is + not required." + + OBJECT mplsOutSegmentNextHopAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION "Only unknown(0), ipv4(1) and ipv6(2) support + is required." + + OBJECT mplsOutSegmentNextHopAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION "An implementation is only required to support + unknown(0), ipv4(1) and ipv6(2) sizes." + + OBJECT mplsOutSegmentRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + + + + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is not + required." + + OBJECT mplsLabelStackRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is not + required." + + OBJECT mplsXCRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is not + required." + + ::= { mplsLsrCompliances 1 } + +-- Compliance requirement for read-only implementations. + +mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION "Compliance requirement for implementations that only + provide read-only support for MPLS-LSR-STD-MIB. Such + devices can then be monitored but cannot be configured + using this MIB module. + " + + MODULE IF-MIB -- The interfaces Group MIB, RFC 2863 + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + + MODULE -- This module + MANDATORY-GROUPS { + mplsInterfaceGroup, + mplsInSegmentGroup, + mplsOutSegmentGroup, + mplsXCGroup, + mplsPerfGroup + } + + + + GROUP mplsLabelStackGroup + DESCRIPTION "This group is only mandatory for LSRs that wish to + support the modification of LSP label stacks. + " + + GROUP mplsHCInSegmentPerfGroup + DESCRIPTION "This group is mandatory for those in-segment entries + for which the object mplsInSegmentOutOctets wraps + around too quickly based on the criteria specified in + RFC 2863 for high-capacity counters. + " + + GROUP mplsHCOutSegmentPerfGroup + DESCRIPTION "This group is mandatory for those out-segment entries + for which the object mplsOutSegmentPerfOctets wraps + around too quickly based on the criteria specified in + RFC 2863 for high-capacity counters. + " + + GROUP mplsLsrNotificationGroup + DESCRIPTION "This group is only mandatory for those implementations + which can efficiently implement the notifications + contained in this group. + " + + -- mplsInSegmentTable + OBJECT mplsInSegmentLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsInSegmentLabelPtr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsInSegmentNPop + SYNTAX Integer32 (1..1) + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. This object + SHOULD be set to 1 if it is read-only. + " + + OBJECT mplsInSegmentAddrFamily + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. A value of other(0) + should be supported because there may be cases where + the agent may not know about or support any address + types. + " + + + + OBJECT mplsInSegmentRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsInSegmentStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + -- mplsOutSegmentTable + OBJECT mplsOutSegmentInterface + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsOutSegmentPushTopLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsOutSegmentTopLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsOutSegmentTopLabelPtr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsOutSegmentNextHopAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. Only unknown(0), + ipv4(1) and ipv6(2) support is required. + " + + OBJECT mplsOutSegmentNextHopAddr + SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. An implementation is + only required to support unknown(0), ipv4(1) and + ipv6(2) sizes." + + OBJECT mplsOutSegmentRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsOutSegmentStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + + + -- mplsXCTable + OBJECT mplsXCLabelStackIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsXCAdminStatus + MIN-ACCESS read-only + DESCRIPTION "Read only support is required." + + OBJECT mplsXCRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsXCStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsLabelStackLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsLabelStackLabelPtr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsLabelStackRowStatus + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsLabelStackStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { mplsLsrCompliances 2 } + +-- Units of conformance. + +mplsInterfaceGroup OBJECT-GROUP + OBJECTS { + mplsInterfaceLabelMinIn, + mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, + mplsInterfaceLabelMaxOut, + mplsInterfaceTotalBandwidth, + mplsInterfaceAvailableBandwidth, + mplsInterfaceLabelParticipationType + } + + + + STATUS current + DESCRIPTION + "Collection of objects needed for MPLS interface + and interface performance information." + ::= { mplsLsrGroups 1 } + +mplsInSegmentGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentIndexNext, + mplsInSegmentInterface, + mplsInSegmentLabel, + mplsInSegmentLabelPtr, + mplsInSegmentNPop, + mplsInSegmentAddrFamily, + mplsInSegmentXCIndex, + mplsInSegmentOwner, + mplsInSegmentRowStatus, + mplsInSegmentStorageType, + mplsInSegmentTrafficParamPtr, + mplsInSegmentMapIndex + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement an in- + segment." + ::= { mplsLsrGroups 2 } + +mplsOutSegmentGroup OBJECT-GROUP + OBJECTS { + mplsOutSegmentIndexNext, + mplsOutSegmentInterface, + mplsOutSegmentPushTopLabel, + mplsOutSegmentTopLabel, + mplsOutSegmentTopLabelPtr, + mplsOutSegmentNextHopAddrType, + mplsOutSegmentNextHopAddr, + mplsOutSegmentXCIndex, + mplsOutSegmentOwner, + mplsOutSegmentPerfOctets, + mplsOutSegmentPerfDiscards, + mplsOutSegmentPerfErrors, + mplsOutSegmentRowStatus, + mplsOutSegmentStorageType, + mplsOutSegmentTrafficParamPtr + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement an out- + + + + segment." + ::= { mplsLsrGroups 3 } + +mplsXCGroup OBJECT-GROUP + OBJECTS { + mplsXCIndexNext, + mplsXCLspId, + mplsXCLabelStackIndex, + mplsXCOwner, + mplsXCStorageType, + mplsXCAdminStatus, + mplsXCOperStatus, + mplsXCRowStatus, + mplsXCNotificationsEnable + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement a + cross-connect entry." + ::= { mplsLsrGroups 4 } + +mplsPerfGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentPerfOctets, + mplsInSegmentPerfPackets, + mplsInSegmentPerfErrors, + mplsInSegmentPerfDiscards, + mplsInSegmentPerfDiscontinuityTime, + mplsOutSegmentPerfOctets, + mplsOutSegmentPerfPackets, + mplsOutSegmentPerfDiscards, + mplsOutSegmentPerfDiscontinuityTime, + mplsInterfacePerfInLabelsInUse, + mplsInterfacePerfInLabelLookupFailures, + mplsInterfacePerfOutFragmentedPkts, + mplsInterfacePerfOutLabelsInUse + } + + STATUS current + DESCRIPTION + "Collection of objects providing performance + information + about an LSR." + ::= { mplsLsrGroups 5 } + +mplsHCInSegmentPerfGroup OBJECT-GROUP + OBJECTS { mplsInSegmentPerfHCOctets } + STATUS current + + + + DESCRIPTION + "Object(s) providing performance information + specific to out-segments for which the object + mplsInterfaceInOctets wraps around too quickly." + ::= { mplsLsrGroups 6 } + +mplsHCOutSegmentPerfGroup OBJECT-GROUP + OBJECTS { mplsOutSegmentPerfHCOctets } + STATUS current + DESCRIPTION + "Object(s) providing performance information + specific to out-segments for which the object + mplsInterfaceOutOctets wraps around too + quickly." + ::= { mplsLsrGroups 7 } + +mplsLabelStackGroup OBJECT-GROUP + OBJECTS { + mplsLabelStackLabel, + mplsLabelStackLabelPtr, + mplsLabelStackRowStatus, + mplsLabelStackStorageType, + mplsMaxLabelStackDepth, + mplsLabelStackIndexNext + } + STATUS current + DESCRIPTION + "Objects needed to support label stacking." + ::= { mplsLsrGroups 8 } + +mplsLsrNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + mplsXCUp, + mplsXCDown + } + STATUS current + DESCRIPTION + "Set of notifications implemented in this + module." + ::= { mplsLsrGroups 9 } +END \ No newline at end of file diff --git a/mibs/MPLS-TE-STD-MIB.txt b/mibs/MPLS-TE-STD-MIB.txt new file mode 100644 index 00000000..a55a331a --- /dev/null +++ b/mibs/MPLS-TE-STD-MIB.txt @@ -0,0 +1,2631 @@ +MPLS-TE-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Integer32, Unsigned32, Counter32, Counter64, TimeTicks, + zeroDotZero + FROM SNMPv2-SMI -- [RFC2578] + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF -- [RFC2580] + TruthValue, RowStatus, RowPointer, StorageType, + TimeStamp + FROM SNMPv2-TC -- [RFC2579] + InterfaceIndexOrZero, ifGeneralInformationGroup, + + + + ifCounterDiscontinuityGroup + FROM IF-MIB -- [RFC2863] + mplsStdMIB, MplsBitRate, MplsBurstSize, MplsLSPID, + MplsTunnelIndex, MplsTunnelInstanceIndex, + MplsTunnelAffinity, MplsExtendedTunnelId, MplsPathIndex, + MplsPathIndexOrZero, MplsOwner, TeHopAddressType, + TeHopAddress, TeHopAddressAS, TeHopAddressUnnum + FROM MPLS-TC-STD-MIB -- [RFC3811] + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB -- [RFC3411] + IndexIntegerNextFree + FROM DIFFSERV-MIB -- [RFC3289] + InetAddressPrefixLength + FROM INET-ADDRESS-MIB -- [RFC3291] + ; + +mplsTeStdMIB MODULE-IDENTITY + LAST-UPDATED + "200406030000Z" -- June 3, 2004 + ORGANIZATION + "Multiprotocol Label Switching (MPLS) Working Group" + CONTACT-INFO + " Cheenu Srinivasan + Bloomberg L.P. + Email: cheenu@bloomberg.net + + Arun Viswanathan + Force10 Networks, Inc. + Email: arunv@force10networks.com + + Thomas D. Nadeau + Cisco Systems, Inc. + Email: tnadeau@cisco.com + + Comments about this document should be emailed + directly to the MPLS working group mailing list at + mpls@uu.net." + DESCRIPTION + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3812. For full legal notices see the RFC + itself or see: http://www.ietf.org/copyrights/ianamib.html + + This MIB module contains managed object definitions + for MPLS Traffic Engineering (TE) as defined in: + 1. Extensions to RSVP for LSP Tunnels, Awduche et + al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + + + + (Editor), RFC 3212, January 2002 + 3. Requirements for Traffic Engineering Over MPLS, + Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., + and J. McManus, [RFC2702], September 1999" + + -- Revision history. + + REVISION + "200406030000Z" -- June 3, 2004 + DESCRIPTION + "Initial version issued as part of RFC 3812." + + ::= { mplsStdMIB 3 } + +-- Top level components of this MIB module. + +-- traps +mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeStdMIB 0 } +-- tables, scalars +mplsTeScalars OBJECT IDENTIFIER ::= { mplsTeStdMIB 1 } +mplsTeObjects OBJECT IDENTIFIER ::= { mplsTeStdMIB 2 } +-- conformance +mplsTeConformance OBJECT IDENTIFIER ::= { mplsTeStdMIB 3 } + + +-- MPLS Tunnel scalars. + +mplsTunnelConfigured OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of tunnels configured on this device. A + tunnel is considered configured if the + mplsTunnelRowStatus is active(1)." + ::= { mplsTeScalars 1 } + +mplsTunnelActive OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of tunnels active on this device. A + tunnel is considered active if the + mplsTunnelOperStatus is up(1)." + ::= { mplsTeScalars 2 } + +mplsTunnelTEDistProto OBJECT-TYPE + + + + SYNTAX BITS { + other (0), + ospf (1), + isis (2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The traffic engineering distribution protocol(s) + used by this LSR. Note that an LSR may support more + than one distribution protocol simultaneously." + ::= { mplsTeScalars 3 } + +mplsTunnelMaxHops OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of hops that can be specified for + a tunnel on this device." + ::= { mplsTeScalars 4 } + +mplsTunnelNotificationMaxRate OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This variable indicates the maximum number of + notifications issued per second. If events occur + more rapidly, the implementation may simply fail to + emit these notifications during that period, or may + queue them until an appropriate time. A value of 0 + means no throttling is applied and events may be + notified at the rate at which they occur." + DEFVAL { 0 } + ::= { mplsTeScalars 5 } + +-- End of MPLS Tunnel scalars. + + +-- MPLS tunnel table. + +mplsTunnelIndexNext OBJECT-TYPE + SYNTAX IndexIntegerNextFree (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for + + + + mplsTunnelIndex, or a zero to indicate + that none exist. Negative values are not allowed, + as they do not correspond to valid values of + mplsTunnelIndex. + + Note that this object offers an unused value + for an mplsTunnelIndex value at the ingress + side of a tunnel. At other LSRs the value + of mplsTunnelIndex SHOULD be taken from the + value signaled by the MPLS signaling protocol. + " + ::= { mplsTeObjects 1 } + +mplsTunnelTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelTable allows new MPLS tunnels to be + created between an LSR and a remote endpoint, and + existing tunnels to be reconfigured or removed. + Note that only point-to-point tunnel segments are + supported, although multipoint-to-point and point- + to-multipoint connections are supported by an LSR + acting as a cross-connect. Each MPLS tunnel can + thus have one out-segment originating at this LSR + and/or one in-segment terminating at this LSR." + ::= { mplsTeObjects 2 } + +mplsTunnelEntry OBJECT-TYPE + SYNTAX MplsTunnelEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents an MPLS tunnel. + An entry can be created by a network administrator + or by an SNMP agent as instructed by an MPLS + signalling protocol. Whenever a new entry is + created with mplsTunnelIsIf set to true(1), then a + corresponding entry is created in ifTable as well + (see RFC 2863). The ifType of this entry is + mplsTunnel(150). + + A tunnel entry needs to be uniquely identified across + a MPLS network. Indices mplsTunnelIndex and + mplsTunnelInstance uniquely identify a tunnel on + the LSR originating the tunnel. To uniquely + identify a tunnel across an MPLS network requires + + + + index mplsTunnelIngressLSRId. The last index + mplsTunnelEgressLSRId is useful in identifying all + instances of a tunnel that terminate on the same + egress LSR." + REFERENCE + "1. RFC 2863 - The Interfaces Group MIB, McCloghrie, + K., and F. Kastenholtz, June 2000 " + INDEX { mplsTunnelIndex, + mplsTunnelInstance, + mplsTunnelIngressLSRId, + mplsTunnelEgressLSRId + } + ::= { mplsTunnelTable 1 } + +MplsTunnelEntry ::= SEQUENCE { + mplsTunnelIndex MplsTunnelIndex, + mplsTunnelInstance MplsTunnelInstanceIndex, + mplsTunnelIngressLSRId MplsExtendedTunnelId, + mplsTunnelEgressLSRId MplsExtendedTunnelId, + mplsTunnelName SnmpAdminString, + mplsTunnelDescr SnmpAdminString, + mplsTunnelIsIf TruthValue, + mplsTunnelIfIndex InterfaceIndexOrZero, + mplsTunnelOwner MplsOwner, + mplsTunnelRole INTEGER, + mplsTunnelXCPointer RowPointer, + mplsTunnelSignallingProto INTEGER, + mplsTunnelSetupPrio Integer32, + mplsTunnelHoldingPrio Integer32, + mplsTunnelSessionAttributes BITS, + mplsTunnelLocalProtectInUse TruthValue, + mplsTunnelResourcePointer RowPointer, + mplsTunnelPrimaryInstance MplsTunnelInstanceIndex, + mplsTunnelInstancePriority Unsigned32, + mplsTunnelHopTableIndex MplsPathIndexOrZero, + mplsTunnelPathInUse MplsPathIndexOrZero, + mplsTunnelARHopTableIndex MplsPathIndexOrZero, + mplsTunnelCHopTableIndex MplsPathIndexOrZero, + mplsTunnelIncludeAnyAffinity MplsTunnelAffinity, + mplsTunnelIncludeAllAffinity MplsTunnelAffinity, + mplsTunnelExcludeAnyAffinity MplsTunnelAffinity, + mplsTunnelTotalUpTime TimeTicks, + mplsTunnelInstanceUpTime TimeTicks, + mplsTunnelPrimaryUpTime TimeTicks, + mplsTunnelPathChanges Counter32, + mplsTunnelLastPathChange TimeTicks, + mplsTunnelCreationTime TimeStamp, + mplsTunnelStateTransitions Counter32, + + + + mplsTunnelAdminStatus INTEGER, + mplsTunnelOperStatus INTEGER, + mplsTunnelRowStatus RowStatus, + mplsTunnelStorageType StorageType + } + +mplsTunnelIndex OBJECT-TYPE + SYNTAX MplsTunnelIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies a set of tunnel instances + between a pair of ingress and egress LSRs. + Managers should obtain new values for row + creation in this table by reading + mplsTunnelIndexNext. When + the MPLS signalling protocol is rsvp(2) this value + SHOULD be equal to the value signaled in the + Tunnel Id of the Session object. When the MPLS + signalling protocol is crldp(3) this value + SHOULD be equal to the value signaled in the + LSP ID." + ::= { mplsTunnelEntry 1 } + +mplsTunnelInstance OBJECT-TYPE + SYNTAX MplsTunnelInstanceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies a particular instance of a + tunnel between a pair of ingress and egress LSRs. + It is useful to identify multiple instances of + tunnels for the purposes of backup and parallel + tunnels. When the MPLS signaling protocol is + rsvp(2) this value SHOULD be equal to the LSP Id + of the Sender Template object. When the signaling + protocol is crldp(3) there is no equivalent + signaling object." + ::= { mplsTunnelEntry 2 } + +mplsTunnelIngressLSRId OBJECT-TYPE + SYNTAX MplsExtendedTunnelId + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identity of the ingress LSR associated with this + tunnel instance. When the MPLS signalling protocol + is rsvp(2) this value SHOULD be equal to the Tunnel + + + + Sender Address in the Sender Template object and MAY + be equal to the Extended Tunnel Id field in the + SESSION object. When the MPLS signalling protocol is + crldp(3) this value SHOULD be equal to the Ingress + LSR Router ID field in the LSPID TLV object." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002" + ::= { mplsTunnelEntry 3 } + +mplsTunnelEgressLSRId OBJECT-TYPE + SYNTAX MplsExtendedTunnelId + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identity of the egress LSR associated with this + tunnel instance." + ::= { mplsTunnelEntry 4 } + +mplsTunnelName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The canonical name assigned to the tunnel. This name + can be used to refer to the tunnel on the LSR's + console port. If mplsTunnelIsIf is set to true + then the ifName of the interface corresponding to + this tunnel should have a value equal to + mplsTunnelName. Also see the description of ifName + in RFC 2863." + REFERENCE + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000" + DEFVAL {""} + ::= { mplsTunnelEntry 5 } + +mplsTunnelDescr OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual string containing information about the + tunnel. If there is no description this object + contains a zero length string. This object is may + not be signaled by MPLS signaling protocols, + + + + consequentally the value of this object at transit + and egress LSRs MAY be automatically generated or + absent." + DEFVAL {""} + ::= { mplsTunnelEntry 6 } + +mplsTunnelIsIf OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes whether or not this tunnel corresponds to an + interface represented in the interfaces group + table. Note that if this variable is set to true + then the ifName of the interface corresponding to + this tunnel should have a value equal to + mplsTunnelName. Also see the description of ifName + in RFC 2863. This object is meaningful only at the + ingress and egress LSRs." + REFERENCE + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000" + DEFVAL { false } + ::= { mplsTunnelEntry 7 } + +mplsTunnelIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelIsIf is set to true, then this value + contains the LSR-assigned ifIndex which corresponds + to an entry in the interfaces table. Otherwise + this variable should contain the value of zero + indicating that a valid ifIndex was not assigned to + this tunnel interface." + REFERENCE + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000" + DEFVAL { 0 } + ::= { mplsTunnelEntry 8 } + +mplsTunnelOwner OBJECT-TYPE + SYNTAX MplsOwner + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + + + + for managing this tunnel. This column is + automatically filled by the agent on creation of a + row." + ::= { mplsTunnelEntry 9 } + +mplsTunnelRole OBJECT-TYPE + SYNTAX INTEGER { head(1), + transit(2), + tail(3), + headTail(4) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value signifies the role that this tunnel + entry/instance represents. This value MUST be set + to head(1) at the originating point of the tunnel. + This value MUST be set to transit(2) at transit + points along the tunnel, if transit points are + supported. This value MUST be set to tail(3) at the + terminating point of the tunnel if tunnel tails are + supported. + + The value headTail(4) is provided for tunnels that + begin and end on the same LSR." + DEFVAL { head } + ::= { mplsTunnelEntry 10 } + +mplsTunnelXCPointer OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable points to a row in the mplsXCTable. + This table identifies the segments that compose + this tunnel, their characteristics, and + relationships to each other. A value of zeroDotZero + indicates that no LSP has been associated with this + tunnel yet." + REFERENCE + "Srinivasan, C., Viswanathan, A., and T. Nadeau, + Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813, + June 2004" + DEFVAL { zeroDotZero } + ::= { mplsTunnelEntry 11 } + +mplsTunnelSignallingProto OBJECT-TYPE + SYNTAX INTEGER { + + + + none(1), + rsvp(2), + crldp(3), + other(4) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The signalling protocol, if any, used to setup this + tunnel." + DEFVAL { none } + ::= { mplsTunnelEntry 12 } + +mplsTunnelSetupPrio OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates the setup priority of this tunnel." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002" + DEFVAL { 0 } + ::= { mplsTunnelEntry 13 } + +mplsTunnelHoldingPrio OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates the holding priority for this tunnel." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002" + DEFVAL { 0 } + ::= { mplsTunnelEntry 14 } + +mplsTunnelSessionAttributes OBJECT-TYPE + SYNTAX BITS { + fastReroute (0), + mergingPermitted (1), + isPersistent (2), + isPinned (3), + + + + recordRoute(4) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This bit mask indicates optional session values for + this tunnel. The following describes these bit + fields: + + fastRerouteThis flag indicates that the any tunnel + hop may choose to reroute this tunnel without + tearing it down. This flag permits transit routers + to use a local repair mechanism which may result in + violation of the explicit routing of this tunnel. + When a fault is detected on an adjacent downstream + link or node, a transit router can re-route traffic + for fast service restoration. + + mergingPermitted This flag permits transit routers + to merge this session with other RSVP sessions for + the purpose of reducing resource overhead on + downstream transit routers, thereby providing + better network scaling. + + isPersistent Indicates whether this tunnel should + be restored automatically after a failure occurs. + + isPinned This flag indicates whether the loose- + routed hops of this tunnel are to be pinned. + + recordRouteThis flag indicates whether or not the + signalling protocol should remember the tunnel path + after it has been signaled." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001." + ::= { mplsTunnelEntry 15 } + +mplsTunnelLocalProtectInUse OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates that the local repair mechanism is in use + to maintain this tunnel (usually in the face of an + outage of the link it was previously routed over)." + DEFVAL { false } + ::= { mplsTunnelEntry 16 } + + + +mplsTunnelResourcePointer OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable represents a pointer to the traffic + parameter specification for this tunnel. This + value may point at an entry in the + mplsTunnelResourceEntry to indicate which + mplsTunnelResourceEntry is to be assigned to this + LSP instance. This value may optionally point at + an externally defined traffic parameter + specification table. A value of zeroDotZero + indicates best-effort treatment. By having the + same value of this object, two or more LSPs can + indicate resource sharing." + DEFVAL { zeroDotZero } + ::= { mplsTunnelEntry 17 } + +mplsTunnelPrimaryInstance OBJECT-TYPE + SYNTAX MplsTunnelInstanceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the instance index of the primary instance + of this tunnel. More details of the definition of + tunnel instances and the primary tunnel instance + can be found in the description of the TEXTUAL-CONVENTION + MplsTunnelInstanceIndex." + DEFVAL { 0 } + ::= { mplsTunnelEntry 18 } + +mplsTunnelInstancePriority OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value indicates which priority, in descending + order, with 0 indicating the lowest priority, + within a group of tunnel instances. A group of + tunnel instances is defined as a set of LSPs with + the same mplsTunnelIndex in this table, but with a + different mplsTunnelInstance. Tunnel instance + priorities are used to denote the priority at which + a particular tunnel instance will supercede + another. Instances of tunnels containing the same + mplsTunnelInstancePriority will be used for load + sharing." + + + + DEFVAL { 0 } + ::= { mplsTunnelEntry 19 } + +mplsTunnelHopTableIndex OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Index into the mplsTunnelHopTable entry that + specifies the explicit route hops for this tunnel. + This object is meaningful only at the head-end of + the tunnel." + DEFVAL { 0 } + ::= { mplsTunnelEntry 20 } + +mplsTunnelPathInUse OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value denotes the configured path that was + chosen for this tunnel. This value reflects the + secondary index into mplsTunnelHopTable. This path + may not exactly match the one in + mplsTunnelARHopTable due to the fact that some CSPF + modification may have taken place. See + mplsTunnelARHopTable for the actual path being + taken by the tunnel. A value of zero denotes that + no path is currently in use or available." + DEFVAL { 0 } + ::= { mplsTunnelEntry 21 } + +mplsTunnelARHopTableIndex OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Index into the mplsTunnelARHopTable entry that + specifies the actual hops traversed by the tunnel. + This is automatically updated by the agent when the + actual hops becomes available." + DEFVAL { 0 } + ::= { mplsTunnelEntry 22 } + +mplsTunnelCHopTableIndex OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "Index into the mplsTunnelCHopTable entry that + specifies the computed hops traversed by the + tunnel. This is automatically updated by the agent + when computed hops become available or when + computed hops get modified." + DEFVAL { 0 } + ::= { mplsTunnelEntry 23 } + +mplsTunnelIncludeAnyAffinity OBJECT-TYPE + SYNTAX MplsTunnelAffinity + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A link satisfies the include-any constraint if and + only if the constraint is zero, or the link and the + constraint have a resource class in common." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001." + ::= { mplsTunnelEntry 24 } + +mplsTunnelIncludeAllAffinity OBJECT-TYPE + SYNTAX MplsTunnelAffinity + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A link satisfies the include-all constraint if and + only if the link contains all of the administrative + groups specified in the constraint." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001." + ::= { mplsTunnelEntry 25 } + +mplsTunnelExcludeAnyAffinity OBJECT-TYPE + SYNTAX MplsTunnelAffinity + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A link satisfies the exclude-any constraint if and + only if the link contains none of the + administrative groups specified in the constraint." + REFERENCE + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001." + DEFVAL { 0 } + ::= { mplsTunnelEntry 26 } + + + +mplsTunnelTotalUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the aggregate up time for all + instances of this tunnel, if available. If this + value is unavailable, it MUST return a value of 0." + ::= { mplsTunnelEntry 27 } + +mplsTunnelInstanceUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value identifies the total time that this + tunnel instance's operStatus has been Up(1)." + ::= { mplsTunnelEntry 28 } + +mplsTunnelPrimaryUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the total time the primary instance of + this tunnel has been active. The primary instance + of this tunnel is defined in + mplsTunnelPrimaryInstance." + ::= { mplsTunnelEntry 29 } + +mplsTunnelPathChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the number of times the actual path for + this tunnel instance has changed." + ::= { mplsTunnelEntry 30 } + +mplsTunnelLastPathChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the time since the last change to the + actual path for this tunnel instance." + ::= { mplsTunnelEntry 31 } + + + + +mplsTunnelCreationTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the value of SysUpTime when the first + instance of this tunnel came into existence. + That is, when the value of mplsTunnelOperStatus + was first set to up(1)." + ::= { mplsTunnelEntry 32 } + +mplsTunnelStateTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the number of times the state + (mplsTunnelOperStatus) of this tunnel instance has + changed." + ::= { mplsTunnelEntry 33 } + +mplsTunnelAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + -- ready to pass packets + up(1), + down(2), + -- in some test mode + testing(3) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates the desired operational status of this + tunnel." + ::= { mplsTunnelEntry 34 } + +mplsTunnelOperStatus OBJECT-TYPE + SYNTAX INTEGER { + -- ready to pass packets + up(1), + down(2), + -- in some test mode + testing(3), + -- status cannot be determined + unknown(4), + dormant(5), + -- some component is missing + notPresent(6), + + + + -- down due to the state of + -- lower layer interfaces + lowerLayerDown(7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the actual operational status of this + tunnel, which is typically but not limited to, a + function of the state of individual segments of + this tunnel." + ::= { mplsTunnelEntry 35 } + +mplsTunnelRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelAdminStatus, mplsTunnelRowStatus and + mplsTunnelStorageType." + ::= { mplsTunnelEntry 36 } + +mplsTunnelStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION "The storage type for this tunnel entry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row." + DEFVAL { volatile } + ::= { mplsTunnelEntry 37 } + +-- End of mplsTunnelTable + +mplsTunnelHopListIndexNext OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to be used + for mplsTunnelHopListIndex when creating entries in + the mplsTunnelHopTable. If the number of + unassigned entries is exhausted, a retrieval + + + + operation will return a value of 0. This object + may also return a value of 0 when the LSR is unable + to accept conceptual row creation, for example, if + the mplsTunnelHopTable is implemented as read-only. + To obtain the value of mplsTunnelHopListIndex for a + new entry in the mplsTunnelHopTable, the manager + issues a management protocol retrieval operation to + obtain the current value of mplsTunnelHopIndex. + + When the SET is performed to create a row in the + mplsTunnelHopTable, the Command Responder (agent) + must determine whether the value is indeed still + unused; Two Network Management Applications may + attempt to create a row (configuration entry) + simultaneously and use the same value. If it is + currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, + according to an implementation-specific algorithm. + If the value is in use, however, the SET fails. The + Network Management Application must then re-read + this variable to obtain a new usable value." + ::= { mplsTeObjects 3 } + +mplsTunnelHopTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelHopTable is used to indicate the hops, + strict or loose, for an instance of an MPLS tunnel + defined in mplsTunnelTable, when it is established + via signalling, for the outgoing direction of the + tunnel. Thus at a transit LSR, this table contains + the desired path of the tunnel from this LSR + onwards. Each row in this table is indexed by + mplsTunnelHopListIndex which corresponds to a group + of hop lists or path options. Each row also has a + secondary index mplsTunnelHopIndex, which indicates + a group of hops (also known as a path option). + Finally, the third index, mplsTunnelHopIndex + indicates the specific hop information for a path + option. In case we want to specify a particular + interface on the originating LSR of an outgoing + tunnel by which we want packets to exit the LSR, + we specify this as the first hop for this tunnel in + mplsTunnelHopTable." + ::= { mplsTeObjects 4 } + + + + +mplsTunnelHopEntry OBJECT-TYPE + SYNTAX MplsTunnelHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a tunnel hop. An + entry is created by a network administrator for + signaled ERLSP set up by an MPLS signalling + protocol." + INDEX { + mplsTunnelHopListIndex, + mplsTunnelHopPathOptionIndex, + mplsTunnelHopIndex + } + ::= { mplsTunnelHopTable 1 } + +MplsTunnelHopEntry ::= SEQUENCE { + mplsTunnelHopListIndex MplsPathIndex, + mplsTunnelHopPathOptionIndex MplsPathIndex, + mplsTunnelHopIndex MplsPathIndex, + mplsTunnelHopAddrType TeHopAddressType, + mplsTunnelHopIpAddr TeHopAddress, + mplsTunnelHopIpPrefixLen InetAddressPrefixLength, + mplsTunnelHopAsNumber TeHopAddressAS, + mplsTunnelHopAddrUnnum TeHopAddressUnnum, + mplsTunnelHopLspId MplsLSPID, + mplsTunnelHopType INTEGER, + mplsTunnelHopInclude TruthValue, + mplsTunnelHopPathOptionName SnmpAdminString, + mplsTunnelHopEntryPathComp INTEGER, + mplsTunnelHopRowStatus RowStatus, + mplsTunnelHopStorageType StorageType + } + +mplsTunnelHopListIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index into this table identifying a + particular explicit route object." + ::= { mplsTunnelHopEntry 1 } + +mplsTunnelHopPathOptionIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + + + "Secondary index into this table identifying a + particular group of hops representing a particular + configured path. This is otherwise known as a path + option." + ::= { mplsTunnelHopEntry 2 } + +mplsTunnelHopIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Tertiary index into this table identifying a + particular hop." + ::= { mplsTunnelHopEntry 3 } + +mplsTunnelHopAddrType OBJECT-TYPE + SYNTAX TeHopAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION "The Hop Address Type of this tunnel hop. + + The value of this object cannot be changed + if the value of the corresponding + mplsTunnelHopRowStatus object is 'active'. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP. + " + DEFVAL { ipv4 } + ::= { mplsTunnelHopEntry 4 } + +mplsTunnelHopIpAddr OBJECT-TYPE + SYNTAX TeHopAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION "The Tunnel Hop Address for this tunnel hop. + + The type of this address is determined by the + value of the corresponding mplsTunnelHopAddrType. + + The value of this object cannot be changed + if the value of the corresponding + mplsTunnelHopRowStatus object is 'active'. + " + DEFVAL { '00000000'h } -- IPv4 address 0.0.0.0 + ::= { mplsTunnelHopEntry 5 } + + mplsTunnelHopIpPrefixLen OBJECT-TYPE + + + + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-create + STATUS current + DESCRIPTION "If mplsTunnelHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelHopIpAddr. Otherwise this value + is irrelevant and should be ignored. + " + DEFVAL { 32 } + ::= { mplsTunnelHopEntry 6 } + +mplsTunnelHopAsNumber OBJECT-TYPE + SYNTAX TeHopAddressAS + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsTunnelHopAddrType is set to asnumber(3), then + this value will contain the AS number of this hop. + Otherwise the agent should set this object to zero- + length string and the manager should ignore this." + ::= { mplsTunnelHopEntry 7 } + +mplsTunnelHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsTunnelHopAddrType is set to unnum(4), then + this value will contain the interface identifier of + the unnumbered interface for this hop. This object + should be used in conjunction with + mplsTunnelHopIpAddress which would contain the LSR + Router ID in this case. Otherwise the agent should + set this object to zero-length string and the + manager should ignore this." + ::= { mplsTunnelHopEntry 8 } + +mplsTunnelHopLspId OBJECT-TYPE + SYNTAX MplsLSPID + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsTunnelHopAddrType is set to lspid(5), then + this value will contain the LSPID of a tunnel of + this hop. The present tunnel being configured is + tunneled through this hop (using label stacking). + This object is otherwise insignificant and should + + + + contain a value of 0 to indicate this fact." + ::= { mplsTunnelHopEntry 9 } + +mplsTunnelHopType OBJECT-TYPE + SYNTAX INTEGER { + strict(1), + loose(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes whether this tunnel hop is routed in a + strict or loose fashion. The value of this object + has no meaning if the mplsTunnelHopInclude object + is set to 'false'." + ::= { mplsTunnelHopEntry 10 } + +mplsTunnelHopInclude OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If this value is set to true, then this indicates + that this hop must be included in the tunnel's + path. If this value is set to 'false', then this hop + must be avoided when calculating the path for this + tunnel. The default value of this object is 'true', + so that by default all indicated hops are included + in the CSPF path computation. If this object is set + to 'false' the value of mplsTunnelHopType should be + ignored." + DEFVAL { true } + ::= { mplsTunnelHopEntry 11 } + +mplsTunnelHopPathOptionName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The description of this series of hops as they + relate to the specified path option. The + value of this object SHOULD be the same for + each hop in the series that comprises a + path option." + ::= { mplsTunnelHopEntry 12 } + +mplsTunnelHopEntryPathComp OBJECT-TYPE + SYNTAX INTEGER { + + + + dynamic(1), -- CSPF computed + explicit(2) -- strict hop + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If this value is set to dynamic, then the user + should only specify the source and destination of + the path and expect that the CSPF will calculate + the remainder of the path. If this value is set to + explicit, the user should specify the entire path + for the tunnel to take. This path may contain + strict or loose hops. Each hop along a specific + path SHOULD have this object set to the same value" + ::= { mplsTunnelHopEntry 13 } + +mplsTunnelHopRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelHopRowStatus and + mplsTunnelHopStorageType." + ::= { mplsTunnelHopEntry 14 } + +mplsTunnelHopStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this Hop entry. Conceptual + rows having the value 'permanent' need not + allow write-access to any columnar objects + in the row." + DEFVAL { volatile } + ::= { mplsTunnelHopEntry 15 } + +-- End of mplsTunnelHopTable + +-- Begin of mplsTunnelResourceTable + +mplsTunnelResourceIndexNext OBJECT-TYPE + SYNTAX Unsigned32 (0.. 2147483647) + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "This object contains the next appropriate value to + be used for mplsTunnelResourceIndex when creating + entries in the mplsTunnelResourceTable. If the + number of unassigned entries is exhausted, a + retrieval operation will return a value of 0. This + object may also return a value of 0 when the LSR is + unable to accept conceptual row creation, for + example, if the mplsTunnelTable is implemented as + read-only. To obtain the mplsTunnelResourceIndex + value for a new entry, the manager must first issue + a management protocol retrieval operation to obtain + the current value of this object. + + When the SET is performed to create a row in the + mplsTunnelResourceTable, the Command Responder + (agent) must determine whether the value is indeed + still unused; Two Network Management Applications + may attempt to create a row (configuration entry) + simultaneously and use the same value. If it is + currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, + according to an implementation-specific algorithm. + If the value is in use, however, the SET fails. The + Network Management Application must then re-read + this variable to obtain a new usable value." + ::= { mplsTeObjects 5 } + +mplsTunnelResourceTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelResourceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelResourceTable allows a manager to + specify which resources are desired for an MPLS + tunnel. This table also allows several tunnels to + point to a single entry in this table, implying + that these tunnels should share resources." + ::= { mplsTeObjects 6 } + +mplsTunnelResourceEntry OBJECT-TYPE + SYNTAX MplsTunnelResourceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a set of resources + for an MPLS tunnel. An entry can be created by a + + + + network administrator or by an SNMP agent as + instructed by any MPLS signalling protocol. + An entry in this table referenced by a tunnel instance + with zero mplsTunnelInstance value indicates a + configured set of resource parameter. An entry + referenced by a tunnel instance with a non-zero + mplsTunnelInstance reflects the in-use resource + parameters for the tunnel instance which may have + been negotiated or modified by the MPLS signaling + protocols." + INDEX { mplsTunnelResourceIndex } + ::= { mplsTunnelResourceTable 1 } + +MplsTunnelResourceEntry ::= SEQUENCE { + mplsTunnelResourceIndex Unsigned32, + mplsTunnelResourceMaxRate MplsBitRate, + mplsTunnelResourceMeanRate MplsBitRate, + mplsTunnelResourceMaxBurstSize MplsBurstSize, + mplsTunnelResourceMeanBurstSize MplsBurstSize, + mplsTunnelResourceExBurstSize MplsBurstSize, + mplsTunnelResourceFrequency INTEGER, + mplsTunnelResourceWeight Unsigned32, + mplsTunnelResourceRowStatus RowStatus, + mplsTunnelResourceStorageType StorageType + } + +mplsTunnelResourceIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies this row." + ::= { mplsTunnelResourceEntry 1 } + +mplsTunnelResourceMaxRate OBJECT-TYPE + SYNTAX MplsBitRate + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate in bits/second. Note that setting + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, and + mplsTunnelResourceMaxBurstSize to 0 indicates best- + effort treatment." + ::= { mplsTunnelResourceEntry 2 } + +mplsTunnelResourceMeanRate OBJECT-TYPE + + + + SYNTAX MplsBitRate + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is copied into an instance of + mplsTrafficParamMeanRate in the + mplsTrafficParamTable. The OID of this table entry + is then copied into the corresponding + mplsInSegmentTrafficParamPtr." + ::= { mplsTunnelResourceEntry 3 } + +mplsTunnelResourceMaxBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum burst size in bytes." + ::= { mplsTunnelResourceEntry 4 } + +mplsTunnelResourceMeanBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The mean burst size in bytes. The implementations + which do not implement this variable must return + a noSuchObject exception for this object and must + not allow a user to set this object." + ::= { mplsTunnelResourceEntry 5 } + +mplsTunnelResourceExBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Excess burst size in bytes. The implementations + which do not implement this variable must return + noSuchObject exception for this object and must + not allow a user to set this value." + REFERENCE + "CR-LDP Specification, Section 4.3." + ::= { mplsTunnelResourceEntry 6 } + +mplsTunnelResourceFrequency OBJECT-TYPE + + + + SYNTAX INTEGER { unspecified(1), + frequent(2), + veryFrequent(3) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The granularity of the availability of committed + rate. The implementations which do not implement + this variable must return unspecified(1) for this + value and must not allow a user to set this value." + REFERENCE + "CR-LDP Specification, Section 4.3." + ::= { mplsTunnelResourceEntry 7 } + +mplsTunnelResourceWeight OBJECT-TYPE + SYNTAX Unsigned32(0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The relative weight for using excess bandwidth above + its committed rate. The value of 0 means that + weight is not applicable for the CR-LSP." + REFERENCE + "CR-LDP Specification, Section 4.3." + ::= { mplsTunnelResourceEntry 8 } + +mplsTunnelResourceRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelResourceRowStatus and + mplsTunnelResourceStorageType." + ::= { mplsTunnelResourceEntry 9 } + +mplsTunnelResourceStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this Hop entry. Conceptual + rows having the value 'permanent' need not + allow write-access to any columnar objects + + + + in the row." + DEFVAL { volatile } + + ::= { mplsTunnelResourceEntry 10 } + + +-- End mplsTunnelResourceTable +-- Tunnel Actual Route Hop table. + +mplsTunnelARHopTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelARHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelARHopTable is used to indicate the + hops for an MPLS tunnel defined in mplsTunnelTable, + as reported by the MPLS signalling protocol. Thus at + a transit LSR, this table (if the table is supported + and if the signaling protocol is recording actual + route information) contains the actual route of the + whole tunnel. If the signaling protocol is not + recording the actual route, this table MAY report + the information from the mplsTunnelHopTable or the + mplsTunnelCHopTable. + + Each row in this table is indexed by + mplsTunnelARHopListIndex. Each row also has a + secondary index mplsTunnelARHopIndex, corresponding + to the next hop that this row corresponds to. + + Please note that since the information necessary to + build entries within this table is not provided by + some MPLS signalling protocols, implementation of + this table is optional. Furthermore, since the + information in this table is actually provided by + the MPLS signalling protocol after the path has + been set-up, the entries in this table are provided + only for observation, and hence, all variables in + this table are accessible exclusively as read- + only. + + Note also that the contents of this table may change + while it is being read because of re-routing + activities. A network administrator may verify that + the actual route read is consistent by reference to + the mplsTunnelLastPathChange object." + ::= { mplsTeObjects 7 } + + + + +mplsTunnelARHopEntry OBJECT-TYPE + SYNTAX MplsTunnelARHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a tunnel hop. An + entry is created by the agent for signaled ERLSP + set up by an MPLS signalling protocol." + INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex } + ::= { mplsTunnelARHopTable 1 } + +MplsTunnelARHopEntry ::= SEQUENCE { + mplsTunnelARHopListIndex MplsPathIndex, + mplsTunnelARHopIndex MplsPathIndex, + mplsTunnelARHopAddrType TeHopAddressType, + mplsTunnelARHopIpAddr TeHopAddress, + mplsTunnelARHopAddrUnnum TeHopAddressUnnum, + mplsTunnelARHopLspId MplsLSPID + } + +mplsTunnelARHopListIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index into this table identifying a + particular recorded hop list." + ::= { mplsTunnelARHopEntry 1 } + +mplsTunnelARHopIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Secondary index into this table identifying the + particular hop." + ::= { mplsTunnelARHopEntry 2 } + +mplsTunnelARHopAddrType OBJECT-TYPE + SYNTAX TeHopAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Hop Address Type of this tunnel hop. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP." + DEFVAL { ipv4 } + + + + ::= { mplsTunnelARHopEntry 3 } + +mplsTunnelARHopIpAddr OBJECT-TYPE + SYNTAX TeHopAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Tunnel Hop Address for this tunnel hop. + + The type of this address is determined by the + value of the corresponding mplsTunnelARHopAddrType. + If mplsTunnelARHopAddrType is set to unnum(4), + then this value contains the LSR Router ID of the + unnumbered interface. Otherwise the agent SHOULD + set this object to the zero-length string and the + manager should ignore this object." + DEFVAL { '00000000'h } -- IPv4 address 0.0.0.0 + ::= { mplsTunnelARHopEntry 4 } + +mplsTunnelARHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelARHopAddrType is set to unnum(4), then + this value will contain the interface identifier of + the unnumbered interface for this hop. This object + should be used in conjunction with + mplsTunnelARHopIpAddr which would contain the LSR + Router ID in this case. Otherwise the agent should + set this object to zero-length string and the + manager should ignore this." + ::= { mplsTunnelARHopEntry 5 } + +mplsTunnelARHopLspId OBJECT-TYPE + SYNTAX MplsLSPID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelARHopAddrType is set to lspid(5), then + this value will contain the LSP ID of this hop. + This object is otherwise insignificant and should + contain a value of 0 to indicate this fact." + ::= { mplsTunnelARHopEntry 6 } + +-- End of mplsTunnelARHopTable + + + + + +-- Tunnel Computed Hop table. + +mplsTunnelCHopTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelCHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelCHopTable is used to indicate the + hops, strict or loose, for an MPLS tunnel defined + in mplsTunnelTable, as computed by a constraint- + based routing protocol, based on the + mplsTunnelHopTable for the outgoing direction of + the tunnel. Thus at a transit LSR, this table (if + the table is supported) MAY contain the path + computed by the CSPF engine on (or on behalf of) + this LSR. Each row in this table is indexed by + mplsTunnelCHopListIndex. Each row also has a + secondary index mplsTunnelCHopIndex, corresponding + to the next hop that this row corresponds to. In + case we want to specify a particular interface on + the originating LSR of an outgoing tunnel by which + we want packets to exit the LSR, we specify this as + the first hop for this tunnel in + mplsTunnelCHopTable. + + Please note that since the information necessary to + build entries within this table may not be + supported by some LSRs, implementation of this + table is optional. Furthermore, since the + information in this table describes the path + computed by the CSPF engine the entries in this + table are read-only." + ::= { mplsTeObjects 8 } + +mplsTunnelCHopEntry OBJECT-TYPE + SYNTAX MplsTunnelCHopEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a tunnel hop. An + entry in this table is created by a path + computation engine using CSPF techniques applied to + the information collected by routing protocols and + the hops specified in the corresponding + mplsTunnelHopTable." + INDEX { mplsTunnelCHopListIndex, mplsTunnelCHopIndex } + ::= { mplsTunnelCHopTable 1 } + + + + +MplsTunnelCHopEntry ::= SEQUENCE { + mplsTunnelCHopListIndex MplsPathIndex, + mplsTunnelCHopIndex MplsPathIndex, + mplsTunnelCHopAddrType TeHopAddressType, + mplsTunnelCHopIpAddr TeHopAddress, + mplsTunnelCHopIpPrefixLen InetAddressPrefixLength, + mplsTunnelCHopAsNumber TeHopAddressAS, + mplsTunnelCHopAddrUnnum TeHopAddressUnnum, + mplsTunnelCHopLspId MplsLSPID, + mplsTunnelCHopType INTEGER + } + +mplsTunnelCHopListIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index into this table identifying a + particular computed hop list." + ::= { mplsTunnelCHopEntry 1 } + +mplsTunnelCHopIndex OBJECT-TYPE + SYNTAX MplsPathIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Secondary index into this table identifying the + particular hop." + ::= { mplsTunnelCHopEntry 2 } + +mplsTunnelCHopAddrType OBJECT-TYPE + SYNTAX TeHopAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Hop Address Type of this tunnel hop. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP." + DEFVAL { ipv4 } + ::= { mplsTunnelCHopEntry 3 } + +mplsTunnelCHopIpAddr OBJECT-TYPE + SYNTAX TeHopAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Tunnel Hop Address for this tunnel hop. + + + + + The type of this address is determined by the + value of the corresponding mplsTunnelCHopAddrType. + + If mplsTunnelCHopAddrType is set to unnum(4), then + this value will contain the LSR Router ID of the + unnumbered interface. Otherwise the agent should + set this object to the zero-length string and the + manager SHOULD ignore this object." + DEFVAL { '00000000'h } -- IPv4 address 0.0.0.0 + ::= { mplsTunnelCHopEntry 4 } + +mplsTunnelCHopIpPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelCHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelCHopIpAddr. Otherwise this value + is irrelevant and should be ignored. + " + DEFVAL { 32 } + ::= { mplsTunnelCHopEntry 5 } + +mplsTunnelCHopAsNumber OBJECT-TYPE + SYNTAX TeHopAddressAS + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelCHopAddrType is set to asnumber(3), + then this value will contain the AS number of this + hop. Otherwise the agent should set this object to + zero-length string and the manager should ignore + this." + ::= { mplsTunnelCHopEntry 6 } + +mplsTunnelCHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelCHopAddrType is set to unnum(4), then + this value will contain the unnumbered interface + identifier of this hop. This object should be used + in conjunction with mplsTunnelCHopIpAddr which + would contain the LSR Router ID in this case. + + + + Otherwise the agent should set this object to zero- + length string and the manager should ignore this." + ::= { mplsTunnelCHopEntry 7 } + +mplsTunnelCHopLspId OBJECT-TYPE + SYNTAX MplsLSPID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelCHopAddrType is set to lspid(5), then + this value will contain the LSP ID of this hop. + This object is otherwise insignificant and should + contain a value of 0 to indicate this fact." + ::= { mplsTunnelCHopEntry 8 } + +mplsTunnelCHopType OBJECT-TYPE + SYNTAX INTEGER { strict(1), + loose(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes whether this is tunnel hop is routed in a + strict or loose fashion." + ::= { mplsTunnelCHopEntry 9 } + +-- End of mplsTunnelCHopTable + + +-- MPLS Tunnel Performance Table. + +mplsTunnelPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides per-tunnel instance MPLS + performance information." + ::= { mplsTeObjects 9 } + +mplsTunnelPerfEntry OBJECT-TYPE + SYNTAX MplsTunnelPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the LSR for + every tunnel. Its is an extension to + mplsTunnelEntry." + + + + AUGMENTS { mplsTunnelEntry } + ::= { mplsTunnelPerfTable 1 } + +MplsTunnelPerfEntry ::= SEQUENCE { + mplsTunnelPerfPackets Counter32, + mplsTunnelPerfHCPackets Counter64, + mplsTunnelPerfErrors Counter32, + mplsTunnelPerfBytes Counter32, + mplsTunnelPerfHCBytes Counter64 + } + +mplsTunnelPerfPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of packets forwarded by the tunnel. + This object should represents the 32-bit + value of the least significant part of the + 64-bit value if both mplsTunnelPerfHCPackets + is returned." + ::= { mplsTunnelPerfEntry 1 } + +mplsTunnelPerfHCPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High capacity counter for number of packets + forwarded by the tunnel. " + ::= { mplsTunnelPerfEntry 2 } + +mplsTunnelPerfErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of packets dropped because of errors or for + other reasons." + ::= { mplsTunnelPerfEntry 3 } + +mplsTunnelPerfBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of bytes forwarded by the tunnel. + This object should represents the 32-bit + + + + value of the least significant part of the + 64-bit value if both mplsTunnelPerfHCBytes + is returned." + ::= { mplsTunnelPerfEntry 4 } + +mplsTunnelPerfHCBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High capacity counter for number of bytes forwarded + by the tunnel." + ::= { mplsTunnelPerfEntry 5 } + +-- End of mplsTunnelPerfTable + + +-- CR-LDP Tunnel Resource Table + +mplsTunnelCRLDPResTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelCRLDPResEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelCRLDPResTable allows a manager to + specify which CR-LDP-specific resources are desired + for an MPLS tunnel if that tunnel is signaled using + CR-LDP. Note that these attributes are in addition + to those specified in mplsTunnelResourceTable. This + table also allows several tunnels to point to a + single entry in this table, implying that these + tunnels should share resources." + ::= { mplsTeObjects 10 } + +mplsTunnelCRLDPResEntry OBJECT-TYPE + SYNTAX MplsTunnelCRLDPResEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a set of resources + for an MPLS tunnel established using CRLDP + (mplsTunnelSignallingProto equal to crldp (3)). An + entry can be created by a network administrator or + by an SNMP agent as instructed by any MPLS + signalling protocol." + INDEX { mplsTunnelResourceIndex } + ::= { mplsTunnelCRLDPResTable 1 } + + + + +MplsTunnelCRLDPResEntry ::= SEQUENCE { + mplsTunnelCRLDPResMeanBurstSize MplsBurstSize, + mplsTunnelCRLDPResExBurstSize MplsBurstSize, + mplsTunnelCRLDPResFrequency INTEGER, + mplsTunnelCRLDPResWeight Unsigned32, + mplsTunnelCRLDPResFlags Unsigned32, + mplsTunnelCRLDPResRowStatus RowStatus, + mplsTunnelCRLDPResStorageType StorageType + } + +mplsTunnelCRLDPResMeanBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The mean burst size in bytes." + ::= { mplsTunnelCRLDPResEntry 1 } + +mplsTunnelCRLDPResExBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Excess burst size in bytes." + REFERENCE + "CR-LDP Specification, Section 4.3." + ::= { mplsTunnelCRLDPResEntry 2 } + +mplsTunnelCRLDPResFrequency OBJECT-TYPE + SYNTAX INTEGER { + unspecified(1), + frequent(2), + veryFrequent(3) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The granularity of the availability of committed + rate." + REFERENCE + "CR-LDP Specification, Section 4.3." + ::= { mplsTunnelCRLDPResEntry 3 } + +mplsTunnelCRLDPResWeight OBJECT-TYPE + SYNTAX Unsigned32(0..255) + MAX-ACCESS read-create + + + + STATUS current + DESCRIPTION + "The relative weight for using excess bandwidth above + its committed rate. The value of 0 means that + weight is not applicable for the CR-LSP." + REFERENCE + "CR-LDP Specification, Section 4.3." + DEFVAL { 0 } + ::= { mplsTunnelCRLDPResEntry 4 } + +mplsTunnelCRLDPResFlags OBJECT-TYPE + SYNTAX Unsigned32 (0..63) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value of the 1 byte Flags conveyed as part of + the traffic parameters during the establishment of + the CRLSP. The bits in this object are to be + interpreted as follows. + + +--+--+--+--+--+--+--+--+ + | Res |F6|F5|F4|F3|F2|F1| + +--+--+--+--+--+--+--+--+ + + Res - These bits are reserved. Zero on transmission. + Ignored on receipt. + F1 - Corresponds to the PDR. + F2 - Corresponds to the PBS. + F3 - Corresponds to the CDR. + F4 - Corresponds to the CBS. + F5 - Corresponds to the EBS. + F6 - Corresponds to the Weight. + + Each flag if is a Negotiable Flag corresponding to a + Traffic Parameter. The Negotiable Flag value zero + denotes Not Negotiable and value one denotes + Negotiable." + REFERENCE + "1. Section 4.3, Constraint-Based LSP Setup using + LDP, Jamoussi (Editor), RFC 3212, January 2002" + DEFVAL { 0 } + ::= { mplsTunnelCRLDPResEntry 5 } + +mplsTunnelCRLDPResRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelCRLDPResRowStatus and + mplsTunnelCRLDPResStorageType." + ::= { mplsTunnelCRLDPResEntry 6 } + +mplsTunnelCRLDPResStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this CR-LDP Resource entry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row." + DEFVAL { volatile } + ::= { mplsTunnelCRLDPResEntry 7 } + + +-- Notifications. + +mplsTunnelNotificationEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is true, then it enables the + generation of mplsTunnelUp and mplsTunnelDown + traps, otherwise these traps are not emitted." + DEFVAL { false } + ::= { mplsTeObjects 11 } + +mplsTunnelUp NOTIFICATION-TYPE + OBJECTS { + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } + STATUS current + DESCRIPTION + "This notification is generated when a + mplsTunnelOperStatus object for one of the + configured tunnels is about to leave the down state + and transition into some other state (but not into + the notPresent state). This other state is + indicated by the included value of + mplsTunnelOperStatus." + + + + ::= { mplsTeNotifications 1 } + +mplsTunnelDown NOTIFICATION-TYPE + OBJECTS { + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } + STATUS current + DESCRIPTION + "This notification is generated when a + mplsTunnelOperStatus object for one of the + configured tunnels is about to enter the down state + from some other state (but not from the notPresent + state). This other state is indicated by the + included value of mplsTunnelOperStatus." + ::= { mplsTeNotifications 2 } + +mplsTunnelRerouted NOTIFICATION-TYPE + OBJECTS { + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } + STATUS current + DESCRIPTION + "This notification is generated when a tunnel is + rerouted. If the mplsTunnelARHopTable is used, then + this tunnel instance's entry in the + mplsTunnelARHopTable MAY contain the new path for + this tunnel some time after this trap is issued by + the agent." + ::= { mplsTeNotifications 3 } + +mplsTunnelReoptimized NOTIFICATION-TYPE + OBJECTS { + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } + STATUS current + DESCRIPTION + "This notification is generated when a tunnel is + reoptimized. If the mplsTunnelARHopTable is used, + then this tunnel instance's entry in the + mplsTunnelARHopTable MAY contain the new path for + this tunnel some time after this trap is issued by + the agent." + ::= { mplsTeNotifications 4 } + +-- End of notifications. + + + +-- Module compliance. + +mplsTeGroups + OBJECT IDENTIFIER ::= { mplsTeConformance 1 } + +mplsTeCompliances + OBJECT IDENTIFIER ::= { mplsTeConformance 2 } + +-- Compliance requirement for fully compliant implementations. + +mplsTeModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "Compliance statement for agents that provide full + support the MPLS-TE-STD-MIB module." + + MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + + MODULE -- this module + + -- The mandatory group has to be implemented by all + -- LSRs that originate/terminate ESLSPs/tunnels. + -- In addition, depending on the type of tunnels + -- supported, other groups become mandatory as + -- explained below. + + MANDATORY-GROUPS { + mplsTunnelGroup, + mplsTunnelScalarGroup + } + + GROUP mplsTunnelManualGroup + DESCRIPTION + "This group is mandatory for devices which support + manual configuration of tunnels." + + GROUP mplsTunnelSignaledGroup + DESCRIPTION + "This group is mandatory for devices which support + signaled tunnel set up." + + GROUP mplsTunnelIsNotIntfcGroup + DESCRIPTION + "This group is mandatory for devices which support + + + + tunnels that are not interfaces." + + GROUP mplsTunnelIsIntfcGroup + DESCRIPTION + "This group is mandatory for devices which support + tunnels that are interfaces." + + GROUP mplsTunnelCRLDPResOptionalGroup + DESCRIPTION + "Objects in this group are required by + implementations supporting the CR-LDP protocol for + signalling of TE tunnels." + + GROUP mplsTeNotificationGroup + DESCRIPTION "This group is mandatory for those implementations + which can implement the notifications + contained in this group." + + OBJECT mplsTunnelRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is not + required." + + OBJECT mplsTunnelHopRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is not + required." + + OBJECT mplsTunnelCRLDPResRowStatus + SYNTAX RowStatus { active(1), notInService(2) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait and notReady is + not required." + + ::= { mplsTeCompliances 1 } + +-- Compliance requirement for read-only implementations. + +mplsTeModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + + + + DESCRIPTION + "Compliance requirement for implementations that only + provide read-only support for MPLS-TE-STD-MIB. + Such devices can then be monitored but cannot be + configured using this MIB modules." + + MODULE -- this module + + -- mplsTunnelTable + + MANDATORY-GROUPS { + mplsTunnelGroup, + mplsTunnelScalarGroup + } + + GROUP mplsTunnelManualGroup + DESCRIPTION + "This group is mandatory for devices which support + manual configuration of tunnels." + + GROUP mplsTunnelSignaledGroup + DESCRIPTION + "This group is mandatory for devices which support + signaled tunnel set up." + + GROUP mplsTunnelIsNotIntfcGroup + DESCRIPTION + "This group is mandatory for devices which support + tunnels that are not interfaces." + + GROUP mplsTunnelIsIntfcGroup + DESCRIPTION + "This group is mandatory for devices which support + tunnels that are interfaces." + + GROUP mplsTunnelCRLDPResOptionalGroup + DESCRIPTION + "Objects in this group are required by + implementations supporting the CR-LDP protocol for + signalling of TE tunnels." + + GROUP mplsTeNotificationGroup + DESCRIPTION "This group is mandatory for those implementations + which can implement the notifications + contained in this group." + + -- mplsTunnelTable + + + + + OBJECT mplsTunnelName + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelDescr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelIsIf + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelIfIndex + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelXCPointer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelSignallingProto + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelSetupPrio + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHoldingPrio + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelSessionAttributes + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelLocalProtectInUse + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + OBJECT mplsTunnelResourcePointer + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelInstancePriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHopTableIndex + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelIncludeAnyAffinity + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelIncludeAllAffinity + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelExcludeAnyAffinity + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelPathInUse + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelRole + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelAdminStatus + SYNTAX INTEGER { up (1), down (2) } + MIN-ACCESS read-only + DESCRIPTION + "Only up and down states must be supported. Write + access is not required." + + OBJECT mplsTunnelRowStatus + + + + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + -- mplsTunnelHopTable + + OBJECT mplsTunnelHopAddrType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelHopIpAddr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelHopIpPrefixLen + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHopAddrUnnum + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHopAsNumber + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHopLspId + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelHopType + SYNTAX INTEGER { strict(1) } + MIN-ACCESS read-only + DESCRIPTION + "loose(2) need not be supported. Write access is + not required." + + OBJECT mplsTunnelHopInclude + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelHopPathOptionName + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + + + OBJECT mplsTunnelHopEntryPathComp + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelHopRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelHopStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + -- mplsTunnelResourceTable + + OBJECT mplsTunnelResourceMaxRate + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceMeanRate + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceMaxBurstSize + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceMeanBurstSize + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceExBurstSize + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelResourceFrequency + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceWeight + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelResourceRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + + + OBJECT mplsTunnelResourceStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + -- mplsTunnelCRLDPResTable + + OBJECT mplsTunnelCRLDPResMeanBurstSize + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResExBurstSize + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResFrequency + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResWeight + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResFlags + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTunnelCRLDPResStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { mplsTeCompliances 2 } + + +-- Units of conformance. + +mplsTunnelGroup OBJECT-GROUP + OBJECTS { + mplsTunnelIndexNext, + mplsTunnelName, + mplsTunnelDescr, + mplsTunnelOwner, + mplsTunnelXCPointer, + mplsTunnelIfIndex, + + + + mplsTunnelHopTableIndex, + mplsTunnelARHopTableIndex, + mplsTunnelCHopTableIndex, + mplsTunnelAdminStatus, + mplsTunnelOperStatus, + mplsTunnelRowStatus, + mplsTunnelNotificationEnable, + mplsTunnelStorageType, + mplsTunnelConfigured, + mplsTunnelActive, + mplsTunnelPrimaryInstance, + mplsTunnelPrimaryUpTime, + mplsTunnelPathChanges, + mplsTunnelLastPathChange, + mplsTunnelCreationTime, + mplsTunnelStateTransitions, + mplsTunnelIncludeAnyAffinity, + mplsTunnelIncludeAllAffinity, + mplsTunnelExcludeAnyAffinity, + mplsTunnelPerfPackets, + mplsTunnelPerfHCPackets, + mplsTunnelPerfErrors, + mplsTunnelPerfBytes, + mplsTunnelPerfHCBytes, + mplsTunnelResourcePointer, + mplsTunnelInstancePriority, + mplsTunnelPathInUse, + mplsTunnelRole, + mplsTunnelTotalUpTime, + mplsTunnelInstanceUpTime, + mplsTunnelResourceIndexNext, + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, + mplsTunnelResourceMaxBurstSize, + mplsTunnelResourceMeanBurstSize, + mplsTunnelResourceExBurstSize, + mplsTunnelResourceFrequency, + mplsTunnelResourceWeight, + mplsTunnelResourceRowStatus, + mplsTunnelResourceStorageType, + mplsTunnelARHopAddrType, + mplsTunnelARHopIpAddr, + mplsTunnelARHopAddrUnnum, + mplsTunnelARHopLspId, + mplsTunnelCHopAddrType, + mplsTunnelCHopIpAddr, + mplsTunnelCHopIpPrefixLen, + mplsTunnelCHopAsNumber, + + + + mplsTunnelCHopAddrUnnum, + mplsTunnelCHopLspId, + mplsTunnelCHopType + } + STATUS current + DESCRIPTION + "Necessary, but not sufficient, set of objects to + implement tunnels. In addition, depending on the + type of the tunnels supported (for example, + manually configured or signaled, persistent or non- + persistent, etc.), the following other groups + defined below are mandatory: mplsTunnelManualGroup + and/or mplsTunnelSignaledGroup, + mplsTunnelIsNotIntfcGroup and/or + mplsTunnelIsIntfcGroup." + ::= { mplsTeGroups 1 } + +mplsTunnelManualGroup OBJECT-GROUP + OBJECTS { mplsTunnelSignallingProto } + STATUS current + DESCRIPTION + "Object(s) needed to implement manually configured + tunnels." + ::= { mplsTeGroups 2 } + +mplsTunnelSignaledGroup OBJECT-GROUP + OBJECTS { + mplsTunnelSetupPrio, + mplsTunnelHoldingPrio, + mplsTunnelSignallingProto, + mplsTunnelLocalProtectInUse, + mplsTunnelSessionAttributes, + mplsTunnelHopListIndexNext, + mplsTunnelHopAddrType, + mplsTunnelHopIpAddr, + mplsTunnelHopIpPrefixLen, + mplsTunnelHopAddrUnnum, + mplsTunnelHopAsNumber, + mplsTunnelHopLspId, + mplsTunnelHopType, + mplsTunnelHopInclude, + mplsTunnelHopPathOptionName, + mplsTunnelHopEntryPathComp, + mplsTunnelHopRowStatus, + mplsTunnelHopStorageType + } + STATUS current + DESCRIPTION + + + + "Objects needed to implement signaled tunnels." + ::= { mplsTeGroups 3 } + +mplsTunnelScalarGroup OBJECT-GROUP + OBJECTS { + mplsTunnelConfigured, + mplsTunnelActive, + mplsTunnelTEDistProto, + mplsTunnelMaxHops, + mplsTunnelNotificationMaxRate + } + STATUS current + DESCRIPTION + "Scalar object needed to implement MPLS tunnels." + ::= { mplsTeGroups 4 } + +mplsTunnelIsIntfcGroup OBJECT-GROUP + OBJECTS { mplsTunnelIsIf } + STATUS current + DESCRIPTION + "Objects needed to implement tunnels that are + interfaces." + ::= { mplsTeGroups 5 } + +mplsTunnelIsNotIntfcGroup OBJECT-GROUP + OBJECTS { mplsTunnelIsIf } + STATUS current + DESCRIPTION + "Objects needed to implement tunnels that are not + interfaces." + ::= { mplsTeGroups 6 } + +mplsTunnelCRLDPResOptionalGroup OBJECT-GROUP + OBJECTS { + mplsTunnelCRLDPResMeanBurstSize, + mplsTunnelCRLDPResExBurstSize, + mplsTunnelCRLDPResFrequency, + mplsTunnelCRLDPResWeight, + mplsTunnelCRLDPResFlags, + mplsTunnelCRLDPResRowStatus, + mplsTunnelCRLDPResStorageType + } + STATUS current + DESCRIPTION + "Set of objects implemented for resources applicable + for tunnels signaled using CR-LDP." + ::= { mplsTeGroups 7 } + + + + +mplsTeNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + mplsTunnelUp, + mplsTunnelDown, + mplsTunnelRerouted, + mplsTunnelReoptimized + } + STATUS current + DESCRIPTION + "Set of notifications implemented in this module. + None is mandatory." + ::= { mplsTeGroups 8 } + +END \ No newline at end of file diff --git a/mibs/OSPF-MIB.txt b/mibs/OSPF-MIB.txt new file mode 100644 index 00000000..b0c0314a --- /dev/null +++ b/mibs/OSPF-MIB.txt @@ -0,0 +1,4398 @@ +OSPF-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, + Integer32, Unsigned32, IpAddress, mib-2 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + InterfaceIndexOrZero + FROM IF-MIB; + +ospf MODULE-IDENTITY + LAST-UPDATED "200611100000Z" -- November 10, 2006 00:00:00 EST + ORGANIZATION "IETF OSPF Working Group" + CONTACT-INFO + "WG E-Mail: ospf@ietf.org + + WG Chairs: acee@cisco.com + rohit@gmail.com + + Editors: Dan Joyal + Nortel + 600 Technology Park Drive + Billerica, MA 01821 + djoyal@nortel.com + + Piotr Galecki + Airvana + 19 Alpha Road + Chelmsford, MA 01824 + pgalecki@airvana.com + + Spencer Giacalone + CSFB + Eleven Madison Ave + New York, NY 10010-3629 + spencer.giacalone@gmail.com" + + DESCRIPTION + "The MIB module to describe the OSPF Version 2 + Protocol. Note that some objects in this MIB + module may pose a significant security risk. + Refer to the Security Considerations section + in RFC 4750 for more information. + + + + Copyright (C) The IETF Trust (2006). + This version of this MIB module is part of + RFC 4750; see the RFC itself for full legal + notices." + + REVISION "200611100000Z" -- November 10, 2006 09:00:00 EST + DESCRIPTION + "Updated for latest changes to OSPF Version 2: + - updated the General Group with the new + ospfRFC1583Compatibility, ospfReferenceBandwidth + and ospfDiscontinuityTime objects + - added graceful-restart-related objects + - added stub-router-related objects + - updated the Area Table with NSSA-related objects + - added ospfAreaAggregateExtRouteTag object + - added Opaque LSA-related objects + - updates to the Compliances and Security sections + - added area LSA counter table + - added section describing translation of notification + parameters between SNMP versions + - added ospfComplianceObsolete to contain obsolete + object groups + - deprecated ospfExtLsdbTable + See Appendix B of RFC 4750 for more details. + + This version published as part of RFC 4750" + + REVISION "199501201225Z" -- Fri Jan 20 12:25:50 PST 1995 + DESCRIPTION + "The initial SMIv2 revision of this MIB module, published + in RFC 1850." + ::= { mib-2 14 } + +AreaID ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "An OSPF Area Identifier. + Note that the Area ID, in OSPF, has the same format + as an IP address, but has the function of defining + a summarization point for link state advertisements." + SYNTAX IpAddress + +RouterID ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A OSPF Router Identifier. + Note that the Router ID, in OSPF, has the same format + as an IP address, but identifies the router independent + + + + of its IP address." + SYNTAX IpAddress + +Metric ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "The OSPF internal metric. + Note that the OSPF metric is defined as an unsigned value + in the range." + SYNTAX Integer32 (0..'FFFF'h) + +BigMetric ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "The OSPF external metric." + SYNTAX Integer32 (0..'FFFFFF'h) + +Status ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "An indication of the operability of an OSPF + function or feature. For example, the status + of an interface: 'enabled' indicates that + it is willing to communicate with other OSPF routers, + and 'disabled' indicates that it is not." + SYNTAX INTEGER { enabled (1), disabled (2) } + +PositiveInteger ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "A positive integer. Values in excess are precluded as + unnecessary and prone to interoperability issues." + SYNTAX Integer32 (0..'7FFFFFFF'h) + +HelloRange ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "The range of intervals in seconds on which Hello messages + are exchanged." + SYNTAX Integer32 (1..'FFFF'h) + +UpToMaxAge ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + + + + DESCRIPTION + "The values in seconds that one might find or configure + for variables bounded by the maximum age of an LSA." + SYNTAX Integer32 (0..3600) + +DesignatedRouterPriority ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "The range of values defined for the priority of a system + for becoming the designated router." + SYNTAX Integer32 (0..'FF'h) + +TOSType ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-0" + STATUS current + DESCRIPTION + "Type of Service (TOS) is defined as a mapping to the IP + Type of Service Flags as defined in the IP Forwarding + Table MIB + + +-----+-----+-----+-----+-----+-----+-----+-----+ + | | | | + | PRECEDENCE | TYPE OF SERVICE | 0 | + | | | | + +-----+-----+-----+-----+-----+-----+-----+-----+ + + IP TOS IP TOS + Field Policy Field Policy + + Contents Code Contents Code + 0 0 0 0 ==> 0 0 0 0 1 ==> 2 + 0 0 1 0 ==> 4 0 0 1 1 ==> 6 + 0 1 0 0 ==> 8 0 1 0 1 ==> 10 + 0 1 1 0 ==> 12 0 1 1 1 ==> 14 + 1 0 0 0 ==> 16 1 0 0 1 ==> 18 + 1 0 1 0 ==> 20 1 0 1 1 ==> 22 + 1 1 0 0 ==> 24 1 1 0 1 ==> 26 + 1 1 1 0 ==> 28 1 1 1 1 ==> 30 + + The remaining values are left for future definition." + SYNTAX Integer32 (0..30) + +OspfAuthenticationType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The authentication type." + SYNTAX INTEGER { + + + + none (0), + simplePassword (1), + md5 (2) + -- reserved for specification by IANA (> 2) + } + +-- OSPF General Variables + +-- Note: These parameters apply globally to the Router's +-- OSPF Process. + +ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 } + + ospfRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying the + router in the Autonomous System. + By convention, to ensure uniqueness, this + should default to the value of one of the + router's IP interface addresses. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile storage." + REFERENCE + "OSPF Version 2, C.1 Global parameters" + ::= { ospfGeneralGroup 1 } + + ospfAdminStat OBJECT-TYPE + SYNTAX Status + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative status of OSPF in the + router. The value 'enabled' denotes that the + OSPF Process is active on at least one interface; + 'disabled' disables it on all interfaces. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile storage." + ::= { ospfGeneralGroup 2 } + + ospfVersionNumber OBJECT-TYPE + SYNTAX INTEGER { version2 (2) } + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "The current version number of the OSPF protocol is 2." + REFERENCE + "OSPF Version 2, Title" + ::= { ospfGeneralGroup 3 } + + ospfAreaBdrRtrStatus OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A flag to note whether this router is an Area + Border Router." + REFERENCE + "OSPF Version 2, Section 3 Splitting the AS into + Areas" + ::= { ospfGeneralGroup 4 } + + ospfASBdrRtrStatus OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A flag to note whether this router is configured as + an Autonomous System Border Router. + + This object is persistent and when written the + entity SHOULD save the change to non-volatile storage." + REFERENCE + "OSPF Version 2, Section 3.3 Classification of + routers" + ::= { ospfGeneralGroup 5 } + + ospfExternLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of external (LS type-5) link state + advertisements in the link state database." + REFERENCE + "OSPF Version 2, Appendix A.4.5 AS external link + advertisements" + ::= { ospfGeneralGroup 6 } + + ospfExternLsaCksumSum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The 32-bit sum of the LS checksums of + the external link state advertisements + contained in the link state database. This sum + can be used to determine if there has been a + change in a router's link state database and + to compare the link state database of two + routers. The value should be treated as unsigned + when comparing two sums of checksums." + ::= { ospfGeneralGroup 7 } + + ospfTOSSupport OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The router's support for type-of-service routing. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix F.1.2 Optional TOS + support" + ::= { ospfGeneralGroup 8 } + + ospfOriginateNewLsas OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of new link state advertisements + that have been originated. This number is + incremented each time the router originates a new + LSA. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system, + and at other times as indicated by the value of + ospfDiscontinuityTime." + ::= { ospfGeneralGroup 9 } + + ospfRxNewLsas OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "The number of link state advertisements received + that are determined to be new instantiations. + This number does not include newer instantiations + of self-originated link state advertisements. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system, + and at other times as indicated by the value of + ospfDiscontinuityTime." + ::= { ospfGeneralGroup 10 } + + ospfExtLsdbLimit OBJECT-TYPE + SYNTAX Integer32 (-1..'7FFFFFFF'h) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The maximum number of non-default + AS-external LSAs entries that can be stored in the + link state database. If the value is -1, then + there is no limit. + + When the number of non-default AS-external LSAs + in a router's link state database reaches + ospfExtLsdbLimit, the router enters + overflow state. The router never holds more than + ospfExtLsdbLimit non-default AS-external LSAs + in its database. OspfExtLsdbLimit MUST be set + identically in all routers attached to the OSPF + backbone and/or any regular OSPF area (i.e., + OSPF stub areas and NSSAs are excluded). + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + DEFVAL { -1 } + ::= { ospfGeneralGroup 11 } + + ospfMulticastExtensions OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A bit mask indicating whether the router is + forwarding IP multicast (Class D) datagrams + based on the algorithms defined in the + multicast extensions to OSPF. + + Bit 0, if set, indicates that the router can + + + + forward IP multicast datagrams in the router's + directly attached areas (called intra-area + multicast routing). + + Bit 1, if set, indicates that the router can + forward IP multicast datagrams between OSPF + areas (called inter-area multicast routing). + + Bit 2, if set, indicates that the router can + forward IP multicast datagrams between + Autonomous Systems (called inter-AS multicast + routing). + + Only certain combinations of bit settings are + allowed, namely: 0 (no multicast forwarding is + enabled), 1 (intra-area multicasting only), 3 + (intra-area and inter-area multicasting), 5 + (intra-area and inter-AS multicasting), and 7 + (multicasting everywhere). By default, no + multicast forwarding is enabled. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + DEFVAL { 0 } + ::= { ospfGeneralGroup 12 } + + ospfExitOverflowInterval OBJECT-TYPE + SYNTAX PositiveInteger + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The number of seconds that, after entering + OverflowState, a router will attempt to leave + OverflowState. This allows the router to again + originate non-default AS-external LSAs. When + set to 0, the router will not leave + overflow state until restarted. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + DEFVAL { 0 } + ::= { ospfGeneralGroup 13 } + + ospfDemandExtensions OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + + + + STATUS current + DESCRIPTION + "The router's support for demand routing. + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "Extending OSPF to Support Demand Circuits" + ::= { ospfGeneralGroup 14 } + + ospfRFC1583Compatibility OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates metrics used to choose among multiple + AS-external LSAs. When RFC1583Compatibility is set to + enabled, only cost will be used when choosing among + multiple AS-external LSAs advertising the same + destination. When RFC1583Compatibility is set to + disabled, preference will be driven first by type of + path using cost only to break ties. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Section 16.4.1 External path + preferences" + ::= { ospfGeneralGroup 15 } + + ospfOpaqueLsaSupport OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The router's support for Opaque LSA types." + REFERENCE + "The OSPF Opaque LSA Option" + ::= { ospfGeneralGroup 16 } + + ospfReferenceBandwidth OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "kilobits per second" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Reference bandwidth in kilobits/second for + + + + calculating default interface metrics. The + default value is 100,000 KBPS (100 MBPS). + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + ::= { ospfGeneralGroup 17 } + + ospfRestartSupport OBJECT-TYPE + SYNTAX INTEGER { none (1), + plannedOnly (2), + plannedAndUnplanned (3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The router's support for OSPF graceful restart. + Options include: no restart support, only planned + restarts, or both planned and unplanned restarts. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + ::= { ospfGeneralGroup 18 } + + ospfRestartInterval OBJECT-TYPE + SYNTAX Integer32 (1..1800) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Configured OSPF graceful restart timeout interval. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + ::= { ospfGeneralGroup 19 } + + ospfRestartStrictLsaChecking OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates if strict LSA checking is enabled for + graceful restart. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + + + + storage." + ::= { ospfGeneralGroup 20 } + + + ospfRestartStatus OBJECT-TYPE + SYNTAX INTEGER { notRestarting (1), + plannedRestart (2), + unplannedRestart (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Current status of OSPF graceful restart." + ::= { ospfGeneralGroup 21 } + + ospfRestartAge OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in current OSPF graceful restart + interval." + ::= { ospfGeneralGroup 22 } + + ospfRestartExitReason OBJECT-TYPE + SYNTAX INTEGER { none (1), -- none attempted + inProgress (2), -- restart in + -- progress + completed (3), -- successfully + -- completed + timedOut (4), -- timed out + topologyChanged (5) -- aborted due to + -- topology change. + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Describes the outcome of the last attempt at a + graceful restart. If the value is 'none', no restart + has yet been attempted. If the value is 'inProgress', + a restart attempt is currently underway." + ::= { ospfGeneralGroup 23 } + + ospfAsLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "The number of AS-scope link state + advertisements in the AS-scope link state database." + ::= { ospfGeneralGroup 24 } + + ospfAsLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the LS checksums of + the AS link state advertisements contained in the AS-scope + link state database. This sum can be used to determine + if there has been a change in a router's AS-scope link + state database, and to compare the AS-scope link state + database of two routers." + ::= { ospfGeneralGroup 25 } + + ospfStubRouterSupport OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The router's support for stub router functionality." + REFERENCE + "OSPF Stub Router Advertisement" + ::= { ospfGeneralGroup 26 } + + ospfStubRouterAdvertisement OBJECT-TYPE + SYNTAX INTEGER { + doNotAdvertise (1), + advertise(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object controls the advertisement of + stub router LSAs by the router. The value + doNotAdvertise will result in the advertisement + of a standard router LSA and is the default value. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage." + ::= { ospfGeneralGroup 27 } + + ospfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one of this MIB's counters suffered + a discontinuity. + + If no such discontinuities have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { ospfGeneralGroup 28 } + + +-- OSPF Area Table +-- The OSPF Area Table contains information +-- regarding the various areas. + + ospfAreaTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAreaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information describing the configured parameters and + cumulative statistics of the router's attached areas. + The interfaces and virtual links are configured + as part of these areas. Area 0.0.0.0, by definition, + is the backbone area." + REFERENCE + "OSPF Version 2, Section 6 The Area Data Structure" + ::= { ospf 2 } + + ospfAreaEntry OBJECT-TYPE + SYNTAX OspfAreaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information describing the configured parameters and + cumulative statistics of one of the router's attached areas. + The interfaces and virtual links are configured as part of + these areas. Area 0.0.0.0, by definition, is the backbone + area. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + INDEX { ospfAreaId } + ::= { ospfAreaTable 1 } + + + + + OspfAreaEntry ::= + SEQUENCE { + ospfAreaId + AreaID, + ospfAuthType + OspfAuthenticationType, + ospfImportAsExtern + INTEGER, + ospfSpfRuns + Counter32, + ospfAreaBdrRtrCount + Gauge32, + ospfAsBdrRtrCount + Gauge32, + ospfAreaLsaCount + Gauge32, + ospfAreaLsaCksumSum + Integer32, + ospfAreaSummary + INTEGER, + ospfAreaStatus + RowStatus, + ospfAreaNssaTranslatorRole + INTEGER, + ospfAreaNssaTranslatorState + INTEGER, + ospfAreaNssaTranslatorStabilityInterval + PositiveInteger, + ospfAreaNssaTranslatorEvents + Counter32 + } + + ospfAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally + -- an SMIv1 index + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying an area. + Area ID 0.0.0.0 is used for the OSPF backbone." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaEntry 1 } + + ospfAuthType OBJECT-TYPE + SYNTAX OspfAuthenticationType + MAX-ACCESS read-create + STATUS obsolete + + + + DESCRIPTION + "The authentication type specified for an area." + REFERENCE + "OSPF Version 2, Appendix D Authentication" + DEFVAL { none } -- no authentication, by default + ::= { ospfAreaEntry 2 } + + ospfImportAsExtern OBJECT-TYPE + SYNTAX INTEGER { + importExternal (1), + importNoExternal (2), + importNssa (3) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates if an area is a stub area, NSSA, or standard + area. Type-5 AS-external LSAs and type-11 Opaque LSAs are + not imported into stub areas or NSSAs. NSSAs import + AS-external data as type-7 LSAs" + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + DEFVAL { importExternal } + ::= { ospfAreaEntry 3 } + + ospfSpfRuns OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times that the intra-area route + table has been calculated using this area's + link state database. This is typically done + using Dijkstra's algorithm. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfAreaEntry 4 } + + ospfAreaBdrRtrCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Area Border Routers reachable + within this area. This is initially zero and is + calculated in each Shortest Path First (SPF) pass." + + + + ::= { ospfAreaEntry 5 } + + ospfAsBdrRtrCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Autonomous System Border + Routers reachable within this area. This is + initially zero and is calculated in each SPF + pass." + ::= { ospfAreaEntry 6 } + + ospfAreaLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of link state advertisements + in this area's link state database, excluding + AS-external LSAs." + ::= { ospfAreaEntry 7 } + + ospfAreaLsaCksumSum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit sum of the link state + advertisements' LS checksums contained in this + area's link state database. This sum excludes + external (LS type-5) link state advertisements. + The sum can be used to determine if there has + been a change in a router's link state + database, and to compare the link state database of + two routers. The value should be treated as unsigned + when comparing two sums of checksums." + DEFVAL { 0 } + ::= { ospfAreaEntry 8 } + + ospfAreaSummary OBJECT-TYPE + SYNTAX INTEGER { + noAreaSummary (1), + sendAreaSummary (2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + + "The variable ospfAreaSummary controls the + import of summary LSAs into stub and NSSA areas. + It has no effect on other areas. + + If it is noAreaSummary, the router will not + originate summary LSAs into the stub or NSSA area. + It will rely entirely on its default route. + + If it is sendAreaSummary, the router will both + summarize and propagate summary LSAs." + DEFVAL { noAreaSummary } + ::= { ospfAreaEntry 9 } + + ospfAreaStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfAreaEntry 10 } + + ospfAreaNssaTranslatorRole OBJECT-TYPE + SYNTAX INTEGER { always (1), candidate (2) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates an NSSA border router's ability to + perform NSSA translation of type-7 LSAs into + type-5 LSAs." + DEFVAL { candidate } + ::= { ospfAreaEntry 11 } + + ospfAreaNssaTranslatorState OBJECT-TYPE + SYNTAX INTEGER { enabled (1), + elected (2), + disabled (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates if and how an NSSA border router is + performing NSSA translation of type-7 LSAs into type-5 + + + + LSAs. When this object is set to enabled, the NSSA Border + router's OspfAreaNssaExtTranslatorRole has been set to + always. When this object is set to elected, a candidate + NSSA Border router is Translating type-7 LSAs into type-5. + When this object is set to disabled, a candidate NSSA + border router is NOT translating type-7 LSAs into type-5." + ::= { ospfAreaEntry 12 } + + ospfAreaNssaTranslatorStabilityInterval OBJECT-TYPE + SYNTAX PositiveInteger + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds after an elected translator + determines its services are no longer required, that + it should continue to perform its translation duties." + DEFVAL { 40 } + ::= { ospfAreaEntry 13 } + + ospfAreaNssaTranslatorEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the number of translator state changes + that have occurred since the last boot-up. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfAreaEntry 14 } + +-- OSPF Area Default Metric Table + + ospfStubAreaTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfStubAreaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The set of metrics that will be advertised + by a default Area Border Router into a stub area." + REFERENCE + "OSPF Version 2, Appendix C.2, Area Parameters" + ::= { ospf 3 } + + ospfStubAreaEntry OBJECT-TYPE + SYNTAX OspfStubAreaEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The metric for a given Type of Service that + will be advertised by a default Area Border + Router into a stub area. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix C.2, Area Parameters" + INDEX { ospfStubAreaId, ospfStubTOS } + ::= { ospfStubAreaTable 1 } + + OspfStubAreaEntry ::= + SEQUENCE { + ospfStubAreaId + AreaID, + ospfStubTOS + TOSType, + ospfStubMetric + BigMetric, + ospfStubStatus + RowStatus, + ospfStubMetricType + INTEGER + } + + ospfStubAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The 32-bit identifier for the stub area. On + creation, this can be derived from the + instance." + ::= { ospfStubAreaEntry 1 } + + ospfStubTOS OBJECT-TYPE + SYNTAX TOSType + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The Type of Service associated with the + metric. On creation, this can be derived from + + + + the instance." + ::= { ospfStubAreaEntry 2 } + + ospfStubMetric OBJECT-TYPE + SYNTAX BigMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric value applied at the indicated Type + of Service. By default, this equals the least + metric at the Type of Service among the + interfaces to other areas." + ::= { ospfStubAreaEntry 3 } + + ospfStubStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfStubAreaEntry 4 } + + ospfStubMetricType OBJECT-TYPE + SYNTAX INTEGER { + ospfMetric (1), -- OSPF Metric + comparableCost (2), -- external type 1 + nonComparable (3) -- external type 2 + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable displays the type of metric + advertised as a default route." + DEFVAL { ospfMetric } + ::= { ospfStubAreaEntry 5 } + +-- OSPF Link State Database + + ospfLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfLsdbEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "The OSPF Process's link state database (LSDB). + The LSDB contains the link state advertisements + from throughout the areas that the device is attached to." + REFERENCE + "OSPF Version 2, Section 12 Link State Advertisements" + ::= { ospf 4 } + + ospfLsdbEntry OBJECT-TYPE + SYNTAX OspfLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single link state advertisement." + INDEX { ospfLsdbAreaId, ospfLsdbType, + ospfLsdbLsid, ospfLsdbRouterId } + ::= { ospfLsdbTable 1 } + + OspfLsdbEntry ::= + SEQUENCE { + ospfLsdbAreaId + AreaID, + ospfLsdbType + INTEGER, + ospfLsdbLsid + IpAddress, + ospfLsdbRouterId + RouterID, + ospfLsdbSequence + Integer32, + ospfLsdbAge + Integer32, + ospfLsdbChecksum + Integer32, + ospfLsdbAdvertisement + OCTET STRING + } + + ospfLsdbAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The 32-bit identifier of the area from which + the LSA was received." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + + + + ::= { ospfLsdbEntry 1 } + + ospfLsdbType OBJECT-TYPE + SYNTAX INTEGER { + routerLink (1), + networkLink (2), + summaryLink (3), + asSummaryLink (4), + asExternalLink (5), -- but see ospfAsLsdbTable + multicastLink (6), + nssaExternalLink (7), + areaOpaqueLink (10) + } + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate advertisement + format. + + Note: External link state advertisements are permitted + for backward compatibility, but should be displayed + in the ospfAsLsdbTable rather than here." + REFERENCE + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + ::= { ospfLsdbEntry 2 } + + ospfLsdbLsid OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + it identifies the piece of the routing domain + that is being described by the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.4 Link State ID" + ::= { ospfLsdbEntry 3 } + + ospfLsdbRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + + + + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1 Global parameters" + ::= { ospfLsdbEntry 4 } + + ospfLsdbSequence OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate Link State + Advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6 LS sequence + number" + ::= { ospfLsdbEntry 5 } + + ospfLsdbAge OBJECT-TYPE + SYNTAX Integer32 -- Should be 0..MaxAge, except when + -- doNotAge bit is set + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state advertisement + in seconds." + REFERENCE + "OSPF Version 2, Section 12.1.1 LS age" + ::= { ospfLsdbEntry 6 } + + ospfLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete contents of + the advertisement, excepting the age field. The age field + is excepted so that an advertisement's age can be + incremented without updating the checksum. The checksum + used is the same that is used for ISO connectionless + + + + datagrams; it is commonly referred to as the + Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7 LS checksum" + ::= { ospfLsdbEntry 7 } + + ospfLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size." + REFERENCE + "OSPF Version 2, Section 12 Link State Advertisements" + ::= { ospfLsdbEntry 8 } + +-- Address Range Table + + ospfAreaRangeTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAreaRangeEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "The Address Range Table acts as an adjunct to the Area + Table. It describes those Address Range Summaries that + are configured to be propagated from an Area to reduce + the amount of information about it that is known beyond + its borders. It contains a set of IP address ranges + specified by an IP address/IP network mask pair. + For example, class B address range of X.X.X.X + with a network mask of 255.255.0.0 includes all IP + addresses from X.X.0.0 to X.X.255.255. + + Note that this table is obsoleted and is replaced + by the Area Aggregate Table." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospf 5 } + + ospfAreaRangeEntry OBJECT-TYPE + SYNTAX OspfAreaRangeEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + + + + "A single area address range. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + INDEX { ospfAreaRangeAreaId, ospfAreaRangeNet } + ::= { ospfAreaRangeTable 1 } + + OspfAreaRangeEntry ::= + SEQUENCE { + ospfAreaRangeAreaId + AreaID, + ospfAreaRangeNet + IpAddress, + ospfAreaRangeMask + IpAddress, + ospfAreaRangeStatus + RowStatus, + ospfAreaRangeEffect + INTEGER + } + + ospfAreaRangeAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS obsolete + DESCRIPTION + "The area that the address range is to be found + within." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaRangeEntry 1 } + + ospfAreaRangeNet OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS obsolete + DESCRIPTION + "The IP address of the net or subnet indicated + by the range." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaRangeEntry 2 } + + + + + ospfAreaRangeMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-create + STATUS obsolete + DESCRIPTION + "The subnet mask that pertains to the net or + subnet." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaRangeEntry 3 } + + ospfAreaRangeStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS obsolete + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfAreaRangeEntry 4 } + + ospfAreaRangeEffect OBJECT-TYPE + SYNTAX INTEGER { + advertiseMatching (1), + doNotAdvertiseMatching (2) + } + MAX-ACCESS read-create + STATUS obsolete + DESCRIPTION + "Subnets subsumed by ranges either trigger the + advertisement of the indicated summary + (advertiseMatching) or result in the subnet's not + being advertised at all outside the area." + DEFVAL { advertiseMatching } + ::= { ospfAreaRangeEntry 5 } + +-- OSPF Host Table + + ospfHostTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfHostEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Host/Metric Table indicates what hosts are directly + + + + attached to the router, what metrics and types + of service should be advertised for them, + and what areas they are found within." + REFERENCE + "OSPF Version 2, Appendix C.7 Host route + parameters" + ::= { ospf 6 } + + ospfHostEntry OBJECT-TYPE + SYNTAX OspfHostEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A metric to be advertised, for a given type of + service, when a given host is reachable. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + INDEX { ospfHostIpAddress, ospfHostTOS } + ::= { ospfHostTable 1 } + + OspfHostEntry ::= + SEQUENCE { + ospfHostIpAddress + IpAddress, + ospfHostTOS + TOSType, + ospfHostMetric + Metric, + ospfHostStatus + RowStatus, + ospfHostAreaID + AreaID, + ospfHostCfgAreaID + AreaID + } + + ospfHostIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The IP address of the host." + REFERENCE + "OSPF Version 2, Appendix C.7 Host route parameters" + ::= { ospfHostEntry 1 } + + + + ospfHostTOS OBJECT-TYPE + SYNTAX TOSType + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The Type of Service of the route being configured." + REFERENCE + "OSPF Version 2, Appendix C.7 Host route parameters" + ::= { ospfHostEntry 2 } + + ospfHostMetric OBJECT-TYPE + SYNTAX Metric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric to be advertised." + REFERENCE + "OSPF Version 2, Appendix C.7 Host route parameters" + ::= { ospfHostEntry 3 } + + ospfHostStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfHostEntry 4 } + + ospfHostAreaID OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The OSPF area to which the host belongs. + Deprecated by ospfHostCfgAreaID." + REFERENCE + "OSPF Version 2, Appendix C.7 Host parameters" + ::= { ospfHostEntry 5 } + + ospfHostCfgAreaID OBJECT-TYPE + SYNTAX AreaID + + + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "To configure the OSPF area to which the host belongs." + REFERENCE + "OSPF Version 2, Appendix C.7 Host parameters" + ::= { ospfHostEntry 6 } + +-- OSPF Interface Table + + ospfIfTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPF Interface Table describes the interfaces + from the viewpoint of OSPF. + It augments the ipAddrTable with OSPF specific information." + REFERENCE + "OSPF Version 2, Appendix C.3 Router interface + parameters" + ::= { ospf 7 } + + ospfIfEntry OBJECT-TYPE + SYNTAX OspfIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPF interface entry describes one interface + from the viewpoint of OSPF. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + INDEX { ospfIfIpAddress, ospfAddressLessIf } + ::= { ospfIfTable 1 } + + OspfIfEntry ::= + SEQUENCE { + ospfIfIpAddress + IpAddress, + ospfAddressLessIf + InterfaceIndexOrZero, + ospfIfAreaId + AreaID, + ospfIfType + INTEGER, + ospfIfAdminStat + + + + Status, + ospfIfRtrPriority + DesignatedRouterPriority, + ospfIfTransitDelay + UpToMaxAge, + ospfIfRetransInterval + UpToMaxAge, + ospfIfHelloInterval + HelloRange, + ospfIfRtrDeadInterval + PositiveInteger, + ospfIfPollInterval + PositiveInteger, + ospfIfState + INTEGER, + ospfIfDesignatedRouter + IpAddress, + ospfIfBackupDesignatedRouter + IpAddress, + ospfIfEvents + Counter32, + ospfIfAuthKey + OCTET STRING, + ospfIfStatus + RowStatus, + ospfIfMulticastForwarding + INTEGER, + ospfIfDemand + TruthValue, + ospfIfAuthType + OspfAuthenticationType, + ospfIfLsaCount + Gauge32, + ospfIfLsaCksumSum + Unsigned32, + ospfIfDesignatedRouterId + RouterID, + ospfIfBackupDesignatedRouterId + RouterID + } + + ospfIfIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The IP address of this OSPF interface." + + + + ::= { ospfIfEntry 1 } + + ospfAddressLessIf OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "For the purpose of easing the instancing of + addressed and addressless interfaces; this + variable takes the value 0 on interfaces with + IP addresses and the corresponding value of + ifIndex for interfaces having no IP address." + ::= { ospfIfEntry 2 } + + ospfIfAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying the area + to which the interface connects. Area ID + 0.0.0.0 is used for the OSPF backbone." + DEFVAL { '00000000'H } -- 0.0.0.0 + ::= { ospfIfEntry 3 } + + ospfIfType OBJECT-TYPE + SYNTAX INTEGER { + broadcast (1), + nbma (2), + pointToPoint (3), + pointToMultipoint (5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The OSPF interface type. + By way of a default, this field may be intuited + from the corresponding value of ifType. + Broadcast LANs, such as Ethernet and IEEE 802.5, + take the value 'broadcast', X.25 and similar + technologies take the value 'nbma', and links + that are definitively point to point take the + value 'pointToPoint'." + ::= { ospfIfEntry 4 } + + ospfIfAdminStat OBJECT-TYPE + SYNTAX Status + + + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The OSPF interface's administrative status. + The value formed on the interface, and the interface + will be advertised as an internal route to some area. + The value 'disabled' denotes that the interface is + external to OSPF." + DEFVAL { enabled } + ::= { ospfIfEntry 5 } + + ospfIfRtrPriority OBJECT-TYPE + SYNTAX DesignatedRouterPriority + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this interface. Used in + multi-access networks, this field is used in + the designated router election algorithm. The + value 0 signifies that the router is not eligible + to become the designated router on this particular + network. In the event of a tie in this value, + routers will use their Router ID as a tie breaker." + DEFVAL { 1 } + ::= { ospfIfEntry 6 } + + ospfIfTransitDelay OBJECT-TYPE + SYNTAX UpToMaxAge + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The estimated number of seconds it takes to + transmit a link state update packet over this + interface. Note that the minimal value SHOULD be + 1 second." + DEFVAL { 1 } + ::= { ospfIfEntry 7 } + + ospfIfRetransInterval OBJECT-TYPE + SYNTAX UpToMaxAge + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds between link state advertisement + retransmissions, for adjacencies belonging to this + interface. This value is also used when retransmitting + + + + database description and Link State request packets. + Note that minimal value SHOULD be 1 second." + DEFVAL { 5 } + ::= { ospfIfEntry 8 } + + ospfIfHelloInterval OBJECT-TYPE + SYNTAX HelloRange + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of time, in seconds, between the Hello packets + that the router sends on the interface. This value must be + the same for all routers attached to a common network." + DEFVAL { 10 } + ::= { ospfIfEntry 9 } + + ospfIfRtrDeadInterval OBJECT-TYPE + SYNTAX PositiveInteger + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds that a router's Hello packets have + not been seen before its neighbors declare the router down. + This should be some multiple of the Hello interval. This + value must be the same for all routers attached to a common + network." + DEFVAL { 40 } + ::= { ospfIfEntry 10 } + + ospfIfPollInterval OBJECT-TYPE + SYNTAX PositiveInteger + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The larger time interval, in seconds, between the Hello + packets sent to an inactive non-broadcast multi-access + neighbor." + DEFVAL { 120 } + ::= { ospfIfEntry 11 } + + ospfIfState OBJECT-TYPE + SYNTAX INTEGER { + down (1), + loopback (2), + waiting (3), + + + + pointToPoint (4), + designatedRouter (5), + backupDesignatedRouter (6), + otherDesignatedRouter (7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The OSPF Interface State." + DEFVAL { down } + ::= { ospfIfEntry 12 } + + ospfIfDesignatedRouter OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the designated router." + DEFVAL { '00000000'H } -- 0.0.0.0 + ::= { ospfIfEntry 13 } + + ospfIfBackupDesignatedRouter OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the backup designated + router." + DEFVAL { '00000000'H } -- 0.0.0.0 + ::= { ospfIfEntry 14 } + + ospfIfEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this OSPF interface has + changed its state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfIfEntry 15 } + + ospfIfAuthKey OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..256)) + MAX-ACCESS read-create + STATUS current + + + + DESCRIPTION + "The cleartext password used as an OSPF + authentication key when simplePassword security + is enabled. This object does not access any OSPF + cryptogaphic (e.g., MD5) authentication key under + any circumstance. + + If the key length is shorter than 8 octets, the + agent will left adjust and zero fill to 8 octets. + + Unauthenticated interfaces need no authentication + key, and simple password authentication cannot use + a key of more than 8 octets. + + Note that the use of simplePassword authentication + is NOT recommended when there is concern regarding + attack upon the OSPF system. SimplePassword + authentication is only sufficient to protect against + accidental misconfigurations because it re-uses + cleartext passwords [RFC1704]. + + When read, ospfIfAuthKey always returns an octet + string of length zero." + REFERENCE + "OSPF Version 2, Section 9 The Interface Data + Structure" + DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0 + ::= { ospfIfEntry 16 } + + ospfIfStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfIfEntry 17 } + + ospfIfMulticastForwarding OBJECT-TYPE + SYNTAX INTEGER { + blocked (1), -- no multicast forwarding + multicast (2), -- using multicast address + unicast (3) -- to each OSPF neighbor + + + + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The way multicasts should be forwarded on this + interface: not forwarded, forwarded as data + link multicasts, or forwarded as data link + unicasts. Data link multicasting is not + meaningful on point-to-point and NBMA interfaces, + and setting ospfMulticastForwarding to 0 effectively + disables all multicast forwarding." + DEFVAL { blocked } + ::= { ospfIfEntry 18 } + + ospfIfDemand OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether Demand OSPF procedures (hello + suppression to FULL neighbors and setting the + DoNotAge flag on propagated LSAs) should be + performed on this interface." + DEFVAL { false } + ::= { ospfIfEntry 19 } + + ospfIfAuthType OBJECT-TYPE + SYNTAX OspfAuthenticationType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The authentication type specified for an interface. + + Note that this object can be used to engage + in significant attacks against an OSPF router." + REFERENCE + "OSPF Version 2, Appendix D Authentication" + DEFVAL { none } -- no authentication, by default + ::= { ospfIfEntry 20 } + + ospfIfLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of link-local link state advertisements + in this interface's link-local link state database." + ::= { ospfIfEntry 21 } + + + + ospfIfLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the Link State + Advertisements' LS checksums contained in this + interface's link-local link state database. + The sum can be used to determine if there has + been a change in the interface's link state + database and to compare the interface link state + database of routers attached to the same subnet." + ::= { ospfIfEntry 22 } + + ospfIfDesignatedRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Router ID of the designated router." + ::= { ospfIfEntry 23 } + + ospfIfBackupDesignatedRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Router ID of the backup designated router." + ::= { ospfIfEntry 24 } + +-- OSPF Interface Metric Table + + ospfIfMetricTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfIfMetricEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Metric Table describes the metrics to be advertised + for a specified interface at the various types of service. + As such, this table is an adjunct of the OSPF Interface + Table. + + Types of service, as defined by RFC 791, have the ability + to request low delay, high bandwidth, or reliable linkage. + + For the purposes of this specification, the measure of + bandwidth: + + + + + Metric = referenceBandwidth / ifSpeed + + is the default value. + The default reference bandwidth is 10^8. + For multiple link interfaces, note that ifSpeed is the sum + of the individual link speeds. This yields a number having + the following typical values: + + Network Type/bit rate Metric + + >= 100 MBPS 1 + Ethernet/802.3 10 + E1 48 + T1 (ESF) 65 + 64 KBPS 1562 + 56 KBPS 1785 + 19.2 KBPS 5208 + 9.6 KBPS 10416 + + Routes that are not specified use the default + (TOS 0) metric. + + Note that the default reference bandwidth can be configured + using the general group object ospfReferenceBandwidth." + REFERENCE + "OSPF Version 2, Appendix C.3 Router interface + parameters" + ::= { ospf 8 } + + ospfIfMetricEntry OBJECT-TYPE + SYNTAX OspfIfMetricEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A particular TOS metric for a non-virtual interface + identified by the interface index. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix C.3 Router interface + parameters" + INDEX { ospfIfMetricIpAddress, + ospfIfMetricAddressLessIf, + ospfIfMetricTOS } + ::= { ospfIfMetricTable 1 } + + + + + OspfIfMetricEntry ::= + SEQUENCE { + ospfIfMetricIpAddress + IpAddress, + ospfIfMetricAddressLessIf + InterfaceIndexOrZero, + ospfIfMetricTOS + TOSType, + ospfIfMetricValue + Metric, + ospfIfMetricStatus + RowStatus + } + + ospfIfMetricIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The IP address of this OSPF interface. On row + creation, this can be derived from the instance." + ::= { ospfIfMetricEntry 1 } + + ospfIfMetricAddressLessIf OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "For the purpose of easing the instancing of + addressed and addressless interfaces; this + variable takes the value 0 on interfaces with + IP addresses and the value of ifIndex for + interfaces having no IP address. On row + creation, this can be derived from the instance." + ::= { ospfIfMetricEntry 2 } + + ospfIfMetricTOS OBJECT-TYPE + SYNTAX TOSType + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The Type of Service metric being referenced. + On row creation, this can be derived from the + instance." + ::= { ospfIfMetricEntry 3 } + + + + ospfIfMetricValue OBJECT-TYPE + SYNTAX Metric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric of using this Type of Service on + this interface. The default value of the TOS 0 + metric is 10^8 / ifSpeed." + ::= { ospfIfMetricEntry 4 } + + ospfIfMetricStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfIfMetricEntry 5 } + +-- OSPF Virtual Interface Table + + ospfVirtIfTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfVirtIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about this router's virtual interfaces + that the OSPF Process is configured to carry on." + REFERENCE + "OSPF Version 2, Appendix C.4 Virtual link + parameters" + ::= { ospf 9 } + + ospfVirtIfEntry OBJECT-TYPE + SYNTAX OspfVirtIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a single virtual interface. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + + + + INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor } + ::= { ospfVirtIfTable 1 } + + OspfVirtIfEntry ::= + SEQUENCE { + ospfVirtIfAreaId + AreaID, + ospfVirtIfNeighbor + RouterID, + ospfVirtIfTransitDelay + UpToMaxAge, + ospfVirtIfRetransInterval + UpToMaxAge, + ospfVirtIfHelloInterval + HelloRange, + ospfVirtIfRtrDeadInterval + PositiveInteger, + ospfVirtIfState + INTEGER, + ospfVirtIfEvents + Counter32, + ospfVirtIfAuthKey + OCTET STRING, + ospfVirtIfStatus + RowStatus, + ospfVirtIfAuthType + OspfAuthenticationType, + ospfVirtIfLsaCount + Gauge32, + ospfVirtIfLsaCksumSum + Unsigned32 + } + + ospfVirtIfAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The transit area that the virtual link + traverses. By definition, this is not 0.0.0.0." + ::= { ospfVirtIfEntry 1 } + + ospfVirtIfNeighbor OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + + + + DESCRIPTION + "The Router ID of the virtual neighbor." + ::= { ospfVirtIfEntry 2 } + + ospfVirtIfTransitDelay OBJECT-TYPE + SYNTAX UpToMaxAge + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The estimated number of seconds it takes to + transmit a Link State update packet over this + interface. Note that the minimal value SHOULD be + 1 second." + DEFVAL { 1 } + ::= { ospfVirtIfEntry 3 } + + ospfVirtIfRetransInterval OBJECT-TYPE + SYNTAX UpToMaxAge + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds between link state + avertisement retransmissions, for adjacencies + belonging to this interface. This value is + also used when retransmitting database + description and Link State request packets. This + value should be well over the expected + round-trip time. Note that the minimal value SHOULD be + 1 second." + DEFVAL { 5 } + ::= { ospfVirtIfEntry 4 } + + ospfVirtIfHelloInterval OBJECT-TYPE + SYNTAX HelloRange + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of time, in seconds, between the + Hello packets that the router sends on the + interface. This value must be the same for the + virtual neighbor." + DEFVAL { 10 } + ::= { ospfVirtIfEntry 5 } + + ospfVirtIfRtrDeadInterval OBJECT-TYPE + + + + SYNTAX PositiveInteger + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds that a router's Hello + packets have not been seen before its + neighbors declare the router down. This should be + some multiple of the Hello interval. This + value must be the same for the virtual neighbor." + DEFVAL { 60 } + ::= { ospfVirtIfEntry 6 } + + ospfVirtIfState OBJECT-TYPE + SYNTAX INTEGER { + down (1), -- these use the same encoding + pointToPoint (4) -- as the ospfIfTable + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "OSPF virtual interface states." + DEFVAL { down } + ::= { ospfVirtIfEntry 7 } + + ospfVirtIfEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of state changes or error events on + this virtual link. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfVirtIfEntry 8 } + + ospfVirtIfAuthKey OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..256)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The cleartext password used as an OSPF + authentication key when simplePassword security + is enabled. This object does not access any OSPF + cryptogaphic (e.g., MD5) authentication key under + any circumstance. + + + + If the key length is shorter than 8 octets, the + agent will left adjust and zero fill to 8 octets. + + Unauthenticated interfaces need no authentication + key, and simple password authentication cannot use + a key of more than 8 octets. + + Note that the use of simplePassword authentication + is NOT recommended when there is concern regarding + attack upon the OSPF system. SimplePassword + authentication is only sufficient to protect against + accidental misconfigurations because it re-uses + cleartext passwords. [RFC1704] + + When read, ospfIfAuthKey always returns an octet + string of length zero." + REFERENCE + "OSPF Version 2, Section 9 The Interface Data + Structure" + DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0 + ::= { ospfVirtIfEntry 9 } + + ospfVirtIfStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfVirtIfEntry 10 } + + ospfVirtIfAuthType OBJECT-TYPE + SYNTAX OspfAuthenticationType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The authentication type specified for a virtual interface. + + Note that this object can be used to engage + in significant attacks against an OSPF router." + REFERENCE + "OSPF Version 2, Appendix E Authentication" + DEFVAL { none } -- no authentication, by default + + + + ::= { ospfVirtIfEntry 11 } + + ospfVirtIfLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of link-local link state advertisements + in this virtual interface's link-local link state database." + ::= { ospfVirtIfEntry 12 } + + ospfVirtIfLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the link state + advertisements' LS checksums contained in this + virtual interface's link-local link state database. + The sum can be used to determine if there has + been a change in the virtual interface's link state + database, and to compare the virtual interface + link state database of the virtual neighbors." + ::= { ospfVirtIfEntry 13 } + +-- OSPF Neighbor Table + + ospfNbrTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table describing all non-virtual neighbors + in the locality of the OSPF router." + REFERENCE + "OSPF Version 2, Section 10 The Neighbor Data + Structure" + ::= { ospf 10 } + + ospfNbrEntry OBJECT-TYPE + SYNTAX OspfNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The information regarding a single neighbor. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + + + + storage." + REFERENCE + "OSPF Version 2, Section 10 The Neighbor Data + Structure" + INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex } + ::= { ospfNbrTable 1 } + + OspfNbrEntry ::= + SEQUENCE { + ospfNbrIpAddr + IpAddress, + ospfNbrAddressLessIndex + InterfaceIndexOrZero, + ospfNbrRtrId + RouterID, + ospfNbrOptions + Integer32, + ospfNbrPriority + DesignatedRouterPriority, + ospfNbrState + INTEGER, + ospfNbrEvents + Counter32, + ospfNbrLsRetransQLen + Gauge32, + ospfNbmaNbrStatus + RowStatus, + ospfNbmaNbrPermanence + INTEGER, + ospfNbrHelloSuppressed + TruthValue, + ospfNbrRestartHelperStatus + INTEGER, + ospfNbrRestartHelperAge + Unsigned32, + ospfNbrRestartHelperExitReason + INTEGER + } + + ospfNbrIpAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The IP address this neighbor is using in its + IP source address. Note that, on addressless + links, this will not be 0.0.0.0 but the + + + + address of another of the neighbor's interfaces." + ::= { ospfNbrEntry 1 } + + ospfNbrAddressLessIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "On an interface having an IP address, zero. + On addressless interfaces, the corresponding + value of ifIndex in the Internet Standard MIB. + On row creation, this can be derived from the + instance." + ::= { ospfNbrEntry 2 } + + ospfNbrRtrId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A 32-bit integer (represented as a type + IpAddress) uniquely identifying the neighboring + router in the Autonomous System." + DEFVAL { '00000000'H } -- 0.0.0.0 + ::= { ospfNbrEntry 3 } + + ospfNbrOptions OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A bit mask corresponding to the neighbor's + options field. + + Bit 0, if set, indicates that the system will + operate on Type of Service metrics other than + TOS 0. If zero, the neighbor will ignore all + metrics except the TOS 0 metric. + + Bit 1, if set, indicates that the associated + area accepts and operates on external + information; if zero, it is a stub area. + + Bit 2, if set, indicates that the system is + capable of routing IP multicast datagrams, that is + that it implements the multicast extensions to + OSPF. + + + + Bit 3, if set, indicates that the associated + area is an NSSA. These areas are capable of + carrying type-7 external advertisements, which + are translated into type-5 external advertisements + at NSSA borders." + REFERENCE + "OSPF Version 2, Section 12.1.2 Options" + DEFVAL { 0 } + ::= { ospfNbrEntry 4 } + + ospfNbrPriority OBJECT-TYPE + SYNTAX DesignatedRouterPriority + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this neighbor in the designated + router election algorithm. The value 0 signifies + that the neighbor is not eligible to become + the designated router on this particular network." + + DEFVAL { 1 } + ::= { ospfNbrEntry 5 } + + ospfNbrState OBJECT-TYPE + SYNTAX INTEGER { + down (1), + attempt (2), + init (3), + twoWay (4), + exchangeStart (5), + exchange (6), + loading (7), + full (8) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the relationship with this neighbor." + REFERENCE + "OSPF Version 2, Section 10.1 Neighbor States" + DEFVAL { down } + ::= { ospfNbrEntry 6 } + + ospfNbrEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "The number of times this neighbor relationship + has changed state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfNbrEntry 7 } + + ospfNbrLsRetransQLen OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current length of the retransmission + queue." + ::= { ospfNbrEntry 8 } + + ospfNbmaNbrStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfNbrEntry 9 } + + ospfNbmaNbrPermanence OBJECT-TYPE + SYNTAX INTEGER { + dynamic (1), -- learned through protocol + permanent (2) -- configured address + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable displays the status of the entry; + 'dynamic' and 'permanent' refer to how the neighbor + became known." + DEFVAL { permanent } + ::= { ospfNbrEntry 10 } + + ospfNbrHelloSuppressed OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "Indicates whether Hellos are being suppressed + to the neighbor." + ::= { ospfNbrEntry 11 } + + ospfNbrRestartHelperStatus OBJECT-TYPE + SYNTAX INTEGER { notHelping (1), + helping (2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether the router is acting + as a graceful restart helper for the neighbor." + ::= { ospfNbrEntry 12 } + + ospfNbrRestartHelperAge OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor." + ::= { ospfNbrEntry 13 } + + ospfNbrRestartHelperExitReason OBJECT-TYPE + SYNTAX INTEGER { none (1), -- not attempted + inProgress (2), -- restart in + -- progress + completed (3), -- successfully + -- completed + timedOut (4), -- timed out + topologyChanged (5) -- aborted due to + -- topology + -- change. + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor." + ::= { ospfNbrEntry 14 } + +-- OSPF Virtual Neighbor Table + + + + + ospfVirtNbrTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfVirtNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table describes all virtual neighbors. + Since virtual links are configured + in the Virtual Interface Table, this table is read-only." + REFERENCE + "OSPF Version 2, Section 15 Virtual Links" + ::= { ospf 11 } + + ospfVirtNbrEntry OBJECT-TYPE + SYNTAX OspfVirtNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Virtual neighbor information." + INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId } + ::= { ospfVirtNbrTable 1 } + + OspfVirtNbrEntry ::= + SEQUENCE { + ospfVirtNbrArea + AreaID, + ospfVirtNbrRtrId + RouterID, + ospfVirtNbrIpAddr + IpAddress, + ospfVirtNbrOptions + Integer32, + ospfVirtNbrState + INTEGER, + ospfVirtNbrEvents + Counter32, + ospfVirtNbrLsRetransQLen + Gauge32, + ospfVirtNbrHelloSuppressed + TruthValue, + ospfVirtNbrRestartHelperStatus + INTEGER, + ospfVirtNbrRestartHelperAge + Unsigned32, + ospfVirtNbrRestartHelperExitReason + INTEGER + } + + ospfVirtNbrArea OBJECT-TYPE + + + + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The Transit Area Identifier." + ::= { ospfVirtNbrEntry 1 } + + ospfVirtNbrRtrId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying the + neighboring router in the Autonomous System." + ::= { ospfVirtNbrEntry 2 } + + ospfVirtNbrIpAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address this virtual neighbor is using." + ::= { ospfVirtNbrEntry 3 } + + ospfVirtNbrOptions OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A bit mask corresponding to the neighbor's + options field. + + Bit 1, if set, indicates that the system will + operate on Type of Service metrics other than + TOS 0. If zero, the neighbor will ignore all + metrics except the TOS 0 metric. + + Bit 2, if set, indicates that the system is + network multicast capable, i.e., that it + implements OSPF multicast routing." + ::= { ospfVirtNbrEntry 4 } + + ospfVirtNbrState OBJECT-TYPE + SYNTAX INTEGER { + down (1), + attempt (2), + + + + init (3), + twoWay (4), + exchangeStart (5), + exchange (6), + loading (7), + full (8) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the virtual neighbor relationship." + ::= { ospfVirtNbrEntry 5 } + + ospfVirtNbrEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this virtual link has + changed its state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime." + ::= { ospfVirtNbrEntry 6 } + + ospfVirtNbrLsRetransQLen OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current length of the retransmission + queue." + ::= { ospfVirtNbrEntry 7 } + + ospfVirtNbrHelloSuppressed OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether Hellos are being suppressed + to the neighbor." + ::= { ospfVirtNbrEntry 8 } + + ospfVirtNbrRestartHelperStatus OBJECT-TYPE + SYNTAX INTEGER { notHelping (1), + helping (2) + } + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether the router is acting + as a graceful restart helper for the neighbor." + ::= { ospfVirtNbrEntry 9 } + + ospfVirtNbrRestartHelperAge OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor." + ::= { ospfVirtNbrEntry 10 } + + ospfVirtNbrRestartHelperExitReason OBJECT-TYPE + SYNTAX INTEGER { none (1), -- not attempted + inProgress (2), -- restart in + -- progress + completed (3), -- successfully + -- completed + timedOut (4), -- timed out + topologyChanged (5) -- aborted due to + -- topology + -- change. + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor." + ::= { ospfVirtNbrEntry 11 } + +-- OSPF Link State Database, External + + ospfExtLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfExtLsdbEntry + MAX-ACCESS not-accessible + STATUS deprecated + DESCRIPTION + "The OSPF Process's external LSA link state database. + + This table is identical to the OSPF LSDB Table + in format, but contains only external link state + advertisements. The purpose is to allow external + + + + LSAs to be displayed once for the router rather + than once in each non-stub area. + + Note that external LSAs are also in the AS-scope link state + database." + REFERENCE + "OSPF Version 2, Section 12 Link State Advertisements" + ::= { ospf 12 } + + ospfExtLsdbEntry OBJECT-TYPE + SYNTAX OspfExtLsdbEntry + MAX-ACCESS not-accessible + STATUS deprecated + DESCRIPTION + "A single link state advertisement." + INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId } + ::= { ospfExtLsdbTable 1 } + + OspfExtLsdbEntry ::= + SEQUENCE { + ospfExtLsdbType + INTEGER, + ospfExtLsdbLsid + IpAddress, + ospfExtLsdbRouterId + RouterID, + ospfExtLsdbSequence + Integer32, + ospfExtLsdbAge + Integer32, + ospfExtLsdbChecksum + Integer32, + ospfExtLsdbAdvertisement + OCTET STRING + } + + ospfExtLsdbType OBJECT-TYPE + SYNTAX INTEGER { + asExternalLink (5) + } + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS deprecated + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate advertisement + format." + REFERENCE + + + + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + + ::= { ospfExtLsdbEntry 1 } + + ospfExtLsdbLsid OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS deprecated + DESCRIPTION + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + it identifies the piece of the routing domain + that is being described by the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.4 Link State ID" + ::= { ospfExtLsdbEntry 2 } + + ospfExtLsdbRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS deprecated + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1 Global parameters" + ::= { ospfExtLsdbEntry 3 } + + ospfExtLsdbSequence OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6 LS sequence + number" + ::= { ospfExtLsdbEntry 4 } + + + + ospfExtLsdbAge OBJECT-TYPE + SYNTAX Integer32 -- Should be 0..MaxAge, except when + -- doNotAge bit is set + UNITS "seconds" + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "This field is the age of the link state + advertisement in seconds." + REFERENCE + "OSPF Version 2, Section 12.1.1 LS age" + ::= { ospfExtLsdbEntry 5 } + + ospfExtLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7 LS checksum" + ::= { ospfExtLsdbEntry 6 } + + ospfExtLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(36)) + MAX-ACCESS read-only + STATUS deprecated + DESCRIPTION + "The entire link state advertisement, including + its header." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements" + ::= { ospfExtLsdbEntry 7 } + +-- OSPF Use of the CIDR Route Table + + ospfRouteGroup OBJECT IDENTIFIER ::= { ospf 13 } + +-- The IP Forwarding Table defines a number of objects for use by +-- the routing protocol to externalize its information. Most of + + + +-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy, +-- ipForwardNextHop, ipForwardIfIndex, ipForwardType, +-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are +-- defined there. + +-- Those that leave some discretion are defined here. + +-- ipCidrRouteProto is, of course, ospf (13). + +-- ipCidrRouteAge is the time since the route was first +-- calculated, as opposed to the time since the last SPF run. +-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing +-- protocol. The following values shall be found there depending +-- on the way the route was calculated. + + ospfIntraArea OBJECT IDENTIFIER ::= { ospfRouteGroup 1 } + ospfInterArea OBJECT IDENTIFIER ::= { ospfRouteGroup 2 } + ospfExternalType1 OBJECT IDENTIFIER ::= { ospfRouteGroup 3 } + ospfExternalType2 OBJECT IDENTIFIER ::= { ospfRouteGroup 4 } + +-- ipCidrRouteMetric1 is, by definition, the primary routing +-- metric. Therefore, it should be the metric that route +-- selection is based on. For intra-area and inter-area routes, +-- it is an OSPF metric. For External Type 1 (comparable value) +-- routes, it is an OSPF metric plus the External Metric. For +-- external Type 2 (non-comparable value) routes, it is the +-- external metric. + +-- ipCidrRouteMetric2 is, by definition, a secondary routing +-- metric. Therefore, it should be the metric that breaks a tie +-- among routes having equal metric1 values and the same +-- calculation rule. For intra-area, inter-area routes, and +-- External Type 1 (comparable value) routes, it is unused. For +-- External Type 2 (non-comparable value) routes, it is the metric +-- to the AS border router. + +-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 +-- are unused. + +-- The OSPF Area Aggregate Table +-- +-- This table replaces the OSPF Area Summary Table, being an +-- extension of that for CIDR routers. + + ospfAreaAggregateTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAreaAggregateEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "The Area Aggregate Table acts as an adjunct + to the Area Table. It describes those address aggregates + that are configured to be propagated from an area. + Its purpose is to reduce the amount of information + that is known beyond an Area's borders. + + It contains a set of IP address ranges + specified by an IP address/IP network mask pair. + For example, a class B address range of X.X.X.X + with a network mask of 255.255.0.0 includes all IP + addresses from X.X.0.0 to X.X.255.255. + + Note that if ranges are configured such that one range + subsumes another range (e.g., 10.0.0.0 mask 255.0.0.0 + and 10.1.0.0 mask 255.255.0.0), + the most specific match is the preferred one." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospf 14 } + + ospfAreaAggregateEntry OBJECT-TYPE + SYNTAX OspfAreaAggregateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single area aggregate entry. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType, + ospfAreaAggregateNet, ospfAreaAggregateMask } + ::= { ospfAreaAggregateTable 1 } + + OspfAreaAggregateEntry ::= + SEQUENCE { + ospfAreaAggregateAreaID + AreaID, + ospfAreaAggregateLsdbType + INTEGER, + ospfAreaAggregateNet + IpAddress, + ospfAreaAggregateMask + IpAddress, + ospfAreaAggregateStatus + + + + RowStatus, + ospfAreaAggregateEffect + INTEGER, + ospfAreaAggregateExtRouteTag + Unsigned32 + } + + ospfAreaAggregateAreaID OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The area within which the address aggregate is to be + found." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaAggregateEntry 1 } + + ospfAreaAggregateLsdbType OBJECT-TYPE + SYNTAX INTEGER { + summaryLink (3), + nssaExternalLink (7) + } + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The type of the address aggregate. This field + specifies the Lsdb type that this address + aggregate applies to." + REFERENCE + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + ::= { ospfAreaAggregateEntry 2 } + + ospfAreaAggregateNet OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The IP address of the net or subnet indicated + by the range." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaAggregateEntry 3 } + + + + + ospfAreaAggregateMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only -- read-only since originally an + -- SMIv1 index + STATUS current + DESCRIPTION + "The subnet mask that pertains to the net or + subnet." + REFERENCE + "OSPF Version 2, Appendix C.2 Area parameters" + ::= { ospfAreaAggregateEntry 4 } + + ospfAreaAggregateStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfAreaAggregateEntry 5 } + + ospfAreaAggregateEffect OBJECT-TYPE + SYNTAX INTEGER { + advertiseMatching (1), + doNotAdvertiseMatching (2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Subnets subsumed by ranges either trigger the + advertisement of the indicated aggregate + (advertiseMatching) or result in the subnet's not + being advertised at all outside the area." + DEFVAL { advertiseMatching } + ::= { ospfAreaAggregateEntry 6 } + + ospfAreaAggregateExtRouteTag OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "External route tag to be included in NSSA (type-7) + LSAs." + + + + DEFVAL { 0 } + ::= { ospfAreaAggregateEntry 7 } + +-- OSPF Link State Database, link-local for non-virtual links + + + ospfLocalLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfLocalLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPF Process's link-local link state database + for non-virtual links. + This table is identical to the OSPF LSDB Table + in format, but contains only link-local Link State + Advertisements for non-virtual links. The purpose is + to allow link-local LSAs to be displayed for each + non-virtual interface. This table is implemented to + support type-9 LSAs that are defined + in 'The OSPF Opaque LSA Option'." + REFERENCE + "OSPF Version 2, Section 12 Link State Advertisements + and The OSPF Opaque LSA Option" + ::= { ospf 17 } + + ospfLocalLsdbEntry OBJECT-TYPE + SYNTAX OspfLocalLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single link state advertisement." + INDEX { ospfLocalLsdbIpAddress, ospfLocalLsdbAddressLessIf, + ospfLocalLsdbType, ospfLocalLsdbLsid, ospfLocalLsdbRouterId + } + ::= { ospfLocalLsdbTable 1 } + + OspfLocalLsdbEntry ::= + SEQUENCE { + ospfLocalLsdbIpAddress + IpAddress, + ospfLocalLsdbAddressLessIf + InterfaceIndexOrZero, + ospfLocalLsdbType + INTEGER, + ospfLocalLsdbLsid + IpAddress, + ospfLocalLsdbRouterId + RouterID, + + + + ospfLocalLsdbSequence + Integer32, + ospfLocalLsdbAge + Integer32, + ospfLocalLsdbChecksum + Integer32, + ospfLocalLsdbAdvertisement + OCTET STRING + } + + ospfLocalLsdbIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP address of the interface from + which the LSA was received if the interface is + numbered." + REFERENCE + "OSPF Version 2, Appendix C.3 Interface parameters" + ::= { ospfLocalLsdbEntry 1 } + + ospfLocalLsdbAddressLessIf OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface index of the interface from + which the LSA was received if the interface is + unnumbered." + REFERENCE + "OSPF Version 2, Appendix C.3 Interface parameters" + ::= { ospfLocalLsdbEntry 2 } + + ospfLocalLsdbType OBJECT-TYPE + SYNTAX INTEGER { localOpaqueLink (9) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format." + REFERENCE + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + ::= { ospfLocalLsdbEntry 3 } + + ospfLocalLsdbLsid OBJECT-TYPE + + + + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS Type Specific field + containing a 32-bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.4 Link State ID" + ::= { ospfLocalLsdbEntry 4 } + + ospfLocalLsdbRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1 Global parameters" + ::= { ospfLocalLsdbEntry 5 } + + ospfLocalLsdbSequence OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6 LS sequence + number" + ::= { ospfLocalLsdbEntry 6 } + + ospfLocalLsdbAge OBJECT-TYPE + SYNTAX Integer32 -- Should be 0..MaxAge, except when + -- doNotAge bit is set + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "This field is the age of the link state + advertisement in seconds." + REFERENCE + "OSPF Version 2, Section 12.1.1 LS age" + ::= { ospfLocalLsdbEntry 7 } + + ospfLocalLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7 LS checksum" + ::= { ospfLocalLsdbEntry 8 } + + ospfLocalLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements" + ::= { ospfLocalLsdbEntry 9 } + +-- OSPF Link State Database, link-local for virtual Links + + ospfVirtLocalLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfVirtLocalLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPF Process's link-local link state database + for virtual links. + + + + + This table is identical to the OSPF LSDB Table + in format, but contains only link-local Link State + Advertisements for virtual links. The purpose is to + allow link-local LSAs to be displayed for each virtual + interface. This table is implemented to support type-9 LSAs + that are defined in 'The OSPF Opaque LSA Option'." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements and The OSPF Opaque LSA Option" + ::= { ospf 18 } + + ospfVirtLocalLsdbEntry OBJECT-TYPE + SYNTAX OspfVirtLocalLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single link state advertisement." + INDEX { ospfVirtLocalLsdbTransitArea, + ospfVirtLocalLsdbNeighbor, + ospfVirtLocalLsdbType, + ospfVirtLocalLsdbLsid, + ospfVirtLocalLsdbRouterId + } + ::= { ospfVirtLocalLsdbTable 1 } + + OspfVirtLocalLsdbEntry ::= + SEQUENCE { + ospfVirtLocalLsdbTransitArea + AreaID, + ospfVirtLocalLsdbNeighbor + RouterID, + ospfVirtLocalLsdbType + INTEGER, + ospfVirtLocalLsdbLsid + IpAddress, + ospfVirtLocalLsdbRouterId + RouterID, + ospfVirtLocalLsdbSequence + Integer32, + ospfVirtLocalLsdbAge + Integer32, + ospfVirtLocalLsdbChecksum + Integer32, + ospfVirtLocalLsdbAdvertisement + OCTET STRING + } + + ospfVirtLocalLsdbTransitArea OBJECT-TYPE + + + + SYNTAX AreaID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The transit area that the virtual link + traverses. By definition, this is not 0.0.0.0." + REFERENCE + "OSPF Version 2, Appendix C.3 Interface parameters" + ::= { ospfVirtLocalLsdbEntry 1 } + + ospfVirtLocalLsdbNeighbor OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Router ID of the virtual neighbor." + REFERENCE + "OSPF Version 2, Appendix C.3 Interface parameters" + ::= { ospfVirtLocalLsdbEntry 2 } + + ospfVirtLocalLsdbType OBJECT-TYPE + SYNTAX INTEGER { localOpaqueLink (9) } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format." + REFERENCE + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + ::= { ospfVirtLocalLsdbEntry 3 } + + ospfVirtLocalLsdbLsid OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS Type Specific field + containing a 32-bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.4 Link State ID" + ::= { ospfVirtLocalLsdbEntry 4 } + + ospfVirtLocalLsdbRouterId OBJECT-TYPE + SYNTAX RouterID + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1 Global parameters" + ::= { ospfVirtLocalLsdbEntry 5 } + + ospfVirtLocalLsdbSequence OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6 LS sequence + number" + ::= { ospfVirtLocalLsdbEntry 6 } + + ospfVirtLocalLsdbAge OBJECT-TYPE + SYNTAX Integer32 -- Should be 0..MaxAge, except when + -- doNotAge bit is set + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds." + REFERENCE + "OSPF Version 2, Section 12.1.1 LS age" + ::= { ospfVirtLocalLsdbEntry 7 } + + ospfVirtLocalLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + + + + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7 LS checksum" + ::= { ospfVirtLocalLsdbEntry 8 } + + ospfVirtLocalLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size." + ::= { ospfVirtLocalLsdbEntry 9 } + +-- OSPF Link State Database, AS-scope + + ospfAsLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAsLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPF Process's AS-scope LSA link state database. + The database contains the AS-scope Link State + Advertisements from throughout the areas that + the device is attached to. + + This table is identical to the OSPF LSDB Table + in format, but contains only AS-scope Link State + Advertisements. The purpose is to allow AS-scope + LSAs to be displayed once for the router rather + than once in each non-stub area." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements" + ::= { ospf 19 } + + ospfAsLsdbEntry OBJECT-TYPE + SYNTAX OspfAsLsdbEntry + + + + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single link state advertisement." + INDEX { ospfAsLsdbType, ospfAsLsdbLsid, ospfAsLsdbRouterId } + ::= { ospfAsLsdbTable 1 } + + OspfAsLsdbEntry ::= + SEQUENCE { + ospfAsLsdbType + INTEGER, + ospfAsLsdbLsid + IpAddress, + ospfAsLsdbRouterId + RouterID, + ospfAsLsdbSequence + Integer32, + ospfAsLsdbAge + Integer32, + ospfAsLsdbChecksum + Integer32, + ospfAsLsdbAdvertisement + OCTET STRING + } + + ospfAsLsdbType OBJECT-TYPE + SYNTAX INTEGER { + asExternalLink (5), + asOpaqueLink (11) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format." + REFERENCE + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header" + ::= { ospfAsLsdbEntry 1 } + + ospfAsLsdbLsid OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + + + + it identifies the piece of the routing domain + that is being described by the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.4 Link State ID" + ::= { ospfAsLsdbEntry 2 } + + ospfAsLsdbRouterId OBJECT-TYPE + SYNTAX RouterID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1 Global parameters" + ::= { ospfAsLsdbEntry 3 } + + ospfAsLsdbSequence OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6 LS sequence + number" + ::= { ospfAsLsdbEntry 4 } + + ospfAsLsdbAge OBJECT-TYPE + SYNTAX Integer32 -- Should be 0..MaxAge, except when + -- doNotAge bit is set + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds." + REFERENCE + "OSPF Version 2, Section 12.1.1 LS age" + ::= { ospfAsLsdbEntry 5 } + + + + + ospfAsLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7 LS checksum" + ::= { ospfAsLsdbEntry 6 } + + ospfAsLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + REFERENCE + "OSPF Version 2, Section 12 Link State + Advertisements. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size." + ::= { ospfAsLsdbEntry 7 } + + -- OSPF Area LSA Counter Table + + ospfAreaLsaCountTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAreaLsaCountEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table maintains per-area, per-LSA-type counters" + ::= { ospf 20 } + + ospfAreaLsaCountEntry OBJECT-TYPE + SYNTAX OspfAreaLsaCountEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry with a number of link advertisements + + + + of a given type for a given area." + INDEX { ospfAreaLsaCountAreaId, ospfAreaLsaCountLsaType } + ::= { ospfAreaLsaCountTable 1 } + + OspfAreaLsaCountEntry ::= + SEQUENCE { + ospfAreaLsaCountAreaId + AreaID, + ospfAreaLsaCountLsaType + INTEGER, + ospfAreaLsaCountNumber + Gauge32 + } + + ospfAreaLsaCountAreaId OBJECT-TYPE + SYNTAX AreaID + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This entry Area ID." + ::= { ospfAreaLsaCountEntry 1 } + + ospfAreaLsaCountLsaType OBJECT-TYPE + SYNTAX INTEGER { + routerLink (1), + networkLink (2), + summaryLink (3), + asSummaryLink (4), + multicastLink (6), + nssaExternalLink (7), + areaOpaqueLink (10) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This entry LSA type." + ::= { ospfAreaLsaCountEntry 2 } + + ospfAreaLsaCountNumber OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of LSAs of a given type for a given area." + ::= { ospfAreaLsaCountEntry 3 } + +-- conformance information + + + + +ospfConformance OBJECT IDENTIFIER ::= { ospf 15 } + +ospfGroups OBJECT IDENTIFIER ::= { ospfConformance 1 } +ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 } + +-- compliance statements + + ospfCompliance MODULE-COMPLIANCE + STATUS deprecated + DESCRIPTION + "The compliance statement for OSPF systems + conforming to RFC 1850." + MODULE -- this module + MANDATORY-GROUPS { + ospfBasicGroup, + ospfAreaGroup, + ospfStubAreaGroup, + ospfIfGroup, + ospfIfMetricGroup, + ospfVirtIfGroup, + ospfNbrGroup, + ospfVirtNbrGroup, + ospfAreaAggregateGroup + } + GROUP ospfHostGroup + DESCRIPTION + "This group is mandatory for OSPF systems that support + attached hosts." + GROUP ospfLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their per-area link state database." + GROUP ospfExtLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their external link state database." + ::= { ospfCompliances 1 } + + ospfCompliance2 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement." + MODULE -- this module + MANDATORY-GROUPS { + ospfBasicGroup2, + ospfAreaGroup2, + ospfStubAreaGroup, + ospfIfGroup2, + + + + ospfIfMetricGroup, + ospfVirtIfGroup2, + ospfNbrGroup2, + ospfVirtNbrGroup2, + ospfAreaAggregateGroup2 + } + GROUP ospfHostGroup2 + DESCRIPTION + "This group is mandatory for OSPF systems that support + attached hosts." + GROUP ospfLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their per-area link state database." + GROUP ospfAsLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their AS-scope link state database." + GROUP ospfLocalLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their per-link link state database for non-virtual + links." + GROUP ospfVirtLocalLsdbGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + their per-link link state database for virtual links." + GROUP ospfAreaLsaCountGroup + DESCRIPTION + "This group is mandatory for OSPF systems that display + per-area, per-LSA-type counters." + ::= { ospfCompliances 2 } + + ospfComplianceObsolete MODULE-COMPLIANCE + STATUS obsolete + DESCRIPTION + "Contains obsolete object groups." + MODULE -- this module + GROUP ospfAreaRangeGroup + DESCRIPTION + "This group is obsolete, and it is mandatory only + for non-Classless Inter-Domain Routing (CIDR) OSPF + systems that support multiple areas." + GROUP ospfObsoleteGroup + DESCRIPTION + "This group contains obsolete objects, + which are no longer required for OSPF systems." + ::= { ospfCompliances 3 } + + + +-- units of conformance + + ospfBasicGroup OBJECT-GROUP + OBJECTS { + ospfRouterId, + ospfAdminStat, + ospfVersionNumber, + ospfAreaBdrRtrStatus, + ospfASBdrRtrStatus, + ospfExternLsaCount, + ospfExternLsaCksumSum, + ospfTOSSupport, + ospfOriginateNewLsas, + ospfRxNewLsas, + ospfExtLsdbLimit, + ospfMulticastExtensions, + ospfExitOverflowInterval, + ospfDemandExtensions + } + STATUS deprecated + DESCRIPTION + "These objects are used to monitor/manage + global OSPF parameters. This object group + conforms to RFC 1850." + ::= { ospfGroups 1 } + + ospfAreaGroup OBJECT-GROUP + OBJECTS { + ospfAreaId, + ospfImportAsExtern, + ospfSpfRuns, + ospfAreaBdrRtrCount, + ospfAsBdrRtrCount, + ospfAreaLsaCount, + ospfAreaLsaCksumSum, + ospfAreaSummary, + ospfAreaStatus + } + STATUS deprecated + DESCRIPTION + "These objects are used for OSPF systems + supporting areas per RFC 1850." + ::= { ospfGroups 2 } + + ospfStubAreaGroup OBJECT-GROUP + OBJECTS { + ospfStubAreaId, + ospfStubTOS, + + + + ospfStubMetric, + ospfStubStatus, + ospfStubMetricType + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + supporting stub areas." + ::= { ospfGroups 3 } + + ospfLsdbGroup OBJECT-GROUP + OBJECTS { + ospfLsdbAreaId, + ospfLsdbType, + ospfLsdbLsid, + ospfLsdbRouterId, + ospfLsdbSequence, + ospfLsdbAge, + ospfLsdbChecksum, + ospfLsdbAdvertisement + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + that display their link state database." + ::= { ospfGroups 4 } + + ospfAreaRangeGroup OBJECT-GROUP + OBJECTS { + ospfAreaRangeAreaId, + ospfAreaRangeNet, + ospfAreaRangeMask, + ospfAreaRangeStatus, + ospfAreaRangeEffect + } + STATUS obsolete + DESCRIPTION + "These objects are used for non-CIDR OSPF + systems that support multiple areas. This + object group is obsolete." + ::= { ospfGroups 5 } + + ospfHostGroup OBJECT-GROUP + OBJECTS { + ospfHostIpAddress, + ospfHostTOS, + ospfHostMetric, + ospfHostStatus, + + + + ospfHostAreaID + } + STATUS deprecated + DESCRIPTION + "These objects are used for OSPF systems + that support attached hosts." + ::= { ospfGroups 6 } + + ospfIfGroup OBJECT-GROUP + OBJECTS { + ospfIfIpAddress, + ospfAddressLessIf, + ospfIfAreaId, + ospfIfType, + ospfIfAdminStat, + ospfIfRtrPriority, + ospfIfTransitDelay, + ospfIfRetransInterval, + ospfIfHelloInterval, + ospfIfRtrDeadInterval, + ospfIfPollInterval, + ospfIfState, + ospfIfDesignatedRouter, + ospfIfBackupDesignatedRouter, + ospfIfEvents, + ospfIfAuthType, + ospfIfAuthKey, + ospfIfStatus, + ospfIfMulticastForwarding, + ospfIfDemand + } + STATUS deprecated + DESCRIPTION + "These objects are used to monitor/manage OSPF + interfaces. This object group conforms to RFC 1850." + ::= { ospfGroups 7 } + + ospfIfMetricGroup OBJECT-GROUP + OBJECTS { + ospfIfMetricIpAddress, + ospfIfMetricAddressLessIf, + ospfIfMetricTOS, + ospfIfMetricValue, + ospfIfMetricStatus + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems for supporting + + + + interface metrics." + ::= { ospfGroups 8 } + + ospfVirtIfGroup OBJECT-GROUP + OBJECTS { + ospfVirtIfAreaId, + ospfVirtIfNeighbor, + ospfVirtIfTransitDelay, + ospfVirtIfRetransInterval, + ospfVirtIfHelloInterval, + ospfVirtIfRtrDeadInterval, + ospfVirtIfState, + ospfVirtIfEvents, + ospfVirtIfAuthType, + ospfVirtIfAuthKey, + ospfVirtIfStatus + } + STATUS deprecated + DESCRIPTION + "These objects are used for OSPF systems for supporting + virtual interfaces. This object group conforms + to RFC 1850." + ::= { ospfGroups 9 } + + ospfNbrGroup OBJECT-GROUP + OBJECTS { + ospfNbrIpAddr, + ospfNbrAddressLessIndex, + ospfNbrRtrId, + ospfNbrOptions, + ospfNbrPriority, + ospfNbrState, + ospfNbrEvents, + ospfNbrLsRetransQLen, + ospfNbmaNbrStatus, + ospfNbmaNbrPermanence, + ospfNbrHelloSuppressed + } + STATUS deprecated + DESCRIPTION + "These objects are used to monitor/manage OSPF neighbors. + This object group conforms to RFC 1850." + ::= { ospfGroups 10 } + + ospfVirtNbrGroup OBJECT-GROUP + OBJECTS { + ospfVirtNbrArea, + ospfVirtNbrRtrId, + + + + ospfVirtNbrIpAddr, + ospfVirtNbrOptions, + ospfVirtNbrState, + ospfVirtNbrEvents, + ospfVirtNbrLsRetransQLen, + ospfVirtNbrHelloSuppressed + } + STATUS deprecated + DESCRIPTION + "These objects are used to monitor/manage OSPF virtual + neighbors. This object group conforms to RFC 1850." + + ::= { ospfGroups 11 } + + ospfExtLsdbGroup OBJECT-GROUP + OBJECTS { + ospfExtLsdbType, + ospfExtLsdbLsid, + ospfExtLsdbRouterId, + ospfExtLsdbSequence, + ospfExtLsdbAge, + ospfExtLsdbChecksum, + ospfExtLsdbAdvertisement + } + STATUS deprecated + DESCRIPTION + "These objects are used for OSPF systems that display + their link state database. This object group + conforms to RFC 1850. + + This object group is replaced by the ospfAsLsdbGroup + in order to support any AS-scope LSA type in a single + table." + ::= { ospfGroups 12 } + + ospfAreaAggregateGroup OBJECT-GROUP + OBJECTS { + ospfAreaAggregateAreaID, + ospfAreaAggregateLsdbType, + ospfAreaAggregateNet, + ospfAreaAggregateMask, + ospfAreaAggregateStatus, + ospfAreaAggregateEffect + } + STATUS deprecated + DESCRIPTION + "These objects are used for OSPF systems to support + network prefix aggregation across areas." + + + + ::= { ospfGroups 13 } + + ospfLocalLsdbGroup OBJECT-GROUP + OBJECTS { + ospfLocalLsdbSequence, + ospfLocalLsdbAge, + ospfLocalLsdbChecksum, + ospfLocalLsdbAdvertisement + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + that display their link-local link state databases + for non-virtual links." + ::= { ospfGroups 14 } + + ospfVirtLocalLsdbGroup OBJECT-GROUP + OBJECTS { + ospfVirtLocalLsdbSequence, + ospfVirtLocalLsdbAge, + ospfVirtLocalLsdbChecksum, + ospfVirtLocalLsdbAdvertisement + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + that display their link-local link state databases + for virtual links." + ::= { ospfGroups 15 } + + ospfAsLsdbGroup OBJECT-GROUP + OBJECTS { + ospfAsLsdbSequence, + ospfAsLsdbAge, + ospfAsLsdbChecksum, + ospfAsLsdbAdvertisement + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + that display their AS-scope link state database." + ::= { ospfGroups 16 } + + ospfBasicGroup2 OBJECT-GROUP + OBJECTS { + ospfRouterId, + ospfAdminStat, + ospfVersionNumber, + + + + ospfAreaBdrRtrStatus, + ospfASBdrRtrStatus, + ospfExternLsaCount, + ospfExternLsaCksumSum, + ospfTOSSupport, + ospfOriginateNewLsas, + ospfRxNewLsas, + ospfExtLsdbLimit, + ospfMulticastExtensions, + ospfExitOverflowInterval, + ospfDemandExtensions, + ospfRFC1583Compatibility, + ospfOpaqueLsaSupport, + ospfReferenceBandwidth, + ospfRestartSupport, + ospfRestartInterval, + ospfRestartStrictLsaChecking, + ospfRestartStatus, + ospfRestartAge, + ospfRestartExitReason, + ospfAsLsaCount, + ospfAsLsaCksumSum, + ospfStubRouterSupport, + ospfStubRouterAdvertisement, + ospfDiscontinuityTime + } + STATUS current + DESCRIPTION + "These objects are used to monitor/manage OSPF global + parameters." + ::= { ospfGroups 17 } + + ospfAreaGroup2 OBJECT-GROUP + OBJECTS { + ospfAreaId, + ospfImportAsExtern, + ospfSpfRuns, + ospfAreaBdrRtrCount, + ospfAsBdrRtrCount, + ospfAreaLsaCount, + ospfAreaLsaCksumSum, + ospfAreaSummary, + ospfAreaStatus, + ospfAreaNssaTranslatorRole, + ospfAreaNssaTranslatorState, + ospfAreaNssaTranslatorStabilityInterval, + ospfAreaNssaTranslatorEvents + } + + + + STATUS current + DESCRIPTION + "These objects are used by OSPF systems + to support areas." + ::= { ospfGroups 18 } + + ospfIfGroup2 OBJECT-GROUP + OBJECTS { + ospfIfIpAddress, + ospfAddressLessIf, + ospfIfAreaId, + ospfIfType, + ospfIfAdminStat, + ospfIfRtrPriority, + ospfIfTransitDelay, + ospfIfRetransInterval, + ospfIfHelloInterval, + ospfIfRtrDeadInterval, + ospfIfPollInterval, + ospfIfState, + ospfIfDesignatedRouter, + ospfIfBackupDesignatedRouter, + ospfIfEvents, + ospfIfAuthType, + ospfIfAuthKey, + ospfIfStatus, + ospfIfMulticastForwarding, + ospfIfDemand, + ospfIfLsaCount, + ospfIfLsaCksumSum + } + STATUS current + DESCRIPTION + "These objects are used to monitor/manage OSPF interfaces." + ::= { ospfGroups 19 } + + ospfVirtIfGroup2 OBJECT-GROUP + OBJECTS { + ospfVirtIfAreaId, + ospfVirtIfNeighbor, + ospfVirtIfTransitDelay, + ospfVirtIfRetransInterval, + ospfVirtIfHelloInterval, + ospfVirtIfRtrDeadInterval, + ospfVirtIfState, + ospfVirtIfEvents, + ospfVirtIfAuthType, + ospfVirtIfAuthKey, + + + + ospfVirtIfStatus, + ospfVirtIfLsaCount, + ospfVirtIfLsaCksumSum, + ospfIfDesignatedRouterId, + ospfIfBackupDesignatedRouterId + } + STATUS current + DESCRIPTION + "These objects are used to monitor/manage OSPF + virtual interfaces." + ::= { ospfGroups 20 } + + ospfNbrGroup2 OBJECT-GROUP + OBJECTS { + ospfNbrIpAddr, + ospfNbrAddressLessIndex, + ospfNbrRtrId, + ospfNbrOptions, + ospfNbrPriority, + ospfNbrState, + ospfNbrEvents, + ospfNbrLsRetransQLen, + ospfNbmaNbrStatus, + ospfNbmaNbrPermanence, + ospfNbrHelloSuppressed, + ospfNbrRestartHelperStatus, + ospfNbrRestartHelperAge, + ospfNbrRestartHelperExitReason + } + STATUS current + DESCRIPTION + "These objects are used to monitor/manage OSPF + neighbors." + ::= { ospfGroups 21 } + + ospfVirtNbrGroup2 OBJECT-GROUP + OBJECTS { + ospfVirtNbrArea, + ospfVirtNbrRtrId, + ospfVirtNbrIpAddr, + ospfVirtNbrOptions, + ospfVirtNbrState, + ospfVirtNbrEvents, + ospfVirtNbrLsRetransQLen, + ospfVirtNbrHelloSuppressed, + ospfVirtNbrRestartHelperStatus, + ospfVirtNbrRestartHelperAge, + ospfVirtNbrRestartHelperExitReason + + + + } + STATUS current + DESCRIPTION + "These objects are used to monitor/manage OSPF + virtual neighbors." + ::= { ospfGroups 22 } + + ospfAreaAggregateGroup2 OBJECT-GROUP + OBJECTS { + ospfAreaAggregateAreaID, + ospfAreaAggregateLsdbType, + ospfAreaAggregateNet, + ospfAreaAggregateMask, + ospfAreaAggregateStatus, + ospfAreaAggregateEffect, + ospfAreaAggregateExtRouteTag + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems to support + network prefix aggregation across areas." + ::= { ospfGroups 23 } + + ospfAreaLsaCountGroup OBJECT-GROUP + OBJECTS { + ospfAreaLsaCountNumber + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems that display + per-area, per-LSA-type counters." + ::= { ospfGroups 24 } + + ospfHostGroup2 OBJECT-GROUP + OBJECTS { + ospfHostIpAddress, + ospfHostTOS, + ospfHostMetric, + ospfHostStatus, + ospfHostCfgAreaID + } + STATUS current + DESCRIPTION + "These objects are used for OSPF systems + that support attached hosts." + ::= { ospfGroups 25 } + +-- This object group is included for SMI conformance. It is not a + + + +-- mandatory group for compliance with this MIB + + ospfObsoleteGroup OBJECT-GROUP + OBJECTS { + ospfAuthType + } + STATUS obsolete + DESCRIPTION + "These objects are obsolete and are no longer required for + OSPF systems. They are placed into this group for SMI + conformance." + ::= { ospfGroups 26 } + +END \ No newline at end of file diff --git a/mibs/OSPFV3-MIB.txt b/mibs/OSPFV3-MIB.txt new file mode 100644 index 00000000..3a122724 --- /dev/null +++ b/mibs/OSPFV3-MIB.txt @@ -0,0 +1,4075 @@ + OSPFV3-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2, + Counter32, Gauge32, Integer32, Unsigned32 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + InterfaceIndex + FROM IF-MIB + InetAddressType, InetAddress, InetAddressPrefixLength, + InetAddressIPv6 + FROM INET-ADDRESS-MIB + Metric, BigMetric, Status, + HelloRange, DesignatedRouterPriority + FROM OSPF-MIB; + + ospfv3MIB MODULE-IDENTITY + LAST-UPDATED "200908130000Z" + ORGANIZATION "IETF OSPF Working Group" + CONTACT-INFO + "WG E-Mail: ospf@ietf.org + WG Chairs: Acee Lindem + acee@redback.com + + Abhay Roy + akr@cisco.com + + Editors: Dan Joyal + Nortel + 600 Technology Park Drive + Billerica, MA 01821, USA + djoyal@nortel.com + + Vishwas Manral + IP Infusion + Almora, Uttarakhand + India + vishwas@ipinfusion.com" + + DESCRIPTION + "The MIB module for OSPF version 3. + + Copyright (c) 2009 IETF Trust and the persons + identified as authors of the code. All rights + reserved. + + Redistribution and use in source and binary forms, with + or without modification, are permitted provided that + the following conditions are met: + + - Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + - Redistributions in binary form must reproduce the + above copyright notice, this list of conditions and + the following disclaimer in the documentation and/or + other materials provided with the distribution. + + - Neither the name of Internet Society, IETF or IETF + Trust, nor the names of specific contributors, may be + used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + This version of this MIB module is part of RFC 5643; + see the RFC itself for full legal notices." + + REVISION "200908130000Z" + DESCRIPTION + "Initial version, published as RFC 5643" + ::= { mib-2 191 } + + -- Textual conventions + + Ospfv3UpToRefreshIntervalTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "The values one might be able to configure for + variables bounded by the Refresh Interval." + REFERENCE + "OSPF Version 2, Appendix B, Architectural Constants" + SYNTAX Unsigned32 (1..1800) + + Ospfv3DeadIntervalRangeTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "The range, in seconds, of dead interval value." + REFERENCE + "OSPF for IPv6, Appendix C.3, Router Interface + Parameters" + SYNTAX Unsigned32 (1..'FFFF'h) + + Ospfv3RouterIdTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "A 32-bit, unsigned integer uniquely identifying the + router in the Autonomous System. To ensure + uniqueness, this may default to the value of one of + the router's IPv4 host addresses if IPv4 is + configured on the router." + REFERENCE + "OSPF for IPv6, Appendix C.1, Global Parameters" + SYNTAX Unsigned32 (1..'FFFFFFFF'h) + + Ospfv3LsIdTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "A unique 32-bit identifier of the piece of the + routing domain that is being described by a link + state advertisement. In contrast to OSPFv2, the + Link State ID (LSID) has no addressing semantics." + REFERENCE + "OSPF Version 2, Section 12.1.4, Link State ID" + SYNTAX Unsigned32 (1..'FFFFFFFF'h) + + Ospfv3AreaIdTC ::= TEXTUAL-CONVENTION + + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An OSPFv3 Area Identifier. A value of zero + identifies the backbone area." + REFERENCE + "OSPF for IPv6, Appendix C.3 Router Interface + Parameters" + SYNTAX Unsigned32 (0..'FFFFFFFF'h) + + Ospfv3IfInstIdTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An OSPFv3 Interface Instance ID." + REFERENCE + "OSPF for IPv6, Appendix C.3, Router Interface + Parameters" + SYNTAX Unsigned32 (0..255) + + Ospfv3LsaSequenceTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number, the more recent the + advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6, LS sequence + number" + SYNTAX Integer32 + + Ospfv3LsaAgeTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "The age of the link state advertisement in + seconds. The high-order bit of the LS age + field is considered the DoNotAge bit for + support of on-demand circuits." + REFERENCE + "OSPF Version 2, Section 12.1.1, LS age; + Extending OSPF to Support Demand Circuits, + Section 2.2, The LS age field" + SYNTAX Unsigned32 (0..3600 | 32768..36368) + + + + -- Top-level structure of MIB + ospfv3Notifications OBJECT IDENTIFIER ::= { ospfv3MIB 0 } + ospfv3Objects OBJECT IDENTIFIER ::= { ospfv3MIB 1 } + ospfv3Conformance OBJECT IDENTIFIER ::= { ospfv3MIB 2 } + + -- OSPFv3 General Variables + + -- These parameters apply globally to the Router's + -- OSPFv3 Process. + + ospfv3GeneralGroup OBJECT IDENTIFIER ::= { ospfv3Objects 1 } + + ospfv3RouterId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A 32-bit unsigned integer uniquely identifying + the router in the Autonomous System. To ensure + uniqueness, this may default to the 32-bit + unsigned integer representation of one of + the router's IPv4 interface addresses (if IPv4 + is configured on the router). + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF for IPv6, Appendix C.1, Global Parameters" + ::= { ospfv3GeneralGroup 1 } + + ospfv3AdminStatus OBJECT-TYPE + SYNTAX Status + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The administrative status of OSPFv3 in the + router. The value 'enabled' denotes that the + OSPFv3 Process is active on at least one + interface; 'disabled' disables it on all + interfaces. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + ::= { ospfv3GeneralGroup 2 } + + ospfv3VersionNumber OBJECT-TYPE + SYNTAX INTEGER { version3 (3) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version number of OSPF for IPv6 is 3." + ::= { ospfv3GeneralGroup 3 } + + ospfv3AreaBdrRtrStatus OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A flag to denote whether this router is an area + border router. The value of this object is true (1) + when the router is an area border router." + REFERENCE + "OSPF Version 2, Section 3, Splitting the AS into + Areas" + ::= { ospfv3GeneralGroup 4 } + + ospfv3ASBdrRtrStatus OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A flag to note whether this router is + configured as an Autonomous System border router. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Section 3.3, Classification of + routers" + ::= { ospfv3GeneralGroup 5 } + + ospfv3AsScopeLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of AS-scope (e.g., AS-External) link state + advertisements in the link state database." + ::= { ospfv3GeneralGroup 6 } + + ospfv3AsScopeLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the LS checksums of + the AS-scoped link state advertisements + contained in the link state database. This sum + can be used to determine if there has been a + change in a router's link state database or + to compare the link state database of two + routers." + ::= { ospfv3GeneralGroup 7 } + + ospfv3OriginateNewLsas OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of new link state advertisements + that have been originated. This number is + incremented each time the router originates a new + LSA. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3GeneralGroup 8 } + + ospfv3RxNewLsas OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of link state advertisements + received that are determined to be new + instantiations. This number does not include + newer instantiations of self-originated link state + advertisements. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3GeneralGroup 9 } + + ospfv3ExtLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The number of External (LS type 0x4005) in the + link state database." + ::= { ospfv3GeneralGroup 10 } + + ospfv3ExtAreaLsdbLimit OBJECT-TYPE + SYNTAX Integer32 (-1..'7FFFFFFF'h) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The maximum number of non-default + AS-external-LSA entries that can be stored in the + link state database. If the value is -1, then + there is no limit. + + When the number of non-default AS-external-LSAs + in a router's link state database reaches + ospfv3ExtAreaLsdbLimit, the router enters Overflow + state. The router never holds more than + ospfv3ExtAreaLsdbLimit non-default AS-external-LSAs + in its database. ospfv3ExtAreaLsdbLimit MUST be set + identically in all routers attached to the OSPFv3 + backbone and/or any regular OSPFv3 area (i.e., + OSPFv3 stub areas and not-so-stubby-areas (NSSAs) + are excluded). + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + ::= { ospfv3GeneralGroup 11 } + + ospfv3ExitOverflowInterval OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The number of seconds that, after entering + Overflow state, a router will attempt to leave + Overflow state. This allows the router to again + originate non-default, AS-External-LSAs. When + set to 0, the router will not leave Overflow + state until restarted. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + + ::= { ospfv3GeneralGroup 12 } + + ospfv3DemandExtensions OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The router's support for demand circuits. + The value of this object is true (1) when + demand circuits are supported. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2; Extending OSPF to Support Demand + Circuits" + ::= { ospfv3GeneralGroup 13 } + + ospfv3ReferenceBandwidth OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "kilobits per second" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Reference bandwidth in kilobits per second for + calculating default interface metrics. The + default value is 100,000 KBPS (100 MBPS). + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Version 2, Appendix C.3, Router interface + parameters" + DEFVAL { 100000 } + ::= { ospfv3GeneralGroup 14 } + + ospfv3RestartSupport OBJECT-TYPE + SYNTAX INTEGER { none(1), + plannedOnly(2), + plannedAndUnplanned(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The router's support for OSPF graceful restart. + Options include no restart support, only planned + + restarts, or both planned and unplanned restarts. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE "Graceful OSPF Restart, Appendix B.1, Global + Parameters (Minimum subset)" + ::= { ospfv3GeneralGroup 15 } + + ospfv3RestartInterval OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Configured OSPF graceful restart timeout interval. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + REFERENCE "Graceful OSPF Restart, Appendix B.1, Global + Parameters (Minimum subset)" + DEFVAL { 120 } + ::= { ospfv3GeneralGroup 16 } + + ospfv3RestartStrictLsaChecking OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates if strict LSA checking is enabled for + graceful restart. A value of true (1) indicates that + strict LSA checking is enabled. + + This object is persistent, and when written, + the entity SHOULD save the change to non-volatile + storage." + REFERENCE "Graceful OSPF Restart, Appendix B.2, Global + Parameters (Optional)" + DEFVAL { true } + ::= { ospfv3GeneralGroup 17 } + + ospfv3RestartStatus OBJECT-TYPE + SYNTAX INTEGER { notRestarting(1), + plannedRestart(2), + unplannedRestart(3) + } + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The current status of OSPF graceful restart capability." + ::= { ospfv3GeneralGroup 18 } + + ospfv3RestartAge OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in the current OSPF graceful restart + interval." + ::= { ospfv3GeneralGroup 19 } + + ospfv3RestartExitReason OBJECT-TYPE + SYNTAX INTEGER { none(1), + inProgress(2), + completed(3), + timedOut(4), + topologyChanged(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Describes the outcome of the last attempt at a + graceful restart. + + none: no restart has yet been attempted. + inProgress: a restart attempt is currently underway. + completed: the last restart completed successfully. + timedOut: the last restart timed out. + topologyChanged: the last restart was aborted due to + a topology change." + ::= { ospfv3GeneralGroup 20 } + + ospfv3NotificationEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object provides a coarse level of control + over the generation of OSPFv3 notifications. + + If this object is set to true (1), then it enables + the generation of OSPFv3 notifications. If it is + set to false (2), these notifications are not + generated. + + This object is persistent, and when written, the + entity SHOULD save the change to non-volatile + storage." + ::= { ospfv3GeneralGroup 21 } + + ospfv3StubRouterSupport OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The router's support for stub router functionality. An + object value of true (1) indicates that stub router + functionality is supported." + REFERENCE + "OSPF Stub Router Advertisement" + ::= { ospfv3GeneralGroup 22 } + + ospfv3StubRouterAdvertisement OBJECT-TYPE + SYNTAX INTEGER { + doNotAdvertise(1), + advertise(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object controls the advertisement of + stub LSAs by the router. The value + doNotAdvertise (1) will result in the advertisement + of standard LSAs and is the default value. + + This object is persistent, and when written, + the entity SHOULD save the change to non-volatile + storage." + REFERENCE + "OSPF Stub Router Advertisement, Section 2, Proposed + Solution" + DEFVAL { doNotAdvertise } + ::= { ospfv3GeneralGroup 23 } + + ospfv3DiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one of this MIB's counters suffered + a discontinuity. + + + If no such discontinuities have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { ospfv3GeneralGroup 24 } + + ospfv3RestartTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which the ospfv3RestartExitReason was updated." + ::= { ospfv3GeneralGroup 25 } + + -- The OSPFv3 Area Data Structure contains information + -- regarding the various areas. The interfaces and + -- virtual links are configured as part of these areas. + -- Area 0, by definition, is the backbone area. + + ospfv3AreaTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3AreaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information describing the configured + parameters and cumulative statistics of the router's + attached areas. The interfaces and + virtual links are configured as part of these areas. + Area 0, by definition, is the backbone area." + REFERENCE + "OSPF Version 2, Section 6, The Area Data + Structure" + ::= { ospfv3Objects 2 } + + ospfv3AreaEntry OBJECT-TYPE + SYNTAX Ospfv3AreaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information describing the configured + parameters and cumulative statistics of one of the + router's attached areas. + + The information in this table is persistent, + and when written, the entity SHOULD save the a + change to non-volatile storage." + INDEX { ospfv3AreaId } + ::= { ospfv3AreaTable 1 } + + Ospfv3AreaEntry ::= SEQUENCE { + ospfv3AreaId + Ospfv3AreaIdTC, + ospfv3AreaImportAsExtern + INTEGER, + ospfv3AreaSpfRuns + Counter32, + ospfv3AreaBdrRtrCount + Gauge32, + ospfv3AreaAsBdrRtrCount + Gauge32, + ospfv3AreaScopeLsaCount + Gauge32, + ospfv3AreaScopeLsaCksumSum + Unsigned32, + ospfv3AreaSummary + INTEGER, + ospfv3AreaRowStatus + RowStatus, + ospfv3AreaStubMetric + BigMetric, + ospfv3AreaNssaTranslatorRole + INTEGER, + ospfv3AreaNssaTranslatorState + INTEGER, + ospfv3AreaNssaTranslatorStabInterval + Unsigned32, + ospfv3AreaNssaTranslatorEvents + Counter32, + ospfv3AreaStubMetricType + INTEGER, + ospfv3AreaTEEnabled + TruthValue + } + + ospfv3AreaId OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A 32-bit unsigned integer uniquely identifying an area. + Area ID 0 is used for the OSPFv3 backbone." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + ::= { ospfv3AreaEntry 1 } + + + + + ospfv3AreaImportAsExtern OBJECT-TYPE + SYNTAX INTEGER { + importExternal(1), -- normal area + importNoExternal(2), -- stub area + importNssa(3) -- not-so-stubby-area + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether an area is a stub area, NSSA, or + standard area. AS-scope LSAs are not imported into stub + areas or NSSAs. NSSAs import AS-External data as NSSA + LSAs that have Area-scope." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + DEFVAL { importExternal } + ::= { ospfv3AreaEntry 2 } + + ospfv3AreaSpfRuns OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times that the intra-area route + table has been calculated using this area's + link state database. This is typically done + using Dijkstra's algorithm. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3AreaEntry 3 } + + ospfv3AreaBdrRtrCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of area border routers + reachable within this area. This is initially zero, + and is calculated in each Shortest Path First (SPF) + pass." + DEFVAL { 0 } + ::= { ospfv3AreaEntry 4 } + + + + + ospfv3AreaAsBdrRtrCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Autonomous System border + routers reachable within this area. This is + initially zero, and is calculated in each SPF + pass." + DEFVAL { 0 } + ::= { ospfv3AreaEntry 5 } + + ospfv3AreaScopeLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Area-scope link state + advertisements in this area's link state + database." + DEFVAL { 0 } + ::= { ospfv3AreaEntry 6 } + + ospfv3AreaScopeLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the Area-scope link state + advertisements' LS checksums contained in this + area's link state database. The sum can be used + to determine if there has been a change in a + router's link state database or to compare the + link state database of two routers." + ::= { ospfv3AreaEntry 7 } + + ospfv3AreaSummary OBJECT-TYPE + SYNTAX INTEGER { + noAreaSummary(1), + sendAreaSummary(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The variable ospfv3AreaSummary controls the + import of Inter-Area LSAs into stub and + NSSA areas. It has no effect on other areas. + + + If it is noAreaSummary, the router will neither + originate nor propagate Inter-Area LSAs into the + stub or NSSA area. It will only advertise a + default route. + + If it is sendAreaSummary, the router will both + summarize and propagate Inter-Area LSAs." + DEFVAL { sendAreaSummary } + ::= { ospfv3AreaEntry 8 } + + ospfv3AreaRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3AreaEntry 9 } + + ospfv3AreaStubMetric OBJECT-TYPE + SYNTAX BigMetric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric value advertised for the default route + into stub and NSSA areas. By default, this equals the + least metric among the interfaces to other areas." + ::= { ospfv3AreaEntry 10 } + + ospfv3AreaNssaTranslatorRole OBJECT-TYPE + SYNTAX INTEGER { always(1), candidate(2) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates an NSSA border router's policy to + perform NSSA translation of NSSA-LSAs into + AS-External-LSAs." + DEFVAL { candidate } + ::= { ospfv3AreaEntry 11 } + + ospfv3AreaNssaTranslatorState OBJECT-TYPE + SYNTAX INTEGER { + enabled(1), + + elected(2), + disabled(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates if and how an NSSA border router is + performing NSSA translation of NSSA-LSAs into + AS-External-LSAs. When this object is set to + 'enabled', the NSSA border router's + ospfv3AreaNssaTranslatorRole has been set to 'always'. + When this object is set to 'elected', a candidate + NSSA border router is translating NSSA-LSAs into + AS-External-LSAs. When this object is set to + 'disabled', a candidate NSSA Border router is NOT + translating NSSA-LSAs into AS-External-LSAs." + ::= { ospfv3AreaEntry 12 } + + ospfv3AreaNssaTranslatorStabInterval OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The stability interval defined as the number of + seconds after an elected translator determines its + services are no longer required that it should + continue to perform its translation duties." + DEFVAL { 40 } + ::= { ospfv3AreaEntry 13 } + + ospfv3AreaNssaTranslatorEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the number of Translator state changes + that have occurred since the last start-up of the + OSPFv3 routing process. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3AreaEntry 14 } + + + + + ospfv3AreaStubMetricType OBJECT-TYPE + SYNTAX INTEGER { + ospfv3Metric(1), -- OSPF Metric + comparableCost(2), -- external type 1 + nonComparable(3) -- external type 2 + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable assigns the type of metric + advertised as a default route." + DEFVAL { ospfv3Metric } + ::= { ospfv3AreaEntry 15 } + + ospfv3AreaTEEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether or not traffic engineering + is enabled in the area. The object is set + to the value true (1) to enable traffic engineering. + Traffic engineering is disabled by default." + DEFVAL { false } + ::= { ospfv3AreaEntry 16 } + + -- OSPFv3 AS-Scope Link State Database + + ospfv3AsLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3AsLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Process's AS-scope link state database + (LSDB). The LSDB contains the AS-scope link state + advertisements from throughout the areas that the + device is attached to." + ::= { ospfv3Objects 3 } + + ospfv3AsLsdbEntry OBJECT-TYPE + SYNTAX Ospfv3AsLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single AS-scope link state advertisement." + INDEX { ospfv3AsLsdbType, + ospfv3AsLsdbRouterId, + ospfv3AsLsdbLsid } + + ::= { ospfv3AsLsdbTable 1 } + + Ospfv3AsLsdbEntry ::= SEQUENCE { + ospfv3AsLsdbType + Unsigned32, + ospfv3AsLsdbRouterId + Ospfv3RouterIdTC, + ospfv3AsLsdbLsid + Ospfv3LsIdTC, + ospfv3AsLsdbSequence + Ospfv3LsaSequenceTC, + ospfv3AsLsdbAge + Ospfv3LsaAgeTC, + ospfv3AsLsdbChecksum + Integer32, + ospfv3AsLsdbAdvertisement + OCTET STRING, + ospfv3AsLsdbTypeKnown + TruthValue + } + + ospfv3AsLsdbType OBJECT-TYPE + SYNTAX Unsigned32(0..'FFFFFFFF'h) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format. AS-scope LSAs not recognized + by the router may be stored in the database." + ::= { ospfv3AsLsdbEntry 1 } + + ospfv3AsLsdbRouterId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1, Global parameters" + ::= { ospfv3AsLsdbEntry 2 } + + ospfv3AsLsdbLsid OBJECT-TYPE + SYNTAX Ospfv3LsIdTC + MAX-ACCESS not-accessible + STATUS current + + + DESCRIPTION + "The Link State ID is an LS type-specific field + containing a unique identifier; + it identifies the piece of the routing domain + that is being described by the advertisement. + In contrast to OSPFv2, the LSID has no + addressing semantics." + ::= { ospfv3AsLsdbEntry 3 } + + -- Note that the OSPF sequence number is a 32-bit signed + -- integer. It starts with the value '80000001'h + -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + -- Thus, a typical sequence number will be very negative. + + ospfv3AsLsdbSequence OBJECT-TYPE + SYNTAX Ospfv3LsaSequenceTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number, the more recent the + advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6, LS sequence + number" + ::= { ospfv3AsLsdbEntry 4 } + + ospfv3AsLsdbAge OBJECT-TYPE + SYNTAX Ospfv3LsaAgeTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds. The high-order bit + of the LS age field is considered the DoNotAge + bit for support of on-demand circuits." + REFERENCE + "OSPF Version 2, Section 12.1.1, LS age; + Extending OSPF to Support Demand Circuits, + Section 2.2, The LS age field." + ::= { ospfv3AsLsdbEntry 5 } + + + + + ospfv3AsLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7, LS checksum" + ::= { ospfv3AsLsdbEntry 6 } + + ospfv3AsLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + ::= { ospfv3AsLsdbEntry 7 } + + ospfv3AsLsdbTypeKnown OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value true (1) indicates that the LSA type + is recognized by this router." + ::= { ospfv3AsLsdbEntry 8 } + + -- OSPFv3 Area-Scope Link State Database + + ospfv3AreaLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3AreaLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Process's Area-scope LSDB. + The LSDB contains the Area-scope link state + advertisements from throughout the area that the + device is attached to." + ::= { ospfv3Objects 4 } + + + ospfv3AreaLsdbEntry OBJECT-TYPE + SYNTAX Ospfv3AreaLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single Area-scope link state advertisement." + INDEX { ospfv3AreaLsdbAreaId, + ospfv3AreaLsdbType, + ospfv3AreaLsdbRouterId, + ospfv3AreaLsdbLsid } + ::= { ospfv3AreaLsdbTable 1 } + + Ospfv3AreaLsdbEntry ::= SEQUENCE { + ospfv3AreaLsdbAreaId + Ospfv3AreaIdTC, + ospfv3AreaLsdbType + Unsigned32, + ospfv3AreaLsdbRouterId + Ospfv3RouterIdTC, + ospfv3AreaLsdbLsid + Ospfv3LsIdTC, + ospfv3AreaLsdbSequence + Ospfv3LsaSequenceTC, + ospfv3AreaLsdbAge + Ospfv3LsaAgeTC, + ospfv3AreaLsdbChecksum + Integer32, + ospfv3AreaLsdbAdvertisement + OCTET STRING, + ospfv3AreaLsdbTypeKnown + TruthValue + } + + ospfv3AreaLsdbAreaId OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit identifier of the Area from which the + LSA was received." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + ::= { ospfv3AreaLsdbEntry 1 } + + ospfv3AreaLsdbType OBJECT-TYPE + SYNTAX Unsigned32(0..'FFFFFFFF'h) + MAX-ACCESS not-accessible + STATUS current + + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format. Area-scope LSAs unrecognized + by the router are also stored in this database." + ::= { ospfv3AreaLsdbEntry 2 } + + ospfv3AreaLsdbRouterId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1, Global parameters" + ::= { ospfv3AreaLsdbEntry 3 } + + ospfv3AreaLsdbLsid OBJECT-TYPE + SYNTAX Ospfv3LsIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS type-specific field + containing a unique identifier; + it identifies the piece of the routing domain + that is being described by the advertisement. + In contrast to OSPFv2, the LSID has no + addressing semantics." + ::= { ospfv3AreaLsdbEntry 4 } + + -- Note that the OSPF sequence number is a 32-bit signed + -- integer. It starts with the value '80000001'h + -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + -- Thus, a typical sequence number will be very negative. + + ospfv3AreaLsdbSequence OBJECT-TYPE + SYNTAX Ospfv3LsaSequenceTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It is used to detect old and + duplicate link state advertisements. The space + of sequence numbers is linearly ordered. The + larger the sequence number, the more recent the + advertisement." + + + REFERENCE + "OSPF Version 2, Section 12.1.6, LS sequence + number" + ::= { ospfv3AreaLsdbEntry 5 } + + ospfv3AreaLsdbAge OBJECT-TYPE + SYNTAX Ospfv3LsaAgeTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds. The high-order bit + of the LS age field is considered the DoNotAge + bit for support of on-demand circuits." + REFERENCE + "OSPF Version 2, Section 12.1.1, LS age; + Extending OSPF to Support Demand Circuits, + Section 2.2, The LS age field." + ::= { ospfv3AreaLsdbEntry 6 } + + ospfv3AreaLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7, LS checksum" + ::= { ospfv3AreaLsdbEntry 7 } + + ospfv3AreaLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + ::= { ospfv3AreaLsdbEntry 8 } + + + + ospfv3AreaLsdbTypeKnown OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value true (1) indicates that the LSA type is + recognized by this router." + ::= { ospfv3AreaLsdbEntry 9 } + + -- OSPFv3 Link-Scope Link State Database, for non-virtual interfaces + + ospfv3LinkLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3LinkLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Process's Link-scope LSDB for non-virtual + interfaces. The LSDB contains the Link-scope link + state advertisements from the interfaces that the + device is attached to." + ::= { ospfv3Objects 5 } + + ospfv3LinkLsdbEntry OBJECT-TYPE + SYNTAX Ospfv3LinkLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single Link-scope link state advertisement." + INDEX { ospfv3LinkLsdbIfIndex, + ospfv3LinkLsdbIfInstId, + ospfv3LinkLsdbType, + ospfv3LinkLsdbRouterId, + ospfv3LinkLsdbLsid } + ::= { ospfv3LinkLsdbTable 1 } + + Ospfv3LinkLsdbEntry ::= SEQUENCE { + ospfv3LinkLsdbIfIndex + InterfaceIndex, + ospfv3LinkLsdbIfInstId + Ospfv3IfInstIdTC, + ospfv3LinkLsdbType + Unsigned32, + ospfv3LinkLsdbRouterId + Ospfv3RouterIdTC, + ospfv3LinkLsdbLsid + Ospfv3LsIdTC, + ospfv3LinkLsdbSequence + Ospfv3LsaSequenceTC, + + ospfv3LinkLsdbAge + Ospfv3LsaAgeTC, + ospfv3LinkLsdbChecksum + Integer32, + ospfv3LinkLsdbAdvertisement + OCTET STRING, + ospfv3LinkLsdbTypeKnown + TruthValue + } + + ospfv3LinkLsdbIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The identifier of the link from which the LSA + was received." + ::= { ospfv3LinkLsdbEntry 1 } + + ospfv3LinkLsdbIfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The identifier of the interface instance from + which the LSA was received." + ::= { ospfv3LinkLsdbEntry 2 } + + ospfv3LinkLsdbType OBJECT-TYPE + SYNTAX Unsigned32(0..'FFFFFFFF'h) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format. Link-scope LSAs unrecognized + by the router are also stored in this database." + ::= { ospfv3LinkLsdbEntry 3 } + + ospfv3LinkLsdbRouterId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1, Global parameters" + + ::= { ospfv3LinkLsdbEntry 4 } + + ospfv3LinkLsdbLsid OBJECT-TYPE + SYNTAX Ospfv3LsIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS type-specific field + containing a unique identifier; + it identifies the piece of the routing domain + that is being described by the advertisement. + In contrast to OSPFv2, the LSID has no + addressing semantics. However, in OSPFv3 + the Link State ID always contains the flooding + scope of the LSA." + ::= { ospfv3LinkLsdbEntry 5 } + + -- Note that the OSPF sequence number is a 32-bit signed + -- integer. It starts with the value '80000001'h + -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + -- Thus, a typical sequence number will be very negative. + + ospfv3LinkLsdbSequence OBJECT-TYPE + SYNTAX Ospfv3LsaSequenceTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number, the more recent the + advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6, LS sequence + number" + ::= { ospfv3LinkLsdbEntry 6 } + + ospfv3LinkLsdbAge OBJECT-TYPE + SYNTAX Ospfv3LsaAgeTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds. The high-order bit + of the LS age field is considered the DoNotAge + bit for support of on-demand circuits." + + REFERENCE + "OSPF Version 2, Section 12.1.1, LS age; + Extending OSPF to Support Demand Circuits, + Section 2.2, The LS age field." + ::= { ospfv3LinkLsdbEntry 7 } + + ospfv3LinkLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7, LS checksum" + ::= { ospfv3LinkLsdbEntry 8 } + + ospfv3LinkLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + ::= { ospfv3LinkLsdbEntry 9 } + + ospfv3LinkLsdbTypeKnown OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value true (1) indicates that the LSA type is + recognized by this router." + ::= { ospfv3LinkLsdbEntry 10 } + + -- OSPF Host Table + + ospfv3HostTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3HostEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + "The Host/Metric Table indicates what hosts are + directly attached to the router and their + corresponding metrics." + REFERENCE + "OSPF Version 2, Appendix C.7, Host route + parameters" + ::= { ospfv3Objects 6 } + + ospfv3HostEntry OBJECT-TYPE + SYNTAX Ospfv3HostEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A metric to be advertised when a given host is + reachable. + + The information in this table is persistent, and + when written, the entity SHOULD save the change + to non-volatile storage." + INDEX { ospfv3HostAddressType, + ospfv3HostAddress } + ::= { ospfv3HostTable 1 } + + Ospfv3HostEntry ::= SEQUENCE { + ospfv3HostAddressType + InetAddressType, + ospfv3HostAddress + InetAddress, + ospfv3HostMetric + Metric, + ospfv3HostRowStatus + RowStatus, + ospfv3HostAreaID + Ospfv3AreaIdTC + } + + ospfv3HostAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of ospfv3HostAddress. Only IPv6 + global address type is expected." + REFERENCE + "OSPF Version 2, Appendix C.7, Host route + parameters" + ::= { ospfv3HostEntry 1 } + + + ospfv3HostAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IPv6 address of the host. Must be an + IPv6 global address." + REFERENCE + "OSPF Version 2, Appendix C.7, Host route + parameters" + ::= { ospfv3HostEntry 2 } + + ospfv3HostMetric OBJECT-TYPE + SYNTAX Metric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric to be advertised." + REFERENCE + "OSPF Version 2, Appendix C.7, Host route + parameters" + ::= { ospfv3HostEntry 3 } + + ospfv3HostRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3HostEntry 4 } + + ospfv3HostAreaID OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Area the host entry is to be found within. + By default, the area for the subsuming OSPFv3 + interface, or Area 0 if there is no subsuming + interface." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + + ::= { ospfv3HostEntry 5 } + + -- OSPFv3 Interface Table + + ospfv3IfTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3IfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Interface Table describes the + interfaces from the viewpoint of OSPFv3." + REFERENCE + "OSPF for IPv6, Appendix C.3, Router Interface + Parameters" + ::= { ospfv3Objects 7 } + + ospfv3IfEntry OBJECT-TYPE + SYNTAX Ospfv3IfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Interface Entry describes one + interface from the viewpoint of OSPFv3. + + The information in this table is persistent, + and when written, the entity SHOULD save the + change to non-volatile storage." + INDEX { ospfv3IfIndex, + ospfv3IfInstId } + ::= { ospfv3IfTable 1 } + + Ospfv3IfEntry ::= SEQUENCE { + ospfv3IfIndex + InterfaceIndex, + ospfv3IfInstId + Ospfv3IfInstIdTC, + ospfv3IfAreaId + Ospfv3AreaIdTC, + ospfv3IfType + INTEGER, + ospfv3IfAdminStatus + Status, + ospfv3IfRtrPriority + DesignatedRouterPriority, + ospfv3IfTransitDelay + Ospfv3UpToRefreshIntervalTC, + ospfv3IfRetransInterval + Ospfv3UpToRefreshIntervalTC, + + ospfv3IfHelloInterval + HelloRange, + ospfv3IfRtrDeadInterval + Ospfv3DeadIntervalRangeTC, + ospfv3IfPollInterval + Unsigned32, + ospfv3IfState + INTEGER, + ospfv3IfDesignatedRouter + Ospfv3RouterIdTC, + ospfv3IfBackupDesignatedRouter + Ospfv3RouterIdTC, + ospfv3IfEvents + Counter32, + ospfv3IfRowStatus + RowStatus, + ospfv3IfDemand + TruthValue, + ospfv3IfMetricValue + Metric, + ospfv3IfLinkScopeLsaCount + Gauge32, + ospfv3IfLinkLsaCksumSum + Unsigned32, + ospfv3IfDemandNbrProbe + TruthValue, + ospfv3IfDemandNbrProbeRetransLimit + Unsigned32, + ospfv3IfDemandNbrProbeInterval + Unsigned32, + ospfv3IfTEDisabled + TruthValue, + ospfv3IfLinkLSASuppression + TruthValue + } + + ospfv3IfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The interface index of this OSPFv3 interface. + It corresponds to the interface index of the + IPv6 interface on which OSPFv3 is configured." + ::= { ospfv3IfEntry 1 } + + + + + ospfv3IfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Enables multiple interface instances of OSPFv3 + to be run over a single link. Each interface + instance would be assigned a separate ID. This ID + has local link significance only." + ::= { ospfv3IfEntry 2 } + + ospfv3IfAreaId OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying the area + to which the interface connects. Area ID + 0 is used for the OSPFv3 backbone." + DEFVAL { 0 } + ::= { ospfv3IfEntry 3 } + + ospfv3IfType OBJECT-TYPE + SYNTAX INTEGER { + broadcast(1), + nbma(2), + pointToPoint(3), + pointToMultipoint(5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The OSPFv3 interface type." + ::= { ospfv3IfEntry 4 } + + ospfv3IfAdminStatus OBJECT-TYPE + SYNTAX Status + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The OSPFv3 interface's administrative status. + The value formed on the interface; the interface + will be advertised as an internal route to some + area. The value 'disabled' denotes that the + interface is external to OSPFv3. + + + + + Note that a value of 'disabled' for the object + ospfv3AdminStatus will override a value of + 'enabled' for the interface." + DEFVAL { enabled } + ::= { ospfv3IfEntry 5 } + + ospfv3IfRtrPriority OBJECT-TYPE + SYNTAX DesignatedRouterPriority + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this interface. Used in + multi-access networks, this field is used in + the designated-router election algorithm. The + value 0 signifies that the router is not + eligible to become the Designated Router on this + particular network. In the event of a tie in + this value, routers will use their Router ID as + a tie breaker." + DEFVAL { 1 } + ::= { ospfv3IfEntry 6 } + + ospfv3IfTransitDelay OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The estimated number of seconds it takes to transmit + a Link State Update packet over this interface. LSAs + contained in the update packet must have their age + incremented by this amount before transmission. This + value should take into account the transmission and + propagation delays of the interface." + REFERENCE + "OSPF for IPv6, Appendix C.3, Router Interface + Parameters." + DEFVAL { 1 } + ::= { ospfv3IfEntry 7 } + + ospfv3IfRetransInterval OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds between link state + advertisement retransmissions for adjacencies + + belonging to this interface. This value is + also used when retransmitting database + description and Link State Request packets." + DEFVAL { 5 } + ::= { ospfv3IfEntry 8 } + + ospfv3IfHelloInterval OBJECT-TYPE + SYNTAX HelloRange + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of time, in seconds, between the + Hello packets that the router sends on the + interface. This value must be the same for all + routers attached to a common network." + DEFVAL { 10 } + ::= { ospfv3IfEntry 9 } + + ospfv3IfRtrDeadInterval OBJECT-TYPE + SYNTAX Ospfv3DeadIntervalRangeTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds that a router's Hello + packets have not been seen before its + neighbors declare the router down on the interface. + This should be some multiple of the Hello interval. + This value must be the same for all routers attached + to a common network." + DEFVAL { 40 } + ::= { ospfv3IfEntry 10 } + + ospfv3IfPollInterval OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The larger time interval, in seconds, between + the Hello packets sent to an inactive, + non-broadcast multi-access neighbor." + DEFVAL { 120 } + ::= { ospfv3IfEntry 11 } + + + + + ospfv3IfState OBJECT-TYPE + SYNTAX INTEGER { + down(1), + loopback(2), + waiting(3), + pointToPoint(4), + designatedRouter(5), + backupDesignatedRouter(6), + otherDesignatedRouter(7), + standby(8) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The OSPFv3 interface state. An interface may be + in standby state if there are multiple interfaces + on the link and another interface is active. The + interface may be in Down state if the underlying + IPv6 interface is down or if the admin status is + 'disabled' either globally or for the interface." + ::= { ospfv3IfEntry 12 } + + ospfv3IfDesignatedRouter OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Router ID of the Designated Router." + ::= { ospfv3IfEntry 13 } + + ospfv3IfBackupDesignatedRouter OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Router ID of the Backup Designated + Router." + ::= { ospfv3IfEntry 14 } + + ospfv3IfEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this OSPFv3 interface has + changed its state or an error has occurred. + + + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3IfEntry 15 } + + ospfv3IfRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3IfEntry 16 } + + ospfv3IfDemand OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether Demand OSPFv3 procedures + (Hello suppression to FULL neighbors and + setting the DoNotAge flag on propagated LSAs) + should be performed on this interface." + DEFVAL { false } + ::= { ospfv3IfEntry 17 } + + ospfv3IfMetricValue OBJECT-TYPE + SYNTAX Metric + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The metric assigned to this interface. + The default value of the metric is + 'Reference Bandwidth / ifSpeed'. The value + of the reference bandwidth can be set + in the ospfv3ReferenceBandwidth object." + ::= { ospfv3IfEntry 18 } + + ospfv3IfLinkScopeLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "The total number of Link-scope link state + advertisements in this link's link state + database." + ::= { ospfv3IfEntry 19 } + + ospfv3IfLinkLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the Link-scope link state + advertisements' LS checksums contained in this + link's link state database. The sum can be used + to determine if there has been a change in a + router's link state database or to compare the + link state database of two routers." + ::= { ospfv3IfEntry 20 } + + ospfv3IfDemandNbrProbe OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether or not neighbor probing is + enabled to determine whether or not the neighbor + is inactive. Neighbor probing is disabled by + default." + DEFVAL { false } + ::= { ospfv3IfEntry 21 } + + ospfv3IfDemandNbrProbeRetransLimit OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of consecutive LSA retransmissions before + the neighbor is deemed inactive and the neighbor + adjacency is brought down." + DEFVAL { 10 } + ::= { ospfv3IfEntry 22} + + ospfv3IfDemandNbrProbeInterval OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + + + DESCRIPTION + "Defines how often the neighbor will be probed." + DEFVAL { 120 } + ::= { ospfv3IfEntry 23 } + + ospfv3IfTEDisabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether or not traffic engineering + is disabled on the interface when traffic + engineering is enabled in the area where the + interface is attached. The object is set + to the value true (1) to disable traffic engineering + on the interface. Traffic engineering is enabled + by default on the interface when traffic engineering + is enabled in the area where the interface is + attached." + DEFVAL { false } + ::= { ospfv3IfEntry 24 } + + ospfv3IfLinkLSASuppression OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Specifies whether or not link LSA origination is + suppressed for broadcast or NBMA interface types. + The object is set to value true (1) to suppress + the origination." + REFERENCE + "OSPF for IPv6, Appendix C.3, Router Interface + Parameters" + DEFVAL { false } + ::= { ospfv3IfEntry 25 } + + -- OSPFv3 Virtual Interface Table + + ospfv3VirtIfTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3VirtIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about this router's virtual + interfaces that the OSPFv3 Process is configured + to carry on." + + + REFERENCE + "OSPF for IPv6, Appendix C.4, Virtual Link + Parameters" + ::= { ospfv3Objects 8 } + + ospfv3VirtIfEntry OBJECT-TYPE + SYNTAX Ospfv3VirtIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a single virtual interface. + + The information in this table is persistent, + and when written, the entity SHOULD save the + change to non-volatile storage." + INDEX { ospfv3VirtIfAreaId, + ospfv3VirtIfNeighbor } + ::= { ospfv3VirtIfTable 1 } + + Ospfv3VirtIfEntry ::= SEQUENCE { + ospfv3VirtIfAreaId + Ospfv3AreaIdTC, + ospfv3VirtIfNeighbor + Ospfv3RouterIdTC, + ospfv3VirtIfIndex + InterfaceIndex, + ospfv3VirtIfInstId + Ospfv3IfInstIdTC, + ospfv3VirtIfTransitDelay + Ospfv3UpToRefreshIntervalTC, + ospfv3VirtIfRetransInterval + Ospfv3UpToRefreshIntervalTC, + ospfv3VirtIfHelloInterval + HelloRange, + ospfv3VirtIfRtrDeadInterval + Ospfv3DeadIntervalRangeTC, + ospfv3VirtIfState + INTEGER, + ospfv3VirtIfEvents + Counter32, + ospfv3VirtIfRowStatus + RowStatus, + ospfv3VirtIfLinkScopeLsaCount + Gauge32, + ospfv3VirtIfLinkLsaCksumSum + Unsigned32 + } + + + ospfv3VirtIfAreaId OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The transit area that the virtual link + traverses. By definition, this is not + Area 0." + ::= { ospfv3VirtIfEntry 1 } + + ospfv3VirtIfNeighbor OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Router ID of the virtual neighbor." + ::= { ospfv3VirtIfEntry 2 } + + ospfv3VirtIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local interface index assigned by the + OSPFv3 Process to this OSPFv3 virtual interface. + It is advertised in Hellos sent over the virtual + link and in the router's router-LSAs." + ::= { ospfv3VirtIfEntry 3 } + + ospfv3VirtIfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local Interface Instance ID assigned by the + OSPFv3 Process to this OSPFv3 virtual interface." + ::= { ospfv3VirtIfEntry 4 } + + ospfv3VirtIfTransitDelay OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The estimated number of seconds it takes to + transmit a Link State Update packet over this + interface." + DEFVAL { 1 } + + ::= { ospfv3VirtIfEntry 5 } + + ospfv3VirtIfRetransInterval OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds between link state + advertisement retransmissions for adjacencies + belonging to this interface. This value is + also used when retransmitting database + description and Link State Request packets. This + value should be well over the expected + round-trip time." + DEFVAL { 5 } + ::= { ospfv3VirtIfEntry 6 } + + ospfv3VirtIfHelloInterval OBJECT-TYPE + SYNTAX HelloRange + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of time, in seconds, between the + Hello packets that the router sends on the + interface. This value must be the same for the + virtual neighbor." + DEFVAL { 10 } + ::= { ospfv3VirtIfEntry 7 } + + ospfv3VirtIfRtrDeadInterval OBJECT-TYPE + SYNTAX Ospfv3DeadIntervalRangeTC + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of seconds that a router's Hello + packets have not been seen before its + neighbors declare the router down. This should + be some multiple of the Hello interval. This + value must be the same for the virtual + neighbor." + DEFVAL { 60 } + ::= { ospfv3VirtIfEntry 8 } + + + + + ospfv3VirtIfState OBJECT-TYPE + SYNTAX INTEGER { + down(1), + pointToPoint(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "OSPF virtual interface states. The same encoding + as the ospfV3IfTable is used." + ::= { ospfv3VirtIfEntry 9 } + + ospfv3VirtIfEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of state changes or error events on + this virtual link. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3VirtIfEntry 10 } + + ospfv3VirtIfRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3VirtIfEntry 11 } + + ospfv3VirtIfLinkScopeLsaCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of Link-scope link state + advertisements in this virtual link's link state + database." + + ::= { ospfv3VirtIfEntry 12 } + + ospfv3VirtIfLinkLsaCksumSum OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The 32-bit unsigned sum of the Link-scope link state + advertisements' LS checksums contained in this + virtual link's link state database. The sum can be used + to determine if there has been a change in a + router's link state database or to compare the + link state database of two routers." + ::= { ospfv3VirtIfEntry 13 } + + -- OSPFv3 Neighbor Table + + ospfv3NbrTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3NbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table describing all neighbors in the + locality of the OSPFv3 router." + REFERENCE + "OSPF Version 2, Section 10, The Neighbor Data + Structure" + ::= { ospfv3Objects 9 } + + ospfv3NbrEntry OBJECT-TYPE + SYNTAX Ospfv3NbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The information regarding a single neighbor." + REFERENCE + "OSPF Version 2, Section 10, The Neighbor Data + Structure" + INDEX { ospfv3NbrIfIndex, + ospfv3NbrIfInstId, + ospfv3NbrRtrId } + ::= { ospfv3NbrTable 1 } + + Ospfv3NbrEntry ::= SEQUENCE { + ospfv3NbrIfIndex + InterfaceIndex, + ospfv3NbrIfInstId + Ospfv3IfInstIdTC, + + ospfv3NbrRtrId + Ospfv3RouterIdTC, + ospfv3NbrAddressType + InetAddressType, + ospfv3NbrAddress + InetAddress, + ospfv3NbrOptions + Integer32, + ospfv3NbrPriority + DesignatedRouterPriority, + ospfv3NbrState + INTEGER, + ospfv3NbrEvents + Counter32, + ospfv3NbrLsRetransQLen + Gauge32, + ospfv3NbrHelloSuppressed + TruthValue, + ospfv3NbrIfId + InterfaceIndex, + ospfv3NbrRestartHelperStatus + INTEGER, + ospfv3NbrRestartHelperAge + Ospfv3UpToRefreshIntervalTC, + ospfv3NbrRestartHelperExitReason + INTEGER + } + + ospfv3NbrIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Local Link ID of the link over which the + neighbor can be reached." + ::= { ospfv3NbrEntry 1 } + + ospfv3NbrIfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Interface instance over which the neighbor + can be reached. This ID has local link + significance only." + ::= { ospfv3NbrEntry 2 } + + + + ospfv3NbrRtrId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A 32-bit unsigned integer uniquely identifying the + neighboring router in the Autonomous System." + ::= { ospfv3NbrEntry 3 } + + ospfv3NbrAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of ospfv3NbrAddress. Only IPv6 + addresses without zone index are expected." + ::= { ospfv3NbrEntry 4 } + + ospfv3NbrAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IPv6 address of the neighbor associated with + the local link." + ::= { ospfv3NbrEntry 5 } + + ospfv3NbrOptions OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A bit mask corresponding to the neighbor's + options field." + REFERENCE + "OSPF for IPv6, Appendix A.2, The Options Field" + ::= { ospfv3NbrEntry 6 } + + ospfv3NbrPriority OBJECT-TYPE + SYNTAX DesignatedRouterPriority + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The priority of this neighbor in the designated- + router election algorithm. The value 0 signifies + that the neighbor is not eligible to become the + Designated Router on this particular network." + ::= { ospfv3NbrEntry 7 } + + ospfv3NbrState OBJECT-TYPE + SYNTAX INTEGER { + down(1), + attempt(2), + init(3), + twoWay(4), + exchangeStart(5), + exchange(6), + loading(7), + full(8) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the relationship with this + neighbor." + REFERENCE + "OSPF Version 2, Section 10.1, Neighbor states" + ::= { ospfv3NbrEntry 8 } + + ospfv3NbrEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this neighbor relationship + has changed state or an error has occurred. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3NbrEntry 9 } + + ospfv3NbrLsRetransQLen OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current length of the retransmission + queue." + ::= { ospfv3NbrEntry 10 } + + ospfv3NbrHelloSuppressed OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + + + DESCRIPTION + "Indicates whether Hellos are being suppressed + to the neighbor." + ::= { ospfv3NbrEntry 11 } + + ospfv3NbrIfId OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Interface ID that the neighbor advertises + in its Hello packets on this link, that is, the + neighbor's local interface index." + ::= { ospfv3NbrEntry 12 } + + ospfv3NbrRestartHelperStatus OBJECT-TYPE + SYNTAX INTEGER { notHelping(1), + helping(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether the router is acting + as a graceful restart helper for the neighbor." + ::= { ospfv3NbrEntry 13 } + + ospfv3NbrRestartHelperAge OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor." + ::= { ospfv3NbrEntry 14 } + + ospfv3NbrRestartHelperExitReason OBJECT-TYPE + SYNTAX INTEGER { none(1), + inProgress(2), + completed(3), + timedOut(4), + topologyChanged(5) + } + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor. + + none: no restart has yet been attempted. + inProgress: a restart attempt is currently underway. + completed: the last restart completed successfully. + timedOut: the last restart timed out. + topologyChanged: the last restart was aborted due to + a topology change." + ::= { ospfv3NbrEntry 15 } + + -- OSPFv3 Configured Neighbor Table + + ospfv3CfgNbrTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3CfgNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table describing all configured neighbors. + + The Configured Neighbors table just gives + OSPFv3 information for sending OSPFv3 packets + to potential neighbors and is typically used + on NBMA and Point-to-Multipoint networks. + Once a Hello is received from a neighbor in + the Configured Neighbor table, an entry for + that neighbor is created in the Neighbor table + and adjacency state is maintained there. + Neighbors on multi-access or Point-to-Point + networks can use multicast addressing, so only + Neighbor table entries are created for them." + REFERENCE + "OSPF Version 2, Section 10, The Neighbor Data + Structure" + ::= { ospfv3Objects 10 } + + ospfv3CfgNbrEntry OBJECT-TYPE + SYNTAX Ospfv3CfgNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The information regarding a single configured + neighbor. + + The information in this table is persistent, + and when written, the entity SHOULD save the + change to non-volatile storage." + + REFERENCE + "OSPF Version 2, Section 10, The Neighbor Data + Structure" + INDEX { ospfv3CfgNbrIfIndex, + ospfv3CfgNbrIfInstId, + ospfv3CfgNbrAddressType, + ospfv3CfgNbrAddress } + ::= { ospfv3CfgNbrTable 1 } + + Ospfv3CfgNbrEntry ::= SEQUENCE { + ospfv3CfgNbrIfIndex + InterfaceIndex, + ospfv3CfgNbrIfInstId + Ospfv3IfInstIdTC, + ospfv3CfgNbrAddressType + InetAddressType, + ospfv3CfgNbrAddress + InetAddress, + ospfv3CfgNbrPriority + DesignatedRouterPriority, + ospfv3CfgNbrRowStatus + RowStatus + } + + ospfv3CfgNbrIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Local Link ID of the link over which the + neighbor can be reached." + ::= { ospfv3CfgNbrEntry 1 } + + ospfv3CfgNbrIfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Interface instance over which the neighbor + can be reached. This ID has local link + significance only." + ::= { ospfv3CfgNbrEntry 2 } + + ospfv3CfgNbrAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + + + DESCRIPTION + "The address type of ospfv3NbrAddress. Only IPv6 + addresses without zone index are expected." + ::= { ospfv3CfgNbrEntry 3 } + + ospfv3CfgNbrAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IPv6 address of the neighbor associated with + the local link." + ::= { ospfv3CfgNbrEntry 4 } + + ospfv3CfgNbrPriority OBJECT-TYPE + SYNTAX DesignatedRouterPriority + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this neighbor in the designated- + router election algorithm. The value 0 signifies + that the neighbor is not eligible to become the + Designated Router on this particular network." + DEFVAL { 1 } + ::= { ospfv3CfgNbrEntry 5 } + + ospfv3CfgNbrRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3CfgNbrEntry 6 } + + -- OSPFv3 Virtual Neighbor Table + + ospfv3VirtNbrTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3VirtNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table describing all virtual neighbors." + + REFERENCE + "OSPF Version 2, Section 15, Virtual Links" + ::= { ospfv3Objects 11 } + + ospfv3VirtNbrEntry OBJECT-TYPE + SYNTAX Ospfv3VirtNbrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Virtual neighbor information." + INDEX { ospfv3VirtNbrArea, + ospfv3VirtNbrRtrId } + ::= { ospfv3VirtNbrTable 1 } + + Ospfv3VirtNbrEntry ::= SEQUENCE { + ospfv3VirtNbrArea + Ospfv3AreaIdTC, + ospfv3VirtNbrRtrId + Ospfv3RouterIdTC, + ospfv3VirtNbrIfIndex + InterfaceIndex, + ospfv3VirtNbrIfInstId + Ospfv3IfInstIdTC, + ospfv3VirtNbrAddressType + InetAddressType, + ospfv3VirtNbrAddress + InetAddress, + ospfv3VirtNbrOptions + Integer32, + ospfv3VirtNbrState + INTEGER, + ospfv3VirtNbrEvents + Counter32, + ospfv3VirtNbrLsRetransQLen + Gauge32, + ospfv3VirtNbrHelloSuppressed + TruthValue, + ospfv3VirtNbrIfId + InterfaceIndex, + ospfv3VirtNbrRestartHelperStatus + INTEGER, + ospfv3VirtNbrRestartHelperAge + Ospfv3UpToRefreshIntervalTC, + ospfv3VirtNbrRestartHelperExitReason + INTEGER + } + + + + ospfv3VirtNbrArea OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The transit area Identifier." + ::= { ospfv3VirtNbrEntry 1 } + + ospfv3VirtNbrRtrId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A 32-bit integer uniquely identifying the + neighboring router in the Autonomous System." + ::= { ospfv3VirtNbrEntry 2 } + + ospfv3VirtNbrIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local Interface ID for the virtual link over + which the neighbor can be reached." + ::= { ospfv3VirtNbrEntry 3 } + + ospfv3VirtNbrIfInstId OBJECT-TYPE + SYNTAX Ospfv3IfInstIdTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The interface instance for the virtual link over + which the neighbor can be reached." + ::= { ospfv3VirtNbrEntry 4 } + + ospfv3VirtNbrAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of ospfv3VirtNbrAddress. Only IPv6 + addresses without zone index are expected." + ::= { ospfv3VirtNbrEntry 5 } + + ospfv3VirtNbrAddress OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "The IPv6 address advertised by this virtual neighbor. + It must be a global scope address." + ::= { ospfv3VirtNbrEntry 6 } + + ospfv3VirtNbrOptions OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A bit mask corresponding to the neighbor's options + field." + REFERENCE + "OSPF for IPv6, Appendix A.2, The Options Field" + ::= { ospfv3VirtNbrEntry 7 } + + ospfv3VirtNbrState OBJECT-TYPE + SYNTAX INTEGER { + down(1), + attempt(2), + init(3), + twoWay(4), + exchangeStart(5), + exchange(6), + loading(7), + full(8) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the virtual neighbor relationship." + ::= { ospfv3VirtNbrEntry 8 } + + ospfv3VirtNbrEvents OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this virtual link has + changed its state or an error has occurred. + + Discontinuities in the value of this counter + can occur at re-initialization of the management + system and at other times as indicated by the + value of ospfv3DiscontinuityTime." + ::= { ospfv3VirtNbrEntry 9 } + + + + ospfv3VirtNbrLsRetransQLen OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current length of the retransmission + queue." + ::= { ospfv3VirtNbrEntry 10 } + + ospfv3VirtNbrHelloSuppressed OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether Hellos are being suppressed + to the neighbor." + ::= { ospfv3VirtNbrEntry 11 } + + ospfv3VirtNbrIfId OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Interface ID that the neighbor advertises + in its Hello packets on this virtual link, that is, + the neighbor's local Interface ID." + ::= { ospfv3VirtNbrEntry 12 } + + ospfv3VirtNbrRestartHelperStatus OBJECT-TYPE + SYNTAX INTEGER { notHelping(1), + helping(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether the router is acting + as a graceful restart helper for the neighbor." + ::= { ospfv3VirtNbrEntry 13 } + + ospfv3VirtNbrRestartHelperAge OBJECT-TYPE + SYNTAX Ospfv3UpToRefreshIntervalTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remaining time in the current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor." + + ::= { ospfv3VirtNbrEntry 14 } + + ospfv3VirtNbrRestartHelperExitReason OBJECT-TYPE + SYNTAX INTEGER { none(1), + inProgress(2), + completed(3), + timedOut(4), + topologyChanged(5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor. + + none: no restart has yet been attempted. + inProgress: a restart attempt is currently underway. + completed: the last restart completed successfully. + timedOut: the last restart timed out. + topologyChanged: the last restart was aborted due to + a topology change." + ::= { ospfv3VirtNbrEntry 15 } + + -- + -- The OSPFv3 Area Aggregate Table + -- + + ospfv3AreaAggregateTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3AreaAggregateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Area Aggregate Table acts as an adjunct + to the Area Table. It describes those address + aggregates that are configured to be propagated + from an area. Its purpose is to reduce the amount + of information that is known beyond an area's + borders. + + A range of IPv6 prefixes specified by a + prefix / prefix length pair. Note that if + ranges are configured such that one range + subsumes another range, the most specific + match is the preferred one." + ::= { ospfv3Objects 12 } + + + + + ospfv3AreaAggregateEntry OBJECT-TYPE + SYNTAX Ospfv3AreaAggregateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single area aggregate entry. + + Information in this table is persistent, and + when this object is written, the entity SHOULD + save the change to non-volatile storage." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + INDEX { ospfv3AreaAggregateAreaID, + ospfv3AreaAggregateAreaLsdbType, + ospfv3AreaAggregatePrefixType, + ospfv3AreaAggregatePrefix, + ospfv3AreaAggregatePrefixLength } + ::= { ospfv3AreaAggregateTable 1 } + + Ospfv3AreaAggregateEntry ::= SEQUENCE { + ospfv3AreaAggregateAreaID + Ospfv3AreaIdTC, + ospfv3AreaAggregateAreaLsdbType + INTEGER, + ospfv3AreaAggregatePrefixType + InetAddressType, + ospfv3AreaAggregatePrefix + InetAddress, + ospfv3AreaAggregatePrefixLength + InetAddressPrefixLength, + ospfv3AreaAggregateRowStatus + RowStatus, + ospfv3AreaAggregateEffect + INTEGER, + ospfv3AreaAggregateRouteTag + Unsigned32 + } + + ospfv3AreaAggregateAreaID OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The area the Address Aggregate is to be found + within." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + ::= { ospfv3AreaAggregateEntry 1 } + + ospfv3AreaAggregateAreaLsdbType OBJECT-TYPE + SYNTAX INTEGER { + interAreaPrefixLsa(8195), -- 0x2003 + nssaExternalLsa(8199) -- 0x2007 + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the Address Aggregate. This field + specifies the Area LSDB type that this Address + Aggregate applies to." + REFERENCE + "OSPF Version 2, Appendix A.4.1, The LSA header" + ::= { ospfv3AreaAggregateEntry 2 } + + ospfv3AreaAggregatePrefixType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The prefix type of ospfv3AreaAggregatePrefix. Only + IPv6 addresses are expected." + ::= { ospfv3AreaAggregateEntry 3 } + + ospfv3AreaAggregatePrefix OBJECT-TYPE + SYNTAX InetAddress (SIZE (0..16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IPv6 prefix." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + ::= { ospfv3AreaAggregateEntry 4 } + + ospfv3AreaAggregatePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength (3..128) + UNITS "bits" + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The length of the prefix (in bits). A prefix can + not be shorter than 3 bits." + REFERENCE + "OSPF Version 2, Appendix C.2, Area parameters" + ::= { ospfv3AreaAggregateEntry 5 } + + ospfv3AreaAggregateRowStatus OBJECT-TYPE + SYNTAX RowStatus + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified." + ::= { ospfv3AreaAggregateEntry 6 } + + ospfv3AreaAggregateEffect OBJECT-TYPE + SYNTAX INTEGER { + advertiseMatching(1), + doNotAdvertiseMatching(2) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Prefixes subsumed by ranges will either trigger the + advertisement of the indicated aggregate + (advertiseMatching) or result in the prefix not + being advertised at all outside the area." + DEFVAL { advertiseMatching } + ::= { ospfv3AreaAggregateEntry 7 } + + ospfv3AreaAggregateRouteTag OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This tag is advertised only in the summarized + As-External LSA when summarizing from NSSA-LSAs to + AS-External-LSAs." + DEFVAL { 0 } + ::= { ospfv3AreaAggregateEntry 8 } + + -- OSPFv3 Link-Scope Link State Database, for virtual interfaces + + ospfv3VirtLinkLsdbTable OBJECT-TYPE + SYNTAX SEQUENCE OF Ospfv3VirtLinkLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The OSPFv3 Process's Link-scope LSDB for virtual + interfaces. The LSDB contains the Link-scope link + state advertisements from virtual interfaces." + + ::= { ospfv3Objects 13 } + + ospfv3VirtLinkLsdbEntry OBJECT-TYPE + SYNTAX Ospfv3VirtLinkLsdbEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single Link-scope link state advertisement + for a virtual interface." + INDEX { ospfv3VirtLinkLsdbIfAreaId, + ospfv3VirtLinkLsdbIfNeighbor, + ospfv3VirtLinkLsdbType, + ospfv3VirtLinkLsdbRouterId, + ospfv3VirtLinkLsdbLsid } + ::= { ospfv3VirtLinkLsdbTable 1 } + + Ospfv3VirtLinkLsdbEntry ::= SEQUENCE { + ospfv3VirtLinkLsdbIfAreaId + Ospfv3AreaIdTC, + ospfv3VirtLinkLsdbIfNeighbor + Ospfv3RouterIdTC, + ospfv3VirtLinkLsdbType + Unsigned32, + ospfv3VirtLinkLsdbRouterId + Ospfv3RouterIdTC, + ospfv3VirtLinkLsdbLsid + Ospfv3LsIdTC, + ospfv3VirtLinkLsdbSequence + Ospfv3LsaSequenceTC, + ospfv3VirtLinkLsdbAge + Ospfv3LsaAgeTC, + ospfv3VirtLinkLsdbChecksum + Integer32, + ospfv3VirtLinkLsdbAdvertisement + OCTET STRING, + ospfv3VirtLinkLsdbTypeKnown + TruthValue + } + + ospfv3VirtLinkLsdbIfAreaId OBJECT-TYPE + SYNTAX Ospfv3AreaIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The transit area that the virtual link + traverses. By definition, this is not + Area 0." + ::= { ospfv3VirtLinkLsdbEntry 1 } + + ospfv3VirtLinkLsdbIfNeighbor OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Router ID of the virtual neighbor." + ::= { ospfv3VirtLinkLsdbEntry 2 } + + ospfv3VirtLinkLsdbType OBJECT-TYPE + SYNTAX Unsigned32(0..'FFFFFFFF'h) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the link state advertisement. + Each link state type has a separate + advertisement format. Link-scope LSAs unrecognized + by the router are also stored in this database." + ::= { ospfv3VirtLinkLsdbEntry 3 } + + ospfv3VirtLinkLsdbRouterId OBJECT-TYPE + SYNTAX Ospfv3RouterIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System." + REFERENCE + "OSPF Version 2, Appendix C.1, Global parameters" + ::= { ospfv3VirtLinkLsdbEntry 4 } + + ospfv3VirtLinkLsdbLsid OBJECT-TYPE + SYNTAX Ospfv3LsIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Link State ID is an LS type-specific field + containing a unique identifier; + it identifies the piece of the routing domain + that is being described by the advertisement. + In contrast to OSPFv2, the LSID has no + addressing semantics." + ::= { ospfv3VirtLinkLsdbEntry 5 } + + -- Note that the OSPF sequence number is a 32-bit signed + -- integer. It starts with the value '80000001'h + -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + -- Thus, a typical sequence number will be very negative. + + + ospfv3VirtLinkLsdbSequence OBJECT-TYPE + SYNTAX Ospfv3LsaSequenceTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number, the more recent the + advertisement." + REFERENCE + "OSPF Version 2, Section 12.1.6, LS sequence + number" + ::= { ospfv3VirtLinkLsdbEntry 6 } + + ospfv3VirtLinkLsdbAge OBJECT-TYPE + SYNTAX Ospfv3LsaAgeTC + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the age of the link state + advertisement in seconds. The high-order bit + of the LS age field is considered the DoNotAge + bit for support of on-demand circuits." + REFERENCE + "OSPF Version 2, Section 12.1.1, LS age; + Extending OSPF to Support Demand Circuits, + Section 2.2, The LS age field." + ::= { ospfv3VirtLinkLsdbEntry 7 } + + ospfv3VirtLinkLsdbChecksum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum." + REFERENCE + "OSPF Version 2, Section 12.1.7, LS checksum" + ::= { ospfv3VirtLinkLsdbEntry 8 } + + ospfv3VirtLinkLsdbAdvertisement OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (1..65535)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The entire link state advertisement, including + its header." + ::= { ospfv3VirtLinkLsdbEntry 9 } + + ospfv3VirtLinkLsdbTypeKnown OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value true (1) indicates that the LSA type is + recognized by this router." + ::= { ospfv3VirtLinkLsdbEntry 10 } + + -- The Ospfv3 Notification Table + + -- The Ospfv3 Notification Table records fields that are + -- required for notifications. + + ospfv3NotificationEntry OBJECT IDENTIFIER + ::= { ospfv3Objects 14 } + + ospfv3ConfigErrorType OBJECT-TYPE + SYNTAX INTEGER { + badVersion(1), + areaMismatch(2), + unknownNbmaNbr(3), -- Router is DR eligible + unknownVirtualNbr(4), + helloIntervalMismatch(5), + deadIntervalMismatch(6), + optionMismatch(7), + mtuMismatch(8), + duplicateRouterId(9), + noError(10) } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Potential types of configuration conflicts. + Used by the ospfv3ConfigError and + ospfv3ConfigVirtError notifications." + ::= { ospfv3NotificationEntry 1 } + + + + + ospfv3PacketType OBJECT-TYPE + SYNTAX INTEGER { + hello(1), + dbDescript(2), + lsReq(3), + lsUpdate(4), + lsAck(5), + nullPacket(6) } + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "OSPFv3 packet types." + ::= { ospfv3NotificationEntry 2 } + + ospfv3PacketSrc OBJECT-TYPE + SYNTAX InetAddressIPv6 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The IPv6 address of an inbound packet that cannot + be identified by a neighbor instance. + + Only IPv6 addresses without zone index are expected." + ::= { ospfv3NotificationEntry 3 } + + -- Notification Definitions + + -- The notifications need to be throttled so as to not overwhelm the + -- management agent in case of rapid changes to the OSPFv3 module. + + ospfv3VirtIfStateChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3VirtIfState -- The new state + } + STATUS current + DESCRIPTION + "An ospfv3VirtIfStateChange notification signifies that + there has been a change in the state of an OSPFv3 virtual + interface. + + This notification should be generated when the interface + state regresses (e.g., goes from Point-to-Point to Down) + or progresses to a terminal state (i.e., Point-to-Point)." + ::= { ospfv3Notifications 1 } + + ospfv3NbrStateChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3NbrState -- The new state + + } + STATUS current + DESCRIPTION + "An ospfv3NbrStateChange notification signifies that + there has been a change in the state of a + non-virtual OSPFv3 neighbor. This notification should be + generated when the neighbor state regresses + (e.g., goes from Attempt or Full to 1-Way or + Down) or progresses to a terminal state (e.g., + 2-Way or Full). When a neighbor transitions + from or to Full on non-broadcast multi-access + and broadcast networks, the notification should be + generated by the Designated Router. A Designated + Router transitioning to Down will be noted by + ospfIfStateChange." + ::= { ospfv3Notifications 2 } + + ospfv3VirtNbrStateChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3VirtNbrState -- The new state + } + STATUS current + DESCRIPTION + "An ospfv3VirtNbrStateChange notification signifies + that there has been a change in the state of an OSPFv3 + virtual neighbor. This notification should be generated + when the neighbor state regresses (e.g., goes + from Attempt or Full to 1-Way or Down) or + progresses to a terminal state (e.g., Full)." + ::= { ospfv3Notifications 3 } + + ospfv3IfConfigError NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3IfState, -- State of the interface + ospfv3PacketSrc, -- IPv6 address of source + ospfv3ConfigErrorType, -- Type of error + ospfv3PacketType -- Type of packet + } + STATUS current + DESCRIPTION + "An ospfv3IfConfigError notification signifies that a + packet has been received on a non-virtual + interface from a router whose configuration + parameters conflict with this router's + configuration parameters. Note that the event + optionMismatch should cause a notification only if it + prevents an adjacency from forming." + ::= { ospfv3Notifications 4 } + + ospfv3VirtIfConfigError NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3VirtIfState, -- State of the interface + ospfv3ConfigErrorType, -- Type of error + ospfv3PacketType + } + STATUS current + DESCRIPTION + "An ospfv3VirtIfConfigError notification signifies that a + packet has been received on a virtual interface + from a router whose configuration parameters + conflict with this router's configuration + parameters. Note that the event optionMismatch + should cause a notification only if it prevents an + adjacency from forming." + ::= { ospfv3Notifications 5 } + + ospfv3IfRxBadPacket NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3IfState, -- State of the interface + ospfv3PacketSrc, -- The source IPv6 address + ospfv3PacketType -- Type of packet + } + STATUS current + DESCRIPTION + "An ospfv3IfRxBadPacket notification signifies that an + OSPFv3 packet that cannot be parsed has been received on a + non-virtual interface." + ::= { ospfv3Notifications 6 } + + ospfv3VirtIfRxBadPacket NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3VirtIfState, -- State of the interface + ospfv3PacketType -- Type of packet + } + STATUS current + DESCRIPTION + "An ospfv3VirtIfRxBadPacket notification signifies + that an OSPFv3 packet that cannot be parsed has been + received on a virtual interface." + ::= { ospfv3Notifications 7 } + + ospfv3LsdbOverflow NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3ExtAreaLsdbLimit -- Limit on External LSAs + } + STATUS current + + + DESCRIPTION + "An ospfv3LsdbOverflow notification signifies that the + number of LSAs in the router's link state + database has exceeded ospfv3ExtAreaLsdbLimit." + ::= { ospfv3Notifications 8 } + + ospfv3LsdbApproachingOverflow NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3ExtAreaLsdbLimit + } + STATUS current + DESCRIPTION + "An ospfv3LsdbApproachingOverflow notification signifies + that the number of LSAs in the router's + link state database has exceeded ninety percent of + ospfv3ExtAreaLsdbLimit." + ::= { ospfv3Notifications 9 } + + ospfv3IfStateChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3IfState -- The new state + } + STATUS current + DESCRIPTION + "An ospfv3IfStateChange notification signifies that there + has been a change in the state of a non-virtual + OSPFv3 interface. This notification should be generated + when the interface state regresses (e.g., goes + from DR to Down) or progresses to a terminal + state (i.e., Point-to-Point, DR Other, DR, or + Backup)." + ::= { ospfv3Notifications 10 } + + ospfv3NssaTranslatorStatusChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3AreaNssaTranslatorState -- new state + } + STATUS current + DESCRIPTION + "An ospfv3NssaTranslatorStatusChange notification + indicates that there has been a change in the router's + ability to translate OSPFv3 NSSA LSAs into OSPFv3 External + LSAs. This notification should be generated when the + Translator Status transitions from or to any defined + status on a per-area basis." + ::= { ospfv3Notifications 11 } + + + + ospfv3RestartStatusChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3RestartStatus, -- new status + ospfv3RestartInterval, + ospfv3RestartExitReason + } + STATUS current + DESCRIPTION + "An ospfv3RestartStatusChange notification signifies that + there has been a change in the graceful restart + state for the router. This notification should be + generated when the router restart status + changes." + ::= { ospfv3Notifications 12 } + + ospfv3NbrRestartHelperStatusChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3NbrRestartHelperStatus, -- new status + ospfv3NbrRestartHelperAge, + ospfv3NbrRestartHelperExitReason + } + STATUS current + DESCRIPTION + "An ospfv3NbrRestartHelperStatusChange notification + signifies that there has been a change in the + graceful restart helper state for the neighbor. + This notification should be generated when the + neighbor restart helper status transitions for a neighbor." + ::= { ospfv3Notifications 13 } + + ospfv3VirtNbrRestartHelperStatusChange NOTIFICATION-TYPE + OBJECTS { ospfv3RouterId, -- The originator of the notification + ospfv3VirtNbrRestartHelperStatus, -- new status + ospfv3VirtNbrRestartHelperAge, + ospfv3VirtNbrRestartHelperExitReason + } + STATUS current + DESCRIPTION + "An ospfv3VirtNbrRestartHelperStatusChange + notification signifies that there has been a + change in the graceful restart helper state for + the virtual neighbor. This notification should be + generated when the virtual neighbor restart helper status + transitions for a virtual neighbor." + ::= { ospfv3Notifications 14 } + + -- Conformance Information + + + ospfv3Groups OBJECT IDENTIFIER ::= { ospfv3Conformance 1 } + ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 } + + -- Compliance Statements + + ospfv3FullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION "The compliance statement" + MODULE -- this module + MANDATORY-GROUPS { + ospfv3BasicGroup, + ospfv3AreaGroup, + ospfv3IfGroup, + ospfv3VirtIfGroup, + ospfv3NbrGroup, + ospfv3CfgNbrGroup, + ospfv3VirtNbrGroup, + ospfv3AreaAggregateGroup + } + + GROUP ospfv3AsLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their AS-scope link state database." + + GROUP ospfv3AreaLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Area-scope link state database." + + GROUP ospfv3LinkLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Link-scope link state database + for non-virtual interfaces." + + GROUP ospfv3VirtLinkLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Link-scope link state database + for virtual interfaces." + + GROUP ospfv3HostGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support attached hosts." + + + + GROUP ospfv3NotificationObjectGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support OSPFv3 notifications." + + GROUP ospfv3NotificationGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support OSPFv3 notifications." + + OBJECT ospfv3NbrAddressType + SYNTAX InetAddressType { ipv6(2) } + DESCRIPTION + "An implementation is only required to support IPv6 + address without zone index." + + OBJECT ospfv3NbrAddress + SYNTAX InetAddress (SIZE (16)) + DESCRIPTION + "An implementation is only required to support IPv6 + address without zone index." + + OBJECT ospfv3VirtNbrAddressType + SYNTAX InetAddressType { ipv6(2) } + DESCRIPTION + "An implementation is only required to support IPv6 + address without zone index." + + OBJECT ospfv3VirtNbrAddress + SYNTAX InetAddress (SIZE (16)) + DESCRIPTION + "An implementation is only required to support IPv6 + address without zone index." + + ::= { ospfv3Compliances 1 } + + ospfv3ReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB module is implemented without + support for read-create (i.e., in read-only + mode), the implementation can claim read-only + compliance. Such a device can then be monitored, + but cannot be configured with this MIB." + + MODULE -- this module + MANDATORY-GROUPS { + ospfv3BasicGroup, + + ospfv3AreaGroup, + ospfv3IfGroup, + ospfv3VirtIfGroup, + ospfv3NbrGroup, + ospfv3CfgNbrGroup, + ospfv3VirtNbrGroup, + ospfv3AreaAggregateGroup + } + + GROUP ospfv3AsLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their AS-scope link state database." + + GROUP ospfv3AreaLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Area-scope link state database." + + GROUP ospfv3LinkLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Link-scope link state database + for non-virtual interfaces." + + GROUP ospfv3VirtLinkLsdbGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + display their Link-scope link state database + for virtual interfaces." + + GROUP ospfv3HostGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support attached hosts." + + GROUP ospfv3NotificationObjectGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support OSPFv3 notifications." + + GROUP ospfv3NotificationGroup + DESCRIPTION + "This group is required for OSPFv3 systems that + support OSPFv3 notifications." + + OBJECT ospfv3RouterId + MIN-ACCESS read-only + + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AdminStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3ExtAreaLsdbLimit + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3ExitOverflowInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3DemandExtensions + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3ReferenceBandwidth + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3RestartSupport + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3RestartInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3RestartStrictLsaChecking + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3NotificationEnable + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + OBJECT ospfv3StubRouterAdvertisement + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaImportAsExtern + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaSummary + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaStubMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaNssaTranslatorRole + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaNssaTranslatorStabInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaStubMetricType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaTEEnabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + + OBJECT ospfv3HostMetric + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3HostRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3HostAreaID + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfAreaId + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfAdminStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfRtrPriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfTransitDelay + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfRetransInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + + OBJECT ospfv3IfHelloInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfRtrDeadInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfPollInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfDemand + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfMetricValue + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfDemandNbrProbe + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfDemandNbrProbeRetransLimit + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfDemandNbrProbeInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + + OBJECT ospfv3IfTEDisabled + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3IfLinkLSASuppression + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3VirtIfTransitDelay + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3VirtIfRetransInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3VirtIfHelloInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3VirtIfRtrDeadInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3VirtIfRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3CfgNbrPriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3CfgNbrRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + + + OBJECT ospfv3AreaAggregateRowStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaAggregateEffect + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT ospfv3AreaAggregateRouteTag + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + ::= { ospfv3Compliances 2 } + + -- units of conformance + + ospfv3BasicGroup OBJECT-GROUP + OBJECTS { + ospfv3RouterId, + ospfv3AdminStatus, + ospfv3VersionNumber, + ospfv3AreaBdrRtrStatus, + ospfv3ASBdrRtrStatus, + ospfv3AsScopeLsaCount, + ospfv3AsScopeLsaCksumSum, + ospfv3OriginateNewLsas, + ospfv3RxNewLsas, + ospfv3ExtLsaCount, + ospfv3ExtAreaLsdbLimit, + ospfv3ExitOverflowInterval, + ospfv3DemandExtensions, + ospfv3ReferenceBandwidth, + ospfv3RestartSupport, + ospfv3RestartInterval, + ospfv3RestartStrictLsaChecking, + ospfv3RestartStatus, + ospfv3RestartAge, + ospfv3RestartExitReason, + ospfv3NotificationEnable, + ospfv3StubRouterSupport, + ospfv3StubRouterAdvertisement, + ospfv3DiscontinuityTime, + ospfv3RestartTime + } + STATUS current + + + DESCRIPTION + "These objects are used for managing/monitoring + OSPFv3 global parameters." + ::= { ospfv3Groups 1 } + + ospfv3AreaGroup OBJECT-GROUP + OBJECTS { + ospfv3AreaImportAsExtern, + ospfv3AreaSpfRuns, + ospfv3AreaBdrRtrCount, + ospfv3AreaAsBdrRtrCount, + ospfv3AreaScopeLsaCount, + ospfv3AreaScopeLsaCksumSum, + ospfv3AreaSummary, + ospfv3AreaRowStatus, + ospfv3AreaStubMetric, + ospfv3AreaNssaTranslatorRole, + ospfv3AreaNssaTranslatorState, + ospfv3AreaNssaTranslatorStabInterval, + ospfv3AreaNssaTranslatorEvents, + ospfv3AreaStubMetricType, + ospfv3AreaTEEnabled + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + supporting areas." + ::= { ospfv3Groups 2 } + + ospfv3AsLsdbGroup OBJECT-GROUP + OBJECTS { + ospfv3AsLsdbSequence, + ospfv3AsLsdbAge, + ospfv3AsLsdbChecksum, + ospfv3AsLsdbAdvertisement, + ospfv3AsLsdbTypeKnown + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + that display their AS-scope link state database." + ::= { ospfv3Groups 3 } + + ospfv3AreaLsdbGroup OBJECT-GROUP + OBJECTS { + ospfv3AreaLsdbSequence, + ospfv3AreaLsdbAge, + ospfv3AreaLsdbChecksum, + + ospfv3AreaLsdbAdvertisement, + ospfv3AreaLsdbTypeKnown + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + that display their Area-scope link state database." + ::= { ospfv3Groups 4 } + + ospfv3LinkLsdbGroup OBJECT-GROUP + OBJECTS { + ospfv3LinkLsdbSequence, + ospfv3LinkLsdbAge, + ospfv3LinkLsdbChecksum, + ospfv3LinkLsdbAdvertisement, + ospfv3LinkLsdbTypeKnown + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + that display their Link-scope link state database + for non-virtual interfaces." + ::= { ospfv3Groups 5 } + + ospfv3HostGroup OBJECT-GROUP + OBJECTS { + ospfv3HostMetric, + ospfv3HostRowStatus, + ospfv3HostAreaID + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + that support attached hosts." + ::= { ospfv3Groups 6 } + + ospfv3IfGroup OBJECT-GROUP + OBJECTS { + ospfv3IfAreaId, + ospfv3IfType, + ospfv3IfAdminStatus, + ospfv3IfRtrPriority, + ospfv3IfTransitDelay, + ospfv3IfRetransInterval, + ospfv3IfHelloInterval, + ospfv3IfRtrDeadInterval, + ospfv3IfPollInterval, + ospfv3IfState, + + ospfv3IfDesignatedRouter, + ospfv3IfBackupDesignatedRouter, + ospfv3IfEvents, + ospfv3IfRowStatus, + ospfv3IfDemand, + ospfv3IfMetricValue, + ospfv3IfLinkScopeLsaCount, + ospfv3IfLinkLsaCksumSum, + ospfv3IfDemandNbrProbe, + ospfv3IfDemandNbrProbeRetransLimit, + ospfv3IfDemandNbrProbeInterval, + ospfv3IfTEDisabled, + ospfv3IfLinkLSASuppression + } + STATUS current + DESCRIPTION + "These interface objects are used for + managing/monitoring OSPFv3 interfaces." + ::= { ospfv3Groups 7 } + + ospfv3VirtIfGroup OBJECT-GROUP + OBJECTS { + ospfv3VirtIfIndex, + ospfv3VirtIfInstId, + ospfv3VirtIfTransitDelay, + ospfv3VirtIfRetransInterval, + ospfv3VirtIfHelloInterval, + ospfv3VirtIfRtrDeadInterval, + ospfv3VirtIfState, + ospfv3VirtIfEvents, + ospfv3VirtIfRowStatus, + ospfv3VirtIfLinkScopeLsaCount, + ospfv3VirtIfLinkLsaCksumSum + } + STATUS current + DESCRIPTION + "These virtual interface objects are used for + managing/monitoring OSPFv3 virtual interfaces." + ::= { ospfv3Groups 8 } + + ospfv3NbrGroup OBJECT-GROUP + OBJECTS { + ospfv3NbrAddressType, + ospfv3NbrAddress, + ospfv3NbrOptions, + ospfv3NbrPriority, + ospfv3NbrState, + ospfv3NbrEvents, + + ospfv3NbrLsRetransQLen, + ospfv3NbrHelloSuppressed, + ospfv3NbrIfId, + ospfv3NbrRestartHelperStatus, + ospfv3NbrRestartHelperAge, + ospfv3NbrRestartHelperExitReason + } + STATUS current + DESCRIPTION + "These neighbor objects are used for + managing/monitoring OSPFv3 neighbors." + ::= { ospfv3Groups 9 } + + ospfv3CfgNbrGroup OBJECT-GROUP + OBJECTS { + ospfv3CfgNbrPriority, + ospfv3CfgNbrRowStatus + } + STATUS current + DESCRIPTION + "These configured neighbor objects are used for + managing/monitoring OSPFv3-configured neighbors." + ::= { ospfv3Groups 10 } + + ospfv3VirtNbrGroup OBJECT-GROUP + OBJECTS { + ospfv3VirtNbrIfIndex, + ospfv3VirtNbrIfInstId, + ospfv3VirtNbrAddressType, + ospfv3VirtNbrAddress, + ospfv3VirtNbrOptions, + ospfv3VirtNbrState, + ospfv3VirtNbrEvents, + ospfv3VirtNbrLsRetransQLen, + ospfv3VirtNbrHelloSuppressed, + ospfv3VirtNbrIfId, + ospfv3VirtNbrRestartHelperStatus, + ospfv3VirtNbrRestartHelperAge, + ospfv3VirtNbrRestartHelperExitReason + } + STATUS current + DESCRIPTION + "These virtual neighbor objects are used for + managing/monitoring OSPFv3 virtual neighbors." + ::= { ospfv3Groups 11 } + + + + + ospfv3AreaAggregateGroup OBJECT-GROUP + OBJECTS { + ospfv3AreaAggregateRowStatus, + ospfv3AreaAggregateEffect, + ospfv3AreaAggregateRouteTag + } + STATUS current + DESCRIPTION + "These area aggregate objects are required for + aggregating OSPFv3 prefixes for summarization + across areas." + ::= { ospfv3Groups 12 } + + ospfv3VirtLinkLsdbGroup OBJECT-GROUP + OBJECTS { + ospfv3VirtLinkLsdbSequence, + ospfv3VirtLinkLsdbAge, + ospfv3VirtLinkLsdbChecksum, + ospfv3VirtLinkLsdbAdvertisement, + ospfv3VirtLinkLsdbTypeKnown + } + STATUS current + DESCRIPTION + "These objects are used for OSPFv3 systems + that display their Link-scope link state database + for virtual interfaces." + ::= { ospfv3Groups 13 } + + ospfv3NotificationObjectGroup OBJECT-GROUP + OBJECTS { + ospfv3ConfigErrorType, + ospfv3PacketType, + ospfv3PacketSrc + } + STATUS current + DESCRIPTION + "These objects are used to record notification + parameters." + ::= { ospfv3Groups 14 } + + ospfv3NotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + ospfv3VirtIfStateChange, + ospfv3NbrStateChange, + ospfv3VirtNbrStateChange, + ospfv3IfConfigError, + ospfv3VirtIfConfigError, + ospfv3IfRxBadPacket, + + ospfv3VirtIfRxBadPacket, + ospfv3LsdbOverflow, + ospfv3LsdbApproachingOverflow, + ospfv3IfStateChange, + ospfv3NssaTranslatorStatusChange, + ospfv3RestartStatusChange, + ospfv3NbrRestartHelperStatusChange, + ospfv3VirtNbrRestartHelperStatusChange + } + STATUS current + DESCRIPTION + "This group is used for OSPFv3 notifications." + ::= { ospfv3Groups 15 } + + END \ No newline at end of file diff --git a/mibs/PIM-STD-MIB.txt b/mibs/PIM-STD-MIB.txt new file mode 100644 index 00000000..deacc68c --- /dev/null +++ b/mibs/PIM-STD-MIB.txt @@ -0,0 +1,3967 @@ +PIM-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, mib-2, + NOTIFICATION-TYPE, Unsigned32, + Counter32, Counter64, Gauge32, + TimeTicks FROM SNMPv2-SMI -- [RFC2578] + TEXTUAL-CONVENTION, + RowStatus, TruthValue, + StorageType FROM SNMPv2-TC -- [RFC2579] + MODULE-COMPLIANCE, OBJECT-GROUP, + NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] + InterfaceIndexOrZero, + InterfaceIndex FROM IF-MIB -- [RFC2863] + InetAddressType, + InetAddressPrefixLength, + InetAddress, InetVersion FROM INET-ADDRESS-MIB -- [RFC4001] + IANAipRouteProtocol FROM IANA-RTPROTO-MIB; -- [RTPROTO] + +pimStdMIB MODULE-IDENTITY + LAST-UPDATED "200711020000Z" -- 2 November 2007 + ORGANIZATION + "IETF Protocol Independent Multicast (PIM) Working Group" + CONTACT-INFO + "Email: pim@ietf.org + WG charter: + + + + + http://www.ietf.org/html.charters/pim-charter.html" + DESCRIPTION + "The MIB module for management of PIM routers. + + Copyright (C) The IETF Trust (2007). This version of this + MIB module is part of RFC 5060; see the RFC itself for full + legal notices." + REVISION "200711020000Z" -- 2 November 2007 + DESCRIPTION "Initial version, published as RFC 5060." + ::= { mib-2 157 } + +-- +-- Textual Conventions +-- + +PimMode ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The PIM mode in which a group is operating. + + none(1) The group is not using PIM, which may be the + case if, for example, it is a link-local or + unroutable group address. + + ssm(2) Source-Specific Multicast (SSM) with PIM Sparse + Mode. + + asm(3) Any Source Multicast (ASM) with PIM Sparse + Mode. + + bidir(4) Bidirectional PIM. + + dm(5) PIM Dense Mode. + + other(6) Any other PIM mode." + + SYNTAX INTEGER { + none(1), + ssm(2), + asm(3), + bidir(4), + dm(5), + other(6) + } + +PimGroupMappingOriginType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + + + + "The mechanism by which a PIM group mapping was learned. + + fixed(1) Link-local or unroutable group mappings. + + configRp(2) Local static RP configuration. + + configSsm(3) Local SSM Group configuration. + + bsr(4) The PIM Bootstrap Router (BSR) mechanism. + + autoRP(5) Cisco's Auto-RP mechanism. + + embedded(6) The Embedded-RP mechanism where the RP address + is embedded in the multicast group address. + + other(7) Any other mechanism." + + REFERENCE "RFC 3569, RFC 3956, and RFC 5059" + SYNTAX INTEGER { + fixed(1), + configRp(2), + configSsm(3), + bsr(4), + autoRP(5), + embedded(6), + other(7) + } + +-- +-- Top-level structure +-- + +pimNotifications OBJECT IDENTIFIER ::= { pimStdMIB 0 } +pim OBJECT IDENTIFIER ::= { pimStdMIB 1 } + +pimKeepalivePeriod OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The duration of the Keepalive Timer. This is the period + during which the PIM router will maintain (S,G) state in the + absence of explicit (S,G) local membership or (S,G) join + messages received to maintain it. This timer period is + called the Keepalive_Period in the PIM-SM specification. It + is called the SourceLifetime in the PIM-DM specification. + + + + + The storage type of this object is determined by + pimDeviceConfigStorageType." + REFERENCE "RFC 4601 section 4.11" + DEFVAL { 210 } + ::= { pim 14 } + +pimRegisterSuppressionTime OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The duration of the Register Suppression Timer. This is + the period during which a PIM Designated Router (DR) stops + sending Register-encapsulated data to the Rendezvous Point + (RP) after receiving a Register-Stop message. This object + is used to run timers both at the DR and at the RP. This + timer period is called the Register_Suppression_Time in the + PIM-SM specification. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + REFERENCE "RFC 4601 section 4.11" + DEFVAL { 60 } + ::= { pim 15 } + +pimStarGEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimStarGTable." + ::= { pim 16 } + +pimStarGIEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimStarGITable." + ::= { pim 17 } + +pimSGEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimSGTable." + + + + ::= { pim 18 } + +pimSGIEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimSGITable." + ::= { pim 19 } + +pimSGRptEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimSGRptTable." + ::= { pim 20 } + +pimSGRptIEntries OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of entries in the pimSGRptITable." + ::= { pim 21 } + +pimOutAsserts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of Asserts sent by this router. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.6" + ::= { pim 22 } + +pimInAsserts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of Asserts received by this router. Asserts + are multicast to all routers on a network. This counter is + incremented by all routers that receive an assert, not only + those routers that are contesting the assert. + + + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.6" + ::= { pim 23 } + +pimLastAssertInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The interface on which this router most recently sent or + received an assert, or zero if this router has not sent or + received an assert." + REFERENCE "RFC 4601 section 4.6" + ::= { pim 24 } + +pimLastAssertGroupAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the multicast group address in the most + recently sent or received assert. If this router has not + sent or received an assert, then this object is set to + unknown(0)." + ::= { pim 25 } + +pimLastAssertGroupAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The multicast group address in the most recently sent or + received assert. The InetAddressType is given by the + pimLastAssertGroupAddressType object." + ::= { pim 26 } + +pimLastAssertSourceAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the source address in the most recently + sent or received assert. If the most recent assert was + (*,G), or if this router has not sent or received an assert, + then this object is set to unknown(0)." + ::= { pim 27 } + + + +pimLastAssertSourceAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The source address in the most recently sent or received + assert. The InetAddressType is given by the + pimLastAssertSourceAddressType object." + ::= { pim 28 } + +pimNeighborLossNotificationPeriod OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The minimum time that must elapse between pimNeighborLoss + notifications originated by this router. The maximum value + 65535 represents an 'infinite' time, in which case, no + pimNeighborLoss notifications are ever sent. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + DEFVAL { 0 } + ::= { pim 29 } + +pimNeighborLossCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of neighbor loss events that have occurred. + + This counter is incremented when the neighbor timer expires, + and the router has no other neighbors on the same interface + with the same IP version and a lower IP address than itself. + + This counter is incremented whenever a pimNeighborLoss + notification would be generated. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.3.2" + ::= { pim 30 } + +pimInvalidRegisterNotificationPeriod OBJECT-TYPE + SYNTAX Unsigned32 (10..65535) + + + + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The minimum time that must elapse between + pimInvalidRegister notifications originated by this router. + The default value of 65535 represents an 'infinite' time, in + which case, no pimInvalidRegister notifications are ever + sent. + + The non-zero minimum allowed value provides resilience + against propagation of denial-of-service attacks from the + data and control planes to the network management plane. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + DEFVAL { 65535 } + ::= { pim 31 } + +pimInvalidRegisterMsgsRcvd OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of invalid PIM Register messages that have been + received by this device. + + A PIM Register message is invalid if either + + o the destination address of the Register message does not + match the Group to RP mapping on this device, or + + o this device believes the group address to be within an + SSM address range, but this Register implies ASM usage. + + These conditions can occur transiently while RP mapping + changes propagate through the network. If this counter is + incremented repeatedly over several minutes, then there is a + persisting configuration error that requires correction. + + The active Group to RP mapping on this device is specified + by the object pimGroupMappingPimMode. If there is no such + mapping, then the object pimGroupMappingPimMode is absent. + The RP address contained in the invalid Register is + pimInvalidRegisterRp. + + Multicast data carried by invalid Register messages is + discarded. The discarded data is from a source directly + + + + connected to pimInvalidRegisterOrigin, and is addressed to + pimInvalidRegisterGroup. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.4.2, RFC 3569, and + 'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable" + ::= { pim 32 } + +pimInvalidRegisterAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type stored in pimInvalidRegisterOrigin, + pimInvalidRegisterGroup, and pimInvalidRegisterRp. + + If no invalid Register messages have been received, then + this object is set to unknown(0)." + ::= { pim 33 } + +pimInvalidRegisterOrigin OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The source address of the last invalid Register message + received by this device." + ::= { pim 34 } + +pimInvalidRegisterGroup OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP multicast group address to which the last invalid + Register message received by this device was addressed." + ::= { pim 35 } + +pimInvalidRegisterRp OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The RP address to which the last invalid Register message + received by this device was delivered." + ::= { pim 36 } + + + +pimInvalidJoinPruneNotificationPeriod OBJECT-TYPE + SYNTAX Unsigned32 (10..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The minimum time that must elapse between + pimInvalidJoinPrune notifications originated by this router. + The default value of 65535 represents an 'infinite' time, in + which case, no pimInvalidJoinPrune notifications are ever + sent. + + The non-zero minimum allowed value provides resilience + against propagation of denial-of-service attacks from the + control plane to the network management plane. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + DEFVAL { 65535 } + ::= { pim 37 } + +pimInvalidJoinPruneMsgsRcvd OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of invalid PIM Join/Prune messages that have + been received by this device. + + A PIM Join/Prune message is invalid if either + + o the Group to RP mapping specified by this message does not + match the Group to RP mapping on this device, or + + o this device believes the group address to be within an + SSM address range, but this Join/Prune (*,G) or (S,G,rpt) + implies ASM usage. + + These conditions can occur transiently while RP mapping + changes propagate through the network. If this counter is + incremented repeatedly over several minutes, then there is a + persisting configuration error that requires correction. + + The active Group to RP mapping on this device is specified + by the object pimGroupMappingPimMode. If there is no such + mapping, then the object pimGroupMappingPimMode is absent. + The RP address contained in the invalid Join/Prune is + pimInvalidJoinPruneRp. + + + + Invalid Join/Prune messages are discarded. This may result + in loss of multicast data affecting listeners downstream of + pimInvalidJoinPruneOrigin, for multicast data addressed to + pimInvalidJoinPruneGroup. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.5.2, RFC 3569, and + 'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable" + ::= { pim 38 } + +pimInvalidJoinPruneAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type stored in pimInvalidJoinPruneOrigin, + pimInvalidJoinPruneGroup, and pimInvalidJoinPruneRp. + + If no invalid Join/Prune messages have been received, this + object is set to unknown(0)." + ::= { pim 39 } + +pimInvalidJoinPruneOrigin OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The source address of the last invalid Join/Prune message + received by this device." + ::= { pim 40 } + +pimInvalidJoinPruneGroup OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP multicast group address carried in the last + invalid Join/Prune message received by this device." + ::= { pim 41 } + +pimInvalidJoinPruneRp OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The RP address carried in the last invalid Join/Prune + + + + message received by this device." + ::= { pim 42 } + +pimRPMappingNotificationPeriod OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The minimum time that must elapse between + pimRPMappingChange notifications originated by this router. + The default value of 65535 represents an 'infinite' time, in + which case, no pimRPMappingChange notifications are ever + sent. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + DEFVAL { 65535 } + ::= { pim 43 } + +pimRPMappingChangeCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of changes to active RP mappings on this device. + + Information about active RP mappings is available in + pimGroupMappingTable. Only changes to active mappings cause + this counter to be incremented. That is, changes that + modify the pimGroupMappingEntry with the highest precedence + for a group (lowest value of pimGroupMappingPrecedence). + + Such changes may result from manual configuration of this + device, or from automatic RP mapping discovery methods + including the PIM Bootstrap Router (BSR) mechanism. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 5059" + ::= { pim 44 } + +pimInterfaceElectionNotificationPeriod OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + + + + DESCRIPTION + "The minimum time that must elapse between + pimInterfaceElection notifications originated by this + router. The default value of 65535 represents an 'infinite' + time, in which case, no pimInterfaceElection notifications + are ever sent. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + DEFVAL { 65535 } + ::= { pim 45 } + +pimInterfaceElectionWinCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times this device has been elected DR or DF + on any interface. + + Elections occur frequently on newly-active interfaces, as + triggered Hellos establish adjacencies. This counter is not + incremented for elections on an interface until the first + periodic Hello has been sent. If this router is the DR or + DF at the time of sending the first periodic Hello after + interface activation, then this counter is incremented + (once) at that time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, for example, + when the device is rebooted." + REFERENCE "RFC 4601 section 4.3.2 and RFC 5015 section 3.5.2" + ::= { pim 46 } + +pimRefreshInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The interval between successive State Refresh messages sent + by an Originator. This timer period is called the + RefreshInterval in the PIM-DM specification. This object is + used only by PIM-DM. + + The storage type of this object is determined by + pimDeviceConfigStorageType." + REFERENCE "RFC 3973 section 4.8" + + + + DEFVAL { 60 } + ::= { pim 47 } + +pimDeviceConfigStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The storage type used for the global PIM configuration of + this device, comprised of the objects listed below. If this + storage type takes the value 'permanent', write-access to + the listed objects need not be allowed. + + The objects described by this storage type are: + pimKeepalivePeriod, pimRegisterSuppressionTime, + pimNeighborLossNotificationPeriod, + pimInvalidRegisterNotificationPeriod, + pimInvalidJoinPruneNotificationPeriod, + pimRPMappingNotificationPeriod, + pimInterfaceElectionNotificationPeriod, and + pimRefreshInterval." + DEFVAL { nonVolatile } + ::= { pim 48 } + +-- +-- The PIM Interface Table +-- + +pimInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the router's PIM interfaces. + PIM is enabled on all interfaces listed in this table." + ::= { pim 1 } + +pimInterfaceEntry OBJECT-TYPE + SYNTAX PimInterfaceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimInterfaceTable. This + entry is preserved on agent restart." + INDEX { pimInterfaceIfIndex, + pimInterfaceIPVersion } + ::= { pimInterfaceTable 1 } + + + + +PimInterfaceEntry ::= SEQUENCE { + pimInterfaceIfIndex InterfaceIndex, + pimInterfaceIPVersion InetVersion, + pimInterfaceAddressType InetAddressType, + pimInterfaceAddress InetAddress, + pimInterfaceGenerationIDValue Unsigned32, + pimInterfaceDR InetAddress, + pimInterfaceDRPriority Unsigned32, + pimInterfaceDRPriorityEnabled TruthValue, + pimInterfaceHelloInterval Unsigned32, + pimInterfaceTrigHelloInterval Unsigned32, + pimInterfaceHelloHoldtime Unsigned32, + pimInterfaceJoinPruneInterval Unsigned32, + pimInterfaceJoinPruneHoldtime Unsigned32, + pimInterfaceDFElectionRobustness Unsigned32, + pimInterfaceLanDelayEnabled TruthValue, + pimInterfacePropagationDelay Unsigned32, + pimInterfaceOverrideInterval Unsigned32, + pimInterfaceEffectPropagDelay Unsigned32, + pimInterfaceEffectOverrideIvl Unsigned32, + pimInterfaceSuppressionEnabled TruthValue, + pimInterfaceBidirCapable TruthValue, + pimInterfaceDomainBorder TruthValue, + pimInterfaceStubInterface TruthValue, + pimInterfacePruneLimitInterval Unsigned32, + pimInterfaceGraftRetryInterval Unsigned32, + pimInterfaceSRPriorityEnabled TruthValue, + pimInterfaceStatus RowStatus, + pimInterfaceStorageType StorageType +} + +pimInterfaceIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex value of this PIM interface." + ::= { pimInterfaceEntry 1 } + +pimInterfaceIPVersion OBJECT-TYPE + SYNTAX InetVersion + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP version of this PIM interface. A physical interface + may be configured in multiple modes concurrently, e.g., IPv4 + and IPv6; however, the traffic is considered to be logically + separate." + + + + ::= { pimInterfaceEntry 2 } + +pimInterfaceAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of this PIM interface." + ::= { pimInterfaceEntry 3 } + +pimInterfaceAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary IP address of this router on this PIM + interface. The InetAddressType is given by the + pimInterfaceAddressType object." + REFERENCE "RFC 4601 sections 4.1.6, 4.3.1-4.3.4, and 4.5.1" + ::= { pimInterfaceEntry 4 } + +pimInterfaceGenerationIDValue OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the Generation ID this router inserted in the + last PIM Hello message it sent on this interface." + REFERENCE "RFC 4601 section 4.3.1" + ::= { pimInterfaceEntry 5 } + +pimInterfaceDR OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary IP address of the Designated Router on this PIM + interface. The InetAddressType is given by the + pimInterfaceAddressType object." + REFERENCE "RFC 4601 section 4.3" + ::= { pimInterfaceEntry 6 } + +pimInterfaceDRPriority OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Designated Router Priority value inserted into the DR + + + + Priority option in PIM Hello messages transmitted on this + interface. Numerically higher values for this object + indicate higher priorities." + REFERENCE "RFC 4601 section 4.3.2" + DEFVAL { 1 } + ::= { pimInterfaceEntry 7 } + +pimInterfaceDRPriorityEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if all routers on this interface are + using the DR Priority option." + REFERENCE "RFC 4601 section 4.3.2" + ::= { pimInterfaceEntry 8 } + +pimInterfaceHelloInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..18000) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The frequency at which PIM Hello messages are transmitted + on this interface. This object corresponds to the + 'Hello_Period' timer value defined in the PIM-SM + specification. A value of zero represents an 'infinite' + interval, and indicates that periodic PIM Hello messages + should not be sent on this interface." + REFERENCE "RFC 4601 section 9" + DEFVAL { 30 } + ::= { pimInterfaceEntry 9 } + +pimInterfaceTrigHelloInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..60) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum time before this router sends a triggered PIM + Hello message on this interface. This object corresponds to + the 'Trigered_Hello_Delay' timer value defined in the PIM-SM + specification. A value of zero has no special meaning and + indicates that triggered PIM Hello messages should always be + sent immediately." + REFERENCE "RFC 4601 section 4.11" + DEFVAL { 5 } + ::= { pimInterfaceEntry 10 } + + + +pimInterfaceHelloHoldtime OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value set in the Holdtime field of PIM Hello messages + transmitted on this interface. A value of 65535 represents + an 'infinite' holdtime. Implementations are recommended + to use a holdtime that is 3.5 times the value of + pimInterfaceHelloInterval, or 65535 if + pimInterfaceHelloInterval is set to zero." + REFERENCE "RFC 4601 sections 4.3.2 and 4.9.2" + DEFVAL { 105 } + ::= { pimInterfaceEntry 11 } + +pimInterfaceJoinPruneInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..18000) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The frequency at which this router sends PIM Join/Prune + messages on this PIM interface. This object corresponds to + the 't_periodic' timer value defined in the PIM-SM + specification. A value of zero represents an 'infinite' + interval, and indicates that periodic PIM Join/Prune + messages should not be sent on this interface." + REFERENCE "RFC 4601 section 4.11" + DEFVAL { 60 } + ::= { pimInterfaceEntry 12 } + +pimInterfaceJoinPruneHoldtime OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value inserted into the Holdtime field of a PIM + Join/Prune message sent on this interface. A value of 65535 + represents an 'infinite' holdtime. Implementations are + recommended to use a holdtime that is 3.5 times the value of + pimInterfaceJoinPruneInterval, or 65535 if + pimInterfaceJoinPruneInterval is set to zero. PIM-DM + implementations are recommended to use the value of + pimInterfacePruneLimitInterval." + REFERENCE "RFC 4601 sections 4.5.3 and 4.9.5" + DEFVAL { 210 } + + + + ::= { pimInterfaceEntry 13 } + +pimInterfaceDFElectionRobustness OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum number of PIM DF-Election messages that must be + lost in order for DF election on this interface to fail." + DEFVAL { 3 } + ::= { pimInterfaceEntry 14 } + +pimInterfaceLanDelayEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if all routers on this interface are + using the LAN Prune Delay option." + REFERENCE "RFC 4601 sections 4.3.3 and 4.9.2" + ::= { pimInterfaceEntry 15 } + +pimInterfacePropagationDelay OBJECT-TYPE + SYNTAX Unsigned32 (0..32767) + UNITS "milliseconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The expected propagation delay between PIM routers on this + network or link. + + This router inserts this value into the Propagation_Delay + field of the LAN Prune Delay option in the PIM Hello + messages sent on this interface. Implementations SHOULD + enforce a lower bound on the permitted values for this + object to allow for scheduling and processing delays within + the local router." + DEFVAL { 500 } + ::= { pimInterfaceEntry 16 } + +pimInterfaceOverrideInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "milliseconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value this router inserts into the Override_Interval + field of the LAN Prune Delay option in the PIM Hello + + + + messages it sends on this interface. + + When overriding a prune, PIM routers pick a random timer + duration up to the value of this object. The more PIM + routers that are active on a network, the more likely it is + that the prune will be overridden after a small proportion + of this time has elapsed. + + The more PIM routers are active on this network, the larger + this object should be to obtain an optimal spread of prune + override latencies." + REFERENCE "RFC 4601 section 4.3.3" + DEFVAL { 2500 } + ::= { pimInterfaceEntry 17 } + +pimInterfaceEffectPropagDelay OBJECT-TYPE + SYNTAX Unsigned32 (0..32767) + UNITS "milliseconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Effective Propagation Delay on this interface. This + object is always 500 if pimInterfaceLanDelayEnabled is + FALSE." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimInterfaceEntry 18 } + +pimInterfaceEffectOverrideIvl OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "milliseconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Effective Override Interval on this interface. This + object is always 2500 if pimInterfaceLanDelayEnabled is + FALSE." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimInterfaceEntry 19 } + +pimInterfaceSuppressionEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether join suppression is enabled on this interface. + This object is always TRUE if pimInterfaceLanDelayEnabled is + FALSE." + REFERENCE "RFC 4601 section 4.3.3" + + + + ::= { pimInterfaceEntry 20 } + +pimInterfaceBidirCapable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if all routers on this interface are + using the Bidirectional-PIM Capable option." + REFERENCE "RFC 5015 section 3.2 and 3.7.4" + ::= { pimInterfaceEntry 21 } + +pimInterfaceDomainBorder OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Whether or not this interface is a PIM domain border. This + includes acting as a border for PIM Bootstrap Router (BSR) + messages, if the BSR mechanism is in use." + DEFVAL { false } + ::= { pimInterfaceEntry 22 } + +pimInterfaceStubInterface OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Whether this interface is a 'stub interface'. If this + object is set to TRUE, then no PIM packets are sent out this + interface, and any received PIM packets are ignored. + + Setting this object to TRUE is a security measure for + interfaces towards untrusted hosts. This allows an + interface to be configured for use with IGMP (Internet Group + Management Protocol) or MLD (Multicast Listener Discovery) + only, which protects the PIM router from forged PIM messages + on the interface. + + To communicate with other PIM routers using this interface, + this object must remain set to FALSE. + + Changing the value of this object while the interface is + operational causes PIM to be disabled and then re-enabled on + this interface." + REFERENCE "RFC 3376, RFC 3810" + DEFVAL { false } + ::= { pimInterfaceEntry 23 } + + + +pimInterfacePruneLimitInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum interval that must transpire between two + successive Prunes sent by a router. This object corresponds + to the 't_limit' timer value defined in the PIM-DM + specification. This object is used only by PIM-DM." + REFERENCE "RFC 3973 section 4.8" + DEFVAL { 60 } + ::= { pimInterfaceEntry 24 } + +pimInterfaceGraftRetryInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum interval that must transpire between two + successive Grafts sent by a router. This object corresponds + to the 'Graft_Retry_Period' timer value defined in the + PIM-DM specification. This object is used only by PIM-DM." + REFERENCE "RFC 3973 section 4.8" + DEFVAL { 3 } + ::= { pimInterfaceEntry 25 } + +pimInterfaceSRPriorityEnabled OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if all routers on this interface are + using the State Refresh option. This object is used only by + PIM-DM." + ::= { pimInterfaceEntry 26 } + +pimInterfaceStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this entry. Creating the entry enables PIM + on the interface; destroying the entry disables PIM on the + interface. + + This status object can be set to active(1) without setting + + + + any other columnar objects in this entry. + + All writeable objects in this entry can be modified when the + status of this entry is active(1)." + ::= { pimInterfaceEntry 27 } + +pimInterfaceStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { pimInterfaceEntry 28 } + +-- +-- The PIM Neighbor Table +-- + +pimNeighborTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimNeighborEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the router's PIM neighbors." + ::= { pim 2 } + +pimNeighborEntry OBJECT-TYPE + SYNTAX PimNeighborEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimNeighborTable." + INDEX { pimNeighborIfIndex, + pimNeighborAddressType, + pimNeighborAddress } + ::= { pimNeighborTable 1 } + +PimNeighborEntry ::= SEQUENCE { + pimNeighborIfIndex InterfaceIndex, + pimNeighborAddressType InetAddressType, + pimNeighborAddress InetAddress, + pimNeighborGenerationIDPresent TruthValue, + pimNeighborGenerationIDValue Unsigned32, + pimNeighborUpTime TimeTicks, + pimNeighborExpiryTime TimeTicks, + + + + pimNeighborDRPriorityPresent TruthValue, + pimNeighborDRPriority Unsigned32, + pimNeighborLanPruneDelayPresent TruthValue, + pimNeighborTBit TruthValue, + pimNeighborPropagationDelay Unsigned32, + pimNeighborOverrideInterval Unsigned32, + pimNeighborBidirCapable TruthValue, + pimNeighborSRCapable TruthValue +} + +pimNeighborIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of ifIndex for the interface used to reach this + PIM neighbor." + ::= { pimNeighborEntry 1 } + +pimNeighborAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this PIM neighbor." + ::= { pimNeighborEntry 2 } + +pimNeighborAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The primary IP address of this PIM neighbor. The + InetAddressType is given by the pimNeighborAddressType + object." + ::= { pimNeighborEntry 3 } + +pimNeighborGenerationIDPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if this neighbor is using the Generation + ID option." + REFERENCE "RFC 4601 section 4.3.1" + ::= { pimNeighborEntry 4 } + +pimNeighborGenerationIDValue OBJECT-TYPE + + + + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the Generation ID from the last PIM Hello + message received from this neighbor. This object is always + zero if pimNeighborGenerationIDPresent is FALSE." + REFERENCE "RFC 4601 section 4.3.1" + ::= { pimNeighborEntry 5 } + +pimNeighborUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this PIM neighbor (last) became a neighbor + of the local router." + ::= { pimNeighborEntry 6 } + +pimNeighborExpiryTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum time remaining before this PIM neighbor will + time out. The value zero indicates that this PIM neighbor + will never time out." + ::= { pimNeighborEntry 7 } + +pimNeighborDRPriorityPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if this neighbor is using the DR Priority + option." + REFERENCE "RFC 4601 section 4.3.2" + ::= { pimNeighborEntry 8 } + +pimNeighborDRPriority OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the Designated Router Priority from the last + PIM Hello message received from this neighbor. This object + is always zero if pimNeighborDRPriorityPresent is FALSE." + REFERENCE "RFC 4601 section 4.3.2" + + + + ::= { pimNeighborEntry 9 } + +pimNeighborLanPruneDelayPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if this neighbor is using the LAN Prune + Delay option." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimNeighborEntry 10 } + +pimNeighborTBit OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the T bit was set in the LAN Prune Delay option + received from this neighbor. The T bit specifies the + ability of the neighbor to disable join suppression. This + object is always TRUE if pimNeighborLanPruneDelayPresent is + FALSE." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimNeighborEntry 11 } + +pimNeighborPropagationDelay OBJECT-TYPE + SYNTAX Unsigned32 (0..32767) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the Propagation_Delay field of the LAN Prune + Delay option received from this neighbor. This object is + always zero if pimNeighborLanPruneDelayPresent is FALSE." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimNeighborEntry 12 } + +pimNeighborOverrideInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of the Override_Interval field of the LAN Prune + Delay option received from this neighbor. This object is + always zero if pimNeighborLanPruneDelayPresent is FALSE." + REFERENCE "RFC 4601 section 4.3.3" + ::= { pimNeighborEntry 13 } + +pimNeighborBidirCapable OBJECT-TYPE + + + + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if this neighbor is using the + Bidirectional-PIM Capable option." + REFERENCE "RFC 5015 section 3.2 and 3.7.4" + ::= { pimNeighborEntry 14 } + +pimNeighborSRCapable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Evaluates to TRUE if this neighbor is using the State + Refresh Capable option. This object is used only by + PIM-DM." + REFERENCE "RFC 3973 section 4.3.4" + ::= { pimNeighborEntry 15 } + +-- +-- The PIM Neighbor Secondary Address Table +-- + +pimNbrSecAddressTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimNbrSecAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the secondary addresses + advertised by each PIM neighbor (on a subset of the rows of + the pimNeighborTable defined above)." + REFERENCE "RFC 4601 section 4.3.4" + ::= { pim 3 } + +pimNbrSecAddressEntry OBJECT-TYPE + SYNTAX PimNbrSecAddressEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimNbrSecAddressTable." + INDEX { pimNbrSecAddressIfIndex, + pimNbrSecAddressType, + pimNbrSecAddressPrimary, + pimNbrSecAddress } + ::= { pimNbrSecAddressTable 1 } + +PimNbrSecAddressEntry ::= SEQUENCE { + + + + pimNbrSecAddressIfIndex InterfaceIndex, + pimNbrSecAddressType InetAddressType, + pimNbrSecAddressPrimary InetAddress, + pimNbrSecAddress InetAddress +} + +pimNbrSecAddressIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of ifIndex for the interface used to reach this + PIM neighbor." + ::= { pimNbrSecAddressEntry 1 } + +pimNbrSecAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this PIM neighbor." + ::= { pimNbrSecAddressEntry 2 } + +pimNbrSecAddressPrimary OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The primary IP address of this PIM neighbor. The + InetAddressType is given by the pimNbrSecAddressType + object." + ::= { pimNbrSecAddressEntry 3 } + +pimNbrSecAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The secondary IP address of this PIM neighbor. The + InetAddressType is given by the pimNbrSecAddressType + object." + ::= { pimNbrSecAddressEntry 4 } + +-- +-- The PIM (*,G) State Table +-- + +pimStarGTable OBJECT-TYPE + + + + SYNTAX SEQUENCE OF PimStarGEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the non-interface specific + (*,G) state that PIM has." + REFERENCE "RFC 4601 section 4.1.3" + ::= { pim 4 } + +pimStarGEntry OBJECT-TYPE + SYNTAX PimStarGEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimStarGTable." + INDEX { pimStarGAddressType, + pimStarGGrpAddress } + ::= { pimStarGTable 1 } + +PimStarGEntry ::= SEQUENCE { + pimStarGAddressType InetAddressType, + pimStarGGrpAddress InetAddress, + pimStarGUpTime TimeTicks, + pimStarGPimMode PimMode, + pimStarGRPAddressType InetAddressType, + pimStarGRPAddress InetAddress, + pimStarGPimModeOrigin PimGroupMappingOriginType, + pimStarGRPIsLocal TruthValue, + pimStarGUpstreamJoinState INTEGER, + pimStarGUpstreamJoinTimer TimeTicks, + pimStarGUpstreamNeighborType InetAddressType, + pimStarGUpstreamNeighbor InetAddress, + pimStarGRPFIfIndex InterfaceIndexOrZero, + pimStarGRPFNextHopType InetAddressType, + pimStarGRPFNextHop InetAddress, + pimStarGRPFRouteProtocol IANAipRouteProtocol, + pimStarGRPFRouteAddress InetAddress, + pimStarGRPFRoutePrefixLength InetAddressPrefixLength, + pimStarGRPFRouteMetricPref Unsigned32, + pimStarGRPFRouteMetric Unsigned32 +} + +pimStarGAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this multicast group." + + + + ::= { pimStarGEntry 1 } + +pimStarGGrpAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group address. The InetAddressType is given + by the pimStarGAddressType object." + ::= { pimStarGEntry 2 } + +pimStarGUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimStarGEntry 3 } + +pimStarGPimMode OBJECT-TYPE + SYNTAX PimMode { asm(3), bidir(4) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether this entry represents an ASM (Any Source Multicast, + used with PIM-SM) or BIDIR-PIM group." + ::= { pimStarGEntry 4 } + +pimStarGRPAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the Rendezvous Point (RP), or + unknown(0) if the RP address is unknown." + ::= { pimStarGEntry 5 } + +pimStarGRPAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the Rendezvous Point (RP) for the group. + The InetAddressType is given by the pimStarGRPAddressType." + ::= { pimStarGEntry 6 } + +pimStarGPimModeOrigin OBJECT-TYPE + SYNTAX PimGroupMappingOriginType + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The mechanism by which the PIM mode and RP for the group + were learned." + ::= { pimStarGEntry 7 } + +pimStarGRPIsLocal OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router is the RP for the group." + ::= { pimStarGEntry 8 } + +pimStarGUpstreamJoinState OBJECT-TYPE + SYNTAX INTEGER { + notJoined (1), + joined (2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router should join the RP tree for the + group. This corresponds to the state of the upstream (*,G) + state machine in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.5.6" + ::= { pimStarGEntry 9 } + +pimStarGUpstreamJoinTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before the local router next sends a + periodic (*,G) Join message on pimStarGRPFIfIndex. This + timer is called the (*,G) Upstream Join Timer in the PIM-SM + specification. This object is zero if the timer is not + running." + REFERENCE "RFC 4601 section 4.10" + ::= { pimStarGEntry 10 } + +pimStarGUpstreamNeighborType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary address type of the upstream neighbor, or + + + + unknown(0) if the upstream neighbor address is unknown or is + not a PIM neighbor." + ::= { pimStarGEntry 11 } + +pimStarGUpstreamNeighbor OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary address of the neighbor on pimStarGRPFIfIndex + that the local router is sending periodic (*,G) Join + messages to. The InetAddressType is given by the + pimStarGUpstreamNeighborType object. This address is called + RPF'(*,G) in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.1.6" + ::= { pimStarGEntry 12 } + +pimStarGRPFIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of ifIndex for the Reverse Path Forwarding + (RPF) interface towards the RP, or zero if the RPF + interface is unknown." + ::= { pimStarGEntry 13 } + +pimStarGRPFNextHopType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the RPF next hop towards the RP, or + unknown(0) if the RPF next hop is unknown." + ::= { pimStarGEntry 14 } + +pimStarGRPFNextHop OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the RPF next hop towards the RP. The + InetAddressType is given by the pimStarGRPFNextHopType + object. This address is called MRIB.next_hop(RP(G)) + in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.5.5" + ::= { pimStarGEntry 15 } + + + + +pimStarGRPFRouteProtocol OBJECT-TYPE + SYNTAX IANAipRouteProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing mechanism via which the route used to find the + RPF interface towards the RP was learned." + ::= { pimStarGEntry 16 } + +pimStarGRPFRouteAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address that, when combined with the corresponding + value of pimStarGRPFRoutePrefixLength, identifies the route + used to find the RPF interface towards the RP. The + InetAddressType is given by the pimStarGRPFNextHopType + object. + + This address object is only significant up to + pimStarGRPFRoutePrefixLength bits. The remainder of the + address bits are zero." + ::= { pimStarGEntry 17 } + +pimStarGRPFRoutePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The prefix length that, when combined with the + corresponding value of pimStarGRPFRouteAddress, identifies + the route used to find the RPF interface towards the RP. + The InetAddressType is given by the pimStarGRPFNextHopType + object." + ::= { pimStarGEntry 18 } + +pimStarGRPFRouteMetricPref OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The metric preference of the route used to find the RPF + interface towards the RP." + ::= { pimStarGEntry 19 } + +pimStarGRPFRouteMetric OBJECT-TYPE + SYNTAX Unsigned32 + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing metric of the route used to find the RPF + interface towards the RP." + ::= { pimStarGEntry 20 } + +-- +-- The PIM (*,G,I) State Table +-- + +pimStarGITable OBJECT-TYPE + SYNTAX SEQUENCE OF PimStarGIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interface-specific (*,G) + state that PIM has." + REFERENCE "RFC 4601 section 4.1.3" + ::= { pim 5 } + +pimStarGIEntry OBJECT-TYPE + SYNTAX PimStarGIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimStarGITable." + INDEX { pimStarGAddressType, + pimStarGGrpAddress, + pimStarGIIfIndex } + ::= { pimStarGITable 1 } + +PimStarGIEntry ::= SEQUENCE { + pimStarGIIfIndex InterfaceIndex, + pimStarGIUpTime TimeTicks, + pimStarGILocalMembership TruthValue, + pimStarGIJoinPruneState INTEGER, + pimStarGIPrunePendingTimer TimeTicks, + pimStarGIJoinExpiryTimer TimeTicks, + pimStarGIAssertState INTEGER, + pimStarGIAssertTimer TimeTicks, + pimStarGIAssertWinnerAddressType InetAddressType, + pimStarGIAssertWinnerAddress InetAddress, + pimStarGIAssertWinnerMetricPref Unsigned32, + pimStarGIAssertWinnerMetric Unsigned32 +} + +pimStarGIIfIndex OBJECT-TYPE + + + + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex of the interface that this entry corresponds + to." + ::= { pimStarGIEntry 1 } + +pimStarGIUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimStarGIEntry 2 } + +pimStarGILocalMembership OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router has (*,G) local membership on this + interface (resulting from a mechanism such as IGMP or MLD). + This corresponds to local_receiver_include(*,G,I) in the + PIM-SM specification." + REFERENCE "RFC 3376, RFC 3810, and RFC 4601 section 4.1.6" + ::= { pimStarGIEntry 3 } + +pimStarGIJoinPruneState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + join (2), + prunePending (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state resulting from (*,G) Join/Prune messages + received on this interface. This corresponds to the state + of the downstream per-interface (*,G) state machine in the + PIM-SM specification." + REFERENCE "RFC 4601 section 4.5.2" + ::= { pimStarGIEntry 4 } + +pimStarGIPrunePendingTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + + + + DESCRIPTION + "The time remaining before the local router acts on a (*,G) + Prune message received on this interface, during which the + router is waiting to see whether another downstream router + will override the Prune message. This timer is called the + (*,G) Prune-Pending Timer in the PIM-SM specification. This + object is zero if the timer is not running." + REFERENCE "RFC 4601 section 4.5.1" + ::= { pimStarGIEntry 5 } + +pimStarGIJoinExpiryTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before (*,G) Join state for this + interface expires. This timer is called the (*,G) Join + Expiry Timer in the PIM-SM specification. This object is + zero if the timer is not running. A value of 'FFFFFFFF'h + indicates an infinite expiry time." + REFERENCE "RFC 4601 section 4.10" + ::= { pimStarGIEntry 6 } + +pimStarGIAssertState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + iAmAssertWinner (2), + iAmAssertLoser (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The (*,G) Assert state for this interface. This + corresponds to the state of the per-interface (*,G) Assert + state machine in the PIM-SM specification. If + pimStarGPimMode is 'bidir', this object must be 'noInfo'." + REFERENCE "RFC 4601 section 4.6.2" + ::= { pimStarGIEntry 7 } + +pimStarGIAssertTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimStarGIAssertState is 'iAmAssertWinner', this is the + time remaining before the local router next sends a (*,G) + Assert message on this interface. If pimStarGIAssertState + is 'iAmAssertLoser', this is the time remaining before the + + + + (*,G) Assert state expires. If pimStarGIAssertState is + 'noInfo', this is zero. This timer is called the (*,G) + Assert Timer in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.6.2" + ::= { pimStarGIEntry 8 } + +pimStarGIAssertWinnerAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimStarGIAssertState is 'iAmAssertLoser', this is the + address type of the assert winner; otherwise, this object is + unknown(0)." + ::= { pimStarGIEntry 9 } + +pimStarGIAssertWinnerAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimStarGIAssertState is 'iAmAssertLoser', this is the + address of the assert winner. The InetAddressType is given + by the pimStarGIAssertWinnerAddressType object." + ::= { pimStarGIEntry 10 } + +pimStarGIAssertWinnerMetricPref OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimStarGIAssertState is 'iAmAssertLoser', this is the + metric preference of the route to the RP advertised by the + assert winner; otherwise, this object is zero." + ::= { pimStarGIEntry 11 } + +pimStarGIAssertWinnerMetric OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimStarGIAssertState is 'iAmAssertLoser', this is the + routing metric of the route to the RP advertised by the + assert winner; otherwise, this object is zero." + ::= { pimStarGIEntry 12 } + +-- +-- The PIM (S,G) State Table + + + +-- + +pimSGTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimSGEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the non-interface specific + (S,G) state that PIM has." + REFERENCE "RFC 4601 section 4.1.4" + ::= { pim 6 } + +pimSGEntry OBJECT-TYPE + SYNTAX PimSGEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimSGTable." + INDEX { pimSGAddressType, + pimSGGrpAddress, + pimSGSrcAddress } + ::= { pimSGTable 1 } + +PimSGEntry ::= SEQUENCE { + pimSGAddressType InetAddressType, + pimSGGrpAddress InetAddress, + pimSGSrcAddress InetAddress, + pimSGUpTime TimeTicks, + pimSGPimMode PimMode, + pimSGUpstreamJoinState INTEGER, + pimSGUpstreamJoinTimer TimeTicks, + pimSGUpstreamNeighbor InetAddress, + pimSGRPFIfIndex InterfaceIndexOrZero, + pimSGRPFNextHopType InetAddressType, + pimSGRPFNextHop InetAddress, + pimSGRPFRouteProtocol IANAipRouteProtocol, + pimSGRPFRouteAddress InetAddress, + pimSGRPFRoutePrefixLength InetAddressPrefixLength, + pimSGRPFRouteMetricPref Unsigned32, + pimSGRPFRouteMetric Unsigned32, + pimSGSPTBit TruthValue, + pimSGKeepaliveTimer TimeTicks, + pimSGDRRegisterState INTEGER, + pimSGDRRegisterStopTimer TimeTicks, + pimSGRPRegisterPMBRAddressType InetAddressType, + pimSGRPRegisterPMBRAddress InetAddress, + pimSGUpstreamPruneState INTEGER, + pimSGUpstreamPruneLimitTimer TimeTicks, + + + + pimSGOriginatorState INTEGER, + pimSGSourceActiveTimer TimeTicks, + pimSGStateRefreshTimer TimeTicks +} + +pimSGAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the source and multicast group for this + entry." + ::= { pimSGEntry 1 } + +pimSGGrpAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group address for this entry. The + InetAddressType is given by the pimSGAddressType object." + ::= { pimSGEntry 2 } + +pimSGSrcAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The source address for this entry. The InetAddressType is + given by the pimSGAddressType object." + ::= { pimSGEntry 3 } + +pimSGUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimSGEntry 4 } + +pimSGPimMode OBJECT-TYPE + SYNTAX PimMode { ssm(2), asm(3) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether pimSGGrpAddress is an SSM (Source Specific + Multicast, used with PIM-SM) or ASM (Any Source Multicast, + used with PIM-SM) group." + + + + REFERENCE "RFC 4601 section 4.5.2, RFC 3569, and + 'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable" + ::= { pimSGEntry 5 } + +pimSGUpstreamJoinState OBJECT-TYPE + SYNTAX INTEGER { + notJoined (1), + joined (2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router should join the shortest-path tree + for the source and group represented by this entry. This + corresponds to the state of the upstream (S,G) state machine + in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.5.7" + ::= { pimSGEntry 6 } + +pimSGUpstreamJoinTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before the local router next sends a + periodic (S,G) Join message on pimSGRPFIfIndex. This timer + is called the (S,G) Upstream Join Timer in the PIM-SM + specification. This object is zero if the timer is not + running." + REFERENCE "RFC 4601 sections 4.10 and 4.11" + ::= { pimSGEntry 7 } + +pimSGUpstreamNeighbor OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary address of the neighbor on pimSGRPFIfIndex that + the local router is sending periodic (S,G) Join messages to. + This is zero if the RPF next hop is unknown or is not a + PIM neighbor. The InetAddressType is given by the + pimSGAddressType object. This address is called RPF'(S,G) + in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.1.6" + ::= { pimSGEntry 8 } + +pimSGRPFIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + + + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of ifIndex for the RPF interface towards the + source, or zero if the RPF interface is unknown." + ::= { pimSGEntry 9 } + +pimSGRPFNextHopType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the RPF next hop towards the source, or + unknown(0) if the RPF next hop is unknown." + ::= { pimSGEntry 10 } + +pimSGRPFNextHop OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the RPF next hop towards the source. The + InetAddressType is given by the pimSGRPFNextHopType. This + address is called MRIB.next_hop(S) in the PIM-SM + specification." + REFERENCE "RFC 4601 section 4.5.5" + ::= { pimSGEntry 11 } + +pimSGRPFRouteProtocol OBJECT-TYPE + SYNTAX IANAipRouteProtocol + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing mechanism via which the route used to find the + RPF interface towards the source was learned." + ::= { pimSGEntry 12 } + +pimSGRPFRouteAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address that, when combined with the corresponding + value of pimSGRPFRoutePrefixLength, identifies the route + used to find the RPF interface towards the source. The + InetAddressType is given by the pimSGRPFNextHopType object. + + This address object is only significant up to + + + + pimSGRPFRoutePrefixLength bits. The remainder of the + address bits are zero." + ::= { pimSGEntry 13 } + +pimSGRPFRoutePrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The prefix length that, when combined with the + corresponding value of pimSGRPFRouteAddress, identifies the + route used to find the RPF interface towards the source. + The InetAddressType is given by the pimSGRPFNextHopType + object." + ::= { pimSGEntry 14 } + +pimSGRPFRouteMetricPref OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The metric preference of the route used to find the RPF + interface towards the source." + ::= { pimSGEntry 15 } + +pimSGRPFRouteMetric OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The routing metric of the route used to find the RPF + interface towards the source." + ::= { pimSGEntry 16 } + +pimSGSPTBit OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the SPT bit is set; and therefore whether + forwarding is taking place on the shortest-path tree." + ::= { pimSGEntry 17 } + +pimSGKeepaliveTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + + + "The time remaining before this (S,G) state expires, in + the absence of explicit (S,G) local membership or (S,G) + Join messages received to maintain it. This timer is + called the (S,G) Keepalive Timer in the PIM-SM + specification." + REFERENCE "RFC 4601 section 4.1.4" + ::= { pimSGEntry 18 } + +pimSGDRRegisterState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + join (2), + joinPending (3), + prune (4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router should encapsulate (S,G) data + packets in Register messages and send them to the RP. This + corresponds to the state of the per-(S,G) Register state + machine in the PIM-SM specification. This object is always + 'noInfo' unless pimSGPimMode is 'asm'." + REFERENCE "RFC 4601 section 4.4.1" + ::= { pimSGEntry 19 } + +pimSGDRRegisterStopTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGDRRegisterState is 'prune', this is the time + remaining before the local router sends a Null-Register + message to the RP. If pimSGDRRegisterState is + 'joinPending', this is the time remaining before the local + router resumes encapsulating data packets and sending them + to the RP. Otherwise, this is zero. This timer is called + the Register-Stop Timer in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.4" + ::= { pimSGEntry 20 } + +pimSGRPRegisterPMBRAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type of the first PIM Multicast Border Router + to send a Register message with the Border bit set. This + + + + object is unknown(0) if the local router is not the RP for + the group." + ::= { pimSGEntry 21 } + +pimSGRPRegisterPMBRAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the first PIM Multicast Border Router to + send a Register message with the Border bit set. The + InetAddressType is given by the + pimSGRPRegisterPMBRAddressType object." + ::= { pimSGEntry 22 } + +pimSGUpstreamPruneState OBJECT-TYPE + SYNTAX INTEGER { + forwarding (1), + ackpending (2), + pruned (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router has pruned itself from the tree. + This corresponds to the state of the upstream prune (S,G) + state machine in the PIM-DM specification. This object is + used only by PIM-DM." + REFERENCE "RFC 3973 section 4.4.1" + ::= { pimSGEntry 23 } + +pimSGUpstreamPruneLimitTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before the local router may send a (S,G) + Prune message on pimSGRPFIfIndex. This timer is called the + (S,G) Prune Limit Timer in the PIM-DM specification. This + object is zero if the timer is not running. This object is + used only by PIM-DM." + REFERENCE "RFC 2973 section 4.8" + ::= { pimSGEntry 24 } + +pimSGOriginatorState OBJECT-TYPE + SYNTAX INTEGER { + notOriginator (1), + originator (2) + + + + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the router is an originator for an (S,G) message + flow. This corresponds to the state of the per-(S,G) + Originator state machine in the PIM-DM specification. This + object is used only by PIM-DM." + REFERENCE "RFC 3973 section 4.5.2" + ::= { pimSGEntry 25 } + +pimSGSourceActiveTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGOriginatorState is 'originator', this is the time + remaining before the local router reverts to a notOriginator + state. Otherwise, this is zero. This timer is called the + Source Active Timer in the PIM-DM specification. This + object is used only by PIM-DM." + REFERENCE "RFC 3973 section 4.8" + ::= { pimSGEntry 26 } + +pimSGStateRefreshTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGOriginatorState is 'originator', this is the time + remaining before the local router sends a State Refresh + message. Otherwise, this is zero. This timer is called the + State Refresh Timer in the PIM-DM specification. This + object is used only by PIM-DM." + REFERENCE "RFC 3973 section 4.8" + ::= { pimSGEntry 27 } + +-- +-- The PIM (S,G,I) State Table +-- + +pimSGITable OBJECT-TYPE + SYNTAX SEQUENCE OF PimSGIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interface-specific (S,G) + state that PIM has." + + + + REFERENCE "RFC 4601 section 4.1.4" + ::= { pim 7 } + +pimSGIEntry OBJECT-TYPE + SYNTAX PimSGIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimSGITable." + INDEX { pimSGAddressType, + pimSGGrpAddress, + pimSGSrcAddress, + pimSGIIfIndex } + ::= { pimSGITable 1 } + +PimSGIEntry ::= SEQUENCE { + pimSGIIfIndex InterfaceIndex, + pimSGIUpTime TimeTicks, + pimSGILocalMembership TruthValue, + pimSGIJoinPruneState INTEGER, + pimSGIPrunePendingTimer TimeTicks, + pimSGIJoinExpiryTimer TimeTicks, + pimSGIAssertState INTEGER, + pimSGIAssertTimer TimeTicks, + pimSGIAssertWinnerAddressType InetAddressType, + pimSGIAssertWinnerAddress InetAddress, + pimSGIAssertWinnerMetricPref Unsigned32, + pimSGIAssertWinnerMetric Unsigned32 +} + +pimSGIIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex of the interface that this entry corresponds + to." + ::= { pimSGIEntry 1 } + +pimSGIUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimSGIEntry 2 } + +pimSGILocalMembership OBJECT-TYPE + + + + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router has (S,G) local membership on this + interface (resulting from a mechanism such as IGMP or MLD). + This corresponds to local_receiver_include(S,G,I) in the + PIM-SM specification." + REFERENCE "RFC 3376, RFC 3810, RFC 4601 sections 4.1.6, 4.6.1, and + 4.6.2" + ::= { pimSGIEntry 3 } + +pimSGIJoinPruneState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + join (2), + prunePending (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state resulting from (S,G) Join/Prune messages + received on this interface. This corresponds to the state + of the downstream per-interface (S,G) state machine in the + PIM-SM and PIM-DM specification." + REFERENCE "RFC 4601 section 4.5.3 and RFC 3973 section 4.4.2" + ::= { pimSGIEntry 4 } + +pimSGIPrunePendingTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before the local router acts on an (S,G) + Prune message received on this interface, during which the + router is waiting to see whether another downstream router + will override the Prune message. This timer is called the + (S,G) Prune-Pending Timer in the PIM-SM specification. This + object is zero if the timer is not running." + REFERENCE "RFC 4601 sections 4.5.3 and 4.5.4" + ::= { pimSGIEntry 5 } + +pimSGIJoinExpiryTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before (S,G) Join state for this + + + + interface expires. This timer is called the (S,G) Join + Expiry Timer in the PIM-SM specification. This object is + zero if the timer is not running. A value of 'FFFFFFFF'h + indicates an infinite expiry time. This timer is called the + (S,G) Prune Timer in the PIM-DM specification." + REFERENCE "RFC 4601 section 4.10 and RFC 3973 section 4.8" + ::= { pimSGIEntry 6 } + +pimSGIAssertState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + iAmAssertWinner (2), + iAmAssertLoser (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The (S,G) Assert state for this interface. This + corresponds to the state of the per-interface (S,G) Assert + state machine in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.6.1" + ::= { pimSGIEntry 7 } + +pimSGIAssertTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGIAssertState is 'iAmAssertWinner', this is the time + remaining before the local router next sends a (S,G) Assert + message on this interface. If pimSGIAssertState is + 'iAmAssertLoser', this is the time remaining before the + (S,G) Assert state expires. If pimSGIAssertState is + 'noInfo', this is zero. This timer is called the (S,G) + Assert Timer in the PIM-SM specification." + REFERENCE "RFC 4601 section 4.6.1" + ::= { pimSGIEntry 8 } + +pimSGIAssertWinnerAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGIAssertState is 'iAmAssertLoser', this is the + address type of the assert winner; otherwise, this object is + unknown(0)." + ::= { pimSGIEntry 9 } + + + + +pimSGIAssertWinnerAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGIAssertState is 'iAmAssertLoser', this is the + address of the assert winner. The InetAddressType is given + by the pimSGIAssertWinnerAddressType object." + ::= { pimSGIEntry 10 } + +pimSGIAssertWinnerMetricPref OBJECT-TYPE + SYNTAX Unsigned32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGIAssertState is 'iAmAssertLoser', this is the + metric preference of the route to the source advertised by + the assert winner; otherwise, this object is zero." + ::= { pimSGIEntry 11 } + +pimSGIAssertWinnerMetric OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If pimSGIAssertState is 'iAmAssertLoser', this is the + routing metric of the route to the source advertised by the + assert winner; otherwise, this object is zero." + ::= { pimSGIEntry 12 } + +-- +-- The PIM (S,G,rpt) State Table +-- + +pimSGRptTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimSGRptEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the non-interface specific + (S,G,rpt) state that PIM has." + REFERENCE "RFC 4601 section 4.1.5" + ::= { pim 8 } + +pimSGRptEntry OBJECT-TYPE + SYNTAX PimSGRptEntry + MAX-ACCESS not-accessible + STATUS current + + + + DESCRIPTION + "An entry (conceptual row) in the pimSGRptTable." + INDEX { pimStarGAddressType, + pimStarGGrpAddress, + pimSGRptSrcAddress } + ::= { pimSGRptTable 1 } + +PimSGRptEntry ::= SEQUENCE { + pimSGRptSrcAddress InetAddress, + pimSGRptUpTime TimeTicks, + pimSGRptUpstreamPruneState INTEGER, + pimSGRptUpstreamOverrideTimer TimeTicks +} + +pimSGRptSrcAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The source address for this entry. The InetAddressType is + given by the pimStarGAddressType object." + ::= { pimSGRptEntry 1 } + +pimSGRptUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimSGRptEntry 2 } + +pimSGRptUpstreamPruneState OBJECT-TYPE + SYNTAX INTEGER { + rptNotJoined (1), + pruned (2), + notPruned (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router should prune the source off the RP + tree. This corresponds to the state of the upstream + (S,G,rpt) state machine for triggered messages in the PIM-SM + specification." + REFERENCE "RFC 4601 section 4.5.9" + ::= { pimSGRptEntry 3 } + +pimSGRptUpstreamOverrideTimer OBJECT-TYPE + + + + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before the local router sends a + triggered (S,G,rpt) Join message on pimStarGRPFIfIndex. + This timer is called the (S,G,rpt) Upstream Override Timer + in the PIM-SM specification. This object is zero if the + timer is not running." + REFERENCE "RFC 4601 section 4.5.9" + ::= { pimSGRptEntry 4 } + +-- +-- The PIM (S,G,rpt,I) State Table +-- + +pimSGRptITable OBJECT-TYPE + SYNTAX SEQUENCE OF PimSGRptIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the interface-specific + (S,G,rpt) state that PIM has." + REFERENCE "RFC 4601 section 4.1.5" + ::= { pim 9 } + +pimSGRptIEntry OBJECT-TYPE + SYNTAX PimSGRptIEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimSGRptITable." + INDEX { pimStarGAddressType, + pimStarGGrpAddress, + pimSGRptSrcAddress, + pimSGRptIIfIndex } + ::= { pimSGRptITable 1 } + +PimSGRptIEntry ::= SEQUENCE { + pimSGRptIIfIndex InterfaceIndex, + pimSGRptIUpTime TimeTicks, + pimSGRptILocalMembership TruthValue, + pimSGRptIJoinPruneState INTEGER, + pimSGRptIPrunePendingTimer TimeTicks, + pimSGRptIPruneExpiryTimer TimeTicks +} + +pimSGRptIIfIndex OBJECT-TYPE + + + + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The ifIndex of the interface that this entry corresponds + to." + ::= { pimSGRptIEntry 1 } + +pimSGRptIUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since this entry was created by the local router." + ::= { pimSGRptIEntry 2 } + +pimSGRptILocalMembership OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether the local router has both (*,G) include local + membership and (S,G) exclude local membership on this + interface (resulting from a mechanism such as IGMP or MLD). + This corresponds to local_receiver_exclude(S,G,I) in the + PIM-SM specification." + REFERENCE "RFC 3376, RFC 3810, RFC 4601 section 4.1.6" + ::= { pimSGRptIEntry 3 } + +pimSGRptIJoinPruneState OBJECT-TYPE + SYNTAX INTEGER { + noInfo (1), + prune (2), + prunePending (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state resulting from (S,G,rpt) Join/Prune messages + received on this interface. This corresponds to the state + of the downstream per-interface (S,G,rpt) state machine in + the PIM-SM specification." + REFERENCE "RFC 4601 section 4.5.4" + ::= { pimSGRptIEntry 4 } + +pimSGRptIPrunePendingTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The time remaining before the local router starts pruning + this source off the RP tree. This timer is called the + (S,G,rpt) Prune-Pending Timer in the PIM-SM specification. + This object is zero if the timer is not running." + REFERENCE "RFC 4601 section 4.5.4" + ::= { pimSGRptIEntry 5 } + +pimSGRptIPruneExpiryTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time remaining before (S,G,rpt) Prune state for this + interface expires. This timer is called the (S,G,rpt) + Prune Expiry Timer in the PIM-SM specification. This object + is zero if the timer is not running. A value of 'FFFFFFFF'h + indicates an infinite expiry time." + REFERENCE "RFC 4601 section 4.5.4" + ::= { pimSGRptIEntry 6 } + +-- +-- The PIM Bidir DF-Election Table +-- + +pimBidirDFElectionTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimBidirDFElectionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing the per-RP Designated + Forwarder (DF) Election state for each interface for all the + RPs in BIDIR mode." + REFERENCE "RFC 5015 section 3.5" + ::= { pim 10 } + +pimBidirDFElectionEntry OBJECT-TYPE + SYNTAX PimBidirDFElectionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimBidirDFElectionTable." + INDEX { pimBidirDFElectionAddressType, + pimBidirDFElectionRPAddress, + pimBidirDFElectionIfIndex } + ::= { pimBidirDFElectionTable 1 } + + + + +PimBidirDFElectionEntry ::= SEQUENCE { + pimBidirDFElectionAddressType InetAddressType, + pimBidirDFElectionRPAddress InetAddress, + pimBidirDFElectionIfIndex InterfaceIndex, + pimBidirDFElectionWinnerAddressType InetAddressType, + pimBidirDFElectionWinnerAddress InetAddress, + pimBidirDFElectionWinnerUpTime TimeTicks, + pimBidirDFElectionWinnerMetricPref Unsigned32, + pimBidirDFElectionWinnerMetric Unsigned32, + pimBidirDFElectionState INTEGER, + pimBidirDFElectionStateTimer TimeTicks +} + +pimBidirDFElectionAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the RP for which the DF state is being + maintained." + ::= { pimBidirDFElectionEntry 1 } + +pimBidirDFElectionRPAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP address of the RP for which the DF state is being + maintained. The InetAddressType is given by the + pimBidirDFElectionAddressType object." + ::= { pimBidirDFElectionEntry 2 } + +pimBidirDFElectionIfIndex OBJECT-TYPE + SYNTAX InterfaceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of ifIndex for the interface for which the DF + state is being maintained." + ::= { pimBidirDFElectionEntry 3 } + +pimBidirDFElectionWinnerAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary address type of the winner of the DF Election + process. A value of unknown(0) indicates there is currently + + + + no DF." + ::= { pimBidirDFElectionEntry 4 } + +pimBidirDFElectionWinnerAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The primary IP address of the winner of the DF Election + process. The InetAddressType is given by the + pimBidirDFElectionWinnerAddressType object." + ::= { pimBidirDFElectionEntry 5 } + +pimBidirDFElectionWinnerUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The time since the current winner (last) became elected as + the DF for this RP." + ::= { pimBidirDFElectionEntry 6 } + +pimBidirDFElectionWinnerMetricPref OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The metric preference advertised by the DF Winner, or zero + if there is currently no DF." + ::= { pimBidirDFElectionEntry 7 } + +pimBidirDFElectionWinnerMetric OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The metric advertised by the DF Winner, or zero if there is + currently no DF." + ::= { pimBidirDFElectionEntry 8 } + +pimBidirDFElectionState OBJECT-TYPE + SYNTAX INTEGER { + dfOffer(1), + dfLose(2), + dfWinner(3), + dfBackoff(4) + } + MAX-ACCESS read-only + + + + STATUS current + DESCRIPTION + "The state of this interface with respect to DF-Election for + this RP. The states correspond to the ones defined in the + BIDIR-PIM specification." + REFERENCE "RFC 5015 section 3.5.3.1" + ::= { pimBidirDFElectionEntry 9 } + +pimBidirDFElectionStateTimer OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum time remaining after which the local router + will expire the current DF state represented by + pimBidirDFElectionState." + ::= { pimBidirDFElectionEntry 10 } + +-- +-- The PIM Static RP Table +-- + +pimStaticRPTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimStaticRPEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is used to manage static configuration of RPs. + + If the group prefixes configured for two or more rows in + this table overlap, the row with the greatest value of + pimStaticRPGrpPrefixLength is used for the overlapping + range." + REFERENCE "RFC 4601 section 3.7" + ::= { pim 11 } + +pimStaticRPEntry OBJECT-TYPE + SYNTAX PimStaticRPEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimStaticRPTable. This + entry is preserved on agent restart." + INDEX { pimStaticRPAddressType, + pimStaticRPGrpAddress, + pimStaticRPGrpPrefixLength } + ::= { pimStaticRPTable 1 } + + + + +PimStaticRPEntry ::= SEQUENCE { + pimStaticRPAddressType InetAddressType, + pimStaticRPGrpAddress InetAddress, + pimStaticRPGrpPrefixLength InetAddressPrefixLength, + pimStaticRPRPAddress InetAddress, + pimStaticRPPimMode PimMode, + pimStaticRPOverrideDynamic TruthValue, + pimStaticRPPrecedence Unsigned32, + pimStaticRPRowStatus RowStatus, + pimStaticRPStorageType StorageType +} + +pimStaticRPAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of this entry." + ::= { pimStaticRPEntry 1 } + +pimStaticRPGrpAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group address that, when combined with + pimStaticRPGrpPrefixLength, gives the group prefix for this + entry. The InetAddressType is given by the + pimStaticRPAddressType object. + + This address object is only significant up to + pimStaticRPGrpPrefixLength bits. The remainder of the + address bits are zero. This is especially important for + this index field, which is part of the index of this entry. + Any non-zero bits would signify an entirely different + entry." + ::= { pimStaticRPEntry 2 } + +pimStaticRPGrpPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength (4..128) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group prefix length that, when combined + with pimStaticRPGrpAddress, gives the group prefix for this + entry. The InetAddressType is given by the + pimStaticRPAddressType object. If pimStaticRPAddressType is + 'ipv4' or 'ipv4z', this object must be in the range 4..32. + + + + If pimStaticRPGrpAddressType is 'ipv6' or 'ipv6z', this + object must be in the range 8..128." + ::= { pimStaticRPEntry 3 } + +pimStaticRPRPAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP address of the RP to be used for groups within this + group prefix. The InetAddressType is given by the + pimStaticRPAddressType object." + ::= { pimStaticRPEntry 4 } + +pimStaticRPPimMode OBJECT-TYPE + SYNTAX PimMode { ssm(2), asm(3), bidir(4) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The PIM mode to be used for groups in this group prefix. + + If this object is set to ssm(2), then pimStaticRPRPAddress + must be set to zero. No RP operations are ever possible for + PIM Mode SSM." + REFERENCE "RFC 4601 section 3.7, RFC 3569, and + 'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable" + DEFVAL { asm } + ::= { pimStaticRPEntry 5 } + +pimStaticRPOverrideDynamic OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Whether this static RP configuration will override other + group mappings in this group prefix. If this object is + TRUE, then it will override: + + - RP information learned dynamically for groups in this + group prefix. + + - RP information configured in pimStaticRPTable with + pimStaticRPOverrideDynamic set to FALSE. + + See pimGroupMappingTable for details." + DEFVAL { false } + ::= { pimStaticRPEntry 6 } + + + + +pimStaticRPPrecedence OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value for pimGroupMappingPrecedence to be used for this + static RP configuration. This allows fine control over + which configuration is overridden by this static + configuration. + + If pimStaticRPOverrideDynamic is set to TRUE, all dynamic RP + configuration is overridden by this static configuration, + whatever the value of this object. + + The absolute values of this object have a significance only + on the local router and do not need to be coordinated with + other routers. A setting of this object may have different + effects when applied to other routers. + + Do not use this object unless fine control of static RP + behavior on the local router is required." + ::= { pimStaticRPEntry 7 } + +pimStaticRPRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this row, by which rows in this table can + be created and destroyed. + + This status object cannot be set to active(1) before a valid + value has been written to pimStaticRPRPAddress. + + All writeable objects in this entry can be modified when the + status of this entry is active(1)." + ::= { pimStaticRPEntry 8 } + +pimStaticRPStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { pimStaticRPEntry 9 } + + + +-- +-- The PIM Anycast-RP Set Table +-- + +pimAnycastRPSetTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimAnycastRPSetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is used to manage Anycast-RP via PIM Register + messages, as opposed to via other protocols such as MSDP + (Multicast Source Discovery Protocol). + + Entries must be configured in this table if and only if the + local router is a member of one or more Anycast-RP sets, + that is, one or more Anycast-RP addresses are assigned to + the local router. Note that if using static RP + configuration, this is in addition to, not instead of, the + pimStaticRPTable entries that must be configured for the + Anycast-RPs. + + The set of rows with the same values of both + pimAnycastRPSetAddressType and pimAnycastRPSetAnycastAddress + corresponds to the Anycast-RP set for that Anycast-RP + address. + + When an Anycast-RP set configuration is active, one entry + per pimAnycastRPSetAnycastAddress corresponds to the local + router. The local router is identified by the + pimAnycastRpSetLocalRouter object. That entry determines + the source address used by the local router when forwarding + PIM Register messages within the Anycast-RP set." + REFERENCE "RFC 4610, RFC 3618" + ::= { pim 12 } + +pimAnycastRPSetEntry OBJECT-TYPE + SYNTAX PimAnycastRPSetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry corresponds to a single router within a particular + Anycast-RP set. This entry is preserved on agent restart." + INDEX { pimAnycastRPSetAddressType, + pimAnycastRPSetAnycastAddress, + pimAnycastRPSetRouterAddress } + ::= { pimAnycastRPSetTable 1 } + +PimAnycastRPSetEntry ::= SEQUENCE { + + + + pimAnycastRPSetAddressType InetAddressType, + pimAnycastRPSetAnycastAddress InetAddress, + pimAnycastRPSetRouterAddress InetAddress, + pimAnycastRPSetLocalRouter TruthValue, + pimAnycastRPSetRowStatus RowStatus, + pimAnycastRPSetStorageType StorageType +} + +pimAnycastRPSetAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the Anycast-RP address and router + address." + ::= { pimAnycastRPSetEntry 1 } + +pimAnycastRPSetAnycastAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Anycast-RP address. The InetAddressType is given by + the pimAnycastRPSetAddressType object." + ::= { pimAnycastRPSetEntry 2 } + +pimAnycastRPSetRouterAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address of a router that is a member of the Anycast-RP + set. The InetAddressType is given by the + pimAnycastRPSetAddressType object. + + This address differs from pimAnycastRPSetAnycastAddress. + Equal values for these two addresses in a single entry are + not permitted. That would cause a Register loop." + ::= { pimAnycastRPSetEntry 3 } + +pimAnycastRPSetLocalRouter OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether this entry corresponds to the local router." + ::= { pimAnycastRPSetEntry 4 } + + + + +pimAnycastRPSetRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this row, by which rows in this table can + be created and destroyed. + + This status object can be set to active(1) without setting + any other columnar objects in this entry. + + All writeable objects in this entry can be modified when the + status of this entry is active(1)." + ::= { pimAnycastRPSetEntry 5 } + +pimAnycastRPSetStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this row. Rows having the value + 'permanent' need not allow write-access to any columnar + objects in the row." + DEFVAL { nonVolatile } + ::= { pimAnycastRPSetEntry 6 } + +-- +-- The PIM Group Mapping Table +-- + +pimGroupMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PimGroupMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The (conceptual) table listing mappings from multicast + group prefixes to the PIM mode and RP address to use for + groups within that group prefix. + + Rows in this table are created for a variety of reasons, + indicated by the value of the pimGroupMappingOrigin object. + + - Rows with a pimGroupMappingOrigin value of 'fixed' are + created automatically by the router at startup, to + correspond to the well-defined prefixes of link-local and + unroutable group addresses. These rows are never + destroyed. + + + + + - Rows with a pimGroupMappingOrigin value of 'embedded' are + created by the router to correspond to group prefixes + that are to be treated as being in Embedded-RP format. + + - Rows with a pimGroupMappingOrigin value of 'configRp' are + created and destroyed as a result of rows in the + pimStaticRPTable being created and destroyed. + + - Rows with a pimGroupMappingOrigin value of 'configSsm' + are created and destroyed as a result of configuration of + SSM address ranges to the local router. + + - Rows with a pimGroupMappingOrigin value of 'bsr' are + created as a result of running the PIM Bootstrap Router + (BSR) mechanism. If the local router is not the elected + BSR, these rows are created to correspond to group + prefixes in the PIM Bootstrap messages received from the + elected BSR. If the local router is the elected BSR, + these rows are created to correspond to group prefixes in + the PIM Bootstrap messages that the local router sends. + In either case, these rows are destroyed when the group + prefixes are timed out by the BSR mechanism. + + - Rows with a pimGroupMappingOrigin value of 'other' are + created and destroyed according to some other mechanism + not specified here. + + Given the collection of rows in this table at any point in + time, the PIM mode and RP address to use for a particular + group is determined using the following algorithm. + + 1. From the set of all rows, the subset whose group prefix + contains the group in question are selected. + + 2. If there are no such rows, then the group mapping is + undefined. + + 3. If there are multiple selected rows, and a subset is + defined by pimStaticRPTable (pimGroupMappingOrigin value + of 'configRp') with pimStaticRPOverrideDynamic set to + TRUE, then this subset is selected. + + 4. From the selected subset of rows, the subset that have + the greatest value of pimGroupMappingGrpPrefixLength are + selected. + + 5. If there are still multiple selected rows, the subset + that has the highest precedence (the lowest numerical + + + + value for pimGroupMappingPrecedence) is selected. + + 6. If there are still multiple selected rows, the row + selected is implementation dependent; the implementation + might or might not apply the PIM hash function to select + the row. + + 7. The group mode to use is given by the value of + pimGroupMappingPimMode from the single selected row; the + RP to use is given by the value of + pimGroupMappingRPAddress, unless pimGroupMappingOrigin is + 'embedded', in which case, the RP is extracted from the + group address in question." + REFERENCE "RFC 4601 section 3.7, RFC 3956, and RFC 4610" + ::= { pim 13 } + +pimGroupMappingEntry OBJECT-TYPE + SYNTAX PimGroupMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry (conceptual row) in the pimGroupMappingTable." + INDEX { pimGroupMappingOrigin, + pimGroupMappingAddressType, + pimGroupMappingGrpAddress, + pimGroupMappingGrpPrefixLength, + pimGroupMappingRPAddressType, + pimGroupMappingRPAddress } + ::= { pimGroupMappingTable 1 } + +PimGroupMappingEntry ::= SEQUENCE { + pimGroupMappingOrigin PimGroupMappingOriginType, + pimGroupMappingAddressType InetAddressType, + pimGroupMappingGrpAddress InetAddress, + pimGroupMappingGrpPrefixLength InetAddressPrefixLength, + pimGroupMappingRPAddressType InetAddressType, + pimGroupMappingRPAddress InetAddress, + pimGroupMappingPimMode PimMode, + pimGroupMappingPrecedence Unsigned32 +} + +pimGroupMappingOrigin OBJECT-TYPE + SYNTAX PimGroupMappingOriginType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mechanism by which this group mapping was learned." + ::= { pimGroupMappingEntry 1 } + + + +pimGroupMappingAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the IP multicast group prefix." + ::= { pimGroupMappingEntry 2 } + +pimGroupMappingGrpAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP multicast group address that, when combined with + pimGroupMappingGrpPrefixLength, gives the group prefix for + this mapping. The InetAddressType is given by the + pimGroupMappingAddressType object. + + This address object is only significant up to + pimGroupMappingGrpPrefixLength bits. The remainder of the + address bits are zero. This is especially important for + this index field, which is part of the index of this entry. + Any non-zero bits would signify an entirely different + entry." + ::= { pimGroupMappingEntry 3 } + +pimGroupMappingGrpPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength (4..128) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The multicast group prefix length that, when combined + with pimGroupMappingGrpAddress, gives the group prefix for + this mapping. The InetAddressType is given by the + pimGroupMappingAddressType object. If + pimGroupMappingAddressType is 'ipv4' or 'ipv4z', this + object must be in the range 4..32. If + pimGroupMappingAddressType is 'ipv6' or 'ipv6z', this object + must be in the range 8..128." + ::= { pimGroupMappingEntry 4 } + +pimGroupMappingRPAddressType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address type of the RP to be used for groups within + this group prefix, or unknown(0) if no RP is to be used or + + + + if the RP address is unknown. This object must be + unknown(0) if pimGroupMappingPimMode is ssm(2), or if + pimGroupMappingOrigin is embedded(6)." + ::= { pimGroupMappingEntry 5 } + +pimGroupMappingRPAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|8|16|20)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP address of the RP to be used for groups within this + group prefix. The InetAddressType is given by the + pimGroupMappingRPAddressType object." + ::= { pimGroupMappingEntry 6 } + +pimGroupMappingPimMode OBJECT-TYPE + SYNTAX PimMode + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PIM mode to be used for groups in this group prefix." + ::= { pimGroupMappingEntry 7 } + +pimGroupMappingPrecedence OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The precedence of this row, used in the algorithm that + determines which row applies to a given group address + (described above). Numerically higher values for this + object indicate lower precedences, with the value zero + denoting the highest precedence. + + The absolute values of this object have a significance only + on the local router and do not need to be coordinated with + other routers." + ::= { pimGroupMappingEntry 8 } + +-- +-- PIM Notifications +-- + +pimNeighborLoss NOTIFICATION-TYPE + OBJECTS { pimNeighborUpTime } + STATUS current + DESCRIPTION + "A pimNeighborLoss notification signifies the loss of an + + + + adjacency with a neighbor. This notification should be + generated when the neighbor timer expires, and the router + has no other neighbors on the same interface with the same + IP version and a lower IP address than itself. + + This notification is generated whenever the counter + pimNeighborLossCount is incremented, subject + to the rate limit specified by + pimNeighborLossNotificationPeriod." + REFERENCE "RFC 4601 section 4.3.2" + ::= { pimNotifications 1 } + +pimInvalidRegister NOTIFICATION-TYPE + OBJECTS { pimGroupMappingPimMode, + pimInvalidRegisterAddressType, + pimInvalidRegisterOrigin, + pimInvalidRegisterGroup, + pimInvalidRegisterRp + } + STATUS current + DESCRIPTION + "A pimInvalidRegister notification signifies that an invalid + PIM Register message was received by this device. + + This notification is generated whenever the counter + pimInvalidRegisterMsgsRcvd is incremented, subject to the + rate limit specified by + pimInvalidRegisterNotificationPeriod." + REFERENCE "RFC 4601 section 4.4.2" + ::= { pimNotifications 2 } + +pimInvalidJoinPrune NOTIFICATION-TYPE + OBJECTS { pimGroupMappingPimMode, + pimInvalidJoinPruneAddressType, + pimInvalidJoinPruneOrigin, + pimInvalidJoinPruneGroup, + pimInvalidJoinPruneRp, + pimNeighborUpTime + } + STATUS current + DESCRIPTION + "A pimInvalidJoinPrune notification signifies that an + invalid PIM Join/Prune message was received by this device. + + This notification is generated whenever the counter + pimInvalidJoinPruneMsgsRcvd is incremented, subject to the + rate limit specified by + pimInvalidJoinPruneNotificationPeriod." + + + + REFERENCE "RFC 4601 section 4.5.2" + ::= { pimNotifications 3 } + +pimRPMappingChange NOTIFICATION-TYPE + OBJECTS { pimGroupMappingPimMode, + pimGroupMappingPrecedence + } + STATUS current + DESCRIPTION + "A pimRPMappingChange notification signifies a change to the + active RP mapping on this device. + + This notification is generated whenever the counter + pimRPMappingChangeCount is incremented, subject to the + rate limit specified by + pimRPMappingChangeNotificationPeriod." + ::= { pimNotifications 4 } + +pimInterfaceElection NOTIFICATION-TYPE + OBJECTS { pimInterfaceAddressType, + pimInterfaceAddress } + STATUS current + DESCRIPTION + "A pimInterfaceElection notification signifies that a new DR + or DF has been elected on a network. + + This notification is generated whenever the counter + pimInterfaceElectionWinCount is incremented, subject to the + rate limit specified by + pimInterfaceElectionNotificationPeriod." + REFERENCE "RFC 4601 section 4.3.2 and RFC 5015 section 3.5.2" + ::= { pimNotifications 5 } + +-- +-- Conformance Information +-- + +pimMIBConformance OBJECT IDENTIFIER ::= { pimStdMIB 2 } +pimMIBCompliances OBJECT IDENTIFIER ::= { pimMIBConformance 1 } +pimMIBGroups OBJECT IDENTIFIER ::= { pimMIBConformance 2 } + +-- +-- Compliance Statements +-- + +pimMIBComplianceAsm MODULE-COMPLIANCE + STATUS current + DESCRIPTION + + + + "The compliance statement for routers which are running + PIM-SM (Sparse Mode)." + MODULE -- this module + MANDATORY-GROUPS { pimTopologyGroup, + pimSsmGroup, + pimRPConfigGroup, + pimSmGroup } + + GROUP pimNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimTuningParametersGroup + DESCRIPTION + "This group is optional." + + GROUP pimRouterStatisticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimAnycastRpGroup + DESCRIPTION + "This group is optional." + + GROUP pimStaticRPPrecedenceGroup + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationObjects + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimDiagnosticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimDeviceStorageGroup + DESCRIPTION + "This group is optional." + + ::= { pimMIBCompliances 1 } + +pimMIBComplianceBidir MODULE-COMPLIANCE + STATUS current + + + + DESCRIPTION + "The compliance statement for routers which are running + Bidir-PIM." + MODULE -- this module + MANDATORY-GROUPS { pimTopologyGroup, + pimRPConfigGroup, + pimSmGroup, + pimBidirGroup } + + GROUP pimNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimTuningParametersGroup + DESCRIPTION + "This group is optional." + + GROUP pimRouterStatisticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimAnycastRpGroup + DESCRIPTION + "This group is optional." + + GROUP pimStaticRPPrecedenceGroup + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationObjects + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimDiagnosticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimDeviceStorageGroup + DESCRIPTION + "This group is optional." + + ::= { pimMIBCompliances 2 } + +pimMIBComplianceSsm MODULE-COMPLIANCE + + + + STATUS current + DESCRIPTION + "The compliance statement for routers which are running + PIM SSM (Source Specific Multicast)." + MODULE -- this module + MANDATORY-GROUPS { pimTopologyGroup, + pimSsmGroup } + + GROUP pimNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimTuningParametersGroup + DESCRIPTION + "This group is optional." + + GROUP pimRouterStatisticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationObjects + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimDiagnosticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimDeviceStorageGroup + DESCRIPTION + "This group is optional." + + ::= { pimMIBCompliances 3 } + +pimMIBComplianceDm MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for routers which are running + PIM-DM (Dense Mode)." + MODULE -- this module + MANDATORY-GROUPS { pimTopologyGroup, + pimSsmGroup, + pimRPConfigGroup, + pimSmGroup, + + + + pimDmGroup } + + GROUP pimNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimTuningParametersGroup + DESCRIPTION + "This group is optional." + + GROUP pimRouterStatisticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimAnycastRpGroup + DESCRIPTION + "This group is optional." + + GROUP pimStaticRPPrecedenceGroup + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationObjects + DESCRIPTION + "This group is optional." + + GROUP pimNetMgmtNotificationGroup + DESCRIPTION + "This group is optional." + + GROUP pimDiagnosticsGroup + DESCRIPTION + "This group is optional." + + GROUP pimDeviceStorageGroup + DESCRIPTION + "This group is optional." + + ::= { pimMIBCompliances 4 } + +-- +-- Units of Conformance +-- + +pimTopologyGroup OBJECT-GROUP + OBJECTS { pimInterfaceAddressType, + pimInterfaceAddress, + pimInterfaceGenerationIDValue, + + + + pimInterfaceDR, + pimInterfaceDRPriorityEnabled, + pimInterfaceHelloHoldtime, + pimInterfaceJoinPruneHoldtime, + pimInterfaceLanDelayEnabled, + pimInterfaceEffectPropagDelay, + pimInterfaceEffectOverrideIvl, + pimInterfaceSuppressionEnabled, + pimInterfaceBidirCapable, + pimNeighborGenerationIDPresent, + pimNeighborGenerationIDValue, + pimNeighborUpTime, + pimNeighborExpiryTime, + pimNeighborDRPriorityPresent, + pimNeighborDRPriority, + pimNeighborLanPruneDelayPresent, + pimNeighborTBit, + pimNeighborPropagationDelay, + pimNeighborOverrideInterval, + pimNeighborBidirCapable, + pimNbrSecAddress + } + STATUS current + DESCRIPTION + "A collection of read-only objects used to report local PIM + topology." + ::= { pimMIBGroups 1 } + +pimNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { pimNeighborLoss } + STATUS current + DESCRIPTION + "A collection of notifications for signaling important PIM + events." + ::= { pimMIBGroups 2 } + +pimTuningParametersGroup OBJECT-GROUP + OBJECTS { pimKeepalivePeriod, + pimRegisterSuppressionTime, + pimInterfaceDRPriority, + pimInterfaceHelloInterval, + pimInterfaceTrigHelloInterval, + pimInterfaceJoinPruneInterval, + pimInterfacePropagationDelay, + pimInterfaceOverrideInterval, + pimInterfaceDomainBorder, + pimInterfaceStubInterface, + pimInterfaceStatus, + + + + pimInterfaceStorageType + } + STATUS current + DESCRIPTION + "A collection of writeable objects used to configure PIM + behavior and to tune performance." + ::= { pimMIBGroups 3 } + +pimRouterStatisticsGroup OBJECT-GROUP + OBJECTS { pimStarGEntries, + pimStarGIEntries, + pimSGEntries, + pimSGIEntries, + pimSGRptEntries, + pimSGRptIEntries + } + STATUS current + DESCRIPTION + "A collection of statistics global to the PIM router." + ::= { pimMIBGroups 4 } + +pimSsmGroup OBJECT-GROUP + OBJECTS { pimSGUpTime, + pimSGPimMode, + pimSGUpstreamJoinState, + pimSGUpstreamJoinTimer, + pimSGUpstreamNeighbor, + pimSGRPFIfIndex, + pimSGRPFNextHopType, + pimSGRPFNextHop, + pimSGRPFRouteProtocol, + pimSGRPFRouteAddress, + pimSGRPFRoutePrefixLength, + pimSGRPFRouteMetricPref, + pimSGRPFRouteMetric, + pimSGSPTBit, + pimSGKeepaliveTimer, + pimSGDRRegisterState, + pimSGDRRegisterStopTimer, + pimSGRPRegisterPMBRAddressType, + pimSGRPRegisterPMBRAddress, + pimSGIUpTime, + pimSGILocalMembership, + pimSGIJoinPruneState, + pimSGIPrunePendingTimer, + pimSGIJoinExpiryTimer, + pimSGIAssertState, + pimSGIAssertTimer, + + + + pimSGIAssertWinnerAddressType, + pimSGIAssertWinnerAddress, + pimSGIAssertWinnerMetricPref, + pimSGIAssertWinnerMetric + } + STATUS current + DESCRIPTION + "A collection of objects to support management of PIM + routers running the PIM SSM (Source Specific Multicast) + protocol, in PIM mode SM (Sparse Mode)." + ::= { pimMIBGroups 5 } + +pimRPConfigGroup OBJECT-GROUP + OBJECTS { pimStaticRPRPAddress, + pimStaticRPPimMode, + pimStaticRPOverrideDynamic, + pimStaticRPRowStatus, + pimStaticRPStorageType, + pimGroupMappingPimMode, + pimGroupMappingPrecedence + } + STATUS current + DESCRIPTION + "A collection of objects to support configuration of RPs + (Rendezvous Points) and Group Mappings." + ::= { pimMIBGroups 6 } + +pimSmGroup OBJECT-GROUP + OBJECTS { pimStarGUpTime, + pimStarGPimMode, + pimStarGRPAddressType, + pimStarGRPAddress, + pimStarGPimModeOrigin, + pimStarGRPIsLocal, + pimStarGUpstreamJoinState, + pimStarGUpstreamJoinTimer, + pimStarGUpstreamNeighborType, + pimStarGUpstreamNeighbor, + pimStarGRPFIfIndex, + pimStarGRPFNextHopType, + pimStarGRPFNextHop, + pimStarGRPFRouteProtocol, + pimStarGRPFRouteAddress, + pimStarGRPFRoutePrefixLength, + pimStarGRPFRouteMetricPref, + pimStarGRPFRouteMetric, + pimStarGIUpTime, + pimStarGILocalMembership, + + + + pimStarGIJoinPruneState, + pimStarGIPrunePendingTimer, + pimStarGIJoinExpiryTimer, + pimStarGIAssertState, + pimStarGIAssertTimer, + pimStarGIAssertWinnerAddressType, + pimStarGIAssertWinnerAddress, + pimStarGIAssertWinnerMetricPref, + pimStarGIAssertWinnerMetric, + pimSGRptUpTime, + pimSGRptUpstreamPruneState, + pimSGRptUpstreamOverrideTimer, + pimSGRptIUpTime, + pimSGRptILocalMembership, + pimSGRptIJoinPruneState, + pimSGRptIPrunePendingTimer, + pimSGRptIPruneExpiryTimer + } + STATUS current + DESCRIPTION + "A collection of objects to support management of PIM + routers running PIM-SM (Sparse Mode). The groups + pimSsmGroup and pimRPConfigGroup are also required." + ::= { pimMIBGroups 7 } + +pimBidirGroup OBJECT-GROUP + OBJECTS { pimInterfaceDFElectionRobustness, + pimBidirDFElectionWinnerAddressType, + pimBidirDFElectionWinnerAddress, + pimBidirDFElectionWinnerUpTime, + pimBidirDFElectionWinnerMetricPref, + pimBidirDFElectionWinnerMetric, + pimBidirDFElectionState, + pimBidirDFElectionStateTimer + } + STATUS current + DESCRIPTION + "A collection of objects to support management of PIM + routers running BIDIR mode. The groups pimSsmGroup, + pimSmGroup and pimRPConfigGroup are also required." + ::= { pimMIBGroups 8 } + +pimAnycastRpGroup OBJECT-GROUP + OBJECTS { pimAnycastRPSetLocalRouter, + pimAnycastRPSetRowStatus, + pimAnycastRPSetStorageType + } + STATUS current + + + + DESCRIPTION + "A collection of objects to support management of the PIM + Anycast-RP mechanism." + ::= { pimMIBGroups 9 } + +pimStaticRPPrecedenceGroup OBJECT-GROUP + OBJECTS { pimStaticRPPrecedence } + STATUS current + DESCRIPTION + "A collection of objects to allow fine control of + interactions between static RP configuration and + dynamically acquired group to RP mappings." + ::= { pimMIBGroups 10 } + +pimNetMgmtNotificationObjects OBJECT-GROUP + OBJECTS { pimInvalidRegisterNotificationPeriod, + pimInvalidRegisterMsgsRcvd, + pimInvalidRegisterAddressType, + pimInvalidRegisterOrigin, + pimInvalidRegisterGroup, + pimInvalidRegisterRp, + pimInvalidJoinPruneNotificationPeriod, + pimInvalidJoinPruneMsgsRcvd, + pimInvalidJoinPruneAddressType, + pimInvalidJoinPruneOrigin, + pimInvalidJoinPruneGroup, + pimInvalidJoinPruneRp, + pimRPMappingNotificationPeriod, + pimRPMappingChangeCount, + pimInterfaceElectionNotificationPeriod, + pimInterfaceElectionWinCount + } + STATUS current + DESCRIPTION + "A collection of objects to support notification of PIM + network management events." + ::= { pimMIBGroups 11 } + +pimNetMgmtNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { pimInvalidRegister, + pimInvalidJoinPrune, + pimRPMappingChange, + pimInterfaceElection + } + STATUS current + DESCRIPTION + "A collection of notifications for signaling PIM network + management events." + + + + ::= { pimMIBGroups 12 } + +pimDiagnosticsGroup OBJECT-GROUP + OBJECTS { pimInAsserts, + pimOutAsserts, + pimLastAssertInterface, + pimLastAssertGroupAddressType, + pimLastAssertGroupAddress, + pimLastAssertSourceAddressType, + pimLastAssertSourceAddress, + pimNeighborLossNotificationPeriod, + pimNeighborLossCount + } + STATUS current + DESCRIPTION + "Objects providing additional diagnostics related to a PIM + router." + ::= { pimMIBGroups 13 } + +pimDmGroup OBJECT-GROUP + OBJECTS { + pimRefreshInterval, + pimInterfacePruneLimitInterval, + pimInterfaceGraftRetryInterval, + pimInterfaceSRPriorityEnabled, + pimNeighborSRCapable, + pimSGUpstreamPruneState, + pimSGUpstreamPruneLimitTimer, + pimSGOriginatorState, + pimSGSourceActiveTimer, + pimSGStateRefreshTimer + } + STATUS current + DESCRIPTION + "A collection of objects required for management of PIM + Dense Mode (PIM-DM) function. The groups pimSsmGroup and + pimSmGroup are also required." + REFERENCE "RFC 3973" + ::= { pimMIBGroups 14 } + + + + + + + + + + + + +pimDeviceStorageGroup OBJECT-GROUP + OBJECTS { pimDeviceConfigStorageType + } + STATUS current + DESCRIPTION + "An object that specifies the volatility of global PIM + configuration settings on this device." + ::= { pimMIBGroups 15 } + +END \ No newline at end of file diff --git a/mibs/PW-ENET-STD-MIB.txt b/mibs/PW-ENET-STD-MIB.txt new file mode 100644 index 00000000..35178c9c --- /dev/null +++ b/mibs/PW-ENET-STD-MIB.txt @@ -0,0 +1,504 @@ +PW-ENET-STD-MIB DEFINITIONS ::= BEGIN + +IMPORTS + OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, mib-2 + FROM SNMPv2-SMI -- [RFC2578] + + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF -- [RFC2580] + + StorageType, RowStatus + FROM SNMPv2-TC -- [RFC2579] + + InterfaceIndexOrZero + FROM IF-MIB -- [RFC2863] + + ZeroBasedCounter32 + FROM RMON2-MIB -- [RFC4502] + + pwIndex + FROM PW-STD-MIB -- [RFC5601] + + VlanIdOrAnyOrNone + FROM Q-BRIDGE-MIB; -- [RFC4363] + +pwEnetStdMIB MODULE-IDENTITY + LAST-UPDATED "200906150000Z" -- 15 June 2009 00:00:00 GMT + + ORGANIZATION "Pseudowire Edge-to-Edge Emulation (PWE3) Working + Group" + + CONTACT-INFO + "David Zelig + Email: davidz@oversi.com + + Thomas D. Nadeau + Email: tom.nadeau@bt.com + " + DESCRIPTION + "This MIB module describes a model for managing Ethernet + point-to-point pseudowire services over a Packet + Switched Network (PSN). + + Copyright (c) 2009 IETF Trust and the persons identified + as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + + - Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + - Neither the name of Internet Society, IETF or IETF Trust, nor + the names of specific contributors, may be used to endorse or + promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This version of this MIB module is part of RFC 5603; + + see the RFC itself for full legal notices." + + -- Revision history + REVISION "200906150000Z" -- 15 June 2009 00:00:00 GMT + DESCRIPTION "Initial version published as part of RFC 5603." + + ::= { mib-2 180 } + +pwEnetObjects OBJECT IDENTIFIER ::= { pwEnetStdMIB 1 } +pwEnetConformance OBJECT IDENTIFIER ::= { pwEnetStdMIB 2 } + +-- +-- Ethernet PW table +-- + +pwEnetTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwEnetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains the index to the Ethernet tables + associated with this Ethernet PW, the VLAN configuration, + and the VLAN mode." + ::= { pwEnetObjects 1 } + +pwEnetEntry OBJECT-TYPE + SYNTAX PwEnetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is indexed by the same index that was created + for the associated entry in the PW generic table in the + + PW-STD-MIB module. + The pwIndex and the pwEnetPwInstance are used as indexes + to allow multiple VLANs to exist on the same PW. + + An entry is created in this table by the agent for every + entry in the pwTable with a pwType of 'ethernetTagged' + or 'ethernet'. Additional rows may be created by the + operator or the agent if multiple entries are required for + the same PW. + + The value of pwEnetPwInstance can be arbitrarily selected + to make the row unique; however, implementations that know + the VLAN field value when the row is created MAY use the + value of the VLAN itself for better readability and + backward compatibility with older versions of this MIB + + module. + + This table provides Ethernet port mapping and VLAN + configuration for each Ethernet PW. + + All read-create objects in this table MAY be changed at any + time; however, change of some objects (for example, + pwEnetVlanMode) during the PW forwarding state MAY cause traffic + disruption. + + Manual entries in this table SHOULD be preserved after a + reboot, and the agent MUST ensure the integrity of those + entries. If the set of entries of a specific row is found to + be inconsistent after reboot, the PW pwOperStatus MUST be + declared as notPresent(5). + " + + INDEX { pwIndex, pwEnetPwInstance } + ::= { pwEnetTable 1 } + +PwEnetEntry ::= SEQUENCE { + pwEnetPwInstance Unsigned32, + pwEnetPwVlan VlanIdOrAnyOrNone, + pwEnetVlanMode INTEGER, + pwEnetPortVlan VlanIdOrAnyOrNone, + + pwEnetPortIfIndex InterfaceIndexOrZero, + pwEnetPwIfIndex InterfaceIndexOrZero, + + pwEnetRowStatus RowStatus, + pwEnetStorageType StorageType + } + +pwEnetPwInstance OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "If multiple rows are mapped to the same PW, this index is + used to uniquely identify the individual row. + If the value of the VLAN field is known at the time of + row creation, the value of pwEnetPwVlan MAY be used + for better readability and backward compatibility with + older versions of this MIB module. Otherwise, the value + 1 SHOULD be set to the first row for each pwIndex + for better readability and in order that the management + application will know in advance how to access the + first row when it was created by the agent. + + " + ::= { pwEnetEntry 1 } + +pwEnetPwVlan OBJECT-TYPE + SYNTAX VlanIdOrAnyOrNone + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object defines the (service-delimiting) VLAN field + value on the PW. The value 4095 MUST be used if the + object is not applicable, for example, when mapping all + packets from an Ethernet port to this PW (raw mode). + The value 0 MUST be set to indicate untagged frames + (from the PW point of view), i.e., when pwEnetVlanMode + equals 'noChange' and pwEnetPortVlan equals 0." + ::= { pwEnetEntry 2 } + +pwEnetVlanMode OBJECT-TYPE + SYNTAX INTEGER { + other(0), + portBased(1), + noChange(2), + changeVlan(3), + addVlan(4), + removeVlan(5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object indicates the mode of VLAN handling between the + port or the virtual port associated with the PW and the + PW encapsulation. + + - 'other' indicates an operation that is not defined by + this MIB module. + + - 'portBased' indicates that the forwarder will forward + packets between the port and the PW independent of their + structure (i.e., there are no service-delimiting VLAN tags + from the PE standpoint). + + - 'noChange' indicates that the PW contains the original + user VLAN, as specified in pwEnetPortVlan; i.e., the + VLAN on the PE-CE link is the service-delimiting tag + and is kept 'as is' on the PW. + + - 'changeVlan' indicates that the VLAN field on the PW + may be different than the VLAN field on the user's + + port. The VLAN on the PE-CE link is the service-delimiting + tag but has a different value on the PW. + + - 'addVlan' indicates that a VLAN field will be added + on the PSN-bound direction (i.e., on the PW). pwEnetPwVlan + indicates the value that will be added. + + - 'removeVlan' indicates that the encapsulation on the + PW does not include the service-delimiting VLAN field. + Note that PRI bits transparency is lost in this case. + + - Implementation of 'portsbased', 'removeVlan', 'addVlan' + 'other', and 'changeVlan' is OPTIONAL. + " + DEFVAL { noChange } + ::= { pwEnetEntry 3 } + +pwEnetPortVlan OBJECT-TYPE + SYNTAX VlanIdOrAnyOrNone + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object defines if the mapping between the original port + (physical port or VPLS virtual port) to the PW is VLAN based + or not. In case of VLAN mapping, this object indicates the + VLAN value on the original port. + + The value of '4095' MUST be used if the whole original port + traffic is mapped to the same PW. Note that a pwType of + 'ethernetTagged' can still be used if service-delimiting tag + is added on the PW (pwEnetVlanMode equals 'addVlan'). + + This object MUST be equal to pwEnetPwVlan if pwEnetVlanMode + equals 'noChange'. + + The value 0 indicates that packets without a VLAN field + (i.e., untagged frames) on the port are associated to this + PW. This allows the same behavior as assigning 'Default + VLAN' to untagged frames. + " + DEFVAL { 4095 } + ::= { pwEnetEntry 4 } + +pwEnetPortIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + "This object is used to specify the ifIndex of the Ethernet + port associated with this PW for point-to-point Ethernet + service, or the ifIndex of the virtual interface of the + VPLS instance associated with the PW if the service is + VPLS. Two rows in this table can point to the same ifIndex + only if there is no overlap of VLAN values specified in + pwEnetPortVlan that are associated with this port. + + A value of zero indicates that association to an ifIndex is + not yet known." + + ::= { pwEnetEntry 5 } + +pwEnetPwIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the PW is modeled as an ifIndex in the ifTable, this + object indicates the value of the ifIndex representing the + Ethernet PW on the PSN side in the Etherlike-MIB. Note that + this value may be different from the value of pwIfIndex + that represents the ifIndex of the PW for ifType 'pw'." + DEFVAL { 0 } + ::= { pwEnetEntry 6 } + +pwEnetRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object enables creating, deleting, and modifying this + row." + ::= { pwEnetEntry 7 } + +pwEnetStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object indicates the storage type of this row." + DEFVAL { nonVolatile } + ::= { pwEnetEntry 8 } + +-- +-- Ethernet PW Statistics Table +-- + + +pwEnetStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwEnetStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains statistical counters specific for + Ethernet PW." + ::= { pwEnetObjects 2 } + +pwEnetStatsEntry OBJECT-TYPE + SYNTAX PwEnetStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry represents the statistics gathered for the + PW carrying the Ethernet." + INDEX { pwIndex } + ::= { pwEnetStatsTable 1 } + + +PwEnetStatsEntry ::= SEQUENCE { + pwEnetStatsIllegalVlan ZeroBasedCounter32, + pwEnetStatsIllegalLength ZeroBasedCounter32 +} + +pwEnetStatsIllegalVlan OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets received (from the PSN) on this PW + with either an illegal VLAN field, a missing VLAN field + when one was expected, or an excessive VLAN field when + it was not expected. This counter may not be applicable + in some cases, and MUST return the value of zero in + such a case." + ::= { pwEnetStatsEntry 1 } + +pwEnetStatsIllegalLength OBJECT-TYPE + SYNTAX ZeroBasedCounter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets that were received with an illegal + Ethernet packet length on this PW. An illegal length is + defined as being greater than the value in the advertised + MTU supported, or shorter than the allowed Ethernet packet + size." + + ::= { pwEnetStatsEntry 2 } + +--- +--- Conformance description +--- + +pwEnetGroups OBJECT IDENTIFIER ::= { pwEnetConformance 1 } +pwEnetCompliances OBJECT IDENTIFIER ::= { pwEnetConformance 2 } + +-- Compliance requirement for fully compliant implementations + +pwEnetModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provides full + support for the PW-ENET-STD-MIB module. Such devices + can then be monitored and also be configured using + this MIB module." + MODULE -- this module + MANDATORY-GROUPS { + pwEnetGroup, + pwEnetStatsGroup + } + + OBJECT pwEnetVlanMode + DESCRIPTION "An implementation MUST support at least the value + noChange(2)." + + OBJECT pwEnetPwIfIndex + MIN-ACCESS read-only + DESCRIPTION "Write access and values other than zero are + required only for implementations that support + modeling the Ethernet PW in the Etherlike-MIB." + OBJECT pwEnetRowStatus + SYNTAX RowStatus { active(1), notInService(2), + notReady(3) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + MIN-ACCESS read-only + DESCRIPTION "Support for createAndWait is not required. Support + of notReady is not required for implementations that + do not support signaling. + Support of read-write is not required for + implementations that do not support more than one + VLAN mapping to the same PW." + ::= { pwEnetCompliances 1 } + + +-- Compliance requirement for read-only compliant implementations + +pwEnetModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provide read- + only support for the PW-ENET-STD-MIB module. Such + devices can then be monitored but cannot be configured + using this MIB module." + + MODULE -- this module + MANDATORY-GROUPS { pwEnetGroup, + pwEnetStatsGroup + } + + OBJECT pwEnetPwVlan + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwEnetVlanMode + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. An implementation + MUST support at least the value noChange(2)." + + OBJECT pwEnetPortVlan + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwEnetPortIfIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwEnetPwIfIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. Values other than + zero are required only for implementations that + support modeling the Ethernet PW in the + Etherlike-MIB." + + OBJECT pwEnetRowStatus + SYNTAX RowStatus { active(1), notInService(2), + notReady(3) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. Support + of notReady is not required for implementations that + do not support signaling." + + OBJECT pwEnetStorageType + + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { pwEnetCompliances 2 } + +-- Units of conformance + +pwEnetGroup OBJECT-GROUP + OBJECTS { + pwEnetPwVlan, + pwEnetVlanMode, + pwEnetPortVlan, + pwEnetPortIfIndex, + pwEnetPwIfIndex, + pwEnetRowStatus, + pwEnetStorageType + } + STATUS current + DESCRIPTION + "Collection of objects for basic Ethernet PW configuration." + ::= { pwEnetGroups 1 } + +pwEnetStatsGroup OBJECT-GROUP + OBJECTS { + pwEnetStatsIllegalVlan, + pwEnetStatsIllegalLength + } + STATUS current + DESCRIPTION + "Collection of objects counting various PW level errors." + ::= { pwEnetGroups 2 } + +END \ No newline at end of file diff --git a/mibs/PW-MPLS-STD-MIB.txt b/mibs/PW-MPLS-STD-MIB.txt new file mode 100644 index 00000000..727900ef --- /dev/null +++ b/mibs/PW-MPLS-STD-MIB.txt @@ -0,0 +1,951 @@ + PW-MPLS-STD-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 + FROM SNMPv2-SMI -- [RFC2578] + + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF -- [RFC2580] + + StorageType + FROM SNMPv2-TC -- [RFC2579] + + InterfaceIndexOrZero + FROM IF-MIB -- [RFC2863] + + MplsTunnelIndex, MplsTunnelInstanceIndex, + MplsLdpIdentifier, MplsLsrIdentifier + FROM MPLS-TC-STD-MIB -- [RFC3811] + + MplsIndexType + FROM MPLS-LSR-STD-MIB -- [RFC3813] + + PwIndexType + FROM PW-TC-STD-MIB -- [RFC5542] + + + pwIndex -- [RFC5601] + FROM PW-STD-MIB + ; + + pwMplsStdMIB MODULE-IDENTITY + LAST-UPDATED "200906120000Z" -- 12 June 2009 00:00:00 GMT + ORGANIZATION "Pseudowire Emulation Edge-to-Edge (PWE3) Working + Group." + CONTACT-INFO + " + David Zelig, Editor + Email: davidz@corrigent.com + + Thomas D. Nadeau, Editor + Email: tom.nadeau@bt.com + + The PWE3 Working Group (email distribution pwe3@ietf.org, + http://www.ietf.org/html.charters/pwe3-charter.html) + " + DESCRIPTION + "This MIB module complements the PW-STD-MIB module for PW + operation over MPLS. + + Copyright (c) 2009 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + - Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + - Neither the name of Internet Society, IETF or IETF Trust, + nor the names of specific contributors, may be used to + endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This version of this MIB module is part of RFC 5602; + see the RFC itself for full legal notices. + " + + -- Revision history. + REVISION "200906120000Z" -- 12 June 2009 00:00:00 GMT + DESCRIPTION + "First published as RFC 5602. " + + ::= { mib-2 181 } + + -- Top-level components of this MIB. + + -- Notifications + pwMplsNotifications OBJECT IDENTIFIER + ::= { pwMplsStdMIB 0 } + + -- Tables, Scalars + pwMplsObjects OBJECT IDENTIFIER + ::= { pwMplsStdMIB 1 } + -- Conformance + pwMplsConformance OBJECT IDENTIFIER + ::= { pwMplsStdMIB 2 } + + -- PW MPLS table + + pwMplsTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwMplsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table controls MPLS-specific parameters when the PW is + going to be carried over MPLS PSN." + ::= { pwMplsObjects 1 } + + pwMplsEntry OBJECT-TYPE + SYNTAX PwMplsEntry + MAX-ACCESS not-accessible + + STATUS current + DESCRIPTION + "A row in this table represents parameters specific to MPLS + PSN for a pseudowire (PW). The row is created + automatically by the local agent if the pwPsnType is + mpls(1). It is indexed by pwIndex, which uniquely + identifies a singular PW. + Manual entries in this table SHOULD be preserved after a + reboot, and the agent MUST ensure the integrity of those + entries. + If the set of entries of a specific row were found to be + nonconsistent after reboot, the PW pwOperStatus MUST be + declared as down(2). + Any read-write object in this table MAY be changed at any + time; however, change of some objects (for example, + pwMplsMplsType) during PW forwarding state MAY cause traffic + disruption." + + INDEX { pwIndex } + + ::= { pwMplsTable 1 } + + PwMplsEntry ::= SEQUENCE { + pwMplsMplsType BITS, + pwMplsExpBitsMode INTEGER, + pwMplsExpBits Unsigned32, + pwMplsTtl Unsigned32, + pwMplsLocalLdpID MplsLdpIdentifier, + pwMplsLocalLdpEntityIndex Unsigned32, + pwMplsPeerLdpID MplsLdpIdentifier, + pwMplsStorageType StorageType + } + + pwMplsMplsType OBJECT-TYPE + SYNTAX BITS { + mplsTe (0), + mplsNonTe (1), + pwOnly (2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is set by the operator to indicate the outer + tunnel types, if existing. mplsTe(0) is used if the outer + tunnel is set up by MPLS-TE, and mplsNonTe(1) is used if the + outer tunnel is set up by LDP or manually. A combination of + mplsTe(0) and mplsNonTe(1) MAY exist. + pwOnly(2) is used if there is no outer tunnel label, i.e., + + in static provisioning without an MPLS tunnel. pwOnly(2) + cannot be combined with mplsNonTe(1) or mplsTe(0). + An implementation that can identify automatically that the + peer node is directly connected MAY support the bit + pwOnly(2) as read-only. + " + DEFVAL { { mplsNonTe } } + ::= { pwMplsEntry 1 } + + pwMplsExpBitsMode OBJECT-TYPE + SYNTAX INTEGER { + outerTunnel (1), + specifiedValue (2), + serviceDependant (3) + } + + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is set by the operator to determine the PW shim + label EXP bits. The value of outerTunnel(1) is used where + there is an outer tunnel -- pwMplsMplsType equals to + mplsTe(0) or mplsNonTe(1). Note that in this case, there + is no need to mark the PW label with the EXP bits, since the + PW label is not visible to the intermediate nodes. + If there is no outer tunnel, specifiedValue(2) SHOULD be used + to indicate that the value is specified by pwMplsExpBits. + Setting serviceDependant(3) indicates that the EXP bits are + set based on a rule that is implementation specific." + + DEFVAL { outerTunnel } + ::= { pwMplsEntry 2 } + + pwMplsExpBits OBJECT-TYPE + SYNTAX Unsigned32 (0..7) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is set by the operator if pwMplsExpBitsMode is + set to specifiedValue(2) to indicate the MPLS EXP bits to + be used on the PW shim label. Otherwise, it SHOULD be set + to zero." + DEFVAL { 0 } + ::= { pwMplsEntry 3 } + + pwMplsTtl OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-write + + STATUS current + DESCRIPTION + "This object is set by the operator to indicate the PW TTL + value to be used on the PW shim label." + DEFVAL { 2 } + ::= { pwMplsEntry 4 } + + pwMplsLocalLdpID OBJECT-TYPE + SYNTAX MplsLdpIdentifier + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The LDP identifier of the LDP entity that creates + this PW in the local node. As the PW labels are always + set from the per-platform label space, the last two octets + in the LDP ID MUST always both be zeros." + REFERENCE + "'LDP specifications', RFC 3036, section 2.2.2." + ::= { pwMplsEntry 5 } + + pwMplsLocalLdpEntityIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The local node LDP Entity Index of the LDP entity creating + this PW." + ::= { pwMplsEntry 6 } + + pwMplsPeerLdpID OBJECT-TYPE + SYNTAX MplsLdpIdentifier + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The peer LDP identifier of the LDP session. This object + SHOULD return the value zero if LDP is not used or if the + value is not yet known." + ::= { pwMplsEntry 7 } + + pwMplsStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This variable indicates the storage type for this row." + DEFVAL { nonVolatile } + ::= { pwMplsEntry 8 } + + + -- End of PW MPLS Table + + -- Pseudowire MPLS Outbound Tunnel Table + + pwMplsOutboundTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwMplsOutboundEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table reports and configures the current outbound MPLS + tunnels (i.e., toward the PSN) or the physical interface in + the case of a PW label only that carries the PW traffic. It + also reports the current outer tunnel and LSP that forward + the PW traffic." + ::= { pwMplsObjects 2 } + + pwMplsOutboundEntry OBJECT-TYPE + SYNTAX PwMplsOutboundEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table configures the outer tunnel used for + carrying the PW traffic toward the PSN. + In the case of PW label only, it configures the interface + that will carry the PW traffic. + + An entry in this table augments the pwMplsEntry, and is + created automatically when the corresponding row has been + created by the agent in the pwMplsEntry. + + This table points to the appropriate MPLS MIB module: + + In the MPLS-TE case, the three objects relevant to the + indexing of a TE tunnel head-end (as used in the + MPLS-TE-STD-MIB) are to be configured, and the tunnel + instance indicates the LSP that is currently in use for + forwarding the traffic. + + In the case of signaled non-TE MPLS (an outer tunnel label + assigned by LDP), the table points to the XC entry in the + LSR-STD-MIB. If the non-TE MPLS tunnel is manually + configured, the operator configures the XC pointer to this + tunnel. + + In the case of PW label only (no outer tunnel), the ifIndex + of the port to carry the PW is configured here. + + + + It is possible to associate a PW to one TE tunnel head-end + and a non-TE tunnel together. An indication in this table + will report the currently active one. In addition, in the + TE case, the table reports the active tunnel instance + (i.e., the specific LSP in use). + Any read-write object in this table MAY be changed at any + time; however, change of some objects (for example, + MPLS-TE indexes) during PW forwarding state MAY cause traffic + disruption." + + AUGMENTS { pwMplsEntry } + + ::= { pwMplsOutboundTable 1 } + + PwMplsOutboundEntry ::= SEQUENCE { + pwMplsOutboundLsrXcIndex MplsIndexType, + pwMplsOutboundTunnelIndex MplsTunnelIndex, + pwMplsOutboundTunnelInstance MplsTunnelInstanceIndex, + pwMplsOutboundTunnelLclLSR MplsLsrIdentifier, + pwMplsOutboundTunnelPeerLSR MplsLsrIdentifier, + pwMplsOutboundIfIndex InterfaceIndexOrZero, + pwMplsOutboundTunnelTypeInUse INTEGER + } + + pwMplsOutboundLsrXcIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType mplsNonTe(1) + bit is set, and MUST return a value of zero otherwise. + If the outer tunnel is signaled, the object is read-only + and indicates the XC index in the MPLS-LSR-STD-MIB of the + outer tunnel toward the peer. Otherwise (tunnel is set up + manually), the operator defines the XC index of the manually + created outer tunnel through this object. + " + ::= { pwMplsOutboundEntry 1 } + + + pwMplsOutboundTunnelIndex OBJECT-TYPE + SYNTAX MplsTunnelIndex + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType mplsTe(0) + bit is set, and MUST return a value of zero otherwise. + It is part of the set of indexes for the outbound tunnel. + + The operator sets this object to represent the desired + tunnel head-end toward the peer for carrying the PW + traffic. + " + ::= { pwMplsOutboundEntry 2 } + + pwMplsOutboundTunnelInstance OBJECT-TYPE + SYNTAX MplsTunnelInstanceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType mplsTe(0) + bit is set, and MUST return a value of zero otherwise. + It indicates the actual tunnel instance that is currently + active and carrying the PW traffic. It SHOULD return the + value zero if the information from the MPLS-TE + application is not yet known. + " + ::= { pwMplsOutboundEntry 3 } + + pwMplsOutboundTunnelLclLSR OBJECT-TYPE + SYNTAX MplsLsrIdentifier + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType mplsTe(0) + bit is set, and MUST return a value of all zeros otherwise. + It is part of the set of indexes for the outbound tunnel. + The operator sets this object to represent the desired + tunnel head-end toward the peer for carrying the PW + traffic. + " + ::= { pwMplsOutboundEntry 4 } + + pwMplsOutboundTunnelPeerLSR OBJECT-TYPE + SYNTAX MplsLsrIdentifier + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType mplsTe(0) + bit is set, and MUST return a value of zero otherwise. + It is part of the set of indexes for the outbound tunnel. + Note that in most cases, it equals to pwPeerAddr. + " + ::= { pwMplsOutboundEntry 5 } + + pwMplsOutboundIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object is applicable if the pwMplsMplsType pwOnly(0) + bit is set, and MUST return a value of zero otherwise. + The operator configures the ifIndex of the outbound port + in this case. + " + ::= { pwMplsOutboundEntry 6 } + + pwMplsOutboundTunnelTypeInUse OBJECT-TYPE + SYNTAX INTEGER { + notYetKnown (1), + mplsTe (2), + mplsNonTe (3), + pwOnly (4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object indicates the current tunnel that is carrying + the PW traffic. + The value of notYetKnown(1) should be used if the agent is + currently unable to determine which tunnel or interface is + carrying the PW, for example, because both tunnels are in + operational status down. + " + ::= { pwMplsOutboundEntry 7 } + + -- End of PW MPLS Outbound Tunnel table + + -- PW MPLS inbound table + + pwMplsInboundTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwMplsInboundEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table indicates the PW LDP XC entry in the + MPLS-LSR-STD-MIB for signaled PWs. + " + ::= { pwMplsObjects 3 } + + pwMplsInboundEntry OBJECT-TYPE + SYNTAX PwMplsInboundEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + "A row in this table is created by the agent + for each signaled PW, and shows the XC index related to + the PW signaling in the inbound direction in the + MPLS-LSR-STD-MIB that controls and display the information + for all the LDP signaling processes in the local node. + " + INDEX { pwIndex } + + ::= { pwMplsInboundTable 1 } + + PwMplsInboundEntry ::= SEQUENCE { + pwMplsInboundXcIndex MplsIndexType + } + + pwMplsInboundXcIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The XC index representing this PW in the inbound + direction. It MUST return the value zero if the + information is not yet known." + ::= { pwMplsInboundEntry 1 } + + -- End of PW MPLS inbound table + + -- PW to Non-TE mapping Table. + + pwMplsNonTeMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwMplsNonTeMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table indicates the PW association to the outbound + tunnel in non-TE applications, maps the PW to its (inbound) + XC entry, and indicates the PW-to-physical interface mapping + for a PW without an outer tunnel. + " + ::= { pwMplsObjects 4 } + + pwMplsNonTeMappingEntry OBJECT-TYPE + SYNTAX PwMplsNonTeMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table displays the association + between the PW and + - its non-TE MPLS outbound outer tunnel, + + - its XC entry in the MPLS-LSR-STD-MIB, or + - its physical interface if there is no outer tunnel + (PW label only) and manual configuration. + + Rows are created in this table by the agent depending on + the setting of pwMplsMplsType: + + - If the pwMplsMplsType mplsNonTe(1) bit is set, the agent + creates a row for the outbound direction + (pwMplsNonTeMappingDirection set to psnBound(1)). + The pwMplsNonTeMappingXcIndex holds the XC index in the + MPLS-LSR-STD-MIB of the PSN-bound outer tunnel. + pwMplsNonTeMappingIfIndex MUST be zero for this row. + + - If the pwMplsMplsType pwOnly(2) bit is set, the agent + creates a row for the outbound direction + (pwMplsNonTeMappingDirection set to psnBound(1)). + The pwMplsNonTeMappingIfIndex holds the ifIndex of the + physical port this PW will use in the outbound direction. + pwMplsNonTeMappingXcIndex MUST be zero for this row. + + - If the PW has been set up by a signaling protocol (i.e., + pwOwner equal pwIdFecSignaling(2) or + genFecSignaling(3)), the agent creates a row for the + inbound direction (pwMplsNonTeMappingDirection set to + fromPsn(2)). + The pwMplsNonTeMappingXcIndex holds the XC index in the + MPLS-LSR-STD-MIB of the PW LDP-generated XC entry. + pwMplsNonTeMappingIfIndex MUST be zero for this row. + + An application can use this table to quickly retrieve the + PW carried over specific non-TE MPLS outer tunnel or + physical interface. + " + + INDEX { pwMplsNonTeMappingDirection, + pwMplsNonTeMappingXcIndex, + pwMplsNonTeMappingIfIndex, + pwMplsNonTeMappingPwIndex } + + ::= { pwMplsNonTeMappingTable 1 } + + PwMplsNonTeMappingEntry ::= SEQUENCE { + pwMplsNonTeMappingDirection INTEGER, + pwMplsNonTeMappingXcIndex MplsIndexType, + pwMplsNonTeMappingIfIndex InterfaceIndexOrZero, + pwMplsNonTeMappingPwIndex PwIndexType + } + + pwMplsNonTeMappingDirection OBJECT-TYPE + SYNTAX INTEGER { + psnBound (1), + fromPsn (2) + } + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Index for the conceptual XC row identifying the tunnel-to-PW + mappings, indicating the direction of the packet flow for + this entry. + psnBound(1) indicates that the entry is related to + packets toward the PSN. + fromPsn(2) indicates that the entry is related to + packets coming from the PSN. + " + ::= { pwMplsNonTeMappingEntry 1 } + + pwMplsNonTeMappingXcIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "See the description clause of pwMplsNonTeMappingEntry for + the usage guidelines of this object." + ::= { pwMplsNonTeMappingEntry 2 } + + pwMplsNonTeMappingIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "See the description clause of pwMplsNonTeMappingEntry for + the usage guidelines of this object." + ::= { pwMplsNonTeMappingEntry 3 } + + pwMplsNonTeMappingPwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value that represents the PW in the pwTable." + ::= { pwMplsNonTeMappingEntry 4 } + + -- End of PW to Non-TE mapping Table. + + + -- PW to TE MPLS tunnels mapping Table. + + pwMplsTeMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwMplsTeMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table reports the PW association to the + outbound MPLS tunnel for MPLS-TE applications." + ::= { pwMplsObjects 5 } + + pwMplsTeMappingEntry OBJECT-TYPE + SYNTAX PwMplsTeMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table represents the association + between a PW and its MPLS-TE outer (head-end) tunnel. + + An application can use this table to quickly retrieve the + list of the PWs that are configured on a specific MPLS-TE + outer tunnel. + + The pwMplsTeMappingTunnelInstance reports the actual + LSP out of the tunnel head-end that is currently + forwarding the traffic. + + The table is indexed by the head-end indexes of a TE + tunnel and the PW index. + " + + INDEX { pwMplsTeMappingTunnelIndex, + pwMplsTeMappingTunnelInstance, + pwMplsTeMappingTunnelPeerLsrID, + pwMplsTeMappingTunnelLocalLsrID, + pwMplsTeMappingPwIndex } + + ::= { pwMplsTeMappingTable 1 } + + PwMplsTeMappingEntry ::= SEQUENCE { + pwMplsTeMappingTunnelIndex MplsTunnelIndex, + pwMplsTeMappingTunnelInstance MplsTunnelInstanceIndex, + pwMplsTeMappingTunnelPeerLsrID MplsLsrIdentifier, + pwMplsTeMappingTunnelLocalLsrID MplsLsrIdentifier, + pwMplsTeMappingPwIndex PwIndexType + } + + + + + + pwMplsTeMappingTunnelIndex OBJECT-TYPE + SYNTAX MplsTunnelIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index for the conceptual row identifying the + MPLS-TE tunnel that is carrying the PW traffic." + ::= { pwMplsTeMappingEntry 1 } + + pwMplsTeMappingTunnelInstance OBJECT-TYPE + SYNTAX MplsTunnelInstanceIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object identifies the MPLS-TE LSP that is carrying the + PW traffic. It MUST return the value zero if the + information of the specific LSP is not yet known. + Note that based on the recommendation in the + MPLS-TC-STD-MIB, instance index 0 should refer to the + configured tunnel interface." + ::= { pwMplsTeMappingEntry 2 } + + pwMplsTeMappingTunnelPeerLsrID OBJECT-TYPE + SYNTAX MplsLsrIdentifier + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object identifies the peer LSR when the outer tunnel + is MPLS-TE." + ::= { pwMplsTeMappingEntry 3 } + + pwMplsTeMappingTunnelLocalLsrID OBJECT-TYPE + SYNTAX MplsLsrIdentifier + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object identifies the local LSR." + ::= { pwMplsTeMappingEntry 4 } + + pwMplsTeMappingPwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object returns the value that represents the PW in the + pwTable." + ::= { pwMplsTeMappingEntry 5 } + + + -- End of PW to TE MPLS tunnels mapping Table. + + -- conformance information + + pwMplsGroups OBJECT IDENTIFIER ::= { pwMplsConformance 1 } + pwMplsCompliances OBJECT IDENTIFIER ::= { pwMplsConformance 2 } + + -- Compliance requirement for fully compliant implementations. + + pwMplsModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provide full + support for the PW-MPLS-STD-MIB module. Such devices + can then be monitored and also be configured using + this MIB module." + + MODULE -- this module + MANDATORY-GROUPS { pwMplsGroup, + pwMplsOutboundMainGroup, + pwMplsInboundGroup, + pwMplsMappingGroup + } + + GROUP pwMplsOutboundTeGroup + DESCRIPTION "This group MUST be supported if the implementation + allows MPLS-TE tunnels to carry PW traffic. + " + + OBJECT pwMplsMplsType + DESCRIPTION "Support of pwOnly(2) is not required. At least one + of mplsTe(0) or mplsNonTe(1) MUST be supported if + signaling of PW is supported. + " + + OBJECT pwMplsExpBitsMode + DESCRIPTION "Support of specifiedValue(2) and + serviceDependant(3) is optional. + " + + OBJECT pwMplsLocalLdpID + MIN-ACCESS read-only + DESCRIPTION "A read-write access is required if the + implementation supports more than one LDP entity + identifier for PW signaling. + " + + OBJECT pwMplsLocalLdpEntityIndex + + MIN-ACCESS read-only + DESCRIPTION "A read-write access is required if the + implementation supports more than one LDP entity + index for PW signaling. + " + + OBJECT pwMplsOutboundLsrXcIndex + MIN-ACCESS read-only + DESCRIPTION "A value other than zero MUST be supported if the + implementation supports non-TE signaling of the + outer tunnel. + A read-write access MUST be supported if the + implementation supports PW label manual setting + and carrying them over non-TE tunnels. + " + + OBJECT pwMplsOutboundIfIndex + MIN-ACCESS read-only + DESCRIPTION "A value other than zero and read-write operations + MUST be supported if the implementation supports + manually configured PW without MPLS outer tunnel. + " + ::= { pwMplsCompliances 1 } + + -- Compliance requirement for Read Only compliant implementations. + + pwMplsModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provide read- + only support for the PW-MPLS-STD-MIB module. Such + devices can then be monitored but cannot be configured + using this MIB module." + + MODULE -- this module + MANDATORY-GROUPS { pwMplsGroup, + pwMplsOutboundMainGroup, + pwMplsInboundGroup, + pwMplsMappingGroup + } + + GROUP pwMplsOutboundTeGroup + DESCRIPTION "This group MUST be supported if the implementation + allows MPLS-TE tunnels to carry PW traffic. + " + + OBJECT pwMplsMplsType + MIN-ACCESS read-only + + DESCRIPTION "Write access is not required. + Support of pwOnly(2) is not required. At least one + of mplsTe(0) or mplsNonTe(1) MUST be supported if + signaling of PW is supported. + " + + OBJECT pwMplsExpBitsMode + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + Support of specifiedValue(2) and serviceDependant(3) + is optional. + " + OBJECT pwMplsExpBits + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + OBJECT pwMplsTtl + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsLocalLdpID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsLocalLdpEntityIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsOutboundLsrXcIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + A value other than zero MUST be supported if the + implementation supports non-TE signaling of the + outer tunnel. + " + + OBJECT pwMplsOutboundTunnelIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsOutboundTunnelLclLSR + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsOutboundTunnelPeerLSR + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + " + + OBJECT pwMplsOutboundIfIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. + A value other than zero MUST be supported if the + implementation supports manually configured PW + without MPLS outer tunnel. + " + ::= { pwMplsCompliances 2 } + + -- Units of conformance. + + pwMplsGroup OBJECT-GROUP + OBJECTS { + pwMplsMplsType, + pwMplsExpBitsMode, + pwMplsExpBits, + pwMplsTtl, + pwMplsLocalLdpID, + pwMplsLocalLdpEntityIndex, + pwMplsPeerLdpID, + pwMplsStorageType + } + + STATUS current + DESCRIPTION + "Collection of objects needed for PW over MPLS PSN + configuration." + ::= { pwMplsGroups 1 } + + pwMplsOutboundMainGroup OBJECT-GROUP + OBJECTS { + pwMplsOutboundLsrXcIndex, + pwMplsOutboundIfIndex, + pwMplsOutboundTunnelTypeInUse + } + + STATUS current + DESCRIPTION + + "Collection of objects needed for outbound association of + PW and MPLS tunnel." + ::= { pwMplsGroups 2 } + + pwMplsOutboundTeGroup OBJECT-GROUP + OBJECTS { + pwMplsOutboundTunnelIndex, + pwMplsOutboundTunnelInstance, + pwMplsOutboundTunnelLclLSR, + pwMplsOutboundTunnelPeerLSR + } + + STATUS current + DESCRIPTION + "Collection of objects needed for outbound association of + PW and MPLS-TE tunnel." + ::= { pwMplsGroups 3 } + + pwMplsInboundGroup OBJECT-GROUP + OBJECTS { + pwMplsInboundXcIndex + } + + STATUS current + DESCRIPTION + "Collection of objects needed for inbound PW presentation. + This group MUST be supported if PW signaling through LDP is + used." + ::= { pwMplsGroups 4 } + + pwMplsMappingGroup OBJECT-GROUP + OBJECTS { + pwMplsNonTeMappingPwIndex, + pwMplsTeMappingPwIndex + } + + STATUS current + DESCRIPTION + "Collection of objects needed for mapping association of + PW and MPLS tunnel." + ::= { pwMplsGroups 5 } + + END \ No newline at end of file diff --git a/mibs/PW-STD-MIB.txt b/mibs/PW-STD-MIB.txt new file mode 100644 index 00000000..6b43d950 --- /dev/null +++ b/mibs/PW-STD-MIB.txt @@ -0,0 +1,2511 @@ + PW-STD-MIB DEFINITIONS ::= BEGIN + + IMPORTS + NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, + Integer32, Unsigned32, Counter32, Counter64, TimeTicks, + transmission + FROM SNMPv2-SMI -- [RFC2578] + + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF -- [RFC2580] + + TruthValue, RowStatus, StorageType, + TimeStamp + FROM SNMPv2-TC -- [RFC2579] + + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB -- [RFC3411] + + InterfaceIndexOrZero + FROM IF-MIB -- [RFC2863] + + InetAddressType, InetAddress + FROM INET-ADDRESS-MIB -- [RFC4001] + + PerfCurrentCount, PerfIntervalCount + FROM PerfHist-TC-MIB -- [RFC3593] + + HCPerfCurrentCount, HCPerfIntervalCount, HCPerfTimeElapsed, + HCPerfValidIntervals + FROM HC-PerfHist-TC-MIB -- [RFC3705] + + PwIndexType, PwIndexOrZeroType, PwGroupID, PwIDType, + PwOperStatusTC, PwAttachmentIdentifierType, PwCwStatusTC, + PwStatus, PwFragSize, PwFragStatus, PwGenIdType + FROM PW-TC-STD-MIB -- [RFC5542] + IANAPwTypeTC, IANAPwPsnTypeTC, IANAPwCapabilities + FROM IANA-PWE3-MIB -- [RFC5601] + ; + + pwStdMIB MODULE-IDENTITY + LAST-UPDATED "200906110000Z" -- 11 June 2009 00:00:00 GMT + ORGANIZATION "Pseudowire Edge-to-Edge Emulation (PWE3) Working + Group" + CONTACT-INFO + + "David Zelig + Email: davidz@oversi.com + + Thomas D. Nadeau + Email: tom.nadeau@bt.com + + The PWE3 Working Group (email distribution pwe3@ietf.org, + http://www.ietf.org/html.charters/pwe3-charter.html) + " + + DESCRIPTION + "This MIB module contains managed object definitions for + pseudowire operation as in Bryant, S. and P. Pate, 'Pseudo + Wire Emulation Edge-to-Edge (PWE3) Architecture' [RFC3985], + Martini, L., et al, 'Pseudowire Setup and Maintenance Using + the Label Distribution Protocol (LDP)' [RFC4447], and + Townsley, M., et al, 'Layer Two Tunneling Protocol + (Version 3)' [RFC3931]. + + This MIB module enables the use of any underlying packet + switched network (PSN). MIB nodules that will support + PW operations over specific PSN types are defined in + separate memos. + + The indexes for this MIB module are also used to index the + PSN-specific tables and the PW-specific tables. The PW Type + dictates which PW-specific MIB module to use. + + Copyright (c) 2009 IETF Trust and the persons identified + as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + + - Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + - Neither the name of Internet Society, IETF or IETF Trust, nor + the names of specific contributors, may be used to endorse or + promote products derived from this software without specific + prior written permission. + + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This version of this MIB module is part of RFC 5601; + see the RFC itself for full legal notices. + " + + -- Revision history. + REVISION + "200906110000Z" -- 11 June 2009 00:00:00 GMT + DESCRIPTION "Initial version published as part of RFC 5601." + ::= { transmission 246 } + + -- Top-level components of this MIB. + + -- Notifications + pwNotifications OBJECT IDENTIFIER + ::= { pwStdMIB 0 } + -- Tables, Scalars + pwObjects OBJECT IDENTIFIER + ::= { pwStdMIB 1 } + -- Conformance + pwConformance OBJECT IDENTIFIER + ::= { pwStdMIB 2 } + + -- PW Virtual Connection Table + + pwIndexNext OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to be used for + pwIndex when creating entries in the pwTable. The value 0 + indicates that no unassigned entries are available. To + obtain the value of pwIndex for a new entry in the pwTable, + + the manager issues a management protocol retrieval + operation. The agent will determine through its local policy + when this index value will be made available for reuse." + ::= { pwObjects 1 } + + pwTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies information for configuring and + status monitoring that is common to all service types + and PSN types." + ::= { pwObjects 2 } + + pwEntry OBJECT-TYPE + SYNTAX PwEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table represents a pseudowire (PW) virtual + connection across a packet network. It is indexed by + pwIndex, which uniquely identifies a singular + connection. + A row can be created by an operator command from a + management plan of a PE, by signaling, or due to auto- + discovery process. An operator's command can be issued via + a non-SNMP application; in such case, a row will be created + implicitly by the agent. + The read-create objects in this table are divided into + three categories: + 1) Objects that MUST NOT be changed after row activation. + These are objects that define basic properties of the + PW (for example type, destination, etc.). + 2) Objects that MAY be changed when the PW is + defined as not active. A change of these objects involves + re-signaling of the PW or it might be traffic affecting. + PW not active is defined as one of the following + conditions: + a) The pwRowStatus is notInService(2). + b) The pwRowStatus is notReady(3). + c) The pwAdminStatus is down(2). + If the operator needs to change one of the values for an + active row, the operator can either set the pwRowStatus to + notInService(2) or set pwAdminStatus to down(2). + Signaling (or traffic) is initiated again upon setting + the pwRowStatus to active(1) or setting the pwAdminStatus + to up(1) or testing(3), respectively. + + 3) Objects that MAY be changed at any time. + + A PW MAY have an entry in the ifTable in addition to the + entry in this table. In this case, a special ifType for PW + will be set in the ifTable, and the ifIndex in the ifTable + of the PW will be set in the pwIfIndex object in this table. + + By default, all the read-create objects MUST NOT be + changed after row activation, unless specifically indicated + in the individual object description. + + Manual entries in this table SHOULD be preserved after a + reboot; the agent MUST ensure the integrity of those + entries. If the set of entries of a specific row are found + to be inconsistent after reboot, the PW pwOperStatus MUST + be declared as notPresent(5). + " + INDEX { pwIndex } + + ::= { pwTable 1 } + + PwEntry ::= SEQUENCE { + pwIndex PwIndexType, + pwType IANAPwTypeTC, + pwOwner INTEGER, + pwPsnType IANAPwPsnTypeTC, + pwSetUpPriority Integer32, + pwHoldingPriority Integer32, + pwPeerAddrType InetAddressType, + pwPeerAddr InetAddress, + pwAttachedPwIndex PwIndexOrZeroType, + pwIfIndex InterfaceIndexOrZero, + + pwID PwIDType, + pwLocalGroupID PwGroupID, + pwGroupAttachmentID PwAttachmentIdentifierType, + pwLocalAttachmentID PwAttachmentIdentifierType, + pwRemoteAttachmentID PwAttachmentIdentifierType, + + pwCwPreference TruthValue, + pwLocalIfMtu Unsigned32, + + + pwLocalIfString TruthValue, + pwLocalCapabAdvert IANAPwCapabilities, + pwRemoteGroupID PwGroupID, + pwCwStatus PwCwStatusTC, + pwRemoteIfMtu Unsigned32, + + pwRemoteIfString SnmpAdminString, + pwRemoteCapabilities IANAPwCapabilities, + + pwFragmentCfgSize PwFragSize, + pwRmtFragCapability PwFragStatus, + pwFcsRetentionCfg INTEGER, + pwFcsRetentionStatus BITS, + + pwOutboundLabel Unsigned32, + pwInboundLabel Unsigned32, + + pwName SnmpAdminString, + pwDescr SnmpAdminString, + pwCreateTime TimeStamp, + pwUpTime TimeTicks, + pwLastChange TimeTicks, + pwAdminStatus INTEGER, + pwOperStatus PwOperStatusTC, + pwLocalStatus PwStatus, + pwRemoteStatusCapable INTEGER, + pwRemoteStatus PwStatus, + pwTimeElapsed HCPerfTimeElapsed, + pwValidIntervals HCPerfValidIntervals, + pwRowStatus RowStatus, + pwStorageType StorageType, + pwOamEnable TruthValue, + pwGenAGIType PwGenIdType, + pwGenLocalAIIType PwGenIdType, + pwGenRemoteAIIType PwGenIdType + } + + pwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique index for the conceptual row identifying a PW within + this table." + ::= { pwEntry 1 } + + pwType OBJECT-TYPE + SYNTAX IANAPwTypeTC + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value indicates the emulated service to be carried over + this PW. + " + + ::= { pwEntry 2 } + + pwOwner OBJECT-TYPE + SYNTAX INTEGER { + manual (1), + pwIdFecSignaling (2), -- PW signaling with PW ID FEC + genFecSignaling (3), -- Generalized attachment FEC + l2tpControlProtocol (4), + other (5) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is set by the operator to indicate the protocol + responsible for establishing this PW. + 'manual' is used in all cases where no maintenance + protocol (PW signaling) is used to set up the PW, i.e., + configuration of entries in the PW tables including + PW labels, etc., is done by setting the MIB fields manually. + 'pwIdFecSignaling' is used in case of signaling with the + Pwid FEC element with LDP signaling. + 'genFecSignaling' is used in case of LDP signaling with + the generalized FEC. + 'l2tpControlProtocol' indicates the use of the L2TP + control protocol. + 'other' is used for other types of signaling." + ::= { pwEntry 3 } + + pwPsnType OBJECT-TYPE + SYNTAX IANAPwPsnTypeTC + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is set by the operator to indicate the PSN type. + Based on this object, the relevant PSN table's entry is + created in the PSN-specific MIB modules. + " + ::= { pwEntry 4 } + + pwSetUpPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object defines the relative priority of the PW + during set-up in a lowest-to-highest fashion, where 0 + is the highest priority. PWs with the same priority + are treated with equal priority. PWs that have not yet + + completed setup will report 'dormant' in the + pwOperStatus. + This value is significant if there are competing resources + among PWs and the implementation supports this feature. + Equal priority handling with competing resources is + implementation specific. + This object MAY be changed at any time." + DEFVAL { 0 } + ::= { pwEntry 5 } + + pwHoldingPriority OBJECT-TYPE + SYNTAX Integer32 (0..7) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object defines the relative holding priority of the + PW in a lowest-to-highest fashion, where 0 is the highest + priority. PWs with the same priority are treated equally. + This value is significant if there are competing resources + among PWs and the implementation supports this feature. + Equal priority handling with competing resources is + implementation specific. + This object MAY be changed only if the PW is not active." + DEFVAL { 0 } + ::= { pwEntry 6 } + + pwPeerAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes the address type of the peer node. It should be + set to 'unknown' if PE/PW maintenance protocol is not used + and the address is unknown." + DEFVAL { ipv4 } + ::= { pwEntry 8 } + + pwPeerAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object contains the value of the peer node address + of the PW/PE maintenance protocol entity. This object + SHOULD contain a value of all zeroes if not applicable + (pwPeerAddrType is 'unknown')." + ::= { pwEntry 9 } + + + pwAttachedPwIndex OBJECT-TYPE + SYNTAX PwIndexOrZeroType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the PW is attached to another PW instead of a local + native service, this item indicates the pwIndex of the + attached PW. Otherwise, this object MUST + be set to zero. Attachment to another PW will have no + PW specific entry in any of the service MIB modules." + DEFVAL { 0 } + ::= { pwEntry 10 } + + pwIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object indicates the ifIndex of the PW if the PW is + represented in the ifTable. Otherwise, it MUST be set + to zero." + DEFVAL { 0 } + ::= { pwEntry 11 } + + pwID OBJECT-TYPE + SYNTAX PwIDType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Pseudowire identifier. + + If the pwOwner object is 'pwIdFecSignaling' or + 'l2tpControlProtocol', then this object is signaled in the + outgoing PW ID field within the 'Virtual Circuit FEC + Element'. For other values of pwOwner, this object is not + signaled and it MAY be set to zero. + + For implementations that support the pwIndexMappingTable, + a non-zero value is RECOMMENDED, even if this + identifier is not signaled. This is so that reverse + mappings can be provided by pwIndexMappingTable and + pwPeerMappingTable. It is therefore RECOMMENDED that the + value of this pwID be unique (or if pwPeerAddrType is not + 'unknown', at least [pwType, pwID, pwPeerAddrType, pwPeerAddr] + is unique.)" + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + + ::= { pwEntry 12 } + + pwLocalGroupID OBJECT-TYPE + SYNTAX PwGroupID + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Used in the Group ID field sent to the peer PW End Service + within the maintenance protocol used for PW setup. + It SHOULD be set to zero if a maintenance protocol is + not used." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 13 } + + pwGroupAttachmentID OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is an octet string representing the attachment + group identifier (AGI) that this PW belongs to, which + typically identifies the VPN ID. + Applicable if pwOwner equals 'genFecSignaling'." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 14 } + + pwLocalAttachmentID OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is an octet string representing the local + forwarder attachment individual identifier (AII) to be + used by this PW. It is used as the Source AII (SAII) for + outgoing signaling messages and the Target AII (TAII) in + the incoming messages from the peer. Applicable if + pwOwner equal 'genFecSignaling'." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 15 } + + + + + pwRemoteAttachmentID OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is an octet string representing the remote + forwarder attachment individual identifier (AII) to be + used by this PW. It is used as the TAII for outgoing + signaling messages and the SAII in the incoming messages + from the peer. + Applicable if pwOwner equals 'genFecSignaling'." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 16 } + + pwCwPreference OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Defines if the control word will be sent with each packet + by the local node. Some PW types mandate the use of a + control word, and in such cases, the value configured for + this object has no effect on the existence of the control + word. + This object MAY be changed only if the PW is not active." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol.', RFC 4447." + DEFVAL { false } + ::= { pwEntry 17 } + + pwLocalIfMtu OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If not equal to zero, the optional IfMtu object in the + signaling protocol will be sent with this value, which + represents the locally supported MTU size over the + interface (or the virtual interface) associated with the + PW. + This object MAY be changed only if the PW is not active." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + DEFVAL { 0 } + + ::= { pwEntry 18 } + + pwLocalIfString OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A PW MAY be associated to an interface (or a virtual + interface) in the ifTable of the node as part of the + service configuration. This object defines if the + maintenance protocol will send the interface's name + (ifAlias) as it appears in the ifTable. If set to false, + the optional element will not be sent. + This object MAY be changed only if the PW is not active." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447, section 5.5." + DEFVAL { false } + ::= { pwEntry 19 } + + pwLocalCapabAdvert OBJECT-TYPE + SYNTAX IANAPwCapabilities + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If a maintenance protocol is used, it indicates the + capabilities the local node will advertise to the peer. The + operator MAY selectively assign a partial set of + capabilities. In case of manual configuration of the PW, the + operator SHOULD set non-conflicting options (for example, + only a single type of Operations, Administration, and + Management (OAM)) out of the available options in the + implementation. It is possible to change the value of + this object when the PW is not active. The agent MUST + reject any attempt to set a capability that is not + supported. + + The default value MUST be the full set of local node + capabilities." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 20 } + + pwRemoteGroupID OBJECT-TYPE + SYNTAX PwGroupID + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "This object is obtained from the Group ID field as + received via the maintenance protocol used for PW setup. + Value of zero will be reported if not used. + Value of 0xFFFFFFFF shall be used if the object is yet to be + defined by the PW maintenance protocol." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 21 } + + pwCwStatus OBJECT-TYPE + SYNTAX PwCwStatusTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If signaling is used for PW establishment, this object + indicates the status of the control word negotiation. + For either signaling or manual configuration, it indicates + if the control word (CW) is to be present for this PW." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 22 } + + pwRemoteIfMtu OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote interface MTU as (optionally) received from the + remote node via the maintenance protocol. The object SHOULD + report zero if the MTU is not available." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 23 } + + pwRemoteIfString OBJECT-TYPE + SYNTAX SnmpAdminString (SIZE (0..80)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the interface description string as received by + the maintenance protocol. It MUST be a NULL string if a + maintenance protocol is not used or the value is not known + yet." + + + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447, section 5.5." + ::= { pwEntry 24 } + + pwRemoteCapabilities OBJECT-TYPE + SYNTAX IANAPwCapabilities + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the capabilities as received from the peer." + REFERENCE + "Martini, et al, 'Pseudowire Setup and Maintenance using + the Label Distribution Protocol', RFC 4447." + ::= { pwEntry 25 } + + pwFragmentCfgSize OBJECT-TYPE + SYNTAX PwFragSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If set to a value other than zero, indicates that + fragmentation is desired for this PW. + This object MAY be changed only if the PW is not active." + REFERENCE + "Malis A., Townsley M., 'PWE3 Fragmentation and Reassembly', + RFC 4623." + DEFVAL { 0 } -- i.e., fragmentation not desired + ::= { pwEntry 26 } + + pwRmtFragCapability OBJECT-TYPE + SYNTAX PwFragStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of the fragmentation based on the local + configuration and the peer capabilities as received from + the peer when a control protocol is used." + REFERENCE + "Malis A., Townsley M., 'PWE3 Fragmentation and Reassembly', + RFC 4623." + ::= { pwEntry 27 } + + pwFcsRetentionCfg OBJECT-TYPE + SYNTAX INTEGER { + fcsRetentionDisable (1), + fcsRetentionEnable (2) + + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The local configuration of Frame Check Sequence (FCS) + retention for this PW. FCS retention can be configured for + PW types High-Level Data Link Control (HDLC), Point-to-Point + Protocol (PPP), and Ethernet only. If the implementation + does not support FCS retention, an error MUST be reported in + pwFcsRetentionStatus. This object MAY be changed only if + the PW is not active." + REFERENCE + "Malis A., et al., 'PWE3 Frame Check Sequence Retention', + RFC 4720." + DEFVAL { fcsRetentionDisable } + ::= { pwEntry 28 } + + pwFcsRetentionStatus OBJECT-TYPE + SYNTAX BITS { + remoteIndicationUnknown (0), + remoteRequestFcsRetention (1), + fcsRetentionEnabled (2), + fcsRetentionDisabled (3), + localFcsRetentionCfgErr (4), + fcsRetentionFcsSizeMismatch (5) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The status of the FCS retention negotiation process based on + local configuration and the remote advertisement. + + remoteIndicationUnknown - set if a FEC has not been received + from the remote. + + remoteRequestFcsRetention - indicates that the peer has + requested FCS retention. FCS retention will be used if + the local node is capable and configured to use it for + this PW. + + fcsRetentionEnabled - FCS retention is enabled (both peers + were configured for FCS retention for signaled PW, or the + local node is configured and capable of FCS retention for + manually assigned PWs). + + fcsRetentionDisabled - FCS retention is disabled (not + configured locally or not advertised by the peer). + + + localFcsRetentionCfgErr - set if the local node has been + configured for FCS retention but is not capable to support + it. + + fcsRetentionFcsSizeMismatch - set if there is an FCS size + mismatch between the local and the peer node. + " + REFERENCE + "Malis A., et al., 'PWE3 Frame Check Sequence Retention', + RFC 4720" + ::= { pwEntry 29 } + + pwOutboundLabel OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The PW label used in the outbound direction (i.e., toward + the PSN). It might be set manually if pwOwner is 'manual'; + otherwise, it is set automatically. + For MPLS, MPLS over IP, or MPLS over Generic Routing + Encapsulation (GRE) PSN, it represents the 20-bit PW tag; + for L2TP, it represents the 32-bit Session ID; and for + IP PSN, it represents the destination UDP port number. + If the label is not yet known (signaling in process), the + object SHOULD return a value of 0xFFFFFFFF. + For manual configuration, this object MAY be changed only + if the PW is not active." + ::= { pwEntry 30 } + + pwInboundLabel OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The PW label used in the inbound direction (i.e., packets + received from the PSN). It may be set manually if pwOwner + is 'manual'; otherwise, it is set automatically. + For MPLS, MPLS over IP, or MPLS over GRE PSN, it represents + the 20-bit PW tag; for L2TP, it represents the 32-bit + Session ID; and for IP PSN, it represents the source + UDP port number. + If the label is not yet known (signaling in process), the + object SHOULD return a value of 0xFFFFFFFF. + For manual configuration, this object MAY be changed only + if the PW is not active." + ::= { pwEntry 31 } + + + pwName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The canonical name assigned to the PW. This object MAY be + changed at any time." + ::= { pwEntry 32 } + + pwDescr OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A textual string containing information about the PW. + If there is no description, this object contains a zero- + length string. This object MAY be changed at any time." + ::= { pwEntry 33 } + + pwCreateTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time this PW was created." + ::= { pwEntry 34 } + + pwUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the time since last change of pwOperStatus to + Up(1)." + ::= { pwEntry 35 } + + pwLastChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the time the PW entered + its current operational state. 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." + ::= { pwEntry 36 } + + + pwAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + up(1), -- ready to pass packets + down(2), + testing(3) -- in a test mode + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The desired operational status of this PW. This object MAY + be set at any time." + ::= { pwEntry 37 } + + pwOperStatus OBJECT-TYPE + SYNTAX PwOperStatusTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object indicates the operational status of the PW; it + does not reflect the status of the Customer Edge (CE) bound + interface. It is set to down only if pwNotForwarding, + psnFacingPwRxFault, or psnFacingPwTxFault indications are + set in pwLocalStatus or pwRemoteStatus. + It indicates 'lowerLayerDown' if the only reason for + not being in the 'up' state is that either the outer tunnel + or physical layer of the network side is in the 'down' + state. + All other states are declared based on the description + of the PwOperStatusTC. + " + ::= { pwEntry 38 } + + pwLocalStatus OBJECT-TYPE + SYNTAX PwStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the status of the PW in the local node. + The various indications in this object SHOULD be + available independent of the ability of the local node to + advertise them or the remote node to accept these status + indications through the control protocol. + " + ::= { pwEntry 39 } + + pwRemoteStatusCapable OBJECT-TYPE + SYNTAX INTEGER { + notApplicable (1), + + notYetKnown (2), + remoteCapable (3), + remoteNotCapable (4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the remote node capability to advertise the + PW status notification. + notApplicable SHOULD be reported for a manually set PW, or + if the local node is not capable of accepting the status + notification object. + notYetKnown SHOULD be reported if the signaling protocol + has not yet finished the process of capability + determination. + remoteCapable and remoteNotcapable SHOULD be reported + based on the initial signaling exchange that has + determined the remote node capability. + " + ::= { pwEntry 40 } + + pwRemoteStatus OBJECT-TYPE + SYNTAX PwStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the status of the PW as was advertised by the + remote. If the remote is not capable of advertising the + status object, or the local node is not able to accept + the status object through signaling, then the applicable + bit is 'pwNotForwarding', which is set if the remote has + sent label release or label withdraw for this PW. + " + ::= { pwEntry 41 } + + pwTimeElapsed OBJECT-TYPE + SYNTAX HCPerfTimeElapsed + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of seconds, including partial seconds, + that have elapsed since the beginning of the current + interval measurement period." + ::= { pwEntry 42 } + + pwValidIntervals OBJECT-TYPE + SYNTAX HCPerfValidIntervals + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The number of previous 15-minute intervals + for which data was collected." + ::= { pwEntry 43 } + + pwRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row. + This object MAY be changed at any time." + ::= { pwEntry 44 } + + pwStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object." + DEFVAL { nonVolatile } + ::= { pwEntry 45 } + + pwOamEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates if OAM is enabled for this + PW. It MAY be changed at any time." + DEFVAL { true } + ::= { pwEntry 46 } + + pwGenAGIType OBJECT-TYPE + SYNTAX PwGenIdType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the AGI type if generalized FEC + (129) is used for PW signaling or configuration. It SHOULD + return the value of zero otherwise." + DEFVAL { 0 } + ::= { pwEntry 47 } + + pwGenLocalAIIType OBJECT-TYPE + SYNTAX PwGenIdType + + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is the type of the local forwarder + attachment individual identifier (AII) to be used + by this PW if generalized FEC (129) is used for PW + signaling or configuration." + DEFVAL { 0 } + ::= { pwEntry 48 } + + pwGenRemoteAIIType OBJECT-TYPE + SYNTAX PwGenIdType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object is the type of the remote forwarder + attachment individual identifier (AII) to be used + by this PW if generalized FEC (129) is used for PW + signaling or configuration." + DEFVAL { 0 } + ::= { pwEntry 49 } + + -- End of the PW Virtual Connection Table + + -- PW Performance Table + + pwPerfCurrentTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwPerfCurrentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides per-PW performance information for + the current interval." + ::= { pwObjects 3 } + + pwPerfCurrentEntry OBJECT-TYPE + SYNTAX PwPerfCurrentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the agent for + every PW." + INDEX { pwIndex } + ::= { pwPerfCurrentTable 1 } + + PwPerfCurrentEntry ::= SEQUENCE { + pwPerfCurrentInHCPackets HCPerfCurrentCount, + pwPerfCurrentInHCBytes HCPerfCurrentCount, + + pwPerfCurrentOutHCPackets HCPerfCurrentCount, + pwPerfCurrentOutHCBytes HCPerfCurrentCount, + pwPerfCurrentInPackets PerfCurrentCount, + pwPerfCurrentInBytes PerfCurrentCount, + pwPerfCurrentOutPackets PerfCurrentCount, + pwPerfCurrentOutBytes PerfCurrentCount + } + + pwPerfCurrentInHCPackets OBJECT-TYPE + SYNTAX HCPerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of packets received by + the PW (from the PSN) in the current 15-minute + interval. This is the 64-bit version of + pwPerfCurrentInPackets, if pwPerfCurrentInHCPackets + is supported according to the rules spelled out + in RFC 2863." + ::= { pwPerfCurrentEntry 1 } + + pwPerfCurrentInHCBytes OBJECT-TYPE + SYNTAX HCPerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of bytes received by the + PW (from the PSN) in the current 15-minute interval. + This is the 64-bit version of pwPerfCurrentInBytes, if + pwPerfCurrentInHCBytes is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 2 } + + pwPerfCurrentOutHCPackets OBJECT-TYPE + SYNTAX HCPerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of packets forwarded by + the PW (to the PSN) in the current 15-minute interval. + This is the 64-bit version of pwPerfCurrentOutPackets, + if pwPerfCurrentOutHCPackets is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 3 } + + pwPerfCurrentOutHCBytes OBJECT-TYPE + SYNTAX HCPerfCurrentCount + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "High-capacity counter for number of bytes forwarded by + the PW (to the PSN) in the current 15-minute interval. + This is the 64-bit version of pwPerfCurrentOutBytes, + if pwPerfCurrentOutHCBytes is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 4 } + + pwPerfCurrentInPackets OBJECT-TYPE + SYNTAX PerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The counter for number of packets received by the PW (from + the PSN) in the current 15-minute interval. + This is the 32-bit version of pwPerfCurrentInHCPackets, + if pwPerfCurrentInHCPackets is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 5 } + + pwPerfCurrentInBytes OBJECT-TYPE + SYNTAX PerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The counter for number of bytes received by the + PW (from the PSN) in the current 15-minute interval. + It MUST be equal to the least significant 32 bits of + pwPerfCurrentInHCBytes, if pwPerfCurrentInHCBytes is + supported according to the rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 6 } + + pwPerfCurrentOutPackets OBJECT-TYPE + SYNTAX PerfCurrentCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The counter for number of packets forwarded by + the PW (to the PSN) in the current 15-minute interval. + It MUST be equal to the least significant 32 bits of + pwPerfCurrentOutHCPackets, if + pwPerfCurrentOutHCPackets is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 7 } + + pwPerfCurrentOutBytes OBJECT-TYPE + SYNTAX PerfCurrentCount + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The counter for number of bytes forwarded by + the PW (to the PSN) in the current 15-minute interval. + It MUST be equal to the least significant 32 bits of + pwPerfCurrentOutHCBytes, if pwPerfCurrentOutHCBytes is + supported according to the rules spelled out in RFC 2863." + ::= { pwPerfCurrentEntry 8 } + + -- End of the PW Performance Current Table + + -- PW Performance Interval Table + + pwPerfIntervalTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwPerfIntervalEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides per-PW performance information for + each interval." + ::= { pwObjects 4 } + + pwPerfIntervalEntry OBJECT-TYPE + SYNTAX PwPerfIntervalEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the agent for every + PW." + INDEX { pwIndex, pwPerfIntervalNumber } + ::= { pwPerfIntervalTable 1 } + + PwPerfIntervalEntry ::= SEQUENCE { + pwPerfIntervalNumber Integer32, + pwPerfIntervalValidData TruthValue, + pwPerfIntervalTimeElapsed HCPerfTimeElapsed, + pwPerfIntervalInHCPackets HCPerfIntervalCount, + pwPerfIntervalInHCBytes HCPerfIntervalCount, + pwPerfIntervalOutHCPackets HCPerfIntervalCount, + pwPerfIntervalOutHCBytes HCPerfIntervalCount, + pwPerfIntervalInPackets PerfIntervalCount, + pwPerfIntervalInBytes PerfIntervalCount, + pwPerfIntervalOutPackets PerfIntervalCount, + pwPerfIntervalOutBytes PerfIntervalCount + } + + pwPerfIntervalNumber OBJECT-TYPE + + SYNTAX Integer32 (1..96) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A number N, between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15-minute interval, and the interval identified + by N is the interval immediately preceding the one + identified by N-1. + The minimum range of N is 1 through 4. The default range + is 1 to 32. The maximum range of N is 1 through 96." + REFERENCE + "Tesink, K. 'Definitions of Managed Objects for the + SONET/SDH Interface Type', RFC 2558" + ::= { pwPerfIntervalEntry 1 } + + pwPerfIntervalValidData OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable indicates if the data for this interval + is valid." + ::= { pwPerfIntervalEntry 2 } + + pwPerfIntervalTimeElapsed OBJECT-TYPE + SYNTAX HCPerfTimeElapsed + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The duration of this interval in seconds." + ::= { pwPerfIntervalEntry 3 } + + pwPerfIntervalInHCPackets OBJECT-TYPE + SYNTAX HCPerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of packets received by + the PW (from the PSN) during the interval. This is the + 64-bit version of pwPerfIntervalInPackets, if + pwPerfIntervalInHCPackets is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 4 } + + pwPerfIntervalInHCBytes OBJECT-TYPE + SYNTAX HCPerfIntervalCount + + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of bytes received by the + PW (from the PSN) during the interval. + This is the 64-bit version of pwPerfIntervalInBytes, if + pwPerfIntervalInHCBytes is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 5 } + + pwPerfIntervalOutHCPackets OBJECT-TYPE + SYNTAX HCPerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of packets forwarded by + the PW (to the PSN) during the interval. + This is the 64-bit version of pwPerfIntervalOutPackets, + if pwPerfIntervalOutHCPackets is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 6 } + + pwPerfIntervalOutHCBytes OBJECT-TYPE + SYNTAX HCPerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for number of bytes forwarded by + the PW (to the PSN) during the interval. + This is the 64-bit version of pwPerfIntervalOutBytes, + if pwPerfIntervalOutHCBytes is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 7 } + + pwPerfIntervalInPackets OBJECT-TYPE + SYNTAX PerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the number of packets received + by this PW during the interval. + It MUST be equal to the least significant 32 bits of + pwPerfIntervalInHCPackets, if pwPerfIntervalInHCPackets + is supported according to the rules spelled out in + RFC 2863." + ::= { pwPerfIntervalEntry 8 } + + pwPerfIntervalInBytes OBJECT-TYPE + + SYNTAX PerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the number of bytes received by + this PW during the interval. It MUST be equal to the + least significant 32 bits of pwPerfIntervalInHCBytes, if + pwPerfIntervalInHCBytes is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 9 } + + pwPerfIntervalOutPackets OBJECT-TYPE + SYNTAX PerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the number of packets sent by this + PW during the interval. + It MUST be equal to the least significant 32 bits of + pwPerfIntervalOutHCPackets, if + pwPerfIntervalOutHCPackets is supported according to the + rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 10 } + + pwPerfIntervalOutBytes OBJECT-TYPE + SYNTAX PerfIntervalCount + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the number of bytes sent by this + PW during the interval. + It MUST be equal to the least significant 32 + bits of pwPerfIntervalOutHCBytes, + if pwPerfIntervalOutHCBytes is supported according to + the rules spelled out in RFC 2863." + ::= { pwPerfIntervalEntry 11 } + + -- End of the PW Performance Interval Table + + -- PW Performance 1-day Interval Table + + pwPerf1DayIntervalTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwPerf1DayIntervalEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides per-PW performance information for + the current day's measurement and the previous day's + + interval." + ::= { pwObjects 5 } + + pwPerf1DayIntervalEntry OBJECT-TYPE + SYNTAX PwPerf1DayIntervalEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the agent for every + PW." + INDEX { pwIndex, pwPerf1DayIntervalNumber } + + ::= { pwPerf1DayIntervalTable 1 } + + PwPerf1DayIntervalEntry ::= SEQUENCE { + pwPerf1DayIntervalNumber Unsigned32, + pwPerf1DayIntervalValidData TruthValue, + pwPerf1DayIntervalTimeElapsed HCPerfTimeElapsed, + pwPerf1DayIntervalInHCPackets Counter64, + pwPerf1DayIntervalInHCBytes Counter64, + pwPerf1DayIntervalOutHCPackets Counter64, + pwPerf1DayIntervalOutHCBytes Counter64 + } + + pwPerf1DayIntervalNumber OBJECT-TYPE + SYNTAX Unsigned32(1..31) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "History Data Interval number. Interval 1 is the current day's + measurement period, interval 2 is the most recent previous + day, and interval 30 is 31 days ago. Intervals 3..31 are + optional." + ::= { pwPerf1DayIntervalEntry 1 } + + pwPerf1DayIntervalValidData OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable indicates if the data for this interval + is valid." + ::= { pwPerf1DayIntervalEntry 2 } + + pwPerf1DayIntervalTimeElapsed OBJECT-TYPE + SYNTAX HCPerfTimeElapsed + UNITS "seconds" + MAX-ACCESS read-only + + STATUS current + DESCRIPTION + "The number of seconds in the 1-day interval over which the + performance monitoring information is actually counted. + This value will be the same as the interval duration except + in a situation where performance monitoring data could not + be collected for any reason or where agent clock adjustments + have been made." + ::= { pwPerf1DayIntervalEntry 3 } + + pwPerf1DayIntervalInHCPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for the total number of packets + received by the PW (from the PSN)." + ::= { pwPerf1DayIntervalEntry 4 } + + pwPerf1DayIntervalInHCBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for the total number of bytes + received by the PW (from the PSN)." + ::= { pwPerf1DayIntervalEntry 5 } + + pwPerf1DayIntervalOutHCPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for the total number of packets + forwarded by the PW (to the PSN)." + ::= { pwPerf1DayIntervalEntry 6 } + + pwPerf1DayIntervalOutHCBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "High-capacity counter for the total number of bytes + forwarded by the PW (to the PSN)." + ::= { pwPerf1DayIntervalEntry 7 } + + -- End of the PW Performance 1-day Interval Table + + + -- Error counter scalar + + pwPerfTotalErrorPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Counter for number of errors at the PW processing level, + for example, packets received with unknown PW label." + ::= { pwObjects 6 } + + -- Reverse mapping tables + + -- The PW ID mapping table + pwIndexMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwIndexMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enables the reverse mapping of the unique + PWid parameters [peer IP, PW type, and PW ID] and the + pwIndex. The table is not applicable for PWs created + manually or by using the generalized FEC." + ::= { pwObjects 7 } + + pwIndexMappingEntry OBJECT-TYPE + SYNTAX PwIndexMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table MUST be created by the agent for + every PW created by the pwTable for which pwOwner + equals pwIdFecSignaling and pwID is not zero. + + Implementers need to be aware that if the value of + the pwIndexMappingPeerAddr (an OID) has more than + 113 sub-identifiers, then OIDs of column instances + in this table will have more than 128 sub-identifiers + and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." + INDEX { pwIndexMappingPwType, pwIndexMappingPwID, + pwIndexMappingPeerAddrType, pwIndexMappingPeerAddr + } + ::= { pwIndexMappingTable 1 } + + PwIndexMappingEntry ::= SEQUENCE { + pwIndexMappingPwType IANAPwTypeTC, + pwIndexMappingPwID PwIDType, + pwIndexMappingPeerAddrType InetAddressType, + + pwIndexMappingPeerAddr InetAddress, + pwIndexMappingPwIndex PwIndexType + } + + pwIndexMappingPwType OBJECT-TYPE + SYNTAX IANAPwTypeTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The PW type (indicates the service) of this PW." + ::= { pwIndexMappingEntry 1 } + + pwIndexMappingPwID OBJECT-TYPE + SYNTAX PwIDType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The PW ID of this PW. Zero if the PW is configured + manually." + ::= { pwIndexMappingEntry 2 } + + pwIndexMappingPeerAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "IP address type of the peer node." + ::= { pwIndexMappingEntry 3 } + + pwIndexMappingPeerAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "IP address of the peer node." + ::= { pwIndexMappingEntry 4 } + + pwIndexMappingPwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value that represents the PW in the pwTable." + ::= { pwIndexMappingEntry 5 } + + -- End of the PW ID mapping table + + -- The peer mapping table + + pwPeerMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwPeerMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides reverse mapping of the existing PW + based on PW type and PW ID ordering. This table is + typically useful for the element management system (EMS) + ordered query of existing PWs." + ::= { pwObjects 8 } + + pwPeerMappingEntry OBJECT-TYPE + SYNTAX PwPeerMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the agent for every + PW entry in the pwTable. + + Implementers need to be aware that if the value of the + pwPeerMappingPeerAddr (an OID) has more than 113 + sub-identifiers, then OIDs of column instances in this + table will have more than 128 sub-identifiers and cannot + be accessed using SNMPv1, SNMPv2c, or SNMPv3." + INDEX { pwPeerMappingPeerAddrType, pwPeerMappingPeerAddr, + pwPeerMappingPwType, pwPeerMappingPwID } + + ::= { pwPeerMappingTable 1 } + + PwPeerMappingEntry ::= SEQUENCE { + pwPeerMappingPeerAddrType InetAddressType, + pwPeerMappingPeerAddr InetAddress, + pwPeerMappingPwType IANAPwTypeTC, + pwPeerMappingPwID PwIDType, + pwPeerMappingPwIndex PwIndexType + } + + pwPeerMappingPeerAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "IP address type of the peer node." + ::= { pwPeerMappingEntry 1 } + + pwPeerMappingPeerAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + + STATUS current + DESCRIPTION + "IP address of the peer node." + ::= { pwPeerMappingEntry 2 } + + pwPeerMappingPwType OBJECT-TYPE + SYNTAX IANAPwTypeTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The PW type (indicates the emulated service) of this PW." + ::= { pwPeerMappingEntry 3 } + + pwPeerMappingPwID OBJECT-TYPE + SYNTAX PwIDType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The PW ID of this PW. Zero if the PW is configured + manually." + ::= { pwPeerMappingEntry 4 } + + pwPeerMappingPwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value that represents the PW in the pwTable." + ::= { pwPeerMappingEntry 5 } + + -- End of the peer mapping table + + -- End of the reverse mapping tables + + pwUpDownNotifEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is set to true(1), then it enables + the emission of pwUp and pwDown + notifications; otherwise, these notifications are not + emitted." + REFERENCE + "See also [RFC3413] for explanation that + notifications are under the ultimate control of the + MIB module in this document." + DEFVAL { false } + + ::= { pwObjects 9 } + + pwDeletedNotifEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is set to true(1), then it enables the + emission of pwDeleted notification; otherwise, this + notification is not emitted." + REFERENCE + "See also [RFC3413] for explanation that + notifications are under the ultimate control of the + MIB module in this document." + DEFVAL { false } + ::= { pwObjects 10 } + + pwNotifRate OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "This object defines the maximum number of PW notifications + that can be emitted from the device per second." + ::= { pwObjects 11 } + + -- The Gen Fec PW ID mapping table + + pwGenFecIndexMappingTable OBJECT-TYPE + SYNTAX SEQUENCE OF PwGenFecIndexMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enables the reverse mapping of the unique + PWid parameters [GroupAttachmentID, LocalAttachmentID, + and PeerAttachmentID] and the pwIndex. The table is + only applicable for PW using the generalized FEC." + ::= { pwObjects 12 } + + pwGenFecIndexMappingEntry OBJECT-TYPE + SYNTAX PwGenFecIndexMappingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table MUST be created by the agent for + every PW created by the pwTable for which pwOwner + equals genFecSignaling. + + + Implementers need to be aware that if the combined value + of pwGenFecIndexMappingAGI, pwGenFecIndexMappingLocalAII, + and pwGenFecIndexMappingRemoteAII (OIDs) has more than + 113 sub-identifiers, then OIDs of column instances + in this table will have more than 128 sub-identifiers + and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." + INDEX { pwGenFecIndexMappingAGIType, + pwGenFecIndexMappingAGI, + pwGenFecIndexMappingLocalAIIType, + pwGenFecIndexMappingLocalAII, + pwGenFecIndexMappingRemoteAIIType, + pwGenFecIndexMappingRemoteAII + } + ::= { pwGenFecIndexMappingTable 1 } + + PwGenFecIndexMappingEntry ::= SEQUENCE { + pwGenFecIndexMappingAGIType PwGenIdType, + pwGenFecIndexMappingAGI PwAttachmentIdentifierType, + pwGenFecIndexMappingLocalAIIType PwGenIdType, + pwGenFecIndexMappingLocalAII PwAttachmentIdentifierType, + pwGenFecIndexMappingRemoteAIIType PwGenIdType, + pwGenFecIndexMappingRemoteAII PwAttachmentIdentifierType, + pwGenFecIndexMappingPwIndex PwIndexType + } + + pwGenFecIndexMappingAGIType OBJECT-TYPE + SYNTAX PwGenIdType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object is the type of the attachment + group identifier (AGI) that this PW belongs to." + ::= { pwGenFecIndexMappingEntry 1 } + + pwGenFecIndexMappingAGI OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object is an octet string representing the attachment + group identifier (AGI) that this PW belongs to, + which typically identifies the VPN ID." + ::= { pwGenFecIndexMappingEntry 2 } + + pwGenFecIndexMappingLocalAIIType OBJECT-TYPE + SYNTAX PwGenIdType + MAX-ACCESS not-accessible + STATUS current + + DESCRIPTION + "This object is the type of the local forwarder + attachment individual identifier (AII) to be used + by this PW." + ::= { pwGenFecIndexMappingEntry 3 } + + pwGenFecIndexMappingLocalAII OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object is an octet string representing the local + forwarder attachment individual identifier (AII) to be used + by this PW. It is used as the SAII for outgoing signaling + messages and the TAII in the incoming messages from the + peer." + ::= { pwGenFecIndexMappingEntry 4 } + + pwGenFecIndexMappingRemoteAIIType OBJECT-TYPE + SYNTAX PwGenIdType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object is the type of the remote forwarder + attachment individual identifier (AII) to be used + by this PW." + ::= { pwGenFecIndexMappingEntry 5 } + + pwGenFecIndexMappingRemoteAII OBJECT-TYPE + SYNTAX PwAttachmentIdentifierType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This object is an octet string representing the peer + forwarder attachment individual identifier (AII) to be used + by this PW. It is used as the TAII for outgoing signaling + messages and the SAII in the incoming messages from the + peer." + ::= { pwGenFecIndexMappingEntry 6 } + + pwGenFecIndexMappingPwIndex OBJECT-TYPE + SYNTAX PwIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value that represents the PW in the pwTable." + ::= { pwGenFecIndexMappingEntry 7 } + + + -- End of the Gen Fec PW ID mapping table + + -- Notifications - PW + + pwDown NOTIFICATION-TYPE + OBJECTS { pwOperStatus, --start of range + pwOperStatus --end of range + } + STATUS current + DESCRIPTION + "This notification is generated when the pwOperStatus + object for one or more contiguous entries in the pwTable are + about to enter the down(2) or lowerLayerDown(6) state from + any other state, except for transition from the + notPresent(5) state. For the purpose of deciding when + these notifications occur, the lowerLayerDown(6) state + and the down(2) state are considered to be equivalent; + i.e., there is no notification on transition from + lowerLayerDown(6) into down(2), and there is a trap on + transition from any other state except down(2) (and + notPresent) into lowerLayerDown(6). + + The included values of pwOperStatus MUST each be equal to + down(2) or lowerLayerDown(6). The two instances of + pwOperStatus in this notification indicate the range of + indexes that are affected. Note that all the indexes of + the two ends of the range can be derived from the + instance identifiers of these two objects. For cases + where a contiguous range of cross-connects have + transitioned into the down(2) and lowerLayerDown(6) states + at roughly the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in an + effort to minimize the emission of a large number of + notifications. If a notification has to be issued for + just a single cross-connect entry, then the instance + identifier (and values) of the two pwOperStatus objects + MUST be identical." + ::= { pwNotifications 1 } + + pwUp NOTIFICATION-TYPE + OBJECTS { pwOperStatus, --start of range + pwOperStatus --end of range + } + STATUS current + DESCRIPTION + "This notification is generated when the pwOperStatus + object for one or more contiguous entries in the pwTable are + about to enter the up(1) state from some other state + + except the notPresent(5) state and given that the pwDown + notification been issued for these entries. The included + values of pwOperStatus MUST both be set equal to this + new state (i.e., up(1)). The two instances of pwOperStatus + in this notification indicate the range of indexes that + are affected. Note that all the indexes of the two ends + of the range can be derived from the instance identifiers + of these two objects. For cases where a contiguous range + of cross-connects have transitioned into the up(1) state + at roughly the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in an + effort to minimize the emission of a large number of + notifications. If a notification has to be issued for + just a single cross-connect entry, then the instance + identifier (and values) of the two pwOperStatus objects + MUST be identical." + ::= { pwNotifications 2 } + + pwDeleted NOTIFICATION-TYPE + OBJECTS { pwType, + pwID, + pwPeerAddrType, + pwPeerAddr + } + STATUS current + DESCRIPTION + "This notification is generated when the PW has been + deleted, i.e., when the pwRowStatus has been set to + destroy(6) or the PW has been deleted by a non-MIB + application or due to an auto-discovery process. + " + ::= { pwNotifications 3 } + + -- End of notifications. + + -- Conformance information + + pwGroups OBJECT IDENTIFIER ::= { pwConformance 1 } + pwCompliances OBJECT IDENTIFIER ::= { pwConformance 2 } + + -- Compliance requirement for fully compliant implementations + + pwModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provide full + support for the PW MIB module. Such devices can + then be monitored and configured using + + this MIB module." + + MODULE -- this module + MANDATORY-GROUPS { pwBasicGroup, + pwPerformanceGeneralGroup + } + + GROUP pwNotificationGroup + DESCRIPTION "This group is only mandatory for implementations + that can efficiently implement the notifications + contained in this group. + " + + GROUP pwPwIdGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW ID FEC. + " + + GROUP pwGeneralizedFecGroup + DESCRIPTION "This group is only mandatory for implementations + that support the generalized PW FEC. + " + + GROUP pwFcsGroup + DESCRIPTION "This group is only mandatory for implementations + that support FCS retention." + + GROUP pwFragGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW fragmentation. + " + + GROUP pwPwStatusGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW status notification. + " + + GROUP pwGetNextGroup + DESCRIPTION "This group is only mandatory for implementations + where the pwIndex may be any arbitrary value + and the EMS would require retrieval of the next + free index." + + GROUP pwPriorityGroup + DESCRIPTION "This group is only mandatory for implementations + that support the controlling the PW setup and + holding priority." + + + GROUP pwAttachmentGroup + DESCRIPTION "This group is only mandatory for implementations + that support attachment of two PWs (PW stitching)." + + GROUP pwPeformance1DayIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 1-day + intervals." + + GROUP pwPerformanceIntervalGeneralGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 15- + minute intervals." + + GROUP pwPeformanceIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 15- + minute intervals." + + GROUP pwHCPeformanceIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + where at least one of the interval performance + counters wraps around too quickly based on the + criteria specified in RFC 2863 for high-capacity + counters." + + GROUP pwMappingTablesGroup + DESCRIPTION "This group is only mandatory for implementations + that support reverse mapping of PW indexes to + the pwIndex and the peer mapping table." + + GROUP pwSignalingGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW signaling." + + GROUP pwNotificationControlGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW notifications." + + OBJECT pwAdminStatus + SYNTAX INTEGER { up(1), down(2) } + DESCRIPTION "Support of the value testing(3) is not + required." + + OBJECT pwOperStatus + SYNTAX INTEGER { up(1), down(2), notPresent(5), + lowerLayerDown(6) } + DESCRIPTION "Support of the values testing(3) and dormant(4) + + is not required." + + OBJECT pwRowStatus + SYNTAX RowStatus { active(1), notInService(2), + notReady(3) } + WRITE-SYNTAX RowStatus { active(1), notInService(2), + createAndGo(4), destroy(6) + } + DESCRIPTION "Support for createAndWait is not required. Support + of notReady is not required for implementations + that do not support signaling, or if it is + guaranteed that the conceptual row has all the + required information to create the PW when the + row has been created by the agent or written by + the operator." + + OBJECT pwPeerAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1) } + MIN-ACCESS read-only + DESCRIPTION "Only unknown(0) and ipv4(1) are required. + Implementations that support only IPv4 MAY support + read-only access." + + OBJECT pwPeerAddr + SYNTAX InetAddress (SIZE(0|4)) + DESCRIPTION "An implementation is only required to support + 0, 4 address sizes." + + OBJECT pwStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwNotifRate + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { pwCompliances 1 } + + -- Compliance requirement for read-only compliant implementations + + pwModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for agents that provide read- + only support for the PW MIB module. Such devices can + then be monitored but cannot be configured using this + MIB module." + + + MODULE -- this module + MANDATORY-GROUPS { pwBasicGroup + } + + GROUP pwNotificationGroup + DESCRIPTION "This group is only mandatory for implementations + that can efficiently implement the notifications + contained in this group." + + GROUP pwPwIdGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW ID FEC. + " + + GROUP pwGeneralizedFecGroup + DESCRIPTION "This group is only mandatory for implementations + that support the generalized PW FEC. + " + + GROUP pwFcsGroup + DESCRIPTION "This group is only mandatory for implementations + that support FCS retention." + + GROUP pwFragGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW fragmentation. + " + + GROUP pwPwStatusGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW status notification. + " + + GROUP pwGetNextGroup + DESCRIPTION "This group is only mandatory for implementations + where the pwIndex may be any arbitrary value + and the EMS would require retrieval of the next + free index." + + GROUP pwPriorityGroup + DESCRIPTION "This group is only mandatory for implementations + that support the controlling the PW setup and + holding priority." + + GROUP pwAttachmentGroup + DESCRIPTION "This group is only mandatory for implementations + that support attachment of two PWs (PW stitching)." + + + GROUP pwPeformance1DayIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 1-day + intervals." + + GROUP pwPerformanceIntervalGeneralGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 15- + minute intervals." + + GROUP pwPeformanceIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + that support PW performance gathering in 15- + minute intervals." + + GROUP pwHCPeformanceIntervalGroup + DESCRIPTION "This group is only mandatory for implementations + where at least one of the interval performance + counters wraps around too quickly based on the + criteria specified in RFC 2863 for high-capacity + counters." + + GROUP pwMappingTablesGroup + DESCRIPTION "This group is only mandatory for implementations + that support reverse mapping of PW indexes to + the pwIndex and the peer mapping table." + + GROUP pwSignalingGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW signaling." + + GROUP pwNotificationControlGroup + DESCRIPTION "This group is only mandatory for implementations + that support the PW notifications." + + OBJECT pwType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwOwner + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwPsnType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwSetUpPriority + + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwHoldingPriority + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwPeerAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. Only unknown(0) and + ipv4(1) are required." + + OBJECT pwPeerAddr + SYNTAX InetAddress (SIZE(0|4)) + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. An implementation + is only required to support 0, 4 address sizes." + + OBJECT pwAttachedPwIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwIfIndex + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwLocalGroupID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwGroupAttachmentID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwLocalAttachmentID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwRemoteAttachmentID + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwCwPreference + + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwLocalIfMtu + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwLocalIfString + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwLocalCapabAdvert + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwFragmentCfgSize + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwFcsRetentionCfg + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwOutboundLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwInboundLabel + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwName + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwDescr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwAdminStatus + SYNTAX INTEGER { up(1), down(2) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required. The support of value + testing(3) is not required." + + OBJECT pwOperStatus + SYNTAX INTEGER { up(1), down(2), notPresent(5), + lowerLayerDown(6) } + + DESCRIPTION "The support of the values testing(3) and dormant(4) + is not required." + + OBJECT pwRowStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwStorageType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwOamEnable + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwGenAGIType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwGenLocalAIIType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwGenRemoteAIIType + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwUpDownNotifEnable + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwDeletedNotifEnable + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT pwNotifRate + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { pwCompliances 2 } + + -- Units of conformance. + + pwBasicGroup OBJECT-GROUP + OBJECTS { + pwType, + pwOwner, + + pwPsnType, + pwIfIndex, + pwCwPreference, + pwLocalIfMtu, + pwOutboundLabel, + pwInboundLabel, + pwName, + pwDescr, + pwCreateTime, + pwUpTime, + pwLastChange, + pwAdminStatus, + pwOperStatus, + pwLocalStatus, + pwRowStatus, + pwStorageType, + pwOamEnable + } + + STATUS current + DESCRIPTION + "Collection of objects that are required in all + implementations that support the PW MIB module." + ::= { pwGroups 1 } + + pwPwIdGroup OBJECT-GROUP + OBJECTS { + pwID + } + + STATUS current + DESCRIPTION + "Collection of objects required for PW ID configuration + and signaling." + ::= { pwGroups 2 } + + pwGeneralizedFecGroup OBJECT-GROUP + OBJECTS { + pwGroupAttachmentID, + pwLocalAttachmentID, + pwRemoteAttachmentID, + pwGenAGIType, + pwGenLocalAIIType, + pwGenRemoteAIIType + } + STATUS current + DESCRIPTION + "Collection of objects required for generalized FEC + + configuration and signaling." + ::= { pwGroups 3 } + + pwFcsGroup OBJECT-GROUP + OBJECTS { + pwFcsRetentionCfg, + pwFcsRetentionStatus + } + + STATUS current + DESCRIPTION + "Collection of objects required for FCS retention + configuration and signaling." + ::= { pwGroups 4 } + + pwFragGroup OBJECT-GROUP + OBJECTS { + pwFragmentCfgSize, + pwRmtFragCapability + } + + STATUS current + DESCRIPTION + "Collection of objects required for fragmentation + configuration and signaling." + ::= { pwGroups 5 } + + pwPwStatusGroup OBJECT-GROUP + OBJECTS { + pwRemoteCapabilities, + pwRemoteStatusCapable, + pwRemoteStatus + } + + STATUS current + DESCRIPTION + "Collection of objects required for PW status configuration + and signaling." + ::= { pwGroups 6 } + + + pwGetNextGroup OBJECT-GROUP + OBJECTS { + pwIndexNext + } + STATUS current + DESCRIPTION + "Collection of objects for getting the next available + + index." + ::= { pwGroups 7 } + + pwPriorityGroup OBJECT-GROUP + OBJECTS { + pwSetUpPriority, + pwHoldingPriority + } + + STATUS current + DESCRIPTION + "Collection of objects for controlling the PW setup and + holding priority." + ::= { pwGroups 8 } + + pwAttachmentGroup OBJECT-GROUP + OBJECTS { + pwAttachedPwIndex + } + + STATUS current + DESCRIPTION + "Collection of objects for PW configuration as ifIndex." + ::= { pwGroups 9 } + + pwPerformanceGeneralGroup OBJECT-GROUP + OBJECTS { + pwPerfTotalErrorPackets + } + + STATUS current + DESCRIPTION + "Collection of general objects needed for managing the + total running performance parameters." + ::= { pwGroups 10 } + + pwPeformance1DayIntervalGroup OBJECT-GROUP + OBJECTS { + pwPerf1DayIntervalValidData, + pwPerf1DayIntervalTimeElapsed, + pwPerf1DayIntervalInHCPackets, + pwPerf1DayIntervalInHCBytes, + pwPerf1DayIntervalOutHCPackets, + pwPerf1DayIntervalOutHCBytes + } + STATUS current + DESCRIPTION + "Collection of objects needed for a PW running 1-day + + interval performance collection." + ::= { pwGroups 11 } + + pwPerformanceIntervalGeneralGroup OBJECT-GROUP + OBJECTS { + pwTimeElapsed, + pwValidIntervals, + pwPerfIntervalValidData, + pwPerfIntervalTimeElapsed + } + + STATUS current + DESCRIPTION + "Collection of general objects needed for managing the + interval performance parameters." + ::= { pwGroups 12 } + + pwPeformanceIntervalGroup OBJECT-GROUP + OBJECTS { + pwPerfCurrentInPackets, + pwPerfCurrentInBytes, + pwPerfCurrentOutPackets, + pwPerfCurrentOutBytes, + + pwPerfIntervalInPackets, + pwPerfIntervalInBytes, + pwPerfIntervalOutPackets, + pwPerfIntervalOutBytes + } + + STATUS current + DESCRIPTION + "Collection of 32-bit objects needed for PW performance + collection in 15-minute intervals." + ::= { pwGroups 13 } + + pwHCPeformanceIntervalGroup OBJECT-GROUP + OBJECTS { + pwPerfCurrentInHCPackets, + pwPerfCurrentInHCBytes, + pwPerfCurrentOutHCPackets, + pwPerfCurrentOutHCBytes, + + pwPerfIntervalInHCPackets, + pwPerfIntervalInHCBytes, + pwPerfIntervalOutHCPackets, + pwPerfIntervalOutHCBytes + } + + STATUS current + DESCRIPTION + "Collection of HC objects needed for PW performance + collection in 15-minute intervals." + ::= { pwGroups 14 } + + pwMappingTablesGroup OBJECT-GROUP + OBJECTS { + pwIndexMappingPwIndex, + pwPeerMappingPwIndex, + pwGenFecIndexMappingPwIndex + } + + STATUS current + DESCRIPTION + "Collection of objects contained in the reverse + mapping tables." + ::= { pwGroups 15 } + + pwNotificationControlGroup OBJECT-GROUP + OBJECTS { + pwUpDownNotifEnable, + pwDeletedNotifEnable, + pwNotifRate + } + + STATUS current + DESCRIPTION + "Collection of objects for controlling the PW + notifications." + ::= { pwGroups 16 } + + pwNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + pwUp, + pwDown, + pwDeleted + } + + STATUS current + DESCRIPTION + "Collection of PW notifications objects." + ::= { pwGroups 17 } + + pwSignalingGroup OBJECT-GROUP + OBJECTS { + pwPeerAddrType, + pwPeerAddr, + + pwLocalGroupID, + pwLocalIfString, + pwLocalCapabAdvert, + pwRemoteGroupID, + pwCwStatus, + pwRemoteIfMtu, + pwRemoteIfString + } + + STATUS current + DESCRIPTION + "Collection of objects for use in implementations that + support the PW signaling." + ::= { pwGroups 18 } + + END \ No newline at end of file diff --git a/mibs/RIPv2-MIB.txt b/mibs/RIPv2-MIB.txt new file mode 100644 index 00000000..b0c56b70 --- /dev/null +++ b/mibs/RIPv2-MIB.txt @@ -0,0 +1,530 @@ + RIPv2-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, Counter32, + TimeTicks, IpAddress FROM SNMPv2-SMI + TEXTUAL-CONVENTION, RowStatus FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF + mib-2 FROM RFC1213-MIB; + + -- This MIB module uses the extended OBJECT-TYPE macro as + -- defined in [9]. + + rip2 MODULE-IDENTITY + LAST-UPDATED "9407272253Z" -- Wed Jul 27 22:53:04 PDT 1994 + ORGANIZATION "IETF RIP-II Working Group" + CONTACT-INFO + " Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + Tel: +1 805 681 0115 + E-Mail: fbaker@cisco.com + + Postal: Gary Malkin + Xylogics, Inc. + 53 Third Avenue + Burlington, MA 01803 + + Phone: (617) 272-8140 + EMail: gmalkin@Xylogics.COM" + DESCRIPTION + "The MIB module to describe the RIP2 Version 2 Protocol" + ::= { mib-2 23 } + + -- RIP-2 Management Information Base + + -- the RouteTag type represents the contents of the + -- Route Domain field in the packet header or route entry. + -- The use of the Route Domain is deprecated. + + RouteTag ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "the RouteTag type represents the contents of the Route Domain + field in the packet header or route entry" + SYNTAX OCTET STRING (SIZE (2)) + +--4.1 Global Counters + +-- The RIP-2 Globals Group. +-- Implementation of this group is mandatory for systems +-- which implement RIP-2. + +-- These counters are intended to facilitate debugging quickly +-- changing routes or failing neighbors + +rip2Globals OBJECT IDENTIFIER ::= { rip2 1 } + + rip2GlobalRouteChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of route changes made to the IP Route + Database by RIP. This does not include the refresh + of a route's age." + ::= { rip2Globals 1 } + + rip2GlobalQueries OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of responses sent to RIP queries + from other systems." + ::= { rip2Globals 2 } + +--4.2 RIP Interface Tables + +-- RIP Interfaces Groups +-- Implementation of these Groups is mandatory for systems +-- which implement RIP-2. + +-- The RIP Interface Status Table. + + rip2IfStatTable OBJECT-TYPE + SYNTAX SEQUENCE OF Rip2IfStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of subnets which require separate + status monitoring in RIP." + ::= { rip2 2 } + + rip2IfStatEntry OBJECT-TYPE + SYNTAX Rip2IfStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A Single Routing Domain in a single Subnet." + INDEX { rip2IfStatAddress } + ::= { rip2IfStatTable 1 } + + Rip2IfStatEntry ::= + SEQUENCE { + rip2IfStatAddress + IpAddress, + rip2IfStatRcvBadPackets + Counter32, + rip2IfStatRcvBadRoutes + Counter32, + rip2IfStatSentUpdates + Counter32, + rip2IfStatStatus + RowStatus + } + + rip2IfStatAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP Address of this system on the indicated + subnet. For unnumbered interfaces, the value 0.0.0.N, + where the least significant 24 bits (N) is the ifIndex + for the IP Interface in network byte order." + ::= { rip2IfStatEntry 1 } + + rip2IfStatRcvBadPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of RIP response packets received by + the RIP process which were subsequently discarded + for any reason (e.g. a version 0 packet, or an + unknown command type)." + ::= { rip2IfStatEntry 2 } + + rip2IfStatRcvBadRoutes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of routes, in valid RIP packets, + which were ignored for any reason (e.g. unknown + address family, or invalid metric)." + ::= { rip2IfStatEntry 3 } + + rip2IfStatSentUpdates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of triggered RIP updates actually + sent on this interface. This explicitly does + NOT include full updates sent containing new + information." + ::= { rip2IfStatEntry 4 } + + rip2IfStatStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Writing invalid has the effect of deleting + this interface." + ::= { rip2IfStatEntry 5 } + +-- The RIP Interface Configuration Table. + + rip2IfConfTable OBJECT-TYPE + SYNTAX SEQUENCE OF Rip2IfConfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of subnets which require separate + configuration in RIP." + ::= { rip2 3 } + + rip2IfConfEntry OBJECT-TYPE + SYNTAX Rip2IfConfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A Single Routing Domain in a single Subnet." + INDEX { rip2IfConfAddress } + ::= { rip2IfConfTable 1 } + + Rip2IfConfEntry ::= + SEQUENCE { + rip2IfConfAddress + IpAddress, + rip2IfConfDomain + RouteTag, + rip2IfConfAuthType + INTEGER, + rip2IfConfAuthKey + OCTET STRING, + rip2IfConfSend + INTEGER, + rip2IfConfReceive + INTEGER, + rip2IfConfDefaultMetric + INTEGER, + rip2IfConfStatus + RowStatus, + rip2IfConfSrcAddress + IpAddress + } + + rip2IfConfAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP Address of this system on the indicated + subnet. For unnumbered interfaces, the value 0.0.0.N, + where the least significant 24 bits (N) is the ifIndex + for the IP Interface in network byte order." + ::= { rip2IfConfEntry 1 } + + rip2IfConfDomain OBJECT-TYPE + SYNTAX RouteTag + MAX-ACCESS read-create + STATUS obsolete + DESCRIPTION + "Value inserted into the Routing Domain field + of all RIP packets sent on this interface." + DEFVAL { '0000'h } + ::= { rip2IfConfEntry 2 } + + rip2IfConfAuthType OBJECT-TYPE + SYNTAX INTEGER { + noAuthentication (1), + simplePassword (2), + md5 (3) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of Authentication used on this + interface." + DEFVAL { noAuthentication } + ::= { rip2IfConfEntry 3 } + + rip2IfConfAuthKey OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..16)) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value to be used as the Authentication Key + whenever the corresponding instance of + rip2IfConfAuthType has a value other than + noAuthentication. A modification of the corresponding + instance of rip2IfConfAuthType does not modify + the rip2IfConfAuthKey value. If a string shorter + than 16 octets is supplied, it will be left- + justified and padded to 16 octets, on the right, + with nulls (0x00). + + Reading this object always results in an OCTET + STRING of length zero; authentication may not + be bypassed by reading the MIB object." + DEFVAL { ''h } + ::= { rip2IfConfEntry 4 } + + rip2IfConfSend OBJECT-TYPE + SYNTAX INTEGER { + doNotSend (1), + ripVersion1 (2), + rip1Compatible (3), + ripVersion2 (4), + ripV1Demand (5), + ripV2Demand (6) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "What the router sends on this interface. + ripVersion1 implies sending RIP updates compliant + with RFC 1058. rip1Compatible implies + broadcasting RIP-2 updates using RFC 1058 route + subsumption rules. ripVersion2 implies + multicasting RIP-2 updates. ripV1Demand indicates + the use of Demand RIP on a WAN interface under RIP + Version 1 rules. ripV2Demand indicates the use of + Demand RIP on a WAN interface under Version 2 rules." + DEFVAL { rip1Compatible } + ::= { rip2IfConfEntry 5 } + + rip2IfConfReceive OBJECT-TYPE + SYNTAX INTEGER { + rip1 (1), + rip2 (2), + rip1OrRip2 (3), + doNotRecieve (4) + } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This indicates which version of RIP updates + are to be accepted. Note that rip2 and + rip1OrRip2 implies reception of multicast + packets." + DEFVAL { rip1OrRip2 } + ::= { rip2IfConfEntry 6 } + + rip2IfConfDefaultMetric OBJECT-TYPE + SYNTAX INTEGER ( 0..15 ) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the metric that is to + be used for the default route entry in RIP updates + originated on this interface. A value of zero + indicates that no default route should be + originated; in this case, a default route via + another router may be propagated." + ::= { rip2IfConfEntry 7 } + + rip2IfConfStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Writing invalid has the effect of deleting + this interface." + ::= { rip2IfConfEntry 8 } + + rip2IfConfSrcAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP Address this system will use as a source + address on this interface. If it is a numbered + interface, this MUST be the same value as + rip2IfConfAddress. On unnumbered interfaces, + it must be the value of rip2IfConfAddress for + some interface on the system." + ::= { rip2IfConfEntry 9 } + +--4.3 Peer Table + +-- Peer Table + +-- The RIP Peer Group +-- Implementation of this Group is Optional + +-- This group provides information about active peer +-- relationships intended to assist in debugging. An +-- active peer is a router from which a valid RIP +-- updated has been heard in the last 180 seconds. + + rip2PeerTable OBJECT-TYPE + SYNTAX SEQUENCE OF Rip2PeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of RIP Peers." + ::= { rip2 4 } + + rip2PeerEntry OBJECT-TYPE + SYNTAX Rip2PeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information regarding a single routing peer." + INDEX { rip2PeerAddress, rip2PeerDomain } + ::= { rip2PeerTable 1 } + + Rip2PeerEntry ::= + SEQUENCE { + rip2PeerAddress + IpAddress, + rip2PeerDomain + RouteTag, + rip2PeerLastUpdate + TimeTicks, + rip2PeerVersion + INTEGER, + rip2PeerRcvBadPackets + Counter32, + rip2PeerRcvBadRoutes + Counter32 + } + + rip2PeerAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP Address that the peer is using as its source + address. Note that on an unnumbered link, this may + not be a member of any subnet on the system." + ::= { rip2PeerEntry 1 } + + rip2PeerDomain OBJECT-TYPE + SYNTAX RouteTag + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value in the Routing Domain field in RIP + packets received from the peer. As domain suuport + is deprecated, this must be zero." + ::= { rip2PeerEntry 2 } + + rip2PeerLastUpdate OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime when the most recent + RIP update was received from this system." + ::= { rip2PeerEntry 3 } + + rip2PeerVersion OBJECT-TYPE + SYNTAX INTEGER ( 0..255 ) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The RIP version number in the header of the + last RIP packet received." + ::= { rip2PeerEntry 4 } + + rip2PeerRcvBadPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of RIP response packets from this + peer discarded as invalid." + ::= { rip2PeerEntry 5 } + + + rip2PeerRcvBadRoutes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of routes from this peer that were + ignored because the entry format was invalid." + ::= { rip2PeerEntry 6 } + +-- conformance information + +rip2Conformance OBJECT IDENTIFIER ::= { rip2 5 } + +rip2Groups OBJECT IDENTIFIER ::= { rip2Conformance 1 } +rip2Compliances OBJECT IDENTIFIER ::= { rip2Conformance 2 } + +-- compliance statements +rip2Compliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement " + MODULE -- this module + MANDATORY-GROUPS { + rip2GlobalGroup, + rip2IfStatGroup, + rip2IfConfGroup, + rip2PeerGroup + } + GROUP rip2GlobalGroup + DESCRIPTION + "This group defines global controls for RIP-II systems." + GROUP rip2IfStatGroup + DESCRIPTION + "This group defines interface statistics for RIP-II systems." + GROUP rip2IfConfGroup + DESCRIPTION + "This group defines interface configuration for RIP-II systems." + GROUP rip2PeerGroup + DESCRIPTION + "This group defines peer information for RIP-II systems." + ::= { rip2Compliances 1 } + +-- units of conformance + +rip2GlobalGroup OBJECT-GROUP + OBJECTS { + rip2GlobalRouteChanges, + rip2GlobalQueries + } + STATUS current + DESCRIPTION + "This group defines global controls for RIP-II systems." + ::= { rip2Groups 1 } +rip2IfStatGroup OBJECT-GROUP + OBJECTS { + rip2IfStatAddress, + rip2IfStatRcvBadPackets, + rip2IfStatRcvBadRoutes, + rip2IfStatSentUpdates, + rip2IfStatStatus + } + STATUS current + DESCRIPTION + "This group defines interface statistics for RIP-II systems." + ::= { rip2Groups 2 } +rip2IfConfGroup OBJECT-GROUP + OBJECTS { + rip2IfConfAddress, + rip2IfConfAuthType, + rip2IfConfAuthKey, + rip2IfConfSend, + rip2IfConfReceive, + rip2IfConfDefaultMetric, + rip2IfConfStatus, + rip2IfConfSrcAddress + } + STATUS current + DESCRIPTION + "This group defines interface configuration for RIP-II systems." + ::= { rip2Groups 3 } +rip2PeerGroup OBJECT-GROUP + OBJECTS { + rip2PeerAddress, + rip2PeerDomain, + rip2PeerLastUpdate, + rip2PeerVersion, + rip2PeerRcvBadPackets, + rip2PeerRcvBadRoutes + } + STATUS current + DESCRIPTION + "This group defines peer information for RIP-II systems." + ::= { rip2Groups 4 } +END \ No newline at end of file diff --git a/mibs/VRRPV3-MIB.txt b/mibs/VRRPV3-MIB.txt new file mode 100644 index 00000000..1ad95b71 --- /dev/null +++ b/mibs/VRRPV3-MIB.txt @@ -0,0 +1,976 @@ + VRRPV3-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + NOTIFICATION-TYPE, Counter32, + Integer32, mib-2, Unsigned32, + Counter64, TimeTicks + FROM SNMPv2-SMI -- RFC2578 + + TEXTUAL-CONVENTION, RowStatus, + MacAddress, TruthValue, TimeStamp, + TimeInterval + FROM SNMPv2-TC -- RFC2579 + + MODULE-COMPLIANCE, OBJECT-GROUP, + NOTIFICATION-GROUP + FROM SNMPv2-CONF -- RFC2580 + + + ifIndex + FROM IF-MIB -- RFC2863 + InetAddressType, InetAddress + + FROM INET-ADDRESS-MIB; -- RFC4001 + + vrrpv3MIB MODULE-IDENTITY + LAST-UPDATED "201202130000Z" -- Feb 13, 2012 + ORGANIZATION "IETF VRRP Working Group" + CONTACT-INFO + "WG E-Mail: vrrp@ietf.org + + Editor: Kalyan Tata + Nokia + 313 Fairchild Dr, + Mountain View, CA 94043 + Tata_kalyan@yahoo.com" + + DESCRIPTION + "This MIB describes objects used for managing Virtual + Router Redundancy Protocol version 3 (VRRPv3). + + Copyright (c) 2012 IETF Trust and the persons + identified as authors of the code. All rights + reserved. + + Redistribution and use in source and binary forms, + with or without modification, is permitted pursuant + to, and subject to the license terms contained in, + the Simplified BSD License set forth in Section + 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of the MIB module is part of RFC 6527. + Please see the RFC for full legal notices." + + REVISION "201202120000Z" -- Feb 13, 2012 + DESCRIPTION "Initial version as published in RFC 6527." + + ::= { mib-2 207 } + + -- Textual Conventions + + Vrrpv3VrIdTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + + "The value of the Virtual Router Identifier noted as + (VRID) in RFC 5798. This, along with interface index + (ifIndex) and IP version, serves to uniquely identify + a virtual router on a given VRRP router." + REFERENCE "RFC 5798 (Sections 3 and 5.2.3)" + SYNTAX Integer32 (1..255) + + -- VRRPv3 MIB Groups + + vrrpv3Notifications OBJECT IDENTIFIER ::= { vrrpv3MIB 0 } + vrrpv3Objects OBJECT IDENTIFIER ::= { vrrpv3MIB 1 } + vrrpv3Conformance OBJECT IDENTIFIER ::= { vrrpv3MIB 2 } + + -- VRRPv3 MIB Objects + + vrrpv3Operations OBJECT IDENTIFIER ::= { vrrpv3Objects 1 } + vrrpv3Statistics OBJECT IDENTIFIER ::= { vrrpv3Objects 2 } + + -- VRRPv3 Operations Table + + vrrpv3OperationsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Vrrpv3OperationsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Unified Operations table for a VRRP router that + consists of a sequence (i.e., one or more conceptual + rows) of 'vrrpv3OperationsEntry' items each of which + describe the operational characteristics of a virtual + router." + + ::= { vrrpv3Operations 1 } + + vrrpv3OperationsEntry OBJECT-TYPE + SYNTAX Vrrpv3OperationsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the vrrpv3OperationsTable containing the + operational characteristics of a virtual router. + On a VRRP router, a given virtual router is + identified by a combination of ifIndex, VRID, and + the IP version. ifIndex represents an interface of + the router. + + A row must be created with vrrpv3OperationsStatus + set to initialize(1) and cannot transition to + backup(2) or master(3) until + + vrrpv3OperationsRowStatus is transitioned to + active(1). + + The information in this table is persistent and when + written the entity SHOULD save the change to non- + volatile storage." + + INDEX { ifIndex, vrrpv3OperationsVrId, + vrrpv3OperationsInetAddrType + } + ::= { vrrpv3OperationsTable 1 } + + Vrrpv3OperationsEntry ::= + + SEQUENCE { + vrrpv3OperationsVrId + Vrrpv3VrIdTC, + vrrpv3OperationsInetAddrType + InetAddressType, + vrrpv3OperationsMasterIpAddr + InetAddress, + vrrpv3OperationsPrimaryIpAddr + InetAddress, + vrrpv3OperationsVirtualMacAddr + MacAddress, + vrrpv3OperationsStatus + INTEGER, + vrrpv3OperationsPriority + Unsigned32, + vrrpv3OperationsAddrCount + Integer32, + vrrpv3OperationsAdvInterval + TimeInterval, + vrrpv3OperationsPreemptMode + TruthValue, + vrrpv3OperationsAcceptMode + TruthValue, + vrrpv3OperationsUpTime + TimeTicks, + vrrpv3OperationsRowStatus + RowStatus + } + vrrpv3OperationsVrId OBJECT-TYPE + SYNTAX Vrrpv3VrIdTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + + + "This object contains the Virtual Router Identifier + (VRID)." + REFERENCE "RFC 4001" + ::= { vrrpv3OperationsEntry 1 } + + vrrpv3OperationsInetAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The IP address type of Vrrpv3OperationsEntry and + Vrrpv3AssociatedIpAddrEntry. This value determines + the type for vrrpv3OperationsMasterIpAddr, + vrrpv3OperationsPrimaryIpAddr, and + vrrpv3AssociatedIpAddrAddress. + + ipv4(1) and ipv6(2) are the only two values supported + in this MIB module." + REFERENCE "RFC 4001" + ::= { vrrpv3OperationsEntry 2 } + + vrrpv3OperationsMasterIpAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The master router's real IP address. The master router + would set this address to vrrpv3OperationsPrimaryIpAddr + while transitioning to master state. For backup + routers, this is the IP address listed as the source in + the VRRP advertisement last received by this virtual + router." + REFERENCE "RFC 5798" + ::= { vrrpv3OperationsEntry 3 } + + vrrpv3OperationsPrimaryIpAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "In the case where there is more than one IP + Address (associated IP addresses) for a given + 'ifIndex', this object is used to specify the IP + address that will become the + vrrpv3OperationsMasterIpAddr', should the virtual + router transition from backup state to master." + ::= { vrrpv3OperationsEntry 4 } + + + vrrpv3OperationsVirtualMacAddr OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The virtual MAC address of the virtual router. + Although this object can be derived from the + 'vrrpv3OperationsVrId' object, it is defined so that it + is easily obtainable by a management application and + can be included in VRRP-related SNMP notifications." + ::= { vrrpv3OperationsEntry 5 } + + vrrpv3OperationsStatus OBJECT-TYPE + SYNTAX INTEGER { + initialize(1), + backup(2), + master(3) + } + MAX-ACCESS read-only + STATUS current + + DESCRIPTION + "The current state of the virtual router. This object + has three defined values: + + - 'initialize', which indicates that the + virtual router is waiting for a startup event. + + - 'backup', which indicates that the virtual router is + monitoring the availability of the master router. + + - 'master', which indicates that the virtual router + is forwarding packets for IP addresses that are + associated with this router." + REFERENCE "RFC 5798" + ::= { vrrpv3OperationsEntry 6 } + + vrrpv3OperationsPriority OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This object specifies the priority to be used for the + virtual router master election process; higher values + imply higher priority. + + A priority of '0', although not settable, is sent by + the master router to indicate that this router has + + ceased to participate in VRRP, and a backup virtual + router should transition to become a new master. + + A priority of 255 is used for the router that owns the + associated IP address(es) for VRRP over IPv4 and hence + is not settable. + + Setting the values of this object to 0 or 255 should be + rejected by the agents implementing this MIB module. + For example, an SNMP agent would return 'badValue(3)' + when a user tries to set the values 0 or 255 for this + object." + + REFERENCE "RFC 5798, Section 6.1" + DEFVAL { 100 } + ::= { vrrpv3OperationsEntry 7 } + + vrrpv3OperationsAddrCount OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IP addresses that are associated with + this virtual router. This number is equal to the + number of rows in the vrrpv3AssociatedAddrTable that + correspond to a given ifIndex/VRID/IP version." + REFERENCE "RFC 5798, Section 6.1" + ::= { vrrpv3OperationsEntry 8 } + + vrrpv3OperationsAdvInterval OBJECT-TYPE + SYNTAX TimeInterval (1..4095) + UNITS "centiseconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The time interval, in centiseconds, between sending + advertisement messages. Only the master router sends + VRRP advertisements." + REFERENCE "RFC 5798, Section 6.1" + DEFVAL { 100} + ::= { vrrpv3OperationsEntry 9 } + + vrrpv3OperationsPreemptMode OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + "Controls whether a higher priority virtual router will + preempt a lower priority master." + REFERENCE "RFC 5798, Section 6.1" + DEFVAL { true } + ::= { vrrpv3OperationsEntry 10 } + + vrrpv3OperationsAcceptMode OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Controls whether a virtual router in master state + will accept packets addressed to the address owner's + IPv6 address as its own if it is not the IPv6 address + owner. Default is false(2). + This object is not relevant for rows representing VRRP + over IPv4 and should be set to false(2)." + DEFVAL { false } + ::= { vrrpv3OperationsEntry 11 } + + vrrpv3OperationsUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the amount of time, in + TimeTicks (hundredth of a second), since this virtual + router (i.e., the 'vrrpv3OperationsStatus') + transitioned out of 'initialize'." + REFERENCE "RFC 5798, Section 6.1" + ::= { vrrpv3OperationsEntry 12 } + + vrrpv3OperationsRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The RowStatus variable should be used in accordance to + installation and removal conventions for conceptual + rows. + + To create a row in this table, a manager sets this + object to either createAndGo(4) or createAndWait(5). + Until instances of all corresponding columns are + appropriately configured, the value of the + corresponding instance of the + 'vrrpv3OperationsRowStatus' column will be read as + notReady(3). + + In particular, a newly created row cannot be made + active(1) until (minimally) the corresponding instance + of vrrpv3OperationsInetAddrType, vrrpv3OperationsVrId, + and vrrpv3OperationsPrimaryIpAddr has been set, and + there is at least one active row in the + 'vrrpv3AssociatedIpAddrTable' defining an associated + IP address. + + notInService(2) should be used to administratively + bring the row down. + + A typical order of operation to add a row is: + 1. Create a row in vrrpv3OperationsTable with + createAndWait(5). + 2. Create one or more corresponding rows in + vrrpv3AssociatedIpAddrTable. + 3. Populate the vrrpv3OperationsEntry. + 4. Set vrrpv3OperationsRowStatus to active(1). + + A typical order of operation to delete an entry is: + 1. Set vrrpv3OperationsRowStatus to notInService(2). + 2. Set the corresponding rows in + vrrpv3AssociatedIpAddrTable to destroy(6) to delete + the entry. + 3. Set vrrpv3OperationsRowStatus to destroy(6) to + delete the entry." + ::= { vrrpv3OperationsEntry 13 } + + -- VRRP Associated Address Table + + vrrpv3AssociatedIpAddrTable OBJECT-TYPE + SYNTAX SEQUENCE OF Vrrpv3AssociatedIpAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table of addresses associated with each virtual + router." + ::= { vrrpv3Operations 2 } + + vrrpv3AssociatedIpAddrEntry OBJECT-TYPE + SYNTAX Vrrpv3AssociatedIpAddrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the table contains an IP address that is + associated with a virtual router. The number of rows + for a given IP version, VrID, and ifIndex will equal + the number of IP addresses associated (e.g., backed up) + + by the virtual router (equivalent to + 'vrrpv3OperationsIpAddrCount'). + + Rows in the table cannot be modified unless the value + of 'vrrpv3OperationsStatus' for the corresponding entry + in the vrrpv3OperationsTable has transitioned to + initialize(1). + + The information in this table is persistent and when + written the entity SHOULD save the change to non- + volatile storage." + + INDEX { ifIndex, vrrpv3OperationsVrId, + vrrpv3OperationsInetAddrType, + vrrpv3AssociatedIpAddrAddress } + + ::= { vrrpv3AssociatedIpAddrTable 1 } + + Vrrpv3AssociatedIpAddrEntry ::= + SEQUENCE { + vrrpv3AssociatedIpAddrAddress + + InetAddress, + vrrpv3AssociatedIpAddrRowStatus + RowStatus + } + + vrrpv3AssociatedIpAddrAddress OBJECT-TYPE + SYNTAX InetAddress (SIZE (0|4|16)) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The assigned IP addresses that a virtual router is + responsible for backing up. + + The IP address type is determined by the value of + vrrpv3OperationsInetAddrType in the index of this + row." + REFERENCE "RFC 5798" + ::= { vrrpv3AssociatedIpAddrEntry 1 } + + vrrpv3AssociatedIpAddrRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The row status variable, used according to + installation and removal conventions for conceptual + + rows. To create a row in this table, a manager sets + this object to either createAndGo(4) or + createAndWait(5). Setting this object to active(1) + results in the addition of an associated address for a + virtual router. Setting this object to notInService(2) + results in administratively bringing down the row. + + Destroying the entry or setting it to destroy(6) + removes the associated address from the virtual router. + The use of other values is implementation-dependent. + + Implementations should not allow deletion of the last + row corresponding to an active row in + vrrpv3OperationsTable. + + Refer to the description of vrrpv3OperationsRowStatus + for typical row creation and deletion scenarios." + ::= { vrrpv3AssociatedIpAddrEntry 2 } + + -- VRRP Router Statistics + + vrrpv3RouterChecksumErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP packets received with an + invalid VRRP checksum value. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3GlobalStatisticsDiscontinuityTime." + + REFERENCE "RFC 5798, Section 5.2.8" + ::= { vrrpv3Statistics 1 } + + vrrpv3RouterVersionErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP packets received with an + unknown or unsupported version number. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + + + other times as indicated by the value of + vrrpv3GlobalStatisticsDiscontinuityTime." + + REFERENCE "RFC 5798, Section 5.2.1" + ::= { vrrpv3Statistics 2 } + + vrrpv3RouterVrIdErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP packets received with a + VRID that is not valid for any virtual router on this + router. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3GlobalStatisticsDiscontinuityTime." + + REFERENCE "RFC 5798, Section 5.2.3" + ::= { vrrpv3Statistics 3 } + + vrrpv3GlobalStatisticsDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion at + which one of vrrpv3RouterChecksumErrors, + vrrpv3RouterVersionErrors, and vrrpv3RouterVrIdErrors + suffered a discontinuity. + + If no such discontinuities have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + + ::= { vrrpv3Statistics 4 } + + -- VRRP Router Statistics Table + + vrrpv3StatisticsTable OBJECT-TYPE + SYNTAX SEQUENCE OF Vrrpv3StatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of virtual router statistics." + ::= { vrrpv3Statistics 5 } + + vrrpv3StatisticsEntry OBJECT-TYPE + SYNTAX Vrrpv3StatisticsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the table containing statistics + information about a given virtual router." + AUGMENTS { vrrpv3OperationsEntry } + ::= { vrrpv3StatisticsTable 1 } + + Vrrpv3StatisticsEntry ::= + SEQUENCE { + vrrpv3StatisticsMasterTransitions + Counter32, + vrrpv3StatisticsNewMasterReason + INTEGER, + vrrpv3StatisticsRcvdAdvertisements + Counter64, + vrrpv3StatisticsAdvIntervalErrors + Counter64, + vrrpv3StatisticsIpTtlErrors + Counter64, + vrrpv3StatisticsProtoErrReason + INTEGER, + vrrpv3StatisticsRcvdPriZeroPackets + Counter64, + vrrpv3StatisticsSentPriZeroPackets + Counter64, + vrrpv3StatisticsRcvdInvalidTypePackets + Counter64, + vrrpv3StatisticsAddressListErrors + Counter64, + vrrpv3StatisticsPacketLengthErrors + Counter64, + vrrpv3StatisticsRowDiscontinuityTime + TimeStamp, + vrrpv3StatisticsRefreshRate + Unsigned32 + } + + vrrpv3StatisticsMasterTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of times that this virtual router's + state has transitioned to master state. + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + ::= { vrrpv3StatisticsEntry 1 } + + vrrpv3StatisticsNewMasterReason OBJECT-TYPE + SYNTAX INTEGER { + notMaster (0), + priority (1), + preempted (2), + masterNoResponse (3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This indicates the reason for the virtual router to + transition to master state. If the virtual router + never transitioned to master state, the value of this + object is notMaster(0). Otherwise, this indicates the + reason this virtual router transitioned to master + state the last time. Used by vrrpv3NewMaster + notification." + ::= { vrrpv3StatisticsEntry 2 } + + vrrpv3StatisticsRcvdAdvertisements OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP advertisements received by + this virtual router. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + + ::= { vrrpv3StatisticsEntry 3 } + + vrrpv3StatisticsAdvIntervalErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP advertisement packets + received for which the advertisement interval is + + + different from the vrrpv3OperationsAdvInterval + configured on this virtual router. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + + ::= { vrrpv3StatisticsEntry 4 } + + vrrpv3StatisticsIpTtlErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP packets received by the + virtual router with IPv4 TTL (for VRRP over IPv4) or + IPv6 Hop Limit (for VRRP over IPv6) not equal to 255. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + REFERENCE "RFC 5798, Section 5.1.1.3" + ::= { vrrpv3StatisticsEntry 5 } + + vrrpv3StatisticsProtoErrReason OBJECT-TYPE + SYNTAX INTEGER { + noError (0), + ipTtlError (1), + versionError (2), + checksumError (3), + vrIdError(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This indicates the reason for the last protocol + error. This SHOULD be set to noError(0) when no + protocol errors are encountered. Used by + vrrpv3ProtoError notification." + ::= { vrrpv3StatisticsEntry 6 } + + vrrpv3StatisticsRcvdPriZeroPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + + "The total number of VRRP packets received by the + virtual router with a priority of '0'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + REFERENCE "RFC 5798, Section 5.2.4" + ::= { vrrpv3StatisticsEntry 7 } + + vrrpv3StatisticsSentPriZeroPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of VRRP packets sent by the virtual + router with a priority of '0'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + REFERENCE "RFC 5798, Section 5.2.4" + ::= { vrrpv3StatisticsEntry 8 } + + vrrpv3StatisticsRcvdInvalidTypePackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of VRRP packets received by the virtual + router with an invalid value in the 'type' field. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + ::= { vrrpv3StatisticsEntry 9 } + + vrrpv3StatisticsAddressListErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets received for which the + address list does not match the locally configured + list for the virtual router. + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + ::= { vrrpv3StatisticsEntry 10 } + + vrrpv3StatisticsPacketLengthErrors OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of packets received with a packet + length less than the length of the VRRP header. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + vrrpv3StatisticsRowDiscontinuityTime." + ::= { vrrpv3StatisticsEntry 11 } + + vrrpv3StatisticsRowDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion at + which any one or more of this entry's counters + suffered a discontinuity. + + If no such discontinuities have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value." + ::= { vrrpv3StatisticsEntry 12 } + + vrrpv3StatisticsRefreshRate OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "milliseconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The minimum reasonable polling interval for this entry. + This object provides an indication of the minimum + amount of time required to update the counters in this + entry." + ::= { vrrpv3StatisticsEntry 13 } + + -- Notification Definitions + -- Notifications may be controlled using SNMP-NOTIFICATION-MIB + + vrrpv3NewMaster NOTIFICATION-TYPE + OBJECTS { + vrrpv3OperationsMasterIpAddr, + vrrpv3StatisticsNewMasterReason + } + STATUS current + DESCRIPTION + "The newMaster notification indicates that the sending + agent has transitioned to master state." + ::= { vrrpv3Notifications 1 } + + vrrpv3ProtoError NOTIFICATION-TYPE + OBJECTS { + vrrpv3StatisticsProtoErrReason + } + STATUS current + DESCRIPTION + "The notification indicates that the sending agent has + encountered the protocol error indicated by + vrrpv3StatisticsProtoErrReason." + ::= { vrrpv3Notifications 2 } + + -- Conformance Information + + vrrpv3Compliances OBJECT IDENTIFIER ::= { vrrpv3Conformance 1 } + vrrpv3Groups OBJECT IDENTIFIER ::= { vrrpv3Conformance 2 } + + -- Compliance Statements + + vrrpv3FullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement" + MODULE -- this module + MANDATORY-GROUPS { + vrrpv3OperationsGroup, + vrrpv3StatisticsGroup, + vrrpv3InfoGroup, + vrrpv3NotificationsGroup + } + OBJECT vrrpv3OperationsPriority + WRITE-SYNTAX Unsigned32 (1..254) + DESCRIPTION "Setable values are from 1 to 254." + ::= { vrrpv3Compliances 1 } + + vrrpv3ReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + + "When this MIB module is implemented without support + for read-create (i.e., in read-only mode), then such + an implementation can claim read-only compliance. + Such a device can then be monitored, but cannot be + configured with this MIB." + + MODULE -- this module + MANDATORY-GROUPS { + vrrpv3OperationsGroup, + vrrpv3StatisticsGroup, + vrrpv3StatisticsDiscontinuityGroup, + vrrpv3InfoGroup, + vrrpv3NotificationsGroup + } + + OBJECT vrrpv3OperationsPriority + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT vrrpv3OperationsPrimaryIpAddr + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + OBJECT vrrpv3OperationsAdvInterval + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT vrrpv3OperationsPreemptMode + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT vrrpv3OperationsAcceptMode + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT vrrpv3OperationsRowStatus + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT vrrpv3AssociatedIpAddrRowStatus + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + ::= { vrrpv3Compliances 2 } + + -- Conformance Groups + + vrrpv3OperationsGroup OBJECT-GROUP + OBJECTS { + + vrrpv3OperationsVirtualMacAddr, + vrrpv3OperationsStatus, + vrrpv3OperationsPriority, + vrrpv3OperationsMasterIpAddr, + vrrpv3OperationsAdvInterval, + vrrpv3OperationsPreemptMode, + vrrpv3OperationsAcceptMode, + vrrpv3OperationsUpTime, + vrrpv3OperationsRowStatus, + vrrpv3OperationsAddrCount, + vrrpv3OperationsPrimaryIpAddr, + vrrpv3AssociatedIpAddrRowStatus + } + STATUS current + DESCRIPTION + "Conformance group for VRRPv3 operations." + ::= { vrrpv3Groups 1 } + + vrrpv3StatisticsGroup OBJECT-GROUP + OBJECTS { + vrrpv3RouterChecksumErrors, + vrrpv3RouterVersionErrors, + vrrpv3RouterVrIdErrors, + vrrpv3StatisticsMasterTransitions, + vrrpv3StatisticsNewMasterReason, + vrrpv3StatisticsRcvdAdvertisements, + vrrpv3StatisticsAdvIntervalErrors, + vrrpv3StatisticsRcvdPriZeroPackets, + vrrpv3StatisticsSentPriZeroPackets, + vrrpv3StatisticsRcvdInvalidTypePackets, + vrrpv3StatisticsIpTtlErrors, + vrrpv3StatisticsProtoErrReason, + vrrpv3StatisticsAddressListErrors, + vrrpv3StatisticsPacketLengthErrors, + vrrpv3StatisticsRowDiscontinuityTime, + vrrpv3StatisticsRefreshRate + } + STATUS current + DESCRIPTION + "Conformance group for VRRPv3 statistics." + ::= { vrrpv3Groups 2 } + + vrrpv3StatisticsDiscontinuityGroup OBJECT-GROUP + OBJECTS { + vrrpv3GlobalStatisticsDiscontinuityTime + } + STATUS current + DESCRIPTION + + "Objects providing information about counter + discontinuities." + ::= { vrrpv3Groups 3 } + + vrrpv3InfoGroup OBJECT-GROUP + OBJECTS { + vrrpv3StatisticsProtoErrReason, + vrrpv3StatisticsNewMasterReason + } + STATUS current + DESCRIPTION + "Conformance group for objects contained in VRRPv3 + notifications." + ::= { vrrpv3Groups 4 } + + vrrpv3NotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vrrpv3NewMaster, + vrrpv3ProtoError + } + STATUS current + DESCRIPTION + "The VRRP MIB Notification Group." + ::= { vrrpv3Groups 5 } + + END \ No newline at end of file From ebb2e69fe729def5daf992626a3e73fdda7e6a6c Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Wed, 6 Jul 2016 12:31:42 +0530 Subject: [PATCH 4/7] Yang Files and Ansible plugin --- ansible/ocnos_configs.py | 177 + yang-files/ZebOS.yang | 103 + yang-files/bgp.yang | 6002 +++++++++++++++++++++++++++++++++ yang-files/bridge.yang | 1327 ++++++++ yang-files/interface.yang | 653 ++++ yang-files/layer2LACP.yang | 107 + yang-files/lldpv2.yang | 298 ++ yang-files/mstp.yang | 692 ++++ yang-files/nsmLACP.yang | 115 + yang-files/oamBfd.yang | 481 +++ yang-files/ospf.yang | 3697 ++++++++++++++++++++ yang-files/ospf6.yang | 2312 +++++++++++++ yang-files/rib.yang | 342 ++ yang-files/vlan.yang | 123 + yang-files/vlaninterface.yang | 278 ++ yang-files/vr.yang | 106 + yang-files/vrf.yang | 82 + yang-files/zebmcli.yang | 66 + 18 files changed, 16961 insertions(+) create mode 100755 ansible/ocnos_configs.py create mode 100644 yang-files/ZebOS.yang create mode 100644 yang-files/bgp.yang create mode 100644 yang-files/bridge.yang create mode 100644 yang-files/interface.yang create mode 100644 yang-files/layer2LACP.yang create mode 100644 yang-files/lldpv2.yang create mode 100644 yang-files/mstp.yang create mode 100644 yang-files/nsmLACP.yang create mode 100644 yang-files/oamBfd.yang create mode 100644 yang-files/ospf.yang create mode 100644 yang-files/ospf6.yang create mode 100644 yang-files/rib.yang create mode 100644 yang-files/vlan.yang create mode 100644 yang-files/vlaninterface.yang create mode 100644 yang-files/vr.yang create mode 100644 yang-files/vrf.yang create mode 100644 yang-files/zebmcli.yang diff --git a/ansible/ocnos_configs.py b/ansible/ocnos_configs.py new file mode 100755 index 00000000..64482ac5 --- /dev/null +++ b/ansible/ocnos_configs.py @@ -0,0 +1,177 @@ +#!/usr/bin/python +# +# Copyright (C) 2016 IP Infusion, Inc. All Rights Reserved. +# + +# Import required standard ansible modules # +import socket +import pickle +import subprocess +from distutils.version import LooseVersion +from ansible.module_utils.basic import * + +# Documentation # +''' +Documentation + This Ansible module prepares and executes 'ocsh' commands for given input tasks + +Usage + Inputs can be given in following formats: + 1) Place commands to be executed with values + e.g. bridge 1 protocol ieee vlan-aware + + 2) Using placeholders (?) instead of actual input values in command + e.g bridge ? protocol ? ? | 1,ieee,vlan-aware; 2,mstp,ring; 3,rstp + + This is useful when same command needs to get executed with multiple values. + | - Used to separate command and values + , - Used to separate values for place-holders + ; - Used to separate set of inputs for a command + $ - Used to separate commands given in same line + +Subtasks: + ocnos_configs supports following three types of subtasks: + 1) config_cmds : Input for this will be executed in ocsh's config mode + 2) exec_cmd : Input for this will be executed in ocsh's exec mode + 3) module_config_cmds : Input for this will be executed as a group in ocsh's config mode + +Example playbook: + +--- +- hosts: OCNOS + tasks: + - ocnos_configs: + config_cmds: + - 'bridge ? protocol ? ? | 1, ieee; 2,mstp,ring; 3,rstp $ interface eth3' + - ocnos_configs: + config_cmds: + - 'vlan ? protocol ? ? | 1,ieee; 2,mstp,ring; 3,rstp' + - 'hostname {{ hostnameid }}' + module_config_cmds: + - 'interface ? $ bandwidth ? | eth1; 1g; $ eth2; 10g;' + - ocnos_configs: + exec_cmds: + - 'write' + +''' + +# Function to fill input for placeholders '?' # +def fill_values_for_placeholders (string, comm): + argv = comm.split(',') + command = '' + i = 0 + length = 0 + if '?' in string: + if len(argv) >0 : + for index,ch in enumerate(string): + length +=1 + if ch == '?': + string=string.replace(ch,argv[i].strip(),1) + length += len(argv[i].strip()) + i += 1 + if i == len(argv): + if '?' in string: + sep_index = string.index('?') + last_index = string[:sep_index-1].rfind(' ') + command = string[:sep_index-1] + else: + command = string + break + else: + command = string + return command + +# Function to handle module_config_cmd # +def create_group_command (name): + cstr = '' + command_list = [] + playbook_com = name.split('|') + playbook_argvs = playbook_com[1].split('$') + for argv in playbook_argvs: + playbook_command = playbook_com[0].split('$') + command = argv.split(';') + for index,last_cmd in enumerate(playbook_command): + if index < len(command): + string = fill_values_for_placeholders (last_cmd,command[index]) + command_list.append(string) + else: + if '?' in last_cmd: + sep_index = last_cmd.index('?') + string = last_cmd[:sep_index-1] + command_list.append(string) + else: + command_list.append(last_cmd) + for commd in command_list: + cstr = cstr + " -e \"" + commd + "\"" + return cstr + +# Function to convert playbook input to ocsh command # +def create_ocsh_cmd_from_playbook_task (module, input_task): + command = [] + cstr = '' + + playbook_command = input_task.split('|') + if len(playbook_command) > 1: + argv_list = playbook_command[1].split(';') + if len(argv_list) > 0: + for comm in argv_list: + string = fill_values_for_placeholders (playbook_command[0] ,comm) + command.append(string) + else: + command.append(playbook_command[0].strip()) + for commd in command: + cstr = cstr + " -e \"" + commd + "\"" + return cstr + +# MAIN Function Definition # +def main(): + module = AnsibleModule( + argument_spec = dict( + config_cmds = dict (default=None, type='list'), + exec_cmds = dict (default=None, type='list'), + module_config_cmds = dict (default=None, type='list') + ) + ) + + # Prepare cmd # + ocsh_cmd = '/usr/local/sbin/ocsh -k ' + + # Get playbook inputs for tasks # + config_cmd = module.params['config_cmds'] + exec_cmd = module.params['exec_cmds'] + group_cmd = module.params['module_config_cmds'] + + # Handle Execution mode cmds # + if exec_cmd != None and len(exec_cmd) > 0: + for execCmd in exec_cmd: + if execCmd is not None: + ocsh_cmd += create_ocsh_cmd_from_playbook_task (module, execCmd.strip()) + + # Handle Config mode commands # + if config_cmd != None and len(config_cmd) > 0: + ocsh_cmd += ' -e \"config terminal\" ' + for cmds in config_cmd: + if cmds is not None: + ocsh_cmd += create_ocsh_cmd_from_playbook_task (module, cmds.strip()) + + # Handle group cmd # + if group_cmd != None and len(group_cmd) > 0: + ocsh_cmd += ' -e \"config terminal\" ' + for each_cmd in group_cmd: + if each_cmd is not None: + ocsh_cmd += create_group_command(each_cmd) + + # Dump Result # + name='' + (rc, out, err) = module.run_command(ocsh_cmd) + if rc != 0: + module.fail_json(msg = out) + else: + module.exit_json(changed=True, name=name, + ansible_facts=dict(ansible_hostname=name.split(','), + ansible_nodename=name, + ansible_fqdn=socket.getfqdn(), + ansible_domain='.'.join(socket.getfqdn().split('.')[1:]))) + +# Entry point # +main() diff --git a/yang-files/ZebOS.yang b/yang-files/ZebOS.yang new file mode 100644 index 00000000..87a3a30c --- /dev/null +++ b/yang-files/ZebOS.yang @@ -0,0 +1,103 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : ZebOS.yang +* +*/ + +module ZebOS { + + namespace "http://www.ipinfusion.com/CMLSchema/ZebOS"; + + prefix "ZebOS"; + include nsmLACP; + include oamBfd; + include bridge; + include ospf; + include vlan; + include mstp; + include layer2LACP; + include bgp; + include vr; + include vrf; + include interface; + include lldpv2; + include ospf6; + include rib; + include vlaninterface; + + + import cml_data_types { + prefix cml_data_types; + } + organization + "http://www.ipinfusion.com/CMLSchema"; + + contact + "http://www.ipinfusion.com/CMLSchema"; + + description + "ZebOS Managed Object"; + + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + uses oamMpls-grouping; + uses lacpSystemPriority-grouping; + uses systemDetail-grouping; + uses ospfGlobal-grouping; + uses hashTableInfo-grouping; + uses vr-grouping; + uses ospf6Global-grouping; + + rpc ospf-clear-ip-ospf-process { + input { + leaf vrId { + type cml_data_types:CML_UINT32_T; + mandatory true; + } + leaf ospfProcessId { + type cml_data_types:CML_INT32_T; + mandatory true; + } + } + } + + rpc ospf-clear-ip-ospf-process-all { + input { + leaf vrId { + type cml_data_types:CML_UINT32_T; + mandatory true; + } + } + } + + rpc bgp-restartBgp { + input { + leaf vrId { + type cml_data_types:CML_UINT32_T; + mandatory true; + } + } + } + + rpc bgp-clearBgp { + input { + leaf vrId { + type cml_data_types:CML_UINT32_T; + mandatory true; + } + } + } + +} \ No newline at end of file diff --git a/yang-files/bgp.yang b/yang-files/bgp.yang new file mode 100644 index 00000000..1cb4035e --- /dev/null +++ b/yang-files/bgp.yang @@ -0,0 +1,6002 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : bgp.yang +* +*/ + +submodule bgp { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vrf; + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-04-25" { + description "Revisied on 2015-04-25."; } + + + + grouping bgp-grouping { + list bgp { + + + description + "bgp"; + + config true; + key "bgpAs"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bgpAs { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of bgpAs definition. + + leaf vrfName { + mandatory false; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf bgpTableVersion { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpTableVersion definition. + + leaf ntwkPrefixCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPrefixCount definition. + + leaf ibgpMetric { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ibgpMetric definition. + + leaf pathAttrBest { + mandatory false; + type cml_data_types:CML_INT32_T; + default "1"; + config false; + } // END of pathAttrBest definition. + + leaf routerIpAddr { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of routerIpAddr definition. + + leaf clusterId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of clusterId definition. + + leaf clusterList { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of clusterList definition. + + leaf routerRunIpAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of routerRunIpAddr definition. + + leaf clusterIdDigit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of clusterIdDigit definition. + + leaf confedId { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of confedId definition. + + leaf peerConfedId { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of peerConfedId definition. + + leaf keepAlive { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "30"; + config true; + } // END of keepAlive definition. + + leaf holdTime { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "90"; + config true; + } // END of holdTime definition. + + leaf localPref { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "100"; + config true; + } // END of localPref definition. + + leaf setGshutCapable { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setGshutCapable definition. + + leaf setGshut { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setGshut definition. + + leaf gshutLocalPref { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of gshutLocalPref definition. + + leaf setInboundRouteFilter { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setInboundRouteFilter definition. + + leaf setLogNbrChanges { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setLogNbrChanges definition. + + leaf scanInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..60"; + } + default "60"; + config true; + } // END of scanInterval definition. + + leaf distance { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + config true; + } // END of distance definition. + + leaf distanceSrcIp { + mandatory false; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of distanceSrcIp definition. + + leaf distanceACLName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of distanceACLName definition. + + leaf setMplsResolution { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setMplsResolution definition. + + leaf setTimersDisallow { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setTimersDisallow definition. + + leaf restartTime { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + default "90"; + config true; + } // END of restartTime definition. + + leaf stalepathTime { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + default "360"; + config true; + } // END of stalepathTime definition. + + leaf deferTime { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + default "120"; + config true; + } // END of deferTime definition. + + leaf bestpathDontCompareOriginator { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bestpathDontCompareOriginator definition. + + leaf bestpathTieBreak { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bestpathTieBreak definition. + + leaf ipv4Unicast { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ipv4Unicast definition. + + leaf deterministicMed { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of deterministicMed definition. + + leaf compareMed { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of compareMed definition. + + leaf bestpathAspath { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bestpathAspath definition. + + leaf bestpathCompareConfed { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bestpathCompareConfed definition. + + leaf bestpathCompareRouterId { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bestpathCompareRouterId definition. + + leaf enforceFirst { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of enforceFirst definition. + + leaf externalFailover { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of externalFailover definition. + + leaf bgpShowTypeStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpShowTypeStr definition. + + leaf bgpShowType { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpShowType definition. + + leaf autoSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of autoSummary definition. + + leaf setSyncFlag { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setSyncFlag definition. + + leaf setNwSyncFlag { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setNwSyncFlag definition. + + leaf setLocalAsCount { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setLocalAsCount definition. + + leaf localAsCount { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "2..64"; + } + config true; + } // END of localAsCount definition. + + leaf grstSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of grstSet definition. + + leaf setClientReflect { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setClientReflect definition. + + leaf setDampeningFlag { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setDampeningFlag definition. + + leaf halfLife { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..45"; + } + default "15"; + config true; + } // END of halfLife definition. + + leaf reusePenalty { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..20000"; + } + config true; + } // END of reusePenalty definition. + + leaf suppressPenalty { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..20000"; + } + config true; + } // END of suppressPenalty definition. + + leaf maxSuppress { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..255"; + } + config true; + } // END of maxSuppress definition. + + leaf unreachHalfLife { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..45"; + } + config true; + } // END of unreachHalfLife definition. + + leaf dampeningRmapName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of dampeningRmapName definition. + + leaf rfdMaxPenaltyCeil { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of rfdMaxPenaltyCeil definition. + + leaf rfdMinPenaltyFloor { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of rfdMinPenaltyFloor definition. + + leaf dampeningStr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of dampeningStr definition. + + leaf rfdCbStr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rfdCbStr definition. + + leaf medType { + mandatory false; + type cml_data_types:CML_BGP_MED_TYPE_T; + config true; + } // END of medType definition. + + leaf medConfedMissingAsWorst { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of medConfedMissingAsWorst definition. + + leaf medMissingAsWorstConfed { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of medMissingAsWorstConfed definition. + + leaf gracefulReset { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of gracefulReset definition. + + leaf distanceEbgp { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "20"; + config true; + } // END of distanceEbgp definition. + + leaf distanceIbgp { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "200"; + config true; + } // END of distanceIbgp definition. + + leaf distanceLocal { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "200"; + config true; + } // END of distanceLocal definition. + + leaf multipathRelax { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of multipathRelax definition. + + + list multipath { + + + description + "multipath"; + + config true; + key "bgpType"; + + + leaf bgpType { + mandatory true; + type cml_data_types:CML_BGP_MAXPATH_T; + config true; + } // END of bgpType definition. + + + list multipathType { + + + description + "multipathType"; + + config true; + key "multipathsNum"; + + + leaf multipathsNum { + mandatory true; + type cml_data_types:CML_INT32_T { + range "2..64"; + } + config true; + } // END of multipathsNum definition. + + } // End of multipathType-list + } // End of multipath-list + + list bgpNetworkList { + + + description + "bgpNetworkList"; + + config true; + key "localAddr"; + + + leaf localAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of localAddr definition. + + leaf localAddrMask { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of localAddrMask definition. + + leaf rfdFlapCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rfdFlapCount definition. + + leaf localPort { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of localPort definition. + + leaf networkRmapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of networkRmapName definition. + + leaf backdoor { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of backdoor definition. + + } // End of bgpNetworkList-list + + list networkList { + + + description + "networkList"; + + config false; + key "networkAddr"; + + + leaf networkAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of networkAddr definition. + + leaf bgpLongerPrefixCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpLongerPrefixCmd definition. + + leaf lastUpdate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lastUpdate definition. + + leaf routeGetReuseTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of routeGetReuseTime definition. + + leaf dampInfoTimes { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of dampInfoTimes definition. + + leaf routeGetPenalty { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeGetPenalty definition. + + leaf routeGetFlapCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeGetFlapCount definition. + + leaf bgpInfoSelected { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoSelected definition. + + leaf atomicAggregate { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of atomicAggregate definition. + + leaf multiInstalled { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiInstalled definition. + + leaf ecmpMultiCandidate { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ecmpMultiCandidate definition. + + leaf bgpInfoType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoType definition. + + leaf bgpInfoSubType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoSubType definition. + + leaf bgpConfedPeer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpConfedPeer definition. + + leaf bgpInfoStale { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoStale definition. + + leaf routeValidState { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeValidState definition. + + leaf briLabel { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of briLabel definition. + + leaf ntwkBgpOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ntwkBgpOrigin definition. + + leaf networkRemoteAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of networkRemoteAddr definition. + + leaf originatorId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of originatorId definition. + + leaf ibgpMetric { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ibgpMetric definition. + + leaf nhopValid { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nhopValid definition. + + leaf history { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of history definition. + + leaf reflectorClient { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of reflectorClient definition. + + leaf ntwkPathCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPathCount definition. + + leaf showBgpNtwkCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of showBgpNtwkCmd definition. + + leaf peerNtwkWeight { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNtwkWeight definition. + + leaf flapTimeReuseList { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of flapTimeReuseList definition. + + leaf flapRecordDuration { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of flapRecordDuration definition. + + leaf bgpDampPathCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpDampPathCmd definition. + + leaf bgpDampFlapCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpDampFlapCmd definition. + + leaf bgpIncosistentAsCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpIncosistentAsCmd definition. + + leaf dampTimeToReuse { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of dampTimeToReuse definition. + + leaf ntwkPrefixBestPathCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPrefixBestPathCount definition. + + leaf checkCidr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of checkCidr definition. + + leaf bgpCommunityCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpCommunityCmd definition. + + leaf bgpInfoFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoFlag definition. + + leaf bgpAttrMpNexthopGlobalIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobalIn definition. + + leaf bgpAttrNextHop { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHop definition. + + leaf bgpAttrNextHopLen { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHopLen definition. + + leaf bgpAttrMpNexthopGlobal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobal definition. + + leaf bgpAttrMpNexthopLocal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopLocal definition. + + leaf bgpUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpUpTime definition. + + leaf medFlagType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of medFlagType definition. + + leaf bgpMedVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpMedVal definition. + + leaf bgpAsPathStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPathStr definition. + + leaf bgpAsPath4BStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPath4BStr definition. + + leaf bgpAsPathOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPathOrigin definition. + + leaf bgpAsPath4BOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPath4BOrigin definition. + + + list advPeerList { + + + description + "advPeerList"; + + config false; + key "advPeerAddr"; + + + leaf advPeerAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of advPeerAddr definition. + + leaf advNonPeerGroup { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advNonPeerGroup definition. + + } // End of advPeerList-list + + list advPeerGroupList { + + + description + "advPeerGroupList"; + + config false; + key "advPeerGroupName"; + + + leaf advPeerGroupName { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of advPeerGroupName definition. + + leaf advNonPeerGroup { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advNonPeerGroup definition. + + } // End of advPeerGroupList-list + } // End of networkList-list + + list bgpAggregateAddrList { + + + description + "bgpAggregateAddrList"; + + config true; + key "aggregateAddr"; + + + leaf aggregateAddr { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of aggregateAddr definition. + + leaf aggregateAsSet { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of aggregateAsSet definition. + + leaf aggregateSummOnly { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of aggregateSummOnly definition. + + leaf aggregateAs { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of aggregateAs definition. + + leaf aggregateAs4 { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of aggregateAs4 definition. + + } // End of bgpAggregateAddrList-list + + list bgpRedistList { + + + description + "bgpRedistList"; + + config true; + key "redistType"; + + + leaf redistType { + mandatory true; + type cml_data_types:CML_BGP_REDISTRIBUTE_TYPE_T; + config true; + } // END of redistType definition. + + leaf redistRmapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of redistRmapName definition. + + leaf redistOspfNo { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + config true; + } // END of redistOspfNo definition. + + leaf redistOspfRmap { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of redistOspfRmap definition. + + } // End of bgpRedistList-list + + list bgpPeerGroup { + + + description + "bgpPeerGroup"; + + config true; + key "peerGroupName"; + + + leaf peerGroupName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerGroupName definition. + + leaf peerGroupStr { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerGroupStr definition. + + leaf advPeerGroup { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advPeerGroup definition. + + } // End of bgpPeerGroup-list + + list bgpAddressFamily { + + + description + "bgpAddressFamily"; + + config true; + key "afi"; + + + leaf afi { + mandatory true; + type cml_data_types:CML_AFI_TYPE_T; + config true; + } // END of afi definition. + + + list bgpSubAddressFamily { + + + description + "bgpSubAddressFamily"; + + config true; + key "safi"; + + + leaf safi { + mandatory true; + type cml_data_types:CML_SAFI_TYPE_T; + config true; + } // END of safi definition. + + leaf vrfName { + mandatory false; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf setGshutAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setGshutAf definition. + + leaf setGshutCapableAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setGshutCapableAf definition. + + leaf gshutLocalPrefAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of gshutLocalPrefAf definition. + + leaf bgpTypeAf { + mandatory false; + type cml_data_types:CML_BGP_MAXPATH_T; + config true; + } // END of bgpTypeAf definition. + + leaf multipathsNumAf { + mandatory false; + type cml_data_types:CML_INT32_T { + range "2..64"; + } + default "2"; + config true; + } // END of multipathsNumAf definition. + + leaf confedIdAf { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of confedIdAf definition. + + leaf peerConfedIdAf { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of peerConfedIdAf definition. + + } // End of bgpSubAddressFamily-list + } // End of bgpAddressFamily-list + + list bgpPeer { + + + description + "bgpPeer"; + + config true; + key "peerAddr"; + + + leaf peerAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerAddr definition. + + leaf peerAs { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of peerAs definition. + + leaf bgpPeerBfd { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bgpPeerBfd definition. + + leaf peerBfdMh { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerBfdMh definition. + + leaf gshutTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "10..65535"; + } + config true; + } // END of gshutTimer definition. + + leaf peerRestartTime { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + config true; + } // END of peerRestartTime definition. + + leaf-list ifName { + + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf peerLocalAs { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of peerLocalAs definition. + + leaf neighborAttrUnchangedAsPath { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedAsPath definition. + + leaf neighborAttrUnchangedNexthop { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedNexthop definition. + + leaf neighborAttrUnchangedMed { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedMed definition. + + leaf neighborCapabilityGrst { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborCapabilityGrst definition. + + leaf maxPathIbgp { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxPathIbgp definition. + + leaf asLocalCount { + mandatory false; + type cml_data_types:CML_INT32_T; + default "1"; + config false; + } // END of asLocalCount definition. + + leaf cfgMaxPathEbgp { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cfgMaxPathEbgp definition. + + leaf maxPathEbgp { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxPathEbgp definition. + + leaf cfgMaxPathIbgp { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cfgMaxPathIbgp definition. + + leaf bgpVrfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpVrfName definition. + + leaf bgpRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpRouterId definition. + + leaf bgpCommunityCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpCommunityCount definition. + + leaf checkAfc { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of checkAfc definition. + + leaf peerConfedIdCheck { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerConfedIdCheck definition. + + leaf peerAdvExtAsnCap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAdvExtAsnCap definition. + + leaf peerAndExtAsnCap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAndExtAsnCap definition. + + leaf peerRecvExtAsnCap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerRecvExtAsnCap definition. + + leaf peerVrfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerVrfName definition. + + leaf addFamilystring { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilystring definition. + + leaf safiUnicastAdv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastAdv definition. + + leaf safiUnicastAnd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastAnd definition. + + leaf safiUnicastRecv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastRecv definition. + + leaf addFamilyMultiString { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyMultiString definition. + + leaf safiMulticastAdv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastAdv definition. + + leaf safiMulticastAnd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastAnd definition. + + leaf safiMulticastRecv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastRecv definition. + + leaf addFamilyVPN4String { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyVPN4String definition. + + leaf safiVPNv4Adv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4Adv definition. + + leaf safiVPNv4And { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4And definition. + + leaf safiVPNv4Recv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4Recv definition. + + leaf addFamilyIPV6String { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyIPV6String definition. + + leaf safiIPV6UnicastAdv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastAdv definition. + + leaf safiIPV6UnicastAnd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastAnd definition. + + leaf safiIPV6UnicastRecv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastRecv definition. + + leaf addFamilyMultiIPV6Str { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyMultiIPV6Str definition. + + leaf safiIPV6MulticastAdv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastAdv definition. + + leaf safiIPV6MulticastAnd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastAnd definition. + + leaf safiIPV6MulticastRecv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastRecv definition. + + leaf addFamilyVPNv6Str { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyVPNv6Str definition. + + leaf safiVPNv6Adv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6Adv definition. + + leaf safiVPNV6And { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNV6And definition. + + leaf safiVPNv6Recv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6Recv definition. + + leaf safiVPNv6Unicast { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6Unicast definition. + + leaf safiVPNv4Unicast { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4Unicast definition. + + leaf addFamilyLabeledStr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyLabeledStr definition. + + leaf safiLabeledAdv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledAdv definition. + + leaf safiLabeledAnd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledAnd definition. + + leaf safiLabeledRecv { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledRecv definition. + + leaf hashCommListName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hashCommListName definition. + + leaf attrInfoCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of attrInfoCmd definition. + + leaf hashWeight { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hashWeight definition. + + leaf hashMedVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hashMedVal definition. + + leaf hashLocalPref { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hashLocalPref definition. + + leaf hashAsPathOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hashAsPathOrigin definition. + + leaf attrAspathLength { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of attrAspathLength definition. + + leaf attrAspathStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of attrAspathStr definition. + + leaf attrAspath4BLength { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of attrAspath4BLength definition. + + leaf attrAspath4BStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of attrAspath4BStr definition. + + leaf hashNtwkRefcnt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hashNtwkRefcnt definition. + + leaf peerKeepAliveTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerKeepAliveTime definition. + + leaf peerKeepAliveConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerKeepAliveConf definition. + + leaf peerDefKeepAlive { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerDefKeepAlive definition. + + leaf peerDefKeepAliveConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerDefKeepAliveConf definition. + + leaf peerHoldTimeConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerHoldTimeConf definition. + + leaf peerDefHoldTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerDefHoldTime definition. + + leaf peerDefHoldTimeConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerDefHoldTimeConf definition. + + leaf nhopValid { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nhopValid definition. + + leaf keepAliveIn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of keepAliveIn definition. + + leaf keepAliveOut { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of keepAliveOut definition. + + leaf openMsgIn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of openMsgIn definition. + + leaf openMsgOut { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of openMsgOut definition. + + leaf bgpAsPathCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpAsPathCount definition. + + leaf bgpAsPath4BCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpAsPath4BCount definition. + + leaf updateMsgIn { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of updateMsgIn definition. + + leaf updateMsgOut { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of updateMsgOut definition. + + leaf nextHopGlobal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHopGlobal definition. + + leaf nextHopLocal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHopLocal definition. + + leaf peerRemotePort { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerRemotePort definition. + + leaf peerRemoteAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerRemoteAddr definition. + + leaf peerLocalHost { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerLocalHost definition. + + leaf nextHop { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHop definition. + + leaf peerLocalPort { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerLocalPort definition. + + leaf routeValidState { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeValidState definition. + + leaf atomicAggregate { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of atomicAggregate definition. + + leaf bgpInfoState { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoState definition. + + leaf bgpInfoSelected { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoSelected definition. + + leaf briLabel { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of briLabel definition. + + leaf originatorId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of originatorId definition. + + leaf bgpOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpOrigin definition. + + leaf nonPeer { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nonPeer definition. + + leaf peerBfd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerBfd definition. + + leaf peerRemovePvtAs { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerRemovePvtAs definition. + + leaf sendCommunity { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of sendCommunity definition. + + leaf sendCommunityType { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of sendCommunityType definition. + + leaf neighborRouteServerClient { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborRouteServerClient definition. + + leaf peerRouteReflector { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerRouteReflector definition. + + leaf prefixListName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of prefixListName definition. + + leaf prefixListCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixListCount definition. + + leaf InboundPathPolicyConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of InboundPathPolicyConf definition. + + leaf OutboundPathPolicyConf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of OutboundPathPolicyConf definition. + + leaf filterInPlistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInPlistName definition. + + leaf filterOutPlistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutPlistName definition. + + leaf filterInDlistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInDlistName definition. + + leaf filterOutDlistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutDlistName definition. + + leaf filterInAslistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInAslistName definition. + + leaf filterOutAslistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutAslistName definition. + + leaf filterInMaplistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInMaplistName definition. + + leaf filterOutMaplistName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutMaplistName definition. + + leaf filterUsmapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterUsmapName definition. + + leaf peerAsPathUnchanged { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAsPathUnchanged definition. + + leaf defaultSent { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of defaultSent definition. + + leaf defaultNotSent { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of defaultNotSent definition. + + leaf orfPrefixStr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixStr definition. + + leaf orfPrefixSend { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixSend definition. + + leaf orfPrefixCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixCount definition. + + leaf orfWaitRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfWaitRefresh definition. + + leaf reflectorClient { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of reflectorClient definition. + + leaf reserverClient { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of reserverClient definition. + + leaf softReconfig { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of softReconfig definition. + + leaf removePrivateAs { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of removePrivateAs definition. + + leaf advSmcap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advSmcap definition. + + leaf rcvSmcap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rcvSmcap definition. + + leaf advRmcap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advRmcap definition. + + leaf rcvRmcap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rcvRmcap definition. + + leaf afDependentCap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of afDependentCap definition. + + leaf peerIndex { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerIndex definition. + + leaf peerOffset { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerOffset definition. + + leaf peerMask { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerMask definition. + + leaf bgpInfoType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoType definition. + + leaf bgpInfoSubType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoSubType definition. + + leaf ecmpMultiCandidate { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ecmpMultiCandidate definition. + + leaf multiInstalled { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiInstalled definition. + + leaf flapCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of flapCount definition. + + leaf peerGrstRestartOn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerGrstRestartOn definition. + + leaf peerPrefixCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixCount definition. + + leaf peerSendPrefixCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerSendPrefixCount definition. + + leaf peerFlagShutDown { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerFlagShutDown definition. + + leaf peerStatusFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerStatusFlag definition. + + leaf peerCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerCount definition. + + leaf brdAs { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAs definition. + + leaf brdAsNum { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAsNum definition. + + leaf brdAs4 { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAs4 definition. + + leaf brdAsNum4 { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAsNum4 definition. + + leaf brdIp { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of brdIp definition. + + leaf brdIpNum { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdIpNum definition. + + leaf peerNotifyInfo { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNotifyInfo definition. + + leaf peerNotifyDirect { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNotifyDirect definition. + + leaf peerNotifyLastReset { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNotifyLastReset definition. + + leaf notifyCodeStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of notifyCodeStr definition. + + leaf notifySubCodeStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of notifySubCodeStr definition. + + leaf bgpConnection { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpConnection definition. + + leaf nextConnectTimer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nextConnectTimer definition. + + leaf peerStatusGrstRestartOn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerStatusGrstRestartOn definition. + + leaf peerStatusRestartOn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerStatusRestartOn definition. + + leaf conEstCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of conEstCount definition. + + leaf conDroppedCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of conDroppedCount definition. + + leaf peerPrefixOverflow { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixOverflow definition. + + leaf updateIf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of updateIf definition. + + leaf updateSource { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of updateSource definition. + + leaf bpfEstUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfEstUpTime definition. + + leaf bpfEstDownTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfEstDownTime definition. + + leaf lastReadTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lastReadTime definition. + + leaf bpfState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfState definition. + + leaf bgpLinkType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpLinkType definition. + + leaf hopAwayCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hopAwayCount definition. + + leaf peerState { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerState definition. + + leaf peerTableVersion { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerTableVersion definition. + + leaf peerLocalAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerLocalAddr definition. + + leaf bgpConfedPeer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpConfedPeer definition. + + leaf peerRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerRouterId definition. + + leaf recvPacketCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of recvPacketCount definition. + + leaf notificationIn { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of notificationIn definition. + + leaf notificationOut { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of notificationOut definition. + + leaf pktInQue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of pktInQue definition. + + leaf sentPacketCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of sentPacketCount definition. + + leaf refreshRecvPacketCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of refreshRecvPacketCount definition. + + leaf refreshSentPacketCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of refreshSentPacketCount definition. + + leaf advertisementInterval { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advertisementInterval definition. + + leaf peerInTotalMsg { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerInTotalMsg definition. + + leaf peerOutTotalMsg { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerOutTotalMsg definition. + + leaf peerLastError { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerLastError definition. + + leaf estTxns { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of estTxns definition. + + leaf estTime { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of estTime definition. + + leaf inUpdateElaps { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of inUpdateElaps definition. + + leaf peerAdminFlag { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of peerAdminFlag definition. + + leaf connRetryInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + default "120"; + config true; + } // END of connRetryInterval definition. + + leaf holdTimeConf { + mandatory false; + type cml_data_types:CML_INT32_T; + default "90"; + config true; + } // END of holdTimeConf definition. + + leaf peerHoldTimeRun { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerHoldTimeRun definition. + + leaf peerKeepAliveRun { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerKeepAliveRun definition. + + leaf neighborCap { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborCap definition. + + leaf keepAliveConf { + mandatory false; + type cml_data_types:CML_INT32_T; + default "30"; + config true; + } // END of keepAliveConf definition. + + leaf minAsOrigInterval { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of minAsOrigInterval definition. + + leaf minRouteAdInterval { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of minRouteAdInterval definition. + + leaf peerDesc { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerDesc definition. + + leaf transparentAs { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of transparentAs definition. + + leaf transparentNexthop { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of transparentNexthop definition. + + leaf sendLabel { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of sendLabel definition. + + leaf sendLabelExplicitNull { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of sendLabelExplicitNull definition. + + leaf timeToLive { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of timeToLive definition. + + leaf maxHopCount { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "255"; + config true; + } // END of maxHopCount definition. + + leaf peerConnectInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "1"; + config true; + } // END of peerConnectInterval definition. + + leaf peerAsorigInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "1"; + config true; + } // END of peerAsorigInterval definition. + + leaf peerRaInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + default "0"; + config true; + } // END of peerRaInterval definition. + + leaf password { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of password definition. + + leaf dynamicCapability { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of dynamicCapability definition. + + leaf advertisedCapability { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advertisedCapability definition. + + leaf andCapability { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of andCapability definition. + + leaf receivedCapability { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of receivedCapability definition. + + leaf capabilityRouteRefresh { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of capabilityRouteRefresh definition. + + leaf advCapabilityRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advCapabilityRefresh definition. + + leaf andCapabilityRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of andCapabilityRefresh definition. + + leaf recvCapabilityRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of recvCapabilityRefresh definition. + + leaf oldCapabilityRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of oldCapabilityRefresh definition. + + leaf newCapabilityRefresh { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of newCapabilityRefresh definition. + + leaf collideEstablished { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of collideEstablished definition. + + leaf sourceId { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of sourceId definition. + + leaf enforceMultihop { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of enforceMultihop definition. + + leaf neighborOverrideCapability { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborOverrideCapability definition. + + leaf neighborStrictCapability { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborStrictCapability definition. + + leaf disallowHoldtimer { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of disallowHoldtimer definition. + + leaf dontCapabilityNegotiate { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of dontCapabilityNegotiate definition. + + leaf transportConnectionPassive { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of transportConnectionPassive definition. + + leaf peerShutdown { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerShutdown definition. + + leaf noIfBinding { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of noIfBinding definition. + + leaf bgpPort { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "179"; + config true; + } // END of bgpPort definition. + + leaf bgpVersion { + mandatory false; + type cml_data_types:CML_UINT8_T; + default "4"; + config true; + } // END of bgpVersion definition. + + leaf peerIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerIfName definition. + + leaf softReconfigInbound { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of softReconfigInbound definition. + + leaf weight { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "0"; + config true; + } // END of weight definition. + + leaf maxPrefixes { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of maxPrefixes definition. + + leaf maxPrefixeWarning { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of maxPrefixeWarning definition. + + leaf threshold { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..100"; + } + config true; + } // END of threshold definition. + + leaf warning { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of warning definition. + + leaf allowAsNum { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..10"; + } + default "3"; + config true; + } // END of allowAsNum definition. + + leaf aclInfo { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of aclInfo definition. + + leaf distributeListDirection { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of distributeListDirection definition. + + leaf prefixListAclInfo { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of prefixListAclInfo definition. + + leaf prefixListDirection { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of prefixListDirection definition. + + leaf asListAclInfo { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of asListAclInfo definition. + + leaf asListDirection { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of asListDirection definition. + + leaf peerGroupTag { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerGroupTag definition. + + leaf peerActivate { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerActivate definition. + + leaf unSuppressAclInfo { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of unSuppressAclInfo definition. + + leaf peerRmapOriName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerRmapOriName definition. + + leaf defaultPeerRmapName { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of defaultPeerRmapName definition. + + leaf orfPrefixOpt { + mandatory false; + type cml_data_types:CML_BGP_ORF_PREFIX_TYPE_T; + config true; + } // END of orfPrefixOpt definition. + + leaf setNcpFlag { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setNcpFlag definition. + + leaf peerRmapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerRmapName definition. + + leaf peerRmapDirection { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of peerRmapDirection definition. + + leaf peerKeepAlive { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "30"; + config true; + } // END of peerKeepAlive definition. + + leaf peerHoldTime { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "90"; + config true; + } // END of peerHoldTime definition. + + leaf nextHopSelf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nextHopSelf definition. + + + list peerPrefix { + + + description + "peerPrefix"; + + config false; + key "prefixEntrySeq"; + + + leaf prefixEntrySeq { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntrySeq definition. + + leaf prefixEntryType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of prefixEntryType definition. + + leaf prefixEntryGe { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntryGe definition. + + leaf prefixEntryLe { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntryLe definition. + + leaf peerPrefixLen { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixLen definition. + + } // End of peerPrefix-list + + list peerAdjRoute { + + + description + "peerAdjRoute"; + + config false; + key "peerNetworkAddr"; + + + leaf peerNetworkAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNetworkAddr definition. + + leaf adjRouteOutCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of adjRouteOutCmd definition. + + leaf adjRouteInCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of adjRouteInCmd definition. + + leaf peerFlapCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerFlapCount definition. + + leaf peerBgpTableVersion { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpTableVersion definition. + + leaf peerBgpInfoFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpInfoFlag definition. + + leaf peerBgpAttrMpNexthopGlobalIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopGlobalIn definition. + + leaf peerBgpAttrNextHop { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrNextHop definition. + + leaf peerBgpAttrNextHopLen { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrNextHopLen definition. + + leaf peerBgpAttrMpNexthopGlobal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopGlobal definition. + + leaf peerBgpAttrMpNexthopLocal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopLocal definition. + + leaf peerBgpUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpUpTime definition. + + leaf peerMedFlagType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerMedFlagType definition. + + leaf peerBgpMedVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerBgpMedVal definition. + + leaf peerBgpAsPathStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPathStr definition. + + leaf peerBgpAsPath4BStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPath4BStr definition. + + leaf peerBgpAsPathOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPathOrigin definition. + + leaf peerBgpAsPath4BOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPath4BOrigin definition. + + leaf peerNetwkWeight { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNetwkWeight definition. + + } // End of peerAdjRoute-list + + list bgpPeerAddressFamily { + + + description + "bgpPeerAddressFamily"; + + config true; + key "afi"; + + + leaf afi { + mandatory true; + type cml_data_types:CML_AFI_TYPE_T; + config true; + } // END of afi definition. + + + list bgpPeerSubAddressFamily { + + + description + "bgpPeerSubAddressFamily"; + + config true; + key "safi"; + + + leaf safi { + mandatory true; + type cml_data_types:CML_SAFI_TYPE_T; + config true; + } // END of safi definition. + + leaf aclInfoAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of aclInfoAf definition. + + leaf distributeListDirectionAf { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of distributeListDirectionAf definition. + + leaf prefixListAclInfoAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of prefixListAclInfoAf definition. + + leaf prefixListDirectionAf { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of prefixListDirectionAf definition. + + leaf asListAclInfoAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of asListAclInfoAf definition. + + leaf asListDirectionAf { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of asListDirectionAf definition. + + leaf maxPrefixesAf { + mandatory false; + type cml_data_types:CML_UINT32_T; + config true; + } // END of maxPrefixesAf definition. + + leaf thresholdAf { + mandatory false; + type cml_data_types:CML_UINT8_T; + config true; + } // END of thresholdAf definition. + + leaf warningAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of warningAf definition. + + leaf nextHopSelfAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nextHopSelfAf definition. + + leaf allowAsNumAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..10"; + } + default "3"; + config true; + } // END of allowAsNumAf definition. + + leaf unSuppressAclInfoAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of unSuppressAclInfoAf definition. + + leaf defaultPeerRmapNameAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of defaultPeerRmapNameAf definition. + + leaf peerRmapOriNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerRmapOriNameAf definition. + + leaf softReconfigInboundAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of softReconfigInboundAf definition. + + leaf weightAf { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + default "0"; + config true; + } // END of weightAf definition. + + leaf neighborRouteServerClientAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborRouteServerClientAf definition. + + leaf peerRouteReflectorAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerRouteReflectorAf definition. + + leaf peerRemovePvtAsAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerRemovePvtAsAf definition. + + leaf sendCommunityAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of sendCommunityAf definition. + + leaf sendCommunityTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of sendCommunityTypeAf definition. + + leaf peerHoldTimeRunAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerHoldTimeRunAf definition. + + leaf peerKeepAliveRunAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerKeepAliveRunAf definition. + + leaf noIfBindingAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of noIfBindingAf definition. + + leaf peerConfedIdCheckAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerConfedIdCheckAf definition. + + leaf peerAdvExtAsnCapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAdvExtAsnCapAf definition. + + leaf peerAndExtAsnCapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAndExtAsnCapAf definition. + + leaf peerRecvExtAsnCapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerRecvExtAsnCapAf definition. + + leaf addFamilystringAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilystringAf definition. + + leaf safiUnicastAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastAdvAf definition. + + leaf safiUnicastAndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastAndAf definition. + + leaf safiUnicastRecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiUnicastRecvAf definition. + + leaf addFamilyMultiStringAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyMultiStringAf definition. + + leaf safiMulticastAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastAdvAf definition. + + leaf safiMulticastAndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastAndAf definition. + + leaf safiMulticastRecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiMulticastRecvAf definition. + + leaf addFamilyVPN4StringAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyVPN4StringAf definition. + + leaf safiVPNv4AdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4AdvAf definition. + + leaf safiVPNv4AndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4AndAf definition. + + leaf safiVPNv4RecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4RecvAf definition. + + leaf addFamilyIPV6StringAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyIPV6StringAf definition. + + leaf safiIPV6UnicastAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastAdvAf definition. + + leaf safiIPV6UnicastAndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastAndAf definition. + + leaf safiIPV6UnicastRecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6UnicastRecvAf definition. + + leaf addFamilyMultiIPV6StrAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyMultiIPV6StrAf definition. + + leaf safiIPV6MulticastAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastAdvAf definition. + + leaf safiIPV6MulticastAndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastAndAf definition. + + leaf safiIPV6MulticastRecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiIPV6MulticastRecvAf definition. + + leaf addFamilyVPNv6StrAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyVPNv6StrAf definition. + + leaf safiVPNv6AdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6AdvAf definition. + + leaf safiVPNV6AndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNV6AndAf definition. + + leaf safiVPNv6RecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6RecvAf definition. + + leaf safiVPNv6UnicastAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv6UnicastAf definition. + + leaf safiVPNv4UnicastAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiVPNv4UnicastAf definition. + + leaf addFamilyLabeledStrAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of addFamilyLabeledStrAf definition. + + leaf safiLabeledAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledAdvAf definition. + + leaf safiLabeledAndAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledAndAf definition. + + leaf safiLabeledRecvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of safiLabeledRecvAf definition. + + leaf peerVrfNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerVrfNameAf definition. + + leaf sendExtCommunityAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of sendExtCommunityAf definition. + + leaf neighborAttrUnchangedAsPathAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedAsPathAf definition. + + leaf neighborAttrUnchangedNexthopAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedNexthopAf definition. + + leaf neighborAttrUnchangedMedAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAttrUnchangedMedAf definition. + + leaf orfPrefixOptAf { + mandatory false; + type cml_data_types:CML_BGP_ORF_PREFIX_TYPE_T; + config true; + } // END of orfPrefixOptAf definition. + + leaf setNcpFlagAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setNcpFlagAf definition. + + leaf peerGroupTagAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerGroupTagAf definition. + + leaf peerRmapNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerRmapNameAf definition. + + leaf peerRmapDirectionAf { + mandatory false; + type cml_data_types:CML_BGP_DISTRIBUTE_LIST_ACTION_T; + config true; + } // END of peerRmapDirectionAf definition. + + leaf setGracefulShut { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setGracefulShut definition. + + leaf neighborCapabilityGrstAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborCapabilityGrstAf definition. + + leaf maxPrefixesWarningAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxPrefixesWarningAf definition. + + leaf fwdStatusPreserveAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of fwdStatusPreserveAf definition. + + leaf grstRestartAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of grstRestartAf definition. + + leaf grstAdvAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of grstAdvAf definition. + + leaf grstRecvAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of grstRecvAf definition. + + leaf peerBgpTableVersionAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpTableVersionAf definition. + + leaf checkAfcAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of checkAfcAf definition. + + leaf keepAliveInAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of keepAliveInAf definition. + + leaf keepAliveOutAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of keepAliveOutAf definition. + + leaf openMsgInAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of openMsgInAf definition. + + leaf openMsgOutAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of openMsgOutAf definition. + + leaf updateMsgInAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of updateMsgInAf definition. + + leaf updateMsgOutAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of updateMsgOutAf definition. + + leaf nextHopGlobalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHopGlobalAf definition. + + leaf nextHopLocalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHopLocalAf definition. + + leaf peerRemotePortAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerRemotePortAf definition. + + leaf peerRemoteAddrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerRemoteAddrAf definition. + + leaf peerLocalHostAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerLocalHostAf definition. + + leaf nextHopAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHopAf definition. + + leaf peerLocalPortAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerLocalPortAf definition. + + leaf bgpInfoStateAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoStateAf definition. + + leaf briLabelAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of briLabelAf definition. + + leaf bgpOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpOriginAf definition. + + leaf advNonPeerGroupAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advNonPeerGroupAf definition. + + leaf peerBfdAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerBfdAf definition. + + leaf prefixListNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of prefixListNameAf definition. + + leaf prefixListCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixListCountAf definition. + + leaf InboundPathPolicyConfAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of InboundPathPolicyConfAf definition. + + leaf OutboundPathPolicyConfAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of OutboundPathPolicyConfAf definition. + + leaf filterInPlistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInPlistNameAf definition. + + leaf filterOutPlistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutPlistNameAf definition. + + leaf filterInDlistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInDlistNameAf definition. + + leaf filterOutDlistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutDlistNameAf definition. + + leaf filterInAslistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInAslistNameAf definition. + + leaf filterOutAslistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutAslistNameAf definition. + + leaf filterInMaplistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterInMaplistNameAf definition. + + leaf filterOutMaplistNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterOutMaplistNameAf definition. + + leaf filterUsmapNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of filterUsmapNameAf definition. + + leaf peerAsPathUnchangedAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerAsPathUnchangedAf definition. + + leaf defaultSentAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of defaultSentAf definition. + + leaf defaultNotSentAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of defaultNotSentAf definition. + + leaf orfPrefixStrAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixStrAf definition. + + leaf orfPrefixSendAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixSendAf definition. + + leaf orfPrefixCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfPrefixCountAf definition. + + leaf orfWaitRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of orfWaitRefreshAf definition. + + leaf routeReflectorClientAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeReflectorClientAf definition. + + leaf reserverClientAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of reserverClientAf definition. + + leaf softReconfigAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of softReconfigAf definition. + + leaf removePrivateAsAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of removePrivateAsAf definition. + + leaf advSmcapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advSmcapAf definition. + + leaf rcvSmcapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rcvSmcapAf definition. + + leaf advRmcapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advRmcapAf definition. + + leaf rcvRmcapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of rcvRmcapAf definition. + + leaf afDependentCapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of afDependentCapAf definition. + + leaf peerIndexAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerIndexAf definition. + + leaf peerOffsetAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerOffsetAf definition. + + leaf peerMaskAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerMaskAf definition. + + leaf flapCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of flapCountAf definition. + + leaf peerGrstRestartOnAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerGrstRestartOnAf definition. + + leaf peerPrefixCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixCountAf definition. + + leaf peerSendPrefixCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerSendPrefixCountAf definition. + + leaf peerFlagShutDownAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerFlagShutDownAf definition. + + leaf peerStatusFlagAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerStatusFlagAf definition. + + leaf peerCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerCountAf definition. + + leaf brdAsAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAsAf definition. + + leaf brdAsNumAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAsNumAf definition. + + leaf brdAs4Af { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAs4Af definition. + + leaf brdAsNum4Af { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdAsNum4Af definition. + + leaf brdIpAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of brdIpAf definition. + + leaf brdIpNumAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of brdIpNumAf definition. + + leaf peerNotifyInfoAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNotifyInfoAf definition. + + leaf peerNotifyDirectAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNotifyDirectAf definition. + + leaf peerNotifyLastResetAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNotifyLastResetAf definition. + + leaf notifyCodeStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of notifyCodeStrAf definition. + + leaf notifySubCodeStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of notifySubCodeStrAf definition. + + leaf bgpConnectionAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpConnectionAf definition. + + leaf nextConnectTimerAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nextConnectTimerAf definition. + + leaf peerStatusGrstRestartOnAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerStatusGrstRestartOnAf definition. + + leaf peerStatusRestartOnAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerStatusRestartOnAf definition. + + leaf conEstCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of conEstCountAf definition. + + leaf conDroppedCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of conDroppedCountAf definition. + + leaf peerPrefixOverflowAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixOverflowAf definition. + + leaf updateIfAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of updateIfAf definition. + + leaf updateSourceAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of updateSourceAf definition. + + leaf bpfEstUpTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfEstUpTimeAf definition. + + leaf bpfEstDownTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfEstDownTimeAf definition. + + leaf lastReadTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lastReadTimeAf definition. + + leaf bpfStateAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpfStateAf definition. + + leaf bgpLinkTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpLinkTypeAf definition. + + leaf hopAwayCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hopAwayCountAf definition. + + leaf peerStateAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerStateAf definition. + + leaf peerTableVersionAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerTableVersionAf definition. + + leaf peerLocalAddrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerLocalAddrAf definition. + + leaf peerRouterIdAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerRouterIdAf definition. + + leaf recvPacketCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of recvPacketCountAf definition. + + leaf notificationInAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of notificationInAf definition. + + leaf notificationOutAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of notificationOutAf definition. + + leaf pktInQueAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of pktInQueAf definition. + + leaf sentPacketCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of sentPacketCountAf definition. + + leaf refreshRecvPacketCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of refreshRecvPacketCountAf definition. + + leaf refreshSentPacketCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of refreshSentPacketCountAf definition. + + leaf advertisementIntervalAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advertisementIntervalAf definition. + + leaf peerInTotalMsgAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerInTotalMsgAf definition. + + leaf peerOutTotalMsgAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerOutTotalMsgAf definition. + + leaf peerLastErrorAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerLastErrorAf definition. + + leaf estTxnsAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of estTxnsAf definition. + + leaf estTimeAf { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config false; + } // END of estTimeAf definition. + + leaf inUpdateElapsAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of inUpdateElapsAf definition. + + leaf neighborCapAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborCapAf definition. + + leaf advertisedCapabilityAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advertisedCapabilityAf definition. + + leaf andCapabilityAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of andCapabilityAf definition. + + leaf receivedCapabilityAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of receivedCapabilityAf definition. + + leaf advCapabilityRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advCapabilityRefreshAf definition. + + leaf andCapabilityRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of andCapabilityRefreshAf definition. + + leaf recvCapabilityRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of recvCapabilityRefreshAf definition. + + leaf oldCapabilityRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of oldCapabilityRefreshAf definition. + + leaf newCapabilityRefreshAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of newCapabilityRefreshAf definition. + + + list vrfobj { + + + description + "vrfobj"; + + config true; + key "vrfName"; + + + leaf vrfName { + mandatory true; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf neighborAsOverrideAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of neighborAsOverrideAf definition. + + leaf peerIfNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerIfNameAf definition. + + leaf peerDescAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of peerDescAf definition. + + leaf peerRestartTimeAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + config true; + } // END of peerRestartTimeAf definition. + + leaf peerActivateAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerActivateAf definition. + + leaf peerAsAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of peerAsAf definition. + + leaf siteOriginIdAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of siteOriginIdAf definition. + + leaf peerAllowEbgpVpnAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerAllowEbgpVpnAf definition. + + leaf peerGroupStrAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of peerGroupStrAf definition. + + } // End of vrfobj-list + + list peerPrefix { + + + description + "peerPrefix"; + + config false; + key "prefixEntrySeqAf"; + + + leaf prefixEntrySeqAf { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntrySeqAf definition. + + leaf prefixEntryTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of prefixEntryTypeAf definition. + + leaf prefixEntryGeAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntryGeAf definition. + + leaf prefixEntryLeAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of prefixEntryLeAf definition. + + leaf peerPrefixLenAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerPrefixLenAf definition. + + } // End of peerPrefix-list + + list peerAdjRouteAf { + + + description + "peerAdjRouteAf"; + + config false; + key "peerNetworkAddrAf"; + + + leaf peerNetworkAddrAf { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerNetworkAddrAf definition. + + leaf peerFlapCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerFlapCountAf definition. + + leaf peerNetwkWeightAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNetwkWeightAf definition. + + leaf peerBgpTableVersionAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpTableVersionAf definition. + + leaf peerBgpInfoFlagAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpInfoFlagAf definition. + + leaf peerBgpAttrMpNexthopGlobalInAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopGlobalInAf definition. + + leaf peerBgpAttrNextHopAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrNextHopAf definition. + + leaf peerBgpAttrNextHopLenAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrNextHopLenAf definition. + + leaf peerBgpAttrMpNexthopGlobalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopGlobalAf definition. + + leaf peerBgpAttrMpNexthopLocalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAttrMpNexthopLocalAf definition. + + leaf peerBgpUpTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpUpTimeAf definition. + + leaf peerMedFlagTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerMedFlagTypeAf definition. + + leaf peerBgpMedValAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerBgpMedValAf definition. + + leaf peerBgpAsPathStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPathStrAf definition. + + leaf peerBgpAsPath4BStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPath4BStrAf definition. + + leaf peerBgpAsPathOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPathOriginAf definition. + + leaf peerBgpAsPath4BOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerBgpAsPath4BOriginAf definition. + + } // End of peerAdjRouteAf-list + } // End of bgpPeerSubAddressFamily-list + } // End of bgpPeerAddressFamily-list + } // End of bgpPeer-list + + list netwAddrFamily { + + + description + "netwAddrFamily"; + + config true; + key "afi"; + + + leaf afi { + mandatory true; + type cml_data_types:CML_AFI_TYPE_T; + config true; + } // END of afi definition. + + + list netwSubAddrFamily { + + + description + "netwSubAddrFamily"; + + config true; + key "safi"; + + + leaf safi { + mandatory true; + type cml_data_types:CML_SAFI_TYPE_T; + config true; + } // END of safi definition. + + leaf vrfName { + mandatory false; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf autoSummaryAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of autoSummaryAf definition. + + leaf ntwkPrefixCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPrefixCountAf definition. + + leaf ntwkRouterIpAddrAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkRouterIpAddrAf definition. + + leaf bgpTableVersionAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpTableVersionAf definition. + + leaf setSyncFlagAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setSyncFlagAf definition. + + leaf setNwSyncFlagAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setNwSyncFlagAf definition. + + leaf distanceEbgpAf { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "20"; + config true; + } // END of distanceEbgpAf definition. + + leaf distanceIbgpAf { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "200"; + config true; + } // END of distanceIbgpAf definition. + + leaf distanceLocalAf { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "200"; + config true; + } // END of distanceLocalAf definition. + + leaf setDampeningFlagAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setDampeningFlagAf definition. + + leaf halfLifeAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..45"; + } + default "15"; + config true; + } // END of halfLifeAf definition. + + leaf reusePenaltyAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..20000"; + } + config true; + } // END of reusePenaltyAf definition. + + leaf suppressPenaltyAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..20000"; + } + config true; + } // END of suppressPenaltyAf definition. + + leaf maxSuppressAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..255"; + } + config true; + } // END of maxSuppressAf definition. + + leaf unreachHalfLifeAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..45"; + } + config true; + } // END of unreachHalfLifeAf definition. + + leaf dampeningRmapNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of dampeningRmapNameAf definition. + + + list bgpAddressFamilyAggregateAddrList { + + + description + "bgpAddressFamilyAggregateAddrList"; + + config true; + key "aggregateAddrAf"; + + + leaf aggregateAddrAf { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of aggregateAddrAf definition. + + leaf aggregateTypeAf { + mandatory false; + type cml_data_types:CML_BGP_AGGREGATE_ADDR_TYPE_T; + config true; + } // END of aggregateTypeAf definition. + + leaf aggregateAsSetAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of aggregateAsSetAf definition. + + leaf aggregateSummOnlyAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of aggregateSummOnlyAf definition. + + leaf aggregateAs { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of aggregateAs definition. + + leaf aggregateAs4 { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of aggregateAs4 definition. + + } // End of bgpAddressFamilyAggregateAddrList-list + + list networkListAf { + + + description + "networkListAf"; + + config false; + key "networkAddrAf"; + + + leaf networkAddrAf { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of networkAddrAf definition. + + leaf ipv6Cmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ipv6Cmd definition. + + leaf ntwkLocalPrefAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ntwkLocalPrefAf definition. + + leaf bgpShowTypeStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpShowTypeStrAf definition. + + leaf bgpLongerPrefixCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpLongerPrefixCmd definition. + + leaf lastUpdateAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lastUpdateAf definition. + + leaf routeGetReuseTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of routeGetReuseTimeAf definition. + + leaf dampInfoTimesAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of dampInfoTimesAf definition. + + leaf routeGetPenaltyAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeGetPenaltyAf definition. + + leaf routeGetFlapCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeGetFlapCountAf definition. + + leaf bgpInfoSelectedAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoSelectedAf definition. + + leaf atomicAggregateAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of atomicAggregateAf definition. + + leaf multiInstalledAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiInstalledAf definition. + + leaf ecmpMultiCandidateAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ecmpMultiCandidateAf definition. + + leaf bgpInfoTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoTypeAf definition. + + leaf bgpInfoSubTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoSubTypeAf definition. + + leaf bgpConfedPeerAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpConfedPeerAf definition. + + leaf peerLocalAsAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerLocalAsAf definition. + + leaf bgpInfoStaleAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoStaleAf definition. + + leaf routeValidStateAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of routeValidStateAf definition. + + leaf briLabelAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of briLabelAf definition. + + leaf ntwkBgpOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ntwkBgpOriginAf definition. + + leaf networkRemoteAddrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of networkRemoteAddrAf definition. + + leaf originatorIdAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of originatorIdAf definition. + + leaf ibgpMetricAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ibgpMetricAf definition. + + leaf nhopValidAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nhopValidAf definition. + + leaf historyAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of historyAf definition. + + leaf reflectorClientAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of reflectorClientAf definition. + + leaf ntwkPathCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPathCountAf definition. + + leaf showBgpNtwkCmdAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of showBgpNtwkCmdAf definition. + + leaf peerNtwkWeightAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of peerNtwkWeightAf definition. + + leaf flapTimeReuseListAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of flapTimeReuseListAf definition. + + leaf flapRecordDurationAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of flapRecordDurationAf definition. + + leaf bgpDampPathCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpDampPathCmd definition. + + leaf bgpDampFlapCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpDampFlapCmd definition. + + leaf bgpIncosistentAsCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpIncosistentAsCmd definition. + + leaf dampTimeToReuseAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of dampTimeToReuseAf definition. + + leaf ntwkPrefixBestPathCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPrefixBestPathCountAf definition. + + leaf checkCidr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of checkCidr definition. + + leaf bgpCommunityCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpCommunityCmd definition. + + leaf bgpInfoFlagAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoFlagAf definition. + + leaf bgpAttrMpNexthopGlobalInAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobalInAf definition. + + leaf bgpAttrNextHopAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHopAf definition. + + leaf bgpAttrNextHopLenAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHopLenAf definition. + + leaf bgpAttrMpNexthopGlobalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobalAf definition. + + leaf bgpAttrMpNexthopLocalAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopLocalAf definition. + + leaf bgpUpTimeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpUpTimeAf definition. + + leaf medFlagTypeAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of medFlagTypeAf definition. + + leaf bgpMedValAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpMedValAf definition. + + leaf bgpAsPathStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPathStrAf definition. + + leaf bgpAsPath4BStrAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPath4BStrAf definition. + + leaf bgpAsPathOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPathOriginAf definition. + + leaf bgpAsPath4BOriginAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPath4BOriginAf definition. + + + list advPeerListAf { + + + description + "advPeerListAf"; + + config false; + key "advPeerAddrAf"; + + + leaf advPeerAddrAf { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of advPeerAddrAf definition. + + leaf advNonPeerGroupAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advNonPeerGroupAf definition. + + } // End of advPeerListAf-list + + list advPeerGroupListAf { + + + description + "advPeerGroupListAf"; + + config false; + key "advPeerGroupNameAf"; + + + leaf advPeerGroupNameAf { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of advPeerGroupNameAf definition. + + leaf advNonPeerGroupAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of advNonPeerGroupAf definition. + + } // End of advPeerGroupListAf-list + } // End of networkListAf-list + + list vrfobj { + + + description + "vrfobj"; + + config true; + key "vrfName"; + + + leaf vrfName { + mandatory true; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + + list bgpAddressFamilyNetworkList { + + + description + "bgpAddressFamilyNetworkList"; + + config true; + key "localAddrAf"; + + + leaf localAddrAf { + mandatory true; + type cml_data_types:CML_IP_PREFIX_ADDR_T; + config true; + } // END of localAddrAf definition. + + leaf localAddrMaskAf { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of localAddrMaskAf definition. + + leaf networkRmapNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of networkRmapNameAf definition. + + leaf backdoorAf { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of backdoorAf definition. + + leaf rfdGetRecordDuraion { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of rfdGetRecordDuraion definition. + + leaf timeCal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of timeCal definition. + + leaf rfdGetRecordDuration { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of rfdGetRecordDuration definition. + + leaf bgpInfoState { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpInfoState definition. + + leaf peerRemoteAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerRemoteAddr definition. + + leaf nhopValid { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of nhopValid definition. + + leaf peerSelf { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of peerSelf definition. + + leaf ntwkPrefixBestPathCountAf { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ntwkPrefixBestPathCountAf definition. + + leaf noAdvertise { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of noAdvertise definition. + + leaf noExport { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of noExport definition. + + leaf localAs { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of localAs definition. + + leaf suppress { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of suppress definition. + + leaf bgpInfoFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpInfoFlag definition. + + leaf bgpAttrMpNexthopGlobalIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobalIn definition. + + leaf bgpAttrNextHop { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHop definition. + + leaf bgpAttrNextHopLen { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrNextHopLen definition. + + leaf bgpAttrMpNexthopGlobal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopGlobal definition. + + leaf bgpAttrMpNexthopLocal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAttrMpNexthopLocal definition. + + leaf bgpUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpUpTime definition. + + leaf medFlagType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of medFlagType definition. + + leaf bgpMedVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpMedVal definition. + + leaf bgpAsPathCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpAsPathCount definition. + + leaf bgpAsPath4BCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpAsPath4BCount definition. + + leaf bgpAsPathOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPathOrigin definition. + + leaf bgpAsPath4BOrigin { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bgpAsPath4BOrigin definition. + + } // End of bgpAddressFamilyNetworkList-list + + list bgpAddressFamilyRedistList { + + + description + "bgpAddressFamilyRedistList"; + + config true; + key "redistTypeAf"; + + + leaf redistTypeAf { + mandatory true; + type cml_data_types:CML_BGP_REDISTRIBUTE_TYPE_T; + config true; + } // END of redistTypeAf definition. + + leaf redistRmapNameAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of redistRmapNameAf definition. + + leaf redistOspfNoAf { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + config true; + } // END of redistOspfNoAf definition. + + leaf redistOspfRmapAf { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of redistOspfRmapAf definition. + + } // End of bgpAddressFamilyRedistList-list + } // End of vrfobj-list + } // End of netwSubAddrFamily-list + } // End of netwAddrFamily-list + } // End of bgp-list + } // END of bgp-grouping definition. + + + grouping bgpGlobal-grouping { + list bgpGlobal { + + + description + "BGP global commands"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf snmpRestart { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of snmpRestart definition. + + leaf aggNexthop { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of aggNexthop definition. + + leaf pathSelect { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of pathSelect definition. + + leaf setDisableAdjOut { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setDisableAdjOut definition. + + leaf setExtAsnCap { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setExtAsnCap definition. + + leaf setNexthopTriggerEnable { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of setNexthopTriggerEnable definition. + + leaf delayInterval { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..100"; + } + default "5"; + config true; + } // END of delayInterval definition. + + leaf rfc1771StrictSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of rfc1771StrictSet definition. + + leaf multiInstance { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of multiInstance definition. + + leaf allowSamePeer { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of allowSamePeer definition. + + leaf configType { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of configType definition. + + + list communityList { + + + description + "communityList"; + + config true; + key "commListName"; + + + leaf commListName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListName definition. + + + list commListAction { + + + description + "commListAction"; + + config true; + key "action"; + + + leaf action { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of action definition. + + + list commListVal { + + + description + "commListVal"; + + config true; + key "commListValue"; + + + leaf commListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListValue definition. + + } // End of commListVal-list + } // End of commListAction-list + } // End of communityList-list + + list communityListNo { + + + description + "communityListNo"; + + config true; + key "commListStandNo"; + + + leaf commListStandNo { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..99"; + } + config true; + } // END of commListStandNo definition. + + + list commListAction { + + + description + "commListAction"; + + config true; + key "action"; + + + leaf action { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of action definition. + + + list commListVal { + + + description + "commListVal"; + + config true; + key "commListValue"; + + + leaf commListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListValue definition. + + } // End of commListVal-list + } // End of commListAction-list + } // End of communityListNo-list + + list communityListStand { + + + description + "communityListStand"; + + config true; + key "commListName"; + + + leaf commListName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListName definition. + + + list commListAction { + + + description + "commListAction"; + + config true; + key "action"; + + + leaf action { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of action definition. + + + list commListVal { + + + description + "commListVal"; + + config true; + key "commListValue"; + + + leaf commListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListValue definition. + + } // End of commListVal-list + } // End of commListAction-list + } // End of communityListStand-list + + list communityListExp { + + + description + "communityListExp"; + + config true; + key "commListNo"; + + + leaf commListNo { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "100..500"; + } + config true; + } // END of commListNo definition. + + + list commListAction { + + + description + "commListAction"; + + config true; + key "action"; + + + leaf action { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of action definition. + + + list commListVal { + + + description + "commListVal"; + + config true; + key "regExpList"; + + + leaf regExpList { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of regExpList definition. + + } // End of commListVal-list + } // End of commListAction-list + } // End of communityListExp-list + + list communityListExpand { + + + description + "communityListExpand"; + + config true; + key "commListExpName"; + + + leaf commListExpName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of commListExpName definition. + + + list commListAction { + + + description + "commListAction"; + + config true; + key "action"; + + + leaf action { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of action definition. + + + list commListVal { + + + description + "commListVal"; + + config true; + key "regExpList"; + + + leaf regExpList { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of regExpList definition. + + } // End of commListVal-list + } // End of commListAction-list + } // End of communityListExpand-list + + list extCommuListNo { + + + description + "extCommuListNo"; + + config true; + key "extCommListStandNo"; + + + leaf extCommListStandNo { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..99"; + } + config true; + } // END of extCommListStandNo definition. + + + list extCommListAction { + + + description + "extCommListAction"; + + config true; + key "extAction"; + + + leaf extAction { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of extAction definition. + + + list extCommListVal { + + + description + "extCommListVal"; + + config true; + key "extCommListValue"; + + + leaf extCommListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListValue definition. + + } // End of extCommListVal-list + } // End of extCommListAction-list + } // End of extCommuListNo-list + + list extCommListStand { + + + description + "extCommListStand"; + + config true; + key "extCommListName"; + + + leaf extCommListName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListName definition. + + leaf delExcomm { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of delExcomm definition. + + + list extCommListAction { + + + description + "extCommListAction"; + + config true; + key "extAction"; + + + leaf extAction { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of extAction definition. + + + list routeTargetSoo { + + + description + "routeTargetSoo"; + + config true; + key "rtSoo"; + + + leaf rtSoo { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of rtSoo definition. + + + list extCommListVal { + + + description + "extCommListVal"; + + config true; + key "extCommListValue"; + + + leaf extCommListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListValue definition. + + } // End of extCommListVal-list + } // End of routeTargetSoo-list + } // End of extCommListAction-list + } // End of extCommListStand-list + + list extCommunityListExp { + + + description + "extCommunityListExp"; + + config true; + key "extCommListNo"; + + + leaf extCommListNo { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "100..500"; + } + config true; + } // END of extCommListNo definition. + + + list extCommListAction { + + + description + "extCommListAction"; + + config true; + key "extAction"; + + + leaf extAction { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of extAction definition. + + + list extCommListVal { + + + description + "extCommListVal"; + + config true; + key "extCommListValue"; + + + leaf extCommListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListValue definition. + + } // End of extCommListVal-list + } // End of extCommListAction-list + } // End of extCommunityListExp-list + + list extCommListExpand { + + + description + "extCommListExpand"; + + config true; + key "extCommListExpName"; + + + leaf extCommListExpName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListExpName definition. + + + list extCommListAction { + + + description + "extCommListAction"; + + config true; + key "extAction"; + + + leaf extAction { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of extAction definition. + + + list extCommListVal { + + + description + "extCommListVal"; + + config true; + key "extCommListValue"; + + + leaf extCommListValue { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of extCommListValue definition. + + } // End of extCommListVal-list + } // End of extCommListAction-list + } // End of extCommListExpand-list + + list accessList { + + + description + "accessList"; + + config true; + key "accessListName"; + + + leaf accessListName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of accessListName definition. + + + list accessListDirection { + + + description + "accessListDirection"; + + config true; + key "accessListDirection"; + + + leaf accessListDirection { + mandatory true; + type cml_data_types:CML_BGP_COMMUNITY_LIST_ACTION_T; + config true; + } // END of accessListDirection definition. + + + list bgpRegExp { + + + description + "bgpRegExp"; + + config true; + key "bgpRegExp"; + + + leaf bgpRegExp { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bgpRegExp definition. + + } // End of bgpRegExp-list + } // End of accessListDirection-list + } // End of accessList-list + } // End of bgpGlobal-list + } // END of bgpGlobal-grouping definition. + + + grouping bgpDebug-grouping { + list bgpDebug { + + + description + "bgpDebug"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf debugFlag { + mandatory false; + type cml_data_types:CML_BGP_DEBUG_TYPE_T; + default "all"; + config true; + } // END of debugFlag definition. + + leaf undebugFlag { + mandatory false; + type cml_data_types:CML_BGP_DEBUG_TYPE_T; + default "all"; + config true; + } // END of undebugFlag definition. + + leaf debugUpdateFlag { + mandatory false; + type cml_data_types:CML_BGP_UPDATE_DEBUG_TYPE_T; + config true; + } // END of debugUpdateFlag definition. + + } // End of bgpDebug-list + } // END of bgpDebug-grouping definition. + + + grouping hashTableInfo-grouping { + list hashTableInfo { + + + description + "hashTableInfo"; + + config false; + key "hashBacket"; + + + leaf hashBacket { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of hashBacket definition. + + leaf hashRefCnt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of hashRefCnt definition. + + leaf hashAsStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hashAsStr definition. + + leaf hashComStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hashComStr definition. + + leaf bgpPathCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpPathCmd definition. + + leaf bgpComInfoCmd { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bgpComInfoCmd definition. + + } // End of hashTableInfo-list + } // END of hashTableInfo-grouping definition. + + + grouping vrfTable-grouping { + list vrfTable { + + + description + "vrfTable"; + + config true; + key "vrfName"; + + + leaf vrfName { + mandatory true; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf importMap { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of importMap definition. + + leaf rdStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of rdStr definition. + + + list routeTarget { + + + description + "routeTarget"; + + config true; + key "rtRdStr"; + + + leaf direct { + mandatory true; + type cml_data_types:CML_RT_T; + config true; + } // END of direct definition. + + leaf rtRdStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of rtRdStr definition. + + } // End of routeTarget-list + } // End of vrfTable-list + } // END of vrfTable-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/bridge.yang b/yang-files/bridge.yang new file mode 100644 index 00000000..6d0a110b --- /dev/null +++ b/yang-files/bridge.yang @@ -0,0 +1,1327 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : bridge.yang +* +*/ + +submodule bridge { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vlan; + include mstp; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-2 bridge configurations"; + + + revision "2015-04-25" { + description "Revisied on 2015-04-25."; } + + + + grouping bridge-grouping { + list bridge { + + + description + "bridge"; + + config true; + key "bridgeId"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bridgeId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bridgeId definition. + + leaf bridgeType { + mandatory true; + type cml_data_types:CML_BRIDGE_PROTOCOL_T; + config true; + } // END of bridgeType definition. + + leaf topologyType { + mandatory false; + type cml_data_types:CML_BRIDGE_TOPOLOGY_T; + default "ring"; + config true; + } // END of topologyType definition. + + leaf macAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of macAddr definition. + + leaf discardForward { + mandatory false; + type cml_data_types:CML_DISCARDFORWARD_T; + config true; + } // END of discardForward definition. + + leaf ifName { + mandatory false; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf bridgeForward { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bridgeForward definition. + + leaf forward { + mandatory false; + type cml_data_types:CML_BRIDGE_FORWARDING_SET_T; + config true; + } // END of forward definition. + + leaf ageingStatus { + mandatory false; + type cml_data_types:CML_BRIDGE_AGEING_STATE; + config true; + } // END of ageingStatus definition. + + leaf learning { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of learning definition. + + leaf ageingTime { + mandatory false; + type cml_data_types:CML_INT32_T { + range "10..1000000"; + } + default "300"; + config true; + } // END of ageingTime definition. + + leaf mstpEnabled { + mandatory false; + type cml_data_types:CML_ENABLE_DISABLE_T; + default "disable"; + config true; + } // END of mstpEnabled definition. + + leaf helloTime { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..10"; + } + default "2"; + config true; + } // END of helloTime definition. + + leaf maxAge { + mandatory false; + type cml_data_types:CML_INT32_T { + range "6..40"; + } + default "20"; + config true; + } // END of maxAge definition. + + leaf priority { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..61440"; + } + default "32768"; + config true; + } // END of priority definition. + + leaf forwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T { + range "4..30"; + } + default "15"; + config true; + } // END of forwardDelay definition. + + leaf transmitHoldCount { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..10"; + } + default "6"; + config true; + } // END of transmitHoldCount definition. + + leaf bpduguardEnable { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of bpduguardEnable definition. + + leaf errdisableTimeoutEnable { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of errdisableTimeoutEnable definition. + + leaf errdisableTimeoutInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "10..1000000"; + } + default "300"; + config true; + } // END of errdisableTimeoutInterval definition. + + leaf revisionLevel { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "0..65535"; + } + config true; + } // END of revisionLevel definition. + + leaf maxHops { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..40"; + } + default "20"; + config true; + } // END of maxHops definition. + + leaf regionName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "Default"; + config true; + } // END of regionName definition. + + leaf bpduFilter { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of bpduFilter definition. + + leaf debug { + mandatory false; + type cml_data_types:CML_UINT32_T; + config true; + } // END of debug definition. + + leaf debugStatus { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of debugStatus definition. + + leaf adminCisco { + mandatory false; + type cml_data_types:CML_ENABLE_DISABLE_T; + default "disable"; + config true; + } // END of adminCisco definition. + + leaf pathCostMethod { + mandatory false; + type cml_data_types:CML_PATHCOST_METHOD_T; + default "default"; + config true; + } // END of pathCostMethod definition. + + leaf forceVersion { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..4"; + } + default "0"; + config true; + } // END of forceVersion definition. + + leaf vId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vId definition. + + leaf svId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of svId definition. + + leaf bridgePort { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgePort definition. + + leaf cistbridgePriority { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistbridgePriority definition. + + leaf topologyChange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologyChange definition. + + leaf externalrootPathcost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalrootPathcost definition. + + leaf bridgeEnabled { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeEnabled definition. + + leaf topologychangeDetected { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologychangeDetected definition. + + leaf cistmstpBridge { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistmstpBridge definition. + + leaf cistRootPort { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistRootPort definition. + + leaf cistdesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistdesignatedRoot definition. + + leaf cistBridgeid { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistBridgeid definition. + + leaf totalnumberTopologychange { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of totalnumberTopologychange definition. + + leaf cistregisteredRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistregisteredRoot definition. + + leaf maxAgeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxAgeCount definition. + + leaf bridgeHelloTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bridgeHelloTime definition. + + leaf bridgeForwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bridgeForwardDelay definition. + + leaf bridgeTopologyChange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeTopologyChange definition. + + leaf topologyChangeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologyChangeCount definition. + + leaf topologyChangeLastRecv { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologyChangeLastRecv definition. + + leaf addressFlag { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of addressFlag definition. + + leaf bridgeMaxAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bridgeMaxAge definition. + + leaf lasttimeTopologychange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lasttimeTopologychange definition. + + leaf configFormat { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of configFormat definition. + + leaf configName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of configName definition. + + leaf configRevision { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of configRevision definition. + + leaf configDigest { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of configDigest definition. + + leaf brType { + mandatory false; + type cml_data_types:CML_BRIDGE_TYPE_T; + config true; + } // END of brType definition. + + leaf cistrootportIfindex { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistrootportIfindex definition. + + leaf forwarddelayTimer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of forwarddelayTimer definition. + + leaf messageageTimer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageageTimer definition. + + + list interface { + + + description + " Group of bridge attribute having interface property"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf spanningTreeDisable { + mandatory true; + type cml_data_types:CML_SPANNINGTREE_ENABLE_DISABLE_T; + config true; + } // END of spanningTreeDisable definition. + + leaf p2pMac { + mandatory false; + type cml_data_types:CML_LINK_TYPE_T; + default "point-to-point"; + config true; + } // END of p2pMac definition. + + leaf portPriority { + mandatory false; + type cml_data_types:CML_INT16_T { + range "0..240"; + } + default "128"; + config true; + } // END of portPriority definition. + + leaf portedgeEnable { + mandatory false; + type cml_data_types:CML_PORTEDGE_T; + default "portfast"; + config true; + } // END of portedgeEnable definition. + + leaf restrictedDomainRole { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of restrictedDomainRole definition. + + leaf autoEdge { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of autoEdge definition. + + leaf adminBpduguard { + mandatory false; + type cml_data_types:CML_BPDU_T; + default "default"; + config true; + } // END of adminBpduguard definition. + + leaf portHelloTime { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..10"; + } + default "2"; + config true; + } // END of portHelloTime definition. + + leaf pathCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..200000000"; + } + config true; + } // END of pathCost definition. + + leaf restrictedRole { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of restrictedRole definition. + + leaf restrictedTCN { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of restrictedTCN definition. + + leaf adminRootGuard { + mandatory false; + type cml_data_types:CML_UINT8_T; + default "1"; + config true; + } // END of adminRootGuard definition. + + leaf adminBpdufilter { + mandatory false; + type cml_data_types:CML_BPDU_T; + default "default"; + config true; + } // END of adminBpdufilter definition. + + leaf enableBpduRx { + mandatory false; + type cml_data_types:CML_INT32_T; + default "0"; + config true; + } // END of enableBpduRx definition. + + leaf overMacType { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of overMacType definition. + + leaf priorityOverWrite { + mandatory false; + type cml_data_types:CML_UINT8_T; + config true; + } // END of priorityOverWrite definition. + + leaf cistbridgePriority { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistbridgePriority definition. + + leaf topologyChange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologyChange definition. + + leaf externalrootPathcost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalrootPathcost definition. + + leaf bridgeEnabled { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeEnabled definition. + + leaf cistmstpBridge { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistmstpBridge definition. + + leaf cistdesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistdesignatedRoot definition. + + leaf cistBridgeid { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistBridgeid definition. + + leaf totalnumberTopologychange { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of totalnumberTopologychange definition. + + leaf cistregisteredRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistregisteredRoot definition. + + leaf maxAgeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxAgeCount definition. + + leaf bridgeHelloTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bridgeHelloTime definition. + + leaf bridgeForwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of bridgeForwardDelay definition. + + leaf bridgeTopologyChange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeTopologyChange definition. + + leaf topologyChangeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologyChangeCount definition. + + leaf topologyChangeLastRecv { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologyChangeLastRecv definition. + + leaf portName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portName definition. + + leaf portNumber { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portNumber definition. + + leaf portIfindex { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of portIfindex definition. + + leaf cistPortid { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of cistPortid definition. + + leaf mstipathCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mstipathCost definition. + + leaf designatedPortid { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of designatedPortid definition. + + leaf cistpathCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistpathCost definition. + + leaf portdesignatedCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portdesignatedCost definition. + + leaf cistDesignatedportId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistDesignatedportId definition. + + leaf cistPortState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistPortState definition. + + leaf cistPriority { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistPriority definition. + + leaf mstiInstanceRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstanceRoot definition. + + leaf messageAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageAge definition. + + leaf maxAgePort { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of maxAgePort definition. + + leaf cisthelloTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cisthelloTime definition. + + leaf helloTimePort { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of helloTimePort definition. + + leaf cistforwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistforwardDelay definition. + + leaf topologyChangeTimer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologyChangeTimer definition. + + leaf cistforwardTransition { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistforwardTransition definition. + + leaf cistPortFast { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistPortFast definition. + + leaf bpduGuardState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpduGuardState definition. + + leaf operBpduGuardState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of operBpduGuardState definition. + + leaf bpduFilterState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bpduFilterState definition. + + leaf operBpduFilterState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of operBpduFilterState definition. + + leaf rootGuardConfigState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of rootGuardConfigState definition. + + leaf rootGuardState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of rootGuardState definition. + + leaf cistPortrole { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistPortrole definition. + + leaf portType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portType definition. + + leaf portRefCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portRefCount definition. + + leaf version { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of version definition. + + leaf portRecieved { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portRecieved definition. + + leaf portSend { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portSend definition. + + leaf portFastCfg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portFastCfg definition. + + leaf portFastState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portFastState definition. + + leaf pToPstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of pToPstate definition. + + leaf pToPCurrentstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of pToPCurrentstate definition. + + leaf autoEdgePCfg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of autoEdgePCfg definition. + + leaf autoEdgetstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of autoEdgetstate definition. + + leaf bridgeDesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeDesignatedRoot definition. + + leaf bridgeDesignated { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeDesignated definition. + + leaf nextMsg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextMsg definition. + + leaf mstiRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiRoot definition. + + leaf designatedBridge { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of designatedBridge definition. + + leaf helloTimer { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of helloTimer definition. + + leaf hwAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hwAddr definition. + + leaf forwardState { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of forwardState definition. + + + list mstpInterface { + + + description + "runtime mstp interface instance info"; + + config false; + key "instanceId"; + + + leaf instanceId { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..63"; + } + config false; + } // END of instanceId definition. + + leaf cistPortrole { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistPortrole definition. + + leaf portName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portName definition. + + leaf portNumber { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portNumber definition. + + leaf cistpathCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistpathCost definition. + + leaf cistPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistPriority definition. + + leaf cisthelloTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cisthelloTime definition. + + leaf cistforwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistforwardDelay definition. + + leaf portspanningTree { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portspanningTree definition. + + leaf portconfbpduSent { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portconfbpduSent definition. + + leaf configPending { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of configPending definition. + + leaf porttopChangeack { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of porttopChangeack definition. + + leaf portconfbpduRecieved { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portconfbpduRecieved definition. + + leaf porttcnbpduSent { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttcnbpduSent definition. + + leaf porttcnbpduRecieved { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttcnbpduRecieved definition. + + leaf portForwardTransition { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portForwardTransition definition. + + leaf helloTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of helloTimerstate definition. + + leaf helloTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of helloTimervalue definition. + + leaf forwardTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of forwardTimerstate definition. + + leaf forwardTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of forwardTimervalue definition. + + leaf messageTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of messageTimerstate definition. + + leaf topologychangeTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologychangeTimerstate definition. + + leaf topologychangeTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologychangeTimervalue definition. + + leaf holdTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of holdTimerstate definition. + + leaf holdTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of holdTimervalue definition. + + leaf messageageExpiry { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of messageageExpiry definition. + + leaf similarbpduCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of similarbpduCount definition. + + leaf sourcemacCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of sourcemacCount definition. + + leaf totalsourcemacRecieved { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of totalsourcemacRecieved definition. + + leaf porttopologyChangetime { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttopologyChangetime definition. + + leaf designatedrootPathcost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of designatedrootPathcost definition. + + leaf designatedInsPortid { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of designatedInsPortid definition. + + leaf mstiInstancedesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstancedesignatedRoot definition. + + leaf mstiInstanceBridgeId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstanceBridgeId definition. + + leaf stpMultiCastAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of stpMultiCastAddr definition. + + leaf instanceBridgeMacAddress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of instanceBridgeMacAddress definition. + + leaf instancetopologyChange { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instancetopologyChange definition. + + leaf instanceTopologychangedetected { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instanceTopologychangedetected definition. + + leaf instlastTopologychangerecievedfrom { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instlastTopologychangerecievedfrom definition. + + leaf mstirootportIfindex { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of mstirootportIfindex definition. + + leaf mstiPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of mstiPriority definition. + + leaf instancemaxAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of instancemaxAge definition. + + leaf mstibridgePriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of mstibridgePriority definition. + + leaf internalrootPathcost { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of internalrootPathcost definition. + + leaf messageAgeIns { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageAgeIns definition. + + leaf instanceportconfbpduSent { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceportconfbpduSent definition. + + leaf instanceportconfbpduRecieved { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceportconfbpduRecieved definition. + + leaf instanceporttcnbpduSent { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceporttcnbpduSent definition. + + leaf instanceporttcnbpduRecieved { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceporttcnbpduRecieved definition. + + leaf cistforwardTransition { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistforwardTransition definition. + + leaf instancetopologychangeInitiator { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of instancetopologychangeInitiator definition. + + leaf topologychangeInitiator { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologychangeInitiator definition. + + leaf lasttopologychangeRecievedfrom { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of lasttopologychangeRecievedfrom definition. + + leaf configFormat { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of configFormat definition. + + leaf messageageTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageageTimervalue definition. + + leaf instanceMstiporttopologyChangetime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of instanceMstiporttopologyChangetime definition. + + leaf instancePortNextState { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instancePortNextState definition. + + leaf instanceTopologuChangeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of instanceTopologuChangeCount definition. + + leaf mstipathCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mstipathCost definition. + + } // End of mstpInterface-list + } // End of interface-list + uses vlan-grouping; + uses mstp-grouping; + } // End of bridge-list + } // END of bridge-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/interface.yang b/yang-files/interface.yang new file mode 100644 index 00000000..01a097be --- /dev/null +++ b/yang-files/interface.yang @@ -0,0 +1,653 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : interface.yang +* +*/ + +submodule interface { + + belongs-to ZebOS { prefix ZebOS; } + include vrf; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Interface"; + + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping interface-grouping { + list interface { + + + description + "interface"; + + config true; + key "ifName"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ifName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifName definition. + + leaf mtu { + mandatory false; + type cml_data_types:CML_INT32_T { + range "64..65536"; + } + default "1500"; + config true; + } // END of mtu definition. + + leaf macAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of macAddr definition. + + leaf ipAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of ipAddr definition. + + leaf prefixlen { + mandatory false; + type cml_data_types:CML_UINT8_T; + config true; + } // END of prefixlen definition. + + leaf ipLabel { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of ipLabel definition. + + leaf vrfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of vrfName definition. + + leaf ipForwarding { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ipForwarding definition. + + leaf ipv6Forwarding { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ipv6Forwarding definition. + + leaf mauType { + mandatory false; + type cml_data_types:CML_MAUTYPE_T; + default "dot3MauType0dot0"; + config true; + } // END of mauType definition. + + leaf duplex { + mandatory false; + type cml_data_types:CML_DUPLEX_T; + default "auto"; + config true; + } // END of duplex definition. + + leaf maxBandwidthStr { + mandatory false; + type cml_data_types:CML_STRING_T; + default "0"; + config true; + } // END of maxBandwidthStr definition. + + leaf reservableBandwidthStr { + mandatory false; + type cml_data_types:CML_STRING_T; + default "0"; + config true; + } // END of reservableBandwidthStr definition. + + leaf adminGrpName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of adminGrpName definition. + + leaf bandwidthConstraintMode { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of bandwidthConstraintMode definition. + + leaf linkStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of linkStatus definition. + + leaf switchportStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of switchportStatus definition. + + leaf adminState { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of adminState definition. + + leaf multicast { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of multicast definition. + + leaf labelSwitching { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of labelSwitching definition. + + leaf isRunning { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of isRunning definition. + + leaf rpfType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of rpfType definition. + + leaf adminRunState { + mandatory false; + type cml_data_types:CML_INTERFACE_ADMIN_STATE_T; + config false; + } // END of adminRunState definition. + + leaf dhcpConfigured { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of dhcpConfigured definition. + + leaf gmplsType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of gmplsType definition. + + leaf vrfId { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of vrfId definition. + + leaf multipathNum { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multipathNum definition. + + leaf routeTotal { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of routeTotal definition. + + leaf counterFib { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of counterFib definition. + + leaf ip6Addr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ip6Addr definition. + + leaf ingressfilterStatus { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ingressfilterStatus definition. + + leaf frameTypes { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of frameTypes definition. + + leaf nativeVlan { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of nativeVlan definition. + + leaf defaultVlan { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of defaultVlan definition. + + leaf confVlan { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of confVlan definition. + + leaf vId { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of vId definition. + + leaf transvId { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of transvId definition. + + leaf hwType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hwType definition. + + leaf hwAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of hwAddr definition. + + leaf staticFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of staticFlag definition. + + leaf interfaceDesc { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceDesc definition. + + leaf autoNeg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of autoNeg definition. + + leaf vrxFlag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrxFlag definition. + + leaf maxlabelValue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of maxlabelValue definition. + + leaf ifoutputErrors { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifoutputErrors definition. + + leaf ifCollisions { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifCollisions definition. + + leaf servString { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of servString definition. + + leaf vcgroupName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vcgroupName definition. + + leaf bwconstraintMode { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bwconstraintMode definition. + + leaf classtypeNumber { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of classtypeNumber definition. + + leaf teclpriorityBw { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teclpriorityBw definition. + + leaf ifinputStats { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifinputStats definition. + + leaf ifoutputStats { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifoutputStats definition. + + leaf ifinputErrors { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifinputErrors definition. + + leaf ifIndex { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifIndex definition. + + leaf ifMetric { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifMetric definition. + + leaf arpageingTimeout { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of arpageingTimeout definition. + + leaf labelSpace { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of labelSpace definition. + + leaf minlabelValue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of minlabelValue definition. + + leaf fromLabel { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of fromLabel definition. + + leaf toLabel { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of toLabel definition. + + leaf vplsName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vplsName definition. + + leaf vcName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vcName definition. + + leaf vcType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vcType definition. + + leaf mplsClassTypeName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mplsClassTypeName definition. + + leaf mplsclasstypeNumber { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of mplsclasstypeNumber definition. + + leaf mplsPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of mplsPriority definition. + + leaf mplsteclassId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mplsteclassId definition. + + leaf ifinputPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifinputPkts definition. + + leaf ifinputOctets { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifinputOctets definition. + + leaf ifinputDrops { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifinputDrops definition. + + leaf ifinputmcastPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifinputmcastPkts definition. + + leaf ifbadCrc { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifbadCrc definition. + + leaf ifundersizedPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifundersizedPkts definition. + + leaf ifoutputPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoutputPkts definition. + + leaf ifoutputOctets { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoutputOctets definition. + + leaf ifoutputDrops { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoutputDrops definition. + + leaf ifoutputBcastPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoutputBcastPkts definition. + + leaf ifoversizedPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoversizedPkts definition. + + leaf ifoutputmcastPkts { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifoutputmcastPkts definition. + + + list secondary { + + + description + "IPv4 Address"; + + config true; + key "secIpAddr"; + + + leaf secIpAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of secIpAddr definition. + + leaf secondaryFlag { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of secondaryFlag definition. + + leaf ipLabel { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipLabel definition. + + } // End of secondary-list + + list bandwidthConstraint { + + + description + "set bandwidth constraint"; + + config true; + key "constraintName"; + + + leaf constraintName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of constraintName definition. + + leaf bandwidthStr { + mandatory true; + type cml_data_types:CML_STRING_T { + length "1..10000000000"; + } + config true; + } // END of bandwidthStr definition. + + } // End of bandwidthConstraint-list + + list ipv6Addr { + + + description + "IPv6 Address"; + + config true; + key "ipv6Addr"; + + + leaf ipv6Addr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv6Addr definition. + + leaf anycast { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of anycast definition. + + } // End of ipv6Addr-list + + list ipRouteSummary { + + + description + "ipRouteSummary"; + + config false; + key "routeType"; + + + leaf routeType { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of routeType definition. + + leaf counterType { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of counterType definition. + + } // End of ipRouteSummary-list + } // End of interface-list + } // END of interface-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/layer2LACP.yang b/yang-files/layer2LACP.yang new file mode 100644 index 00000000..4826cf8c --- /dev/null +++ b/yang-files/layer2LACP.yang @@ -0,0 +1,107 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : layer2LACP.yang +* +*/ + +submodule layer2LACP { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-2 lacp configurations"; + + + revision "2015-10-21" { + description "Revisied on 2015-10-21."; } + + + + grouping lacpInterface-grouping { + list lacpInterface { + + + description + "LACP interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf portPriority { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "32768"; + config true; + } // END of portPriority definition. + + leaf TimeOut { + mandatory false; + type cml_data_types:CML_LACP_TIMEOUT_T; + default "long"; + config true; + } // END of TimeOut definition. + + leaf bridgeType { + mandatory false; + type cml_data_types:CML_LACP_BRIDGETYPE_T; + default "multicast-group-address"; + config true; + } // END of bridgeType definition. + + leaf discardConv { + mandatory false; + type cml_data_types:CML_LACP_DISCARD_CONV_T; + default "disable"; + config true; + } // END of discardConv definition. + + } // End of lacpInterface-list + } // END of lacpInterface-grouping definition. + + grouping lacpSystemPriority-grouping { + container lacpSystemPriority { + + config true; + + description + "lacpSystemPriority"; + + leaf systemPriority { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "32768"; + config true; + } // END of systemPriority definition. + + } // END of lacpSystemPriority-container definition. + } // END of lacpSystemPriority-container definition. + + +} \ No newline at end of file diff --git a/yang-files/lldpv2.yang b/yang-files/lldpv2.yang new file mode 100644 index 00000000..72633843 --- /dev/null +++ b/yang-files/lldpv2.yang @@ -0,0 +1,298 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : lldpv2.yang +* +*/ + +submodule lldpv2 { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Link Layer Discovery Protocol"; + + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping lldpv2Interface-grouping { + list lldpv2Interface { + + + description + "LLDPV2 interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf lldpPortDescription { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of lldpPortDescription definition. + + leaf lldpAgtCircuitId { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of lldpAgtCircuitId definition. + + leaf lldpmedDevType { + mandatory false; + type cml_data_types:CML_LLDP_MEDDEV_T; + config true; + } // END of lldpmedDevType definition. + + leaf localName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of localName definition. + + + list lldpAgent { + + + description + "LLDP configuration related operations"; + + config true; + key "lldpAgent"; + + + leaf lldpAgent { + mandatory true; + type cml_data_types:CML_LLDP_AGENT_T; + config true; + } // END of lldpAgent definition. + + leaf lldpEnable { + mandatory false; + type cml_data_types:CML_LLDP_ENABLE_T; + default "rxonly"; + config true; + } // END of lldpEnable definition. + + leaf lldpDisable { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of lldpDisable definition. + + leaf reinitDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of reinitDelay definition. + + leaf MsgTxInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "5..3600"; + } + default "30"; + config true; + } // END of MsgTxInterval definition. + + leaf MsgTxValue { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of MsgTxValue definition. + + leaf MsgFastTx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + default "1"; + config true; + } // END of MsgFastTx definition. + + leaf neighborLimit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + config true; + } // END of neighborLimit definition. + + leaf neighborTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + config true; + } // END of neighborTimer definition. + + leaf portLimit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + config true; + } // END of portLimit definition. + + leaf portMac { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of portMac definition. + + leaf portTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + config true; + } // END of portTimer definition. + + leaf TxMaxCredit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..10"; + } + default "5"; + config true; + } // END of TxMaxCredit definition. + + leaf TxFastInit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..8"; + } + default "4"; + config true; + } // END of TxFastInit definition. + + leaf portAddr { + mandatory false; + type cml_data_types:CML_LLDP_MGMT_ADDR_T; + default "mac-address"; + config true; + } // END of portAddr definition. + + leaf chassisId { + mandatory false; + type cml_data_types:CML_LLDP_CHASSIS_T; + default "mac-address"; + config true; + } // END of chassisId definition. + + leaf portId { + mandatory false; + type cml_data_types:CML_LLDP_PORT_T; + default "mac-address"; + config true; + } // END of portId definition. + + leaf tlvFlag { + mandatory false; + type cml_data_types:CML_LLDP_TVL_FLAG_T; + config true; + } // END of tlvFlag definition. + + leaf TlvSelect { + mandatory false; + type cml_data_types:CML_LLDP_IEEE_8023_T; + config true; + } // END of TlvSelect definition. + + leaf TlvSelectIeee { + mandatory false; + type cml_data_types:CML_LLDP_IEEE_8021_T; + config true; + } // END of TlvSelectIeee definition. + + leaf TlvSelectBasic { + mandatory false; + type cml_data_types:CML_LLDP_BASIC_T; + config true; + } // END of TlvSelectBasic definition. + + leaf tlvMed { + mandatory false; + type cml_data_types:CML_LLDP_MED_T; + default "media-capabilities"; + config true; + } // END of tlvMed definition. + + } // End of lldpAgent-list + } // End of lldpv2Interface-list + } // END of lldpv2Interface-grouping definition. + + grouping systemDetail-grouping { + container systemDetail { + + config true; + + description + "systemDetail"; + + leaf SystemName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of SystemName definition. + + leaf lldpRun { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of lldpRun definition. + + leaf lldpSystemDescription { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of lldpSystemDescription definition. + + leaf locallyAssigned { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of locallyAssigned definition. + + } // END of systemDetail-container definition. + } // END of systemDetail-container definition. + + +} \ No newline at end of file diff --git a/yang-files/mstp.yang b/yang-files/mstp.yang new file mode 100644 index 00000000..392c7caa --- /dev/null +++ b/yang-files/mstp.yang @@ -0,0 +1,692 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : mstp.yang +* +*/ + +submodule mstp { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vlan; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-2 bridge configurations"; + + + revision "2015-04-25" { + description "Revisied on 2015-04-25."; } + + + + grouping mstp-grouping { + list mstp { + + + description + "mstp"; + + config true; + key "instanceId"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bridgeId { + mandatory false; + type leafref { + path "/vr/bridge/bridgeId"; + } + } // END of bridgeId definition. + + leaf instanceId { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..63"; + } + config true; + } // END of instanceId definition. + + leaf instPriority { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..61440"; + } + default "32768"; + config true; + } // END of instPriority definition. + + leaf-list vlanId { + + type leafref { + path "/vr/bridge/vlan/vlanId"; + } + } // END of vlanId definition. + + leaf bridgeEnabled { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeEnabled definition. + + leaf topologyChange { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologyChange definition. + + leaf topologychangeDetected { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologychangeDetected definition. + + leaf cistmstpBridge { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistmstpBridge definition. + + leaf externalrootPathcost { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalrootPathcost definition. + + leaf internalrootPathcost { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of internalrootPathcost definition. + + leaf cistbridgePriority { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistbridgePriority definition. + + leaf cistrootportIfindex { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistrootportIfindex definition. + + leaf totalnumberTopologychange { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of totalnumberTopologychange definition. + + leaf lasttimeTopologychange { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of lasttimeTopologychange definition. + + leaf cistdesignatedRoot { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistdesignatedRoot definition. + + leaf cistregisteredRoot { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistregisteredRoot definition. + + leaf cistBridgeid { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistBridgeid definition. + + leaf mstirootportIfindex { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of mstirootportIfindex definition. + + leaf mstibridgePriority { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mstibridgePriority definition. + + leaf mstibridgeId { + mandatory true; + type cml_data_types:CML_UINT8_T; + config false; + } // END of mstibridgeId definition. + + leaf mstidesignatedRoot { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mstidesignatedRoot definition. + + leaf designatedPortid { + mandatory true; + type cml_data_types:CML_UINT16_T; + config false; + } // END of designatedPortid definition. + + leaf mstipathCost { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mstipathCost definition. + + leaf mstiPriority { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of mstiPriority definition. + + leaf messageAge { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageAge definition. + + leaf forwarddelayTimer { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of forwarddelayTimer definition. + + leaf messageageTimer { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageageTimer definition. + + leaf helloTimer { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of helloTimer definition. + + leaf instanceportconfbpduSent { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceportconfbpduSent definition. + + leaf instanceportconfbpduRecieved { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceportconfbpduRecieved definition. + + leaf instanceporttcnbpduSent { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceporttcnbpduSent definition. + + leaf instanceporttcnbpduRecieved { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instanceporttcnbpduRecieved definition. + + leaf cistmessageAge { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistmessageAge definition. + + leaf cistforwardTransition { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistforwardTransition definition. + + leaf portnextState { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of portnextState definition. + + leaf instanceporttopologyChangetime { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of instanceporttopologyChangetime definition. + + leaf bridgemacAddress { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgemacAddress definition. + + leaf stpmulticastAddress { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of stpmulticastAddress definition. + + leaf instanceTopologychangedetected { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instanceTopologychangedetected definition. + + leaf instlastTopologychangerecievedfrom { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instlastTopologychangerecievedfrom definition. + + leaf instancemaxAge { + mandatory true; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instancemaxAge definition. + + leaf instancetopologychangeInitiator { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of instancetopologychangeInitiator definition. + + leaf topologychangeInitiator { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologychangeInitiator definition. + + leaf instancetopologyChange { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instancetopologyChange definition. + + leaf lasttopologychangeRecievedfrom { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of lasttopologychangeRecievedfrom definition. + + leaf configFormat { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of configFormat definition. + + leaf configName { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of configName definition. + + leaf configRevision { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of configRevision definition. + + leaf configDigest { + mandatory true; + type cml_data_types:CML_INT32_T; + config false; + } // END of configDigest definition. + + leaf instanceMstiporttopologyChangetime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of instanceMstiporttopologyChangetime definition. + + leaf instancePortNextState { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of instancePortNextState definition. + + leaf instanceTopologuChangeCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of instanceTopologuChangeCount definition. + + leaf mstiInstancedesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstancedesignatedRoot definition. + + + list mstp_interface { + + + description + "Group of mstp attribute having interface property"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf instportPriority { + mandatory false; + type cml_data_types:CML_INT16_T { + range "0..240"; + } + default "128"; + config true; + } // END of instportPriority definition. + + leaf mstppathCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..20000000"; + } + default "20000000"; + config true; + } // END of mstppathCost definition. + + leaf cistAdminedge { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistAdminedge definition. + + leaf cistOperedge { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistOperedge definition. + + leaf cistPortrole { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of cistPortrole definition. + + leaf portName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portName definition. + + leaf portNumber { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portNumber definition. + + leaf cistpathCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cistpathCost definition. + + leaf cistPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistPriority definition. + + leaf cisthelloTime { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cisthelloTime definition. + + leaf cistforwardDelay { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of cistforwardDelay definition. + + leaf portspanningTree { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portspanningTree definition. + + leaf porttopChangeack { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of porttopChangeack definition. + + leaf configPending { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of configPending definition. + + leaf portconfbpduSent { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portconfbpduSent definition. + + leaf portconfbpduRecieved { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portconfbpduRecieved definition. + + leaf porttcnbpduSent { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttcnbpduSent definition. + + leaf porttcnbpduRecieved { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttcnbpduRecieved definition. + + leaf portForwardTransition { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of portForwardTransition definition. + + leaf helloTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of helloTimerstate definition. + + leaf helloTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of helloTimervalue definition. + + leaf forwardTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of forwardTimerstate definition. + + leaf forwardTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of forwardTimervalue definition. + + leaf messageTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of messageTimerstate definition. + + leaf messageageTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of messageageTimervalue definition. + + leaf topologychangeTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of topologychangeTimerstate definition. + + leaf topologychangeTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of topologychangeTimervalue definition. + + leaf holdTimerstate { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of holdTimerstate definition. + + leaf holdTimervalue { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of holdTimervalue definition. + + leaf messageageExpiry { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of messageageExpiry definition. + + leaf similarbpduCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of similarbpduCount definition. + + leaf sourcemacCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of sourcemacCount definition. + + leaf totalsourcemacRecieved { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of totalsourcemacRecieved definition. + + leaf portcistnextState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of portcistnextState definition. + + leaf porttopologyChangetime { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of porttopologyChangetime definition. + + leaf designatedrootPathcost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of designatedrootPathcost definition. + + leaf designatedInsPortid { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of designatedInsPortid definition. + + leaf mstiInstancedesignatedRoot { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstancedesignatedRoot definition. + + leaf mstiInstanceBridgeId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of mstiInstanceBridgeId definition. + + leaf stpMultiCastAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of stpMultiCastAddr definition. + + leaf instanceBridgeMacAddress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of instanceBridgeMacAddress definition. + + leaf instancetopologyChange { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instancetopologyChange definition. + + leaf instanceTopologychangedetected { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instanceTopologychangedetected definition. + + leaf instlastTopologychangerecievedfrom { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of instlastTopologychangerecievedfrom definition. + + leaf runtimevlanId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of runtimevlanId definition. + + leaf restrictedTCN { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of restrictedTCN definition. + + leaf restrictedRole { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of restrictedRole definition. + + } // End of mstp_interface-list + } // End of mstp-list + } // END of mstp-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/nsmLACP.yang b/yang-files/nsmLACP.yang new file mode 100644 index 00000000..a3f7792b --- /dev/null +++ b/yang-files/nsmLACP.yang @@ -0,0 +1,115 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : nsmLACP.yang +* +*/ + +submodule nsmLACP { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-2 lacp configurations"; + + + revision "2015-10-20" { + description "Revisied on 2015-10-20."; } + + + + grouping nsmlacpInterface-grouping { + list nsmlacpInterface { + + + description + "NSM LACP interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf channelGroup { + mandatory true; + type cml_data_types:CML_UINT16_T { + range "1..65535"; + } + config true; + } // END of channelGroup definition. + + leaf modeOperation { + mandatory true; + type cml_data_types:CML_LACP_MODE_T; + config true; + } // END of modeOperation definition. + + } // End of nsmlacpInterface-list + } // END of nsmlacpInterface-grouping definition. + + + grouping nsmportInterface-grouping { + list nsmportInterface { + + + description + "NSM LACP interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf psc { + mandatory false; + type cml_data_types:CML_LACP_PSC_T; + default "src-dst-mac"; + config true; + } // END of psc definition. + + leaf static-channel-group { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..12"; + } + config true; + } // END of static-channel-group definition. + + } // End of nsmportInterface-list + } // END of nsmportInterface-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/oamBfd.yang b/yang-files/oamBfd.yang new file mode 100644 index 00000000..9fc85ff9 --- /dev/null +++ b/yang-files/oamBfd.yang @@ -0,0 +1,481 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : oamBfd.yang +* +*/ + +submodule oamBfd { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping bfd-grouping { + list bfd { + + + description + "bfd"; + + config true; + key "bfdProcessId"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bfdProcessId { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bfdProcessId definition. + + leaf bfdGtsmState { + mandatory false; + type cml_data_types:CML_BFD_GTSM_STATE_T; + config true; + } // END of bfdGtsmState definition. + + leaf bfdNotificationState { + mandatory false; + type cml_data_types:CML_BFD_SESSION_STATE_T; + config true; + } // END of bfdNotificationState definition. + + leaf bfdEchoState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bfdEchoState definition. + + leaf bfdGtsmTtl { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..255"; + } + default "255"; + config true; + } // END of bfdGtsmTtl definition. + + leaf bfdSlowTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1000..30000"; + } + default "2000"; + config true; + } // END of bfdSlowTimer definition. + + leaf-list bfdMultihopIntervalIpv4Addr { + + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of bfdMultihopIntervalIpv4Addr definition. + + leaf bfdIpv4MultihopMinTx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdIpv4MultihopMinTx definition. + + leaf bfdIpv4MultihopMinRx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdIpv4MultihopMinRx definition. + + leaf bfdIpv4MultihopMulti { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "3..50"; + } + default "3"; + config true; + } // END of bfdIpv4MultihopMulti definition. + + leaf bfdMultihopIntervalIpv6Addr { + mandatory false; + type cml_data_types:CML_IPV6_ADDR_T; + config true; + } // END of bfdMultihopIntervalIpv6Addr definition. + + leaf bfdIpv6MultihopMinTx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdIpv6MultihopMinTx definition. + + leaf bfdIpv6MultihopMinRx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdIpv6MultihopMinRx definition. + + leaf bfdIpv6MultihopMulti { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "3..50"; + } + default "3"; + config true; + } // END of bfdIpv6MultihopMulti definition. + + + list bfdMultihopKeyChain { + + + description + "bfdMultihopKeyChain"; + + config true; + key "bfdMultihopAddr"; + + + leaf bfdMultihopAddr { + mandatory true; + type cml_data_types:CML_IP_ADDR_T; + config true; + } // END of bfdMultihopAddr definition. + + leaf bfdAuthType { + mandatory true; + type cml_data_types:CML_BFD_MULTIHOP_AUTH_TYPE_T; + config true; + } // END of bfdAuthType definition. + + leaf bfdKeyChain { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bfdKeyChain definition. + + } // End of bfdMultihopKeyChain-list + + list bfdMultihopKeyStr { + + + description + "bfdMultihopKeyStr"; + + config true; + key "bfdMultihopAddr"; + + + leaf bfdMultihopAddr { + mandatory true; + type cml_data_types:CML_IP_ADDR_T; + config true; + } // END of bfdMultihopAddr definition. + + leaf bfdAuthType { + mandatory true; + type cml_data_types:CML_BFD_MULTIHOP_AUTH_TYPE_T; + config true; + } // END of bfdAuthType definition. + + leaf bfdMultihopKeyId { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "0..255"; + } + config true; + } // END of bfdMultihopKeyId definition. + + leaf bfdKeyStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bfdKeyStr definition. + + } // End of bfdMultihopKeyStr-list + } // End of bfd-list + } // END of bfd-grouping definition. + + + grouping bfdInterface-grouping { + list bfdInterface { + + + description + "OSPF interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bfdSessionState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bfdSessionState definition. + + leaf bfdIpv4State { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bfdIpv4State definition. + + leaf bfdMinTx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdMinTx definition. + + leaf bfdMinRx { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "50..999"; + } + default "250"; + config true; + } // END of bfdMinRx definition. + + leaf bfdIntervalMultiplier { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "3..50"; + } + default "3"; + config true; + } // END of bfdIntervalMultiplier definition. + + leaf bfdEchoInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967"; + } + default "1000"; + config true; + } // END of bfdEchoInterval definition. + + + list bfdIpv4UserAdd { + + + description + "bfdIpv4UserAdd"; + + config true; + key "bfdUserSrcAddr"; + + + leaf bfdUserSrcAddr { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of bfdUserSrcAddr definition. + + leaf bfdUserDestAddr { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of bfdUserDestAddr definition. + + leaf multihop { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of multihop definition. + + leaf demandMode { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of demandMode definition. + + leaf nonPersistant { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nonPersistant definition. + + leaf adminDown { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of adminDown definition. + + } // End of bfdIpv4UserAdd-list + + list bfdIpv6UserAdd { + + + description + "bfdIpv6UserAdd"; + + config true; + key "bfdIpv6UserSrcAddr"; + + + leaf bfdIpv6UserSrcAddr { + mandatory true; + type cml_data_types:CML_IPV6_ADDR_T; + config true; + } // END of bfdIpv6UserSrcAddr definition. + + leaf bfdIpv6UserDestAddr { + mandatory true; + type cml_data_types:CML_IPV6_ADDR_T; + config true; + } // END of bfdIpv6UserDestAddr definition. + + leaf ipv6Multihop { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ipv6Multihop definition. + + leaf ipv6DemandMode { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ipv6DemandMode definition. + + leaf ipv6NonPersistant { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ipv6NonPersistant definition. + + leaf ipv6AdminDown { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ipv6AdminDown definition. + + } // End of bfdIpv6UserAdd-list + + list bfdIfAuthKeyChain { + + + description + "bfdIfAuthKeyChain"; + + config true; + key "bfdIfAuthType"; + + + leaf bfdIfAuthType { + mandatory true; + type cml_data_types:CML_BFD_MULTIHOP_AUTH_TYPE_T; + config true; + } // END of bfdIfAuthType definition. + + leaf bfdIfKeyChain { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bfdIfKeyChain definition. + + } // End of bfdIfAuthKeyChain-list + + list bfdIfAuthKeyStr { + + + description + "bfdIfAuthKeyStr"; + + config true; + key "bfdIfAuthType"; + + + leaf bfdIfAuthType { + mandatory true; + type cml_data_types:CML_BFD_MULTIHOP_AUTH_TYPE_T; + config true; + } // END of bfdIfAuthType definition. + + leaf bfdIfKeyId { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "0..255"; + } + config true; + } // END of bfdIfKeyId definition. + + leaf bfdIfKeyStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of bfdIfKeyStr definition. + + } // End of bfdIfAuthKeyStr-list + } // End of bfdInterface-list + } // END of bfdInterface-grouping definition. + + grouping oamMpls-grouping { + container oamMpls { + + config true; + + description + "oamMpls"; + + leaf pingRequest { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of pingRequest definition. + + leaf pingReply { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of pingReply definition. + + } // END of oamMpls-container definition. + } // END of oamMpls-container definition. + + +} \ No newline at end of file diff --git a/yang-files/ospf.yang b/yang-files/ospf.yang new file mode 100644 index 00000000..f38066ed --- /dev/null +++ b/yang-files/ospf.yang @@ -0,0 +1,3697 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : ospf.yang +* +*/ + +submodule ospf { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vrf; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-3 ospf configurations"; + + + revision "2015-04-25" { + description "Revisied on 2015-04-25."; } + + + + grouping ospf-grouping { + list ospf { + + + description + "ospf"; + + config true; + key "ospfProcessId"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ospfProcessId { + mandatory true; + type cml_data_types:CML_INT32_T { + range "0..65535"; + } + config true; + } // END of ospfProcessId definition. + + leaf ospfShutDown { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospfShutDown definition. + + leaf domainType { + mandatory false; + type cml_data_types:CML_OSPF_DOMAIN_TYPE_T; + config true; + } // END of domainType definition. + + leaf nullDomainValue { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nullDomainValue definition. + + leaf domainValue { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of domainValue definition. + + leaf isPrimaryDomainId { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isPrimaryDomainId definition. + + leaf passiveIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of passiveIfName definition. + + leaf isPassiveInterface { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isPassiveInterface definition. + + leaf passiveIfIpAddr { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of passiveIfIpAddr definition. + + leaf isPassiveIfDefault { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isPassiveIfDefault definition. + + leaf areaBorderType { + mandatory false; + type cml_data_types:CML_OSPF_ABR_TYPE_T; + default "cisco"; + config true; + } // END of areaBorderType definition. + + leaf spfStartDelay { + mandatory false; + type cml_data_types:CML_UINT32_T; + config true; + } // END of spfStartDelay definition. + + leaf spfMinDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..2147483647"; + } + default "500"; + config true; + } // END of spfMinDelay definition. + + leaf spfMaxDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..2147483647"; + } + default "5000"; + config true; + } // END of spfMaxDelay definition. + + leaf throttleTimersStartDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..600000"; + } + default "0"; + config true; + } // END of throttleTimersStartDelay definition. + + leaf holdInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..600000"; + } + default "5000"; + config true; + } // END of holdInterval definition. + + leaf throttleTimersMaxDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..600000"; + } + default "5000"; + config true; + } // END of throttleTimersMaxDelay definition. + + leaf lsaMinArrival { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..600000"; + } + default "1"; + config true; + } // END of lsaMinArrival definition. + + leaf referenceBandwidth { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..4294967"; + } + default "100000"; + config true; + } // END of referenceBandwidth definition. + + leaf maxDBDescriptor { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..65535"; + } + default "5000"; + config true; + } // END of maxDBDescriptor definition. + + leaf maxUnusePackets { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + default "200"; + config true; + } // END of maxUnusePackets definition. + + leaf maxLsaPacket { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + default "200"; + config true; + } // END of maxLsaPacket definition. + + leaf lsdbExternalLimit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..2147483647"; + } + default "100000"; + config true; + } // END of lsdbExternalLimit definition. + + leaf exitOverflowInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..65535"; + } + default "0"; + config true; + } // END of exitOverflowInterval definition. + + leaf metricValue { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..16777214"; + } + default "2"; + config true; + } // END of metricValue definition. + + leaf adminDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + default "110"; + config true; + } // END of adminDistance definition. + + leaf restartMethod { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of restartMethod definition. + + leaf restartMethodLls { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of restartMethodLls definition. + + leaf logAdjacencyDebugType { + mandatory false; + type cml_data_types:CML_STRING_T; + default "breif"; + config true; + } // END of logAdjacencyDebugType definition. + + leaf maxAreaLimit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..4294967294"; + } + config true; + } // END of maxAreaLimit definition. + + leaf trapFlagBit { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of trapFlagBit definition. + + leaf bandwidthType { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of bandwidthType definition. + + leaf lsdbLimit { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967294"; + } + default "0"; + config true; + } // END of lsdbLimit definition. + + leaf actionType { + mandatory false; + type cml_data_types:CML_OSPF_ACTION_TYPE_T; + default "soft"; + config true; + } // END of actionType definition. + + leaf isLsdbLimit { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isLsdbLimit definition. + + leaf tieBreakField { + mandatory false; + type cml_data_types:CML_STRING_T; + default "random"; + config true; + } // END of tieBreakField definition. + + leaf cspfTieBreakField { + mandatory false; + type cml_data_types:CML_STRING_T; + default "random"; + config true; + } // END of cspfTieBreakField definition. + + leaf retryInterval { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..3600"; + } + default "1"; + config true; + } // END of retryInterval definition. + + leaf cspfRetryInterval { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..3600"; + } + default "1"; + config true; + } // END of cspfRetryInterval definition. + + leaf isCompitableRfc1583 { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isCompitableRfc1583 definition. + + leaf checkCompatibleRfc1583 { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of checkCompatibleRfc1583 definition. + + leaf isCSPF { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isCSPF definition. + + leaf isEnableCSPF { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isEnableCSPF definition. + + leaf isTE { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isTE definition. + + leaf isEnableTE { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isEnableTE definition. + + leaf isOpaqueLsa { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isOpaqueLsa definition. + + leaf checkOpaqueLsa { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of checkOpaqueLsa definition. + + leaf refreshTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "10..1800"; + } + default "10"; + config true; + } // END of refreshTimer definition. + + leaf dbSummaryOpt { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of dbSummaryOpt definition. + + leaf capabilityVrfLite { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of capabilityVrfLite definition. + + leaf accessListName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of accessListName definition. + + leaf-list routeSourceDistType { + + type cml_data_types:CML_OSPF_DIST_ROUTE_SOURCE_TYPE_T; + config true; + } // END of routeSourceDistType definition. + + leaf-list secondaryOspfProcId { + + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of secondaryOspfProcId definition. + + leaf isDistributeListIn { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isDistributeListIn definition. + + leaf opaqueAsDesc { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAsDesc definition. + + leaf opaqueAsIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAsIfName definition. + + leaf opaqueAsAdvRouter { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAsAdvRouter definition. + + leaf opaqueAsType { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of opaqueAsType definition. + + leaf opaqueAsId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueAsId definition. + + leaf opaqueAsLength { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueAsLength definition. + + leaf opaqueAreaDesc { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAreaDesc definition. + + leaf opaqueAreaIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAreaIfName definition. + + leaf opaqueAreaAdvRouter { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueAreaAdvRouter definition. + + leaf opaqueAreaType { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of opaqueAreaType definition. + + leaf opaqueAreaId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueAreaId definition. + + leaf opaqueAreaLength { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueAreaLength definition. + + leaf opaqueLinkDesc { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueLinkDesc definition. + + leaf opaqueLinkIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueLinkIfName definition. + + leaf opaqueLinkAdvRouter { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of opaqueLinkAdvRouter definition. + + leaf opaqueLinkType { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of opaqueLinkType definition. + + leaf opaqueLinkId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueLinkId definition. + + leaf opaqueLinkLength { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of opaqueLinkLength definition. + + leaf teUnResBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teUnResBWState definition. + + leaf teUnResBWPrio { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teUnResBWPrio definition. + + leaf teResourceColorState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teResourceColorState definition. + + leaf teResourceColorVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teResourceColorVal definition. + + leaf teRemoteId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teRemoteId definition. + + leaf teLocalId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLocalId definition. + + leaf teLinkLocalRemoteIdState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkLocalRemoteIdState definition. + + leaf teLinkSwitchCapState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkSwitchCapState definition. + + leaf teSwitchCap { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teSwitchCap definition. + + leaf teEncodeType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teEncodeType definition. + + leaf teMaxLspBWPriCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teMaxLspBWPriCount definition. + + leaf teMaxLspBWPri { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMaxLspBWPri definition. + + leaf teMinLspBW { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMinLspBW definition. + + leaf teCapMtu { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teCapMtu definition. + + leaf teRiskGrpState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teRiskGrpState definition. + + leaf teProtectionState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teProtectionState definition. + + leaf teProtectionType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teProtectionType definition. + + leaf teRiskGrpVal { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of teRiskGrpVal definition. + + leaf vrfIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrfIfName definition. + + leaf vrfIvName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrfIvName definition. + + leaf igpShortcutDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of igpShortcutDetail definition. + + leaf igpShortcutLspDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of igpShortcutLspDetail definition. + + leaf lspP2mpId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspP2mpId definition. + + leaf lspId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspId definition. + + leaf lspIngress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspIngress definition. + + leaf lspEgress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspEgress definition. + + leaf lspExTunnelId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspExTunnelId definition. + + leaf lspType { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspType definition. + + leaf lspClientId { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspClientId definition. + + leaf lspState { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspState definition. + + leaf lspSetupPri { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspSetupPri definition. + + leaf lspHoldPri { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspHoldPri definition. + + leaf lspBidirectionalStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspBidirectionalStatus definition. + + leaf lspBandwidth { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspBandwidth definition. + + leaf lspBWStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspBWStat definition. + + leaf lspHopLimit { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspHopLimit definition. + + leaf lspAdmControl { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspAdmControl definition. + + leaf lspIncludeMask { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspIncludeMask definition. + + leaf lspExcludeMask { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspExcludeMask definition. + + leaf lspAttrRetry { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspAttrRetry definition. + + leaf lspRetryInt { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lspRetryInt definition. + + leaf lspRetryLimit { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lspRetryLimit definition. + + leaf lspTeMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspTeMetric definition. + + leaf lspPathStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspPathStat definition. + + leaf lspPathDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspPathDetail definition. + + leaf lspExcludePathStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspExcludePathStat definition. + + leaf lspExcludePathDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspExcludePathDetail definition. + + leaf lspSwitchCapStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspSwitchCapStat definition. + + leaf lspSwitchCapEncodeType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspSwitchCapEncodeType definition. + + leaf lspSwitchCap { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspSwitchCap definition. + + leaf lspProtectionRev { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspProtectionRev definition. + + leaf lspProtectionFwd { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspProtectionFwd definition. + + leaf lspAttrProtectionStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspAttrProtectionStat definition. + + leaf lspRouteStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspRouteStat definition. + + leaf lspRouteDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspRouteDetail definition. + + leaf lspSrlgDetail { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspSrlgDetail definition. + + leaf lspSrlgStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspSrlgStat definition. + + leaf multiAreaIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiAreaIfName definition. + + leaf multiAreaNbrAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiAreaNbrAddr definition. + + leaf isMultiIpv4Num { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isMultiIpv4Num definition. + + leaf multiIdentAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIdentAddr definition. + + leaf multiAreaDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiAreaDetail definition. + + leaf multiMtuVal { + mandatory false; + type cml_data_types:CML_INT8_T; + config false; + } // END of multiMtuVal definition. + + leaf multiNetworkMsg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiNetworkMsg definition. + + leaf multiOutputCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiOutputCost definition. + + leaf transmitInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of transmitInt definition. + + leaf multiTransmitState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiTransmitState definition. + + leaf multiTeMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiTeMetric definition. + + leaf dbFilterGetState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of dbFilterGetState definition. + + leaf multiHelloInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiHelloInt definition. + + leaf multiDeadInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiDeadInt definition. + + leaf multiRetransmitInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiRetransmitInt definition. + + leaf restartMethodTypeState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of restartMethodTypeState definition. + + leaf restartOOBResyncTimeout { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of restartOOBResyncTimeout definition. + + leaf multiIfTypeLoopbackState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIfTypeLoopbackState definition. + + leaf ifPassiveState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of ifPassiveState definition. + + leaf multiHelloTimeDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiHelloTimeDueIn definition. + + leaf multiNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiNbrCountAll definition. + + leaf multiAdjacentNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiAdjacentNbrCountAll definition. + + leaf multiCrypto { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiCrypto definition. + + leaf multiHelloPacketDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiHelloPacketDetail definition. + + leaf multiLSReqDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiLSReqDetail definition. + + leaf multiLSAckDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiLSAckDetail definition. + + leaf teDBRTAddrLsaAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teDBRTAddrLsaAge definition. + + leaf teDBLinkLsaAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teDBLinkLsaAge definition. + + leaf teOpaqueType { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teOpaqueType definition. + + leaf teLsaHeaderTypeMsg { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLsaHeaderTypeMsg definition. + + leaf teLsaHeaderType { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of teLsaHeaderType definition. + + leaf teLsaOptions { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of teLsaOptions definition. + + leaf teInstance { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teInstance definition. + + leaf teAdvrRouter { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teAdvrRouter definition. + + leaf teLSSeqNum { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teLSSeqNum definition. + + leaf teLSChecksum { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of teLSChecksum definition. + + leaf teLength { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of teLength definition. + + leaf teRouterState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teRouterState definition. + + leaf teRouterAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teRouterAddr definition. + + leaf teLinkTypeState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkTypeState definition. + + leaf teLinkType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLinkType definition. + + leaf teLinkIdState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkIdState definition. + + leaf teLinkId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLinkId definition. + + leaf teLocalInterfaceState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLocalInterfaceState definition. + + leaf teLocalInterfaceAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLocalInterfaceAddr definition. + + leaf teRemoteInterfaceState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teRemoteInterfaceState definition. + + leaf teRemoteInterfaceAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teRemoteInterfaceAddr definition. + + leaf teLinkMetricState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkMetricState definition. + + leaf teLinkMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of teLinkMetric definition. + + leaf teMaxResBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teMaxResBWState definition. + + leaf teMaxResBW { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMaxResBW definition. + + leaf teMaxBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teMaxBWState definition. + + leaf teMaxBW { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMaxBW definition. + + leaf teLinkAttrBc { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkAttrBc definition. + + leaf teBWConsModel { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of teBWConsModel definition. + + leaf teBWCons { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teBWCons definition. + + leaf teBWCtr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teBWCtr definition. + + leaf ibufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ibufSize definition. + + leaf lsaunuseCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lsaunuseCount definition. + + leaf lsaunuseMax { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lsaunuseMax definition. + + leaf opunuseMax { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of opunuseMax definition. + + leaf opunuseCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of opunuseCount definition. + + leaf obufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of obufSize definition. + + leaf lbufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lbufSize definition. + + leaf abrDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of abrDetail definition. + + leaf asbrDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of asbrDetail definition. + + leaf isOspfPathTypeTwo { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isOspfPathTypeTwo definition. + + leaf isOspfPathDiscard { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isOspfPathDiscard definition. + + leaf isOspfNextHopCon { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isOspfNextHopCon definition. + + leaf isOspfPathCodeArea { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isOspfPathCodeArea definition. + + leaf ospfPathAreaDetails { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathAreaDetails definition. + + leaf ospfPathIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathIfName definition. + + leaf ospfPathNbrId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathNbrId definition. + + leaf ospfPathCodeStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathCodeStr definition. + + leaf ospfPathCodeNStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathCodeNStr definition. + + leaf ospfPathCodePrefix { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathCodePrefix definition. + + leaf ospfPathCodeCostPrefix { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ospfPathCodeCostPrefix definition. + + leaf areaCount { + mandatory false; + type cml_data_types:CML_INT8_T; + config false; + } // END of areaCount definition. + + leaf vrfNameStat { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrfNameStat definition. + + leaf lttMaxDelayMic { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttMaxDelayMic definition. + + leaf lttHoldIntMic { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttHoldIntMic definition. + + leaf lttStartDelayMic { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttStartDelayMic definition. + + leaf lttArivalDelayMic { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttArivalDelayMic definition. + + leaf abrType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of abrType definition. + + leaf isAbrType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isAbrType definition. + + leaf lttArivalDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttArivalDelay definition. + + leaf lttMaxDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttMaxDelay definition. + + leaf lttHoldInt { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttHoldInt definition. + + leaf lttStartDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lttStartDelay definition. + + leaf maxSpfDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of maxSpfDelay definition. + + leaf minSpfDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of minSpfDelay definition. + + leaf processUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of processUpTime definition. + + leaf restartMethodType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of restartMethodType definition. + + leaf dbOverFlow { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of dbOverFlow definition. + + leaf tOverFlowExit { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of tOverFlowExit definition. + + leaf ddReceived { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of ddReceived definition. + + leaf outDdSent { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of outDdSent definition. + + leaf externalLsaCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalLsaCount definition. + + leaf externalLsaChecksum { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalLsaChecksum definition. + + leaf nonDefaultExternalLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of nonDefaultExternalLsa definition. + + leaf isLsdbLimitR { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isLsdbLimitR definition. + + leaf isLsdbExtLimit { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isLsdbExtLimit definition. + + leaf isVrfEnabled { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isVrfEnabled definition. + + leaf asbrType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of asbrType definition. + + leaf lsdbExtLimit { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lsdbExtLimit definition. + + leaf restartType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of restartType definition. + + leaf lsdbLimitR { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lsdbLimitR definition. + + leaf lsaOriginateCount { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lsaOriginateCount definition. + + leaf refreshInterval { + mandatory false; + type cml_data_types:CML_INT16_T; + config false; + } // END of refreshInterval definition. + + leaf rxLsaCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of rxLsaCount definition. + + leaf distanceAccessListName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of distanceAccessListName definition. + + leaf sourceIpAddr { + mandatory false; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of sourceIpAddr definition. + + leaf isAllDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of isAllDistance definition. + + leaf routerId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of routerId definition. + + leaf ospfRouterId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of ospfRouterId definition. + + leaf isLogAdjSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isLogAdjSet definition. + + leaf isFrrSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isFrrSet definition. + + leaf isDna { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isDna definition. + + leaf cspfProctectionType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of cspfProctectionType definition. + + leaf isBfdIfSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isBfdIfSet definition. + + leaf mlinkNbr { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of mlinkNbr definition. + + + list ospfVrf { + + + description + "ospfVrf"; + + config true; + key "vrfName"; + + + leaf vrfName { + mandatory true; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + } // End of ospfVrf-list + + list ospfDefaultInformation { + + + description + "ospfDefaultInformation"; + + config true; + key "defaultOrigin"; + + + leaf defaultOrigin { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of defaultOrigin definition. + + leaf defaultAlways { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of defaultAlways definition. + + leaf defaultMetric { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..16777214"; + } + default "0"; + config true; + } // END of defaultMetric definition. + + leaf defaultMetricType { + mandatory false; + type cml_data_types:CML_OSPF_METRIC_TYPE_T; + default "2"; + config true; + } // END of defaultMetricType definition. + + leaf redistRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of redistRouteMapName definition. + + } // End of ospfDefaultInformation-list + + list frrTieBreak { + + + description + "frrTieBreak"; + + config true; + key "frrTieBreakVal"; + + + leaf frrTieBreakVal { + mandatory true; + type cml_data_types:CML_OSPF_FRR_TIE_BREAK_VAL_T; + config true; + } // END of frrTieBreakVal definition. + + leaf frrTieBreakIndex { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..10"; + } + config true; + } // END of frrTieBreakIndex definition. + + leaf isFrrPrioSet { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isFrrPrioSet definition. + + } // End of frrTieBreak-list + + list summaryAddress { + + + description + "summaryAddress"; + + config true; + key "summaryAddr"; + + + leaf summaryAddr { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of summaryAddr definition. + + leaf summaryAddrMask { + mandatory true; + type cml_data_types:CML_INT32_T; + config true; + } // END of summaryAddrMask definition. + + leaf summaryAddressNotAdvertise { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of summaryAddressNotAdvertise definition. + + leaf addressTag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of addressTag definition. + + } // End of summaryAddress-list + + list hostAddr { + + + description + "hostAddr"; + + config true; + key "hostIpAddr"; + + + leaf hostIpAddr { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of hostIpAddr definition. + + + list hostArea { + + + description + "hostArea"; + + config true; + key "hostAreaId"; + + + leaf hostAreaId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of hostAreaId definition. + + leaf hostEntryCost { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..65535"; + } + config true; + } // END of hostEntryCost definition. + + } // End of hostArea-list + } // End of hostAddr-list + + list area { + + + description + "area"; + + config true; + key "areaId"; + + + leaf areaId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of areaId definition. + + leaf areaAuthType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of areaAuthType definition. + + leaf areaAuthMsgType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of areaAuthMsgType definition. + + leaf exportListName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of exportListName definition. + + leaf importListName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of importListName definition. + + leaf areaCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777215"; + } + default "1"; + config true; + } // END of areaCost definition. + + leaf areaShortcutType { + mandatory false; + type cml_data_types:CML_OSPF_AREA_SHORTCUT_TYPE_T; + default "default"; + config true; + } // END of areaShortcutType definition. + + leaf addrAggrType { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of addrAggrType definition. + + leaf mask { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of mask definition. + + leaf areaAggrStatus { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of areaAggrStatus definition. + + leaf areaAggrEffect { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of areaAggrEffect definition. + + leaf routeTag { + mandatory false; + type cml_data_types:CML_UINT32_T; + config true; + } // END of routeTag definition. + + leaf isAreaBackbone { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isAreaBackbone definition. + + leaf isAreaActive { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isAreaActive definition. + + leaf areaIdStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of areaIdStr definition. + + leaf areaIfCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaIfCount definition. + + leaf activeIfCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of activeIfCount definition. + + leaf fullVirtNbrCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of fullVirtNbrCount definition. + + leaf checkSumLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of checkSumLsa definition. + + leaf countLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of countLsa definition. + + leaf spfLastExec { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of spfLastExec definition. + + leaf nssaTransState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nssaTransState definition. + + leaf nssaTransEventCount { + mandatory false; + type cml_data_types:CML_INT8_T; + config false; + } // END of nssaTransEventCount definition. + + leaf fullAdjacentNbr { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of fullAdjacentNbr definition. + + leaf spfExecutionCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of spfExecutionCount definition. + + + list filterPrefixList { + + + description + "filterPrefixList"; + + config true; + key "prefixName"; + + + leaf prefixName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of prefixName definition. + + + list filterPrefixType { + + + description + "filterPrefixType"; + + config true; + key "prefixType"; + + + leaf prefixType { + mandatory true; + type cml_data_types:CML_OSPF_AREA_FILTER_LIST_PREFIX_T; + config true; + } // END of prefixType definition. + + } // End of filterPrefixType-list + } // End of filterPrefixList-list + + list filterAccessList { + + + description + "filterAccessList"; + + config true; + key "accessName"; + + + leaf accessName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of accessName definition. + + + list filterAccessType { + + + description + "filterAccessType"; + + config true; + key "accessType"; + + + leaf accessType { + mandatory true; + type cml_data_types:CML_OSPF_AREA_FILTER_LIST_PREFIX_T; + config true; + } // END of accessType definition. + + } // End of filterAccessType-list + } // End of filterAccessList-list + + list rangeArea { + + + description + "rangeArea"; + + config true; + key "ospfAreaRange"; + + + leaf ospfAreaRange { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of ospfAreaRange definition. + + leaf isAreaRangeAdvertise { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isAreaRangeAdvertise definition. + + leaf isAreaRangeNotAdvertise { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isAreaRangeNotAdvertise definition. + + leaf substituteAddr { + mandatory false; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of substituteAddr definition. + + } // End of rangeArea-list + + list rangeMaskArea { + + + description + "rangeMaskArea"; + + config true; + key "areaRange"; + + + leaf areaRange { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of areaRange definition. + + + list rangeMaskLenArea { + + + description + "rangeMaskLenArea"; + + config true; + key "areaRangeMask"; + + + leaf areaRangeMask { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of areaRangeMask definition. + + leaf rangeMaskAdvertise { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of rangeMaskAdvertise definition. + + leaf rangeMaskNotAdvertise { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of rangeMaskNotAdvertise definition. + + } // End of rangeMaskLenArea-list + } // End of rangeMaskArea-list + + list nssaArea { + + + description + "nssaArea"; + + config true; + key "isNssaArea"; + + + leaf isNssaArea { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isNssaArea definition. + + leaf nssaStabilityInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..2147483647"; + } + default "40"; + config true; + } // END of nssaStabilityInterval definition. + + leaf nssaTranslatorRole { + mandatory false; + type cml_data_types:CML_OSPF_TRANSLATOR_ROLE_T; + config true; + } // END of nssaTranslatorRole definition. + + leaf nssaDefaultOriginMetric { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..16777214"; + } + default "1"; + config true; + } // END of nssaDefaultOriginMetric definition. + + leaf nssaDefaultOriginMetricType { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..2"; + } + config true; + } // END of nssaDefaultOriginMetricType definition. + + leaf isNssaNoDist { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isNssaNoDist definition. + + leaf isNssaDefaultOriginate { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isNssaDefaultOriginate definition. + + leaf nssaAreaNoSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nssaAreaNoSummary definition. + + leaf nssaRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of nssaRouteMapName definition. + + container nssaAreaTranslator { + + config true; + + description + "nssaAreaTranslator"; + + leaf nssaAreaTranslatorRole { + mandatory false; + type cml_data_types:CML_OSPF_NSSA_TRANSLATOR_ROLE_T; + config true; + } // END of nssaAreaTranslatorRole definition. + + } // END of nssaAreaTranslator-container definition. + } // End of nssaArea-list + + list stubArea { + + + description + "stubArea"; + + config true; + key "isStubArea"; + + + leaf isStubArea { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isStubArea definition. + + leaf stubAreaNoSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of stubAreaNoSummary definition. + + } // End of stubArea-list + + list vlinkArea { + + + description + "vlinkArea"; + + config true; + key "peerId"; + + + leaf peerId { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of peerId definition. + + leaf virtMsgDigestKeyId { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "0..255"; + } + config true; + } // END of virtMsgDigestKeyId definition. + + leaf virtMsgDigestKeyStr { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of virtMsgDigestKeyStr definition. + + leaf ifVirtAuthKey { + mandatory false; + type cml_data_types:CML_OSPF_VIRT_AUTH_KEY_T; + config true; + } // END of ifVirtAuthKey definition. + + leaf virtIfRetransIntvl { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..3600"; + } + default "5"; + config true; + } // END of virtIfRetransIntvl definition. + + leaf ifVirtTransmitDelay { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..3600"; + } + default "1"; + config true; + } // END of ifVirtTransmitDelay definition. + + leaf ifVirtHelloInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ifVirtHelloInterval definition. + + leaf ifVirtDeadInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + default "40"; + config true; + } // END of ifVirtDeadInterval definition. + + leaf ifVirtAuthType { + mandatory false; + type cml_data_types:CML_OSPF_VIRT_AUTH_TYPE_T; + config true; + } // END of ifVirtAuthType definition. + + leaf vlinkName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkName definition. + + leaf vlinkStat { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkStat definition. + + leaf vlinkInterface { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkInterface definition. + + leaf vlinkIdentAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkIdentAddr definition. + + leaf vlinkRemoteAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkRemoteAddr definition. + + leaf vlinkTransDelayState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkTransDelayState definition. + + leaf vlinkHelloTimeDump { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkHelloTimeDump definition. + + leaf vlinkNbrState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkNbrState definition. + + leaf isVlinkBfdSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isVlinkBfdSet definition. + + } // End of vlinkArea-list + } // End of area-list + + list network { + + + description + "network"; + + config true; + key "ospfNetAddr"; + + + leaf ospfNetAddr { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of ospfNetAddr definition. + + + list networkArea { + + + description + "networkArea"; + + config true; + key "networkAreaId"; + + + leaf networkAreaId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of networkAreaId definition. + + leaf ospfInterfaceInstanceId { + mandatory true; + type cml_data_types:CML_INT16_T { + range "0..255"; + } + config true; + } // END of ospfInterfaceInstanceId definition. + + } // End of networkArea-list + } // End of network-list + + list networkMask { + + + description + "networkMask"; + + config true; + key "ospfNetAddrMask"; + + + leaf ospfNetAddrMask { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of ospfNetAddrMask definition. + + leaf netMask { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of netMask definition. + + leaf networkAreaIdMask { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of networkAreaIdMask definition. + + leaf ospfInterfaceInstanceIdMask { + mandatory true; + type cml_data_types:CML_INT16_T { + range "0..255"; + } + config true; + } // END of ospfInterfaceInstanceIdMask definition. + + } // End of networkMask-list + + list neighborRun { + + + description + "neighborRun"; + + config false; + key "neighborViaInterfaceName"; + + + leaf neighborViaInterfaceName { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborViaInterfaceName definition. + + leaf neighborDownState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of neighborDownState definition. + + leaf neighborPri { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of neighborPri definition. + + leaf neighborInstanceId { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of neighborInstanceId definition. + + leaf neighborState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborState definition. + + leaf neighborInterfaceAddress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborInterfaceAddress definition. + + leaf neighborViaInterfaceNamePvt { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborViaInterfaceNamePvt definition. + + leaf neighborId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config false; + } // END of neighborId definition. + + leaf neighborInterfaceInputAddress { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config false; + } // END of neighborInterfaceInputAddress definition. + + leaf neighborDeadTimeDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborDeadTimeDueIn definition. + + leaf neighborRetransmitCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborRetransmitCount definition. + + leaf neighborRequestCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborRequestCount definition. + + leaf neighborDbSummaryCount { + mandatory false; + type cml_data_types:CML_INT8_T; + config false; + } // END of neighborDbSummaryCount definition. + + leaf neighborArea { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborArea definition. + + leaf neighborChangeState { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborChangeState definition. + + leaf neighborDRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborDRouterId definition. + + leaf neighborBDRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborBDRouterId definition. + + leaf neighborOptions { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborOptions definition. + + leaf neighborOptionDump { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborOptionDump definition. + + leaf neighborExtendedOptions { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborExtendedOptions definition. + + leaf neighborExtendedOptionDump { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborExtendedOptionDump definition. + + leaf restartState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of restartState definition. + + leaf neighborUptime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborUptime definition. + + leaf neighborOOBResyncState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of neighborOOBResyncState definition. + + leaf neighborLastOOBState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of neighborLastOOBState definition. + + leaf neighborTResyncState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of neighborTResyncState definition. + + leaf neighborTResync { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborTResync definition. + + leaf neighborOOBUptime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborOOBUptime definition. + + leaf neighborPollDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborPollDueIn definition. + + leaf cryptSeqNum { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of cryptSeqNum definition. + + leaf neighborThreadInactivityTimer { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborThreadInactivityTimer definition. + + leaf neighborThreadDBDescriptionRetransmition { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborThreadDBDescriptionRetransmition definition. + + leaf neighborLsRequestRetransmition { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborLsRequestRetransmition definition. + + leaf neighborLsUpdateRetransmition { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborLsUpdateRetransmition definition. + + leaf neighborThreadPolltimer { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborThreadPolltimer definition. + + } // End of neighborRun-list + + list neighbor { + + + description + "neighbor"; + + config true; + key "neighborIpAddr"; + + + leaf neighborIpAddr { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of neighborIpAddr definition. + + leaf neighborStaticPriority { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "0..255"; + } + default "0"; + config true; + } // END of neighborStaticPriority definition. + + leaf nbrPollInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..2147483647"; + } + default "120"; + config true; + } // END of nbrPollInterval definition. + + leaf neighborCost { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..65535"; + } + default "10"; + config true; + } // END of neighborCost definition. + + } // End of neighbor-list + + list redistributeProc { + + + description + "redistributeProc"; + + config true; + key "secondaryOspfProcessId"; + + + leaf secondaryOspfProcessId { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of secondaryOspfProcessId definition. + + leaf redistMetricType { + mandatory false; + type cml_data_types:CML_OSPF_METRIC_TYPE_T; + default "2"; + config true; + } // END of redistMetricType definition. + + leaf redistMetricValue { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..16777214"; + } + default "0"; + config true; + } // END of redistMetricValue definition. + + leaf redistTag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of redistTag definition. + + leaf routeMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of routeMapName definition. + + } // End of redistributeProc-list + + list redistribute { + + + description + "redistribute"; + + config true; + key "routeSourceType"; + + + leaf routeSourceType { + mandatory true; + type cml_data_types:CML_OSPF_ROUTE_SOURCE_TYPE_T; + config true; + } // END of routeSourceType definition. + + leaf redistMetricType { + mandatory false; + type cml_data_types:CML_OSPF_METRIC_TYPE_T; + config true; + } // END of redistMetricType definition. + + leaf redistMetricValue { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..16777214"; + } + config true; + } // END of redistMetricValue definition. + + leaf redistTag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of redistTag definition. + + leaf routeMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of routeMapName definition. + + } // End of redistribute-list + container distanceTypes { + + config true; + + description + "distanceTypes"; + + leaf intraAreaDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + default "110"; + config true; + } // END of intraAreaDistance definition. + + leaf interAreaDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + default "110"; + config true; + } // END of interAreaDistance definition. + + leaf externalDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + default "110"; + config true; + } // END of externalDistance definition. + + } // END of distanceTypes-container definition. + } // End of ospf-list + } // END of ospf-grouping definition. + + + grouping ospfInterface-grouping { + list ospfInterface { + + + description + "OSPF interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf ifNetworkType { + mandatory false; + type cml_data_types:CML_OSPF_NETWORK_T; + default "point-to-point"; + config true; + } // END of ifNetworkType definition. + + leaf isNetworkP2mp { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isNetworkP2mp definition. + + leaf ifAuthType { + mandatory false; + type cml_data_types:CML_OSPF_AUTH_TYPE_T; + default "simple"; + config true; + } // END of ifAuthType definition. + + leaf ipOspfAddr { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of ipOspfAddr definition. + + leaf ifPriority { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "0..255"; + } + default "1"; + config true; + } // END of ifPriority definition. + + leaf ifMtu { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "576..65535"; + } + default "576"; + config true; + } // END of ifMtu definition. + + leaf ifCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ifCost definition. + + leaf fastRerouteIfSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of fastRerouteIfSet definition. + + leaf holdDownTimer { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..2147483"; + } + default "70000"; + config true; + } // END of holdDownTimer definition. + + leaf isMtuIgnore { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isMtuIgnore definition. + + leaf ifTransmitDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..3600"; + } + default "1"; + config true; + } // END of ifTransmitDelay definition. + + leaf ifDisableAll { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifDisableAll definition. + + leaf ifRetransmitInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "5"; + config true; + } // END of ifRetransmitInterval definition. + + leaf ifHelloInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ifHelloInterval definition. + + leaf ifDeadInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "40"; + config true; + } // END of ifDeadInterval definition. + + leaf ifAuthKeyEncryption { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifAuthKeyEncryption definition. + + leaf ifAuthKey { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifAuthKey definition. + + leaf ifDatabaseFilter { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifDatabaseFilter definition. + + leaf msgDigestKeyId { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..255"; + } + config true; + } // END of msgDigestKeyId definition. + + leaf msgDigestKeyEncryption { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of msgDigestKeyEncryption definition. + + leaf msgifAuthKey { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of msgifAuthKey definition. + + leaf ifTEMetric { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "1"; + config true; + } // END of ifTEMetric definition. + + leaf ifResyncTimeout { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "40"; + config true; + } // END of ifResyncTimeout definition. + + leaf ifOpsfProcId { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..65535"; + } + config true; + } // END of ifOpsfProcId definition. + + leaf ifOspfAreaId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifOspfAreaId definition. + + leaf ifBfdSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifBfdSet definition. + + leaf ifBfdDisable { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifBfdDisable definition. + + leaf isIfRunning { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isIfRunning definition. + + leaf inputIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of inputIfName definition. + + leaf intName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of intName definition. + + leaf ifIdentAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifIdentAddr definition. + + leaf ifpCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifpCost definition. + + leaf isIpv4Unnumbered { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isIpv4Unnumbered definition. + + leaf isIfPriStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isIfPriStatus definition. + + leaf isMultiIf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isMultiIf definition. + + leaf isMultiIfPriStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isMultiIfPriStatus definition. + + leaf ifAreaDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifAreaDetail definition. + + leaf ifProcId { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of ifProcId definition. + + leaf ifRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifRouterId definition. + + leaf ifIntNetworkType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifIntNetworkType definition. + + leaf ifTransDelayGet { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifTransDelayGet definition. + + leaf ifTransDelayState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifTransDelayState definition. + + leaf multiIfTeMetric { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfTeMetric definition. + + leaf ifIdentPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifIdentPriority definition. + + leaf isLdpIgpSync { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isLdpIgpSync definition. + + leaf isLdpIgpHoldDown { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isLdpIgpHoldDown definition. + + leaf LdpIgpHoldDownVal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of LdpIgpHoldDownVal definition. + + leaf isInterfaceType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isInterfaceType definition. + + leaf interfaceDRDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceDRDetail definition. + + leaf ifDbFilterGetState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifDbFilterGetState definition. + + leaf ifHelloInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifHelloInt definition. + + leaf ifDeadInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifDeadInt definition. + + leaf ifRetransmitInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifRetransmitInt definition. + + leaf ifRestartMethodTypeState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of ifRestartMethodTypeState definition. + + leaf ifRestartOOBResyncTimeout { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifRestartOOBResyncTimeout definition. + + leaf ifTypeLoopbackState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of ifTypeLoopbackState definition. + + leaf ifIntPassiveState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of ifIntPassiveState definition. + + leaf ifHelloTimeDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifHelloTimeDueIn definition. + + leaf ifNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifNbrCountAll definition. + + leaf ifAdjacentNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of ifAdjacentNbrCountAll definition. + + leaf ifCrypto { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifCrypto definition. + + leaf ifHelloPacketDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifHelloPacketDetail definition. + + leaf ifLSReqDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifLSReqDetail definition. + + leaf ifLSAckDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifLSAckDetail definition. + + leaf intIfMtu { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of intIfMtu definition. + + leaf multiIfIdentAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfIdentAddr definition. + + leaf multiIfpCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiIfpCost definition. + + leaf multiIsIpv4Unnumbered { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIsIpv4Unnumbered definition. + + leaf multiIfAreaDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfAreaDetail definition. + + leaf multiIfProcId { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of multiIfProcId definition. + + leaf multiIfRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfRouterId definition. + + leaf multiIfNetworkType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfNetworkType definition. + + leaf multiIfTransDelayGet { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiIfTransDelayGet definition. + + leaf multiIfTransDelayState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfTransDelayState definition. + + leaf multiIfIdentPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfIdentPriority definition. + + leaf isIfSyncParams { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isIfSyncParams definition. + + leaf multiIsLdpIgpSync { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIsLdpIgpSync definition. + + leaf multiIsLdpIgpHoldDown { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIsLdpIgpHoldDown definition. + + leaf multiLdpIgpHoldDownVal { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiLdpIgpHoldDownVal definition. + + leaf multiIsInterfaceType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIsInterfaceType definition. + + leaf multiinterfaceDRDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiinterfaceDRDetail definition. + + leaf multiIfDbFilterGetState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfDbFilterGetState definition. + + leaf multiIfHelloInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfHelloInt definition. + + leaf multiIfDeadInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfDeadInt definition. + + leaf multiIfRetransmitInt { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfRetransmitInt definition. + + leaf multiIfRestartMethodTypeState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIfRestartMethodTypeState definition. + + leaf multiIfRestartOOBResyncTimeout { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiIfRestartOOBResyncTimeout definition. + + leaf multiIsIfTypeLoopbackState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIsIfTypeLoopbackState definition. + + leaf multiIfIntPassiveState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of multiIfIntPassiveState definition. + + leaf multiIfHelloTimeDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfHelloTimeDueIn definition. + + leaf multiIfNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfNbrCountAll definition. + + leaf multiIfAdjacentNbrCountAll { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfAdjacentNbrCountAll definition. + + leaf multiIfCrypto { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of multiIfCrypto definition. + + leaf multiIfHelloPacketDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfHelloPacketDetail definition. + + leaf multiIfLSReqDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfLSReqDetail definition. + + leaf multiIfLSAckDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of multiIfLSAckDetail definition. + + leaf multiIfMtu { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of multiIfMtu definition. + + leaf ifDna { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifDna definition. + + } // End of ospfInterface-list + } // END of ospfInterface-grouping definition. + + + grouping ospfGlobal-grouping { + list ospfGlobal { + + + description + "ospfGlobal"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type cml_data_types:CML_UINT32_T; + config true; + } // END of vrId definition. + + leaf isEnableExtMultiInst { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isEnableExtMultiInst definition. + + leaf debug { + mandatory false; + type cml_data_types:CML_OSPF_DEBUG_T; + config true; + } // END of debug definition. + + leaf packetType { + mandatory false; + type cml_data_types:CML_OSPF_DEBUG_PACKET_TYPE_T; + config true; + } // END of packetType definition. + + leaf debugMode { + mandatory false; + type cml_data_types:CML_OSPF_DEBUG_PACKET_MODE_T; + config true; + } // END of debugMode definition. + + leaf debugDetail { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of debugDetail definition. + + leaf restartSeconds { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "120"; + config true; + } // END of restartSeconds definition. + + leaf hitlessRestartSeconds { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "120"; + config true; + } // END of hitlessRestartSeconds definition. + + leaf isDebug { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isDebug definition. + + leaf isDebugPacket { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isDebugPacket definition. + + leaf isCspfeventDebug { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isCspfeventDebug definition. + + leaf isCspfhexdumpDebug { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isCspfhexdumpDebug definition. + + leaf gracefulRestartPlanned { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of gracefulRestartPlanned definition. + + container restartConfig { + + config true; + + description + "restartConfig"; + + leaf never { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of never definition. + + leaf nbrRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of nbrRouterId definition. + + leaf restartAll { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of restartAll definition. + + } // END of restartConfig-container definition. + container restartAllConfig { + + config true; + + description + "restartAllConfig"; + + leaf onlyReload { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of onlyReload definition. + + leaf onlyUpgrade { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of onlyUpgrade definition. + + leaf restartHelperPeriod { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "120"; + config true; + } // END of restartHelperPeriod definition. + + } // END of restartAllConfig-container definition. + } // End of ospfGlobal-list + } // END of ospfGlobal-grouping definition. + + + grouping teLinkOspf-grouping { + list teLinkOspf { + + + description + "teLinkOspf"; + + config true; + key "teLinkName"; + + + leaf teLinkName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of teLinkName definition. + + leaf linkLocalEnable { + mandatory false; + type cml_data_types:CML_OSPF_TELINK_LOCAL_T; + config true; + } // END of linkLocalEnable definition. + + leaf teFloodOspfId { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..65535"; + } + default "0"; + config true; + } // END of teFloodOspfId definition. + + leaf teFloodareaId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of teFloodareaId definition. + + } // End of teLinkOspf-list + } // END of teLinkOspf-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/ospf6.yang b/yang-files/ospf6.yang new file mode 100644 index 00000000..38e16f91 --- /dev/null +++ b/yang-files/ospf6.yang @@ -0,0 +1,2312 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : ospf6.yang +* +*/ + +submodule ospf6 { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vrf; + + + import cml_data_types { + prefix cml_data_types; + } + + description + "Layer-3 ospf configurations"; + + + revision "2015-04-25" { + description "Revisied on 2015-04-25."; } + + + + grouping ospf6-grouping { + list ospf6 { + + + description + "ospf6"; + + config true; + key "ospf6ProcessTag"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ospf6ProcessTag { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6ProcessTag definition. + + leaf ospf6logAdjacency { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6logAdjacency definition. + + leaf ospf6RouterId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of ospf6RouterId definition. + + leaf ospf6ReferenceBandWidth { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..4294967"; + } + default "100000"; + config true; + } // END of ospf6ReferenceBandWidth definition. + + leaf maxDBDescriptor { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..65535"; + } + default "5"; + config true; + } // END of maxDBDescriptor definition. + + leaf maxUnusePkt { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + default "200"; + config true; + } // END of maxUnusePkt definition. + + leaf maxUnuseLsa { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..65535"; + } + default "200"; + config true; + } // END of maxUnuseLsa definition. + + leaf ospf6DefaultMetric { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..16777214"; + } + default "20"; + config true; + } // END of ospf6DefaultMetric definition. + + leaf abrType { + mandatory false; + type cml_data_types:CML_OSPF6_ABR_TYPE_T; + default "cisco"; + config true; + } // END of abrType definition. + + leaf ospf6AdminDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..254"; + } + default "110"; + config true; + } // END of ospf6AdminDistance definition. + + leaf minDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..2147483647"; + } + default "500"; + config true; + } // END of minDelay definition. + + leaf maxDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..2147483647"; + } + default "50000"; + config true; + } // END of maxDelay definition. + + leaf ospf6ShutdownStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6ShutdownStatus definition. + + leaf ospf6FRKeepAllPath { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6FRKeepAllPath definition. + + leaf-list passiveIfName { + + type cml_data_types:CML_STRING_T; + config true; + } // END of passiveIfName definition. + + leaf isPassiveIfDefault { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isPassiveIfDefault definition. + + leaf ospf6CapabilityTE { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6CapabilityTE definition. + + leaf ospf6CspfCapability { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6CspfCapability definition. + + leaf ospf6EnableCspf { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6EnableCspf definition. + + leaf ospf6EnableDBSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6EnableDBSummary definition. + + leaf tieBreak { + mandatory false; + type cml_data_types:CML_OSPF6_CSPF_TYPE_T; + default "random"; + config true; + } // END of tieBreak definition. + + leaf cspfInterval { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "1..3600"; + } + default "10"; + config true; + } // END of cspfInterval definition. + + leaf ospf6CapabilityRestartMethod { + mandatory false; + type cml_data_types:CML_BOOL_T; + default true; + config true; + } // END of ospf6CapabilityRestartMethod definition. + + leaf bfdAllInterface { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of bfdAllInterface definition. + + leaf teDBRTAddrLsaAge { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teDBRTAddrLsaAge definition. + + leaf teLsaHeaderMsgType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLsaHeaderMsgType definition. + + leaf teLsaHeaderType { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of teLsaHeaderType definition. + + leaf teInstance { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teInstance definition. + + leaf teAdvrRouter { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teAdvrRouter definition. + + leaf teLSSeqNum { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teLSSeqNum definition. + + leaf teLSChecksum { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of teLSChecksum definition. + + leaf teLength { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of teLength definition. + + leaf teRouterState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teRouterState definition. + + leaf teNeighborState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teNeighborState definition. + + leaf teNeighborInterfaceId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teNeighborInterfaceId definition. + + leaf teNeighborRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teNeighborRouterId definition. + + leaf teRouterAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teRouterAddr definition. + + leaf teLocalInterfaceState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLocalInterfaceState definition. + + leaf teLocalInterfaceAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLocalInterfaceAddr definition. + + leaf teRemoteInterfaceState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teRemoteInterfaceState definition. + + leaf teRemoteInterfaceAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teRemoteInterfaceAddr definition. + + leaf teLinkMetricState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkMetricState definition. + + leaf teLinkMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of teLinkMetric definition. + + leaf teMaxResBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teMaxResBWState definition. + + leaf teMaxResBW { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMaxResBW definition. + + leaf teMaxBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teMaxBWState definition. + + leaf teMaxBW { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teMaxBW definition. + + leaf teLinkAttrBc { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkAttrBc definition. + + leaf teBWConsModel { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of teBWConsModel definition. + + leaf teUnResBWState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teUnResBWState definition. + + leaf teUnResBWPrio { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teUnResBWPrio definition. + + leaf teResourceColorState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teResourceColorState definition. + + leaf teResourceColorVal { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teResourceColorVal definition. + + leaf teBWCons { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teBWCons definition. + + leaf teBWCtr { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of teBWCtr definition. + + leaf teLinkStateType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkStateType definition. + + leaf teLinkType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLinkType definition. + + leaf teLinkStateID { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of teLinkStateID definition. + + leaf teLinkId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of teLinkId definition. + + leaf pathCode { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of pathCode definition. + + leaf pathCost { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of pathCost definition. + + leaf nextHop { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nextHop definition. + + leaf ifPathCode { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifPathCode definition. + + leaf areaTransit { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of areaTransit definition. + + leaf nhAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of nhAddr definition. + + leaf lspP2mpId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspP2mpId definition. + + leaf lspId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspId definition. + + leaf lspIngress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspIngress definition. + + leaf lspEgress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspEgress definition. + + leaf lspExTunnelId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspExTunnelId definition. + + leaf lspType { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspType definition. + + leaf lspClientId { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspClientId definition. + + leaf lspState { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspState definition. + + leaf lspSetupPri { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspSetupPri definition. + + leaf lspHoldPri { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspHoldPri definition. + + leaf lspBidirectionalStatus { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspBidirectionalStatus definition. + + leaf lspBandwidth { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspBandwidth definition. + + leaf lspBWStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspBWStat definition. + + leaf lspHopLimit { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of lspHopLimit definition. + + leaf lspAdmControl { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspAdmControl definition. + + leaf lspIncludeMask { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspIncludeMask definition. + + leaf lspExcludeMask { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspExcludeMask definition. + + leaf lspAttrRetry { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspAttrRetry definition. + + leaf lspRetryInt { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lspRetryInt definition. + + leaf lspRetryLimit { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lspRetryLimit definition. + + leaf lspTeMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lspTeMetric definition. + + leaf lspPathStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspPathStat definition. + + leaf lspPathDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspPathDetail definition. + + leaf lspExcludePathStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspExcludePathStat definition. + + leaf lspExcludePathDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspExcludePathDetail definition. + + leaf lspRouteStat { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of lspRouteStat definition. + + leaf lspRouteDetail { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of lspRouteDetail definition. + + leaf isAbrType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of isAbrType definition. + + leaf isAbrStateType { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of isAbrStateType definition. + + leaf vrfIfName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrfIfName definition. + + leaf vrfIvName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vrfIvName definition. + + leaf asbrSet { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of asbrSet definition. + + leaf spfMinDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of spfMinDelay definition. + + leaf spfMaxDelay { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of spfMaxDelay definition. + + leaf ddCountIn { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of ddCountIn definition. + + leaf ddCountOut { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of ddCountOut definition. + + leaf externalLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of externalLsa definition. + + leaf checksum { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of checksum definition. + + leaf unknownLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of unknownLsa definition. + + leaf selfLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of selfLsa definition. + + leaf recvLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of recvLsa definition. + + leaf processUpTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of processUpTime definition. + + leaf restartMethodType { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of restartMethodType definition. + + leaf areaCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaCount definition. + + leaf obufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of obufSize definition. + + leaf lbufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of lbufSize definition. + + leaf ibufSize { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ibufSize definition. + + leaf opunuseMax { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of opunuseMax definition. + + leaf opunuseCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of opunuseCount definition. + + leaf lsaunuseCount { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lsaunuseCount definition. + + leaf lsaunuseMax { + mandatory false; + type cml_data_types:CML_UINT16_T; + config false; + } // END of lsaunuseMax definition. + + leaf accessListName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of accessListName definition. + + leaf ospf6DistIn { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6DistIn definition. + + leaf-list ospf6RedistProtocolDist { + + type cml_data_types:CML_OSPF6_DIST_ROUTE_SOURCE_TYPE_T; + config true; + } // END of ospf6RedistProtocolDist definition. + + leaf-list ospf6DistributeTag { + + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6DistributeTag definition. + + + list neighborRun { + + + description + "neighborRun"; + + config false; + key "neighborIf"; + + + leaf neighborIf { + mandatory true; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborIf definition. + + leaf neighborPriority { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of neighborPriority definition. + + leaf neighborDownState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of neighborDownState definition. + + leaf neighborRetransmitCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborRetransmitCount definition. + + leaf neighborRequestCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborRequestCount definition. + + leaf neighborDbSummaryCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborDbSummaryCount definition. + + leaf neighborChangeState { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborChangeState definition. + + leaf neighborArea { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborArea definition. + + leaf neighborInterfaceAddress { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborInterfaceAddress definition. + + leaf neighborDRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborDRouterId definition. + + leaf neighborBDRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborBDRouterId definition. + + leaf neighborOptions { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of neighborOptions definition. + + leaf neighborOptionDump { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborOptionDump definition. + + leaf neighborState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborState definition. + + leaf neighborDeadTime { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborDeadTime definition. + + leaf neighborId { + mandatory false; + type cml_data_types:CML_IPV4_ADDR_T; + config false; + } // END of neighborId definition. + + leaf neighborInst { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of neighborInst definition. + + } // End of neighborRun-list + + list frrTieBreak { + + + description + "frrTieBreak"; + + config true; + key "frrTieBreakVal"; + + + leaf frrTieBreakVal { + mandatory true; + type cml_data_types:CML_OSPF_FRR_TIE_BREAK_VAL_T; + config true; + } // END of frrTieBreakVal definition. + + leaf frrTieBreakIndex { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..4"; + } + config true; + } // END of frrTieBreakIndex definition. + + leaf isFrrPrioSet { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isFrrPrioSet definition. + + } // End of frrTieBreak-list + + list summaryAddress { + + + description + "summaryAddress"; + + config true; + key "summaryIpv6Addr"; + + + leaf summaryIpv6Addr { + mandatory true; + type cml_data_types:CML_IPV6_PREFIX_T; + config true; + } // END of summaryIpv6Addr definition. + + leaf addressNotMask6len { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of addressNotMask6len definition. + + leaf summaryRoute6Tag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of summaryRoute6Tag definition. + + leaf summaryRoute6TranslateTag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of summaryRoute6TranslateTag definition. + + } // End of summaryAddress-list + + list ospf6Area { + + + description + "ospf6Area"; + + config true; + key "areaId"; + + + leaf areaId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of areaId definition. + + leaf defaultCost { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..16777215"; + } + default "1"; + config true; + } // END of defaultCost definition. + + leaf isAreaType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of isAreaType definition. + + leaf isAreaActive { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of isAreaActive definition. + + leaf activeIfCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of activeIfCount definition. + + leaf areaIfCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaIfCount definition. + + leaf spfCalcCount { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of spfCalcCount definition. + + leaf areaLsdbCountAll { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaLsdbCountAll definition. + + leaf areaChecksum { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaChecksum definition. + + leaf areaStrId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of areaStrId definition. + + leaf isAreaDefault { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of isAreaDefault definition. + + leaf isAreaNssa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of isAreaNssa definition. + + leaf areaUnknownLsa { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of areaUnknownLsa definition. + + leaf isNssaDisabled { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of isNssaDisabled definition. + + leaf vlinkName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkName definition. + + leaf transitArea { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of transitArea definition. + + leaf authEnabled { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of authEnabled definition. + + leaf authStateEnabled { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of authStateEnabled definition. + + leaf localAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of localAddr definition. + + leaf remoteAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of remoteAddr definition. + + leaf ifFsmState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifFsmState definition. + + leaf helloDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of helloDueIn definition. + + leaf ifPassiveState { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of ifPassiveState definition. + + leaf vlinkAdjState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkAdjState definition. + + leaf vlinkState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkState definition. + + leaf vlinkInterface { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlinkInterface definition. + + + list areaStub { + + + description + "areaStub"; + + config true; + key "isAreaStub"; + + + leaf isAreaStub { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isAreaStub definition. + + leaf ospf6AreaSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6AreaSummary definition. + + } // End of areaStub-list + + list areaVlink { + + + description + "areaVlink"; + + config true; + key "peerId"; + + + leaf peerId { + mandatory true; + type cml_data_types:CML_IPV4_ADDR_T; + config true; + } // END of peerId definition. + + leaf virtualLinkRetransmitInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "1"; + config true; + } // END of virtualLinkRetransmitInterval definition. + + leaf virtualLinkTransmitDelay { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "1"; + config true; + } // END of virtualLinkTransmitDelay definition. + + leaf virtualLinkHelloInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + default "1"; + config true; + } // END of virtualLinkHelloInterval definition. + + leaf virtualLinkDeadInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + default "1"; + config true; + } // END of virtualLinkDeadInterval definition. + + leaf areaVlinkTimer { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of areaVlinkTimer definition. + + leaf virtualLinkSeconds { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of virtualLinkSeconds definition. + + leaf VirtualLinkInstanceId { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..255"; + } + default "0"; + config true; + } // END of VirtualLinkInstanceId definition. + + } // End of areaVlink-list + + list areaNssa { + + + description + "areaNssa"; + + config true; + key "ospf6Nssa"; + + + leaf ospf6Nssa { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6Nssa definition. + + leaf stabilityInterval { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..2147483647"; + } + default "40"; + config true; + } // END of stabilityInterval definition. + + leaf nssaAreaSummary { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of nssaAreaSummary definition. + + leaf ospf6AreaNssaTransRole { + mandatory false; + type cml_data_types:CML_OSPF6_TRANSLATOR_ROLE_T; + default "candidate"; + config true; + } // END of ospf6AreaNssaTransRole definition. + + leaf ospf6DefaultOriginMetric { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..16777214"; + } + default "1"; + config true; + } // END of ospf6DefaultOriginMetric definition. + + leaf ospf6DefaultOriginMetricType { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + config true; + } // END of ospf6DefaultOriginMetricType definition. + + leaf ospf6NssaRedist { + mandatory false; + type cml_data_types:CML_BOOL_T; + default true; + config true; + } // END of ospf6NssaRedist definition. + + leaf ospf6NssaDefaultInfo { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6NssaDefaultInfo definition. + + leaf NssaRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of NssaRouteMapName definition. + + container nssaAreaTranslator { + + config true; + + description + "nssaAreaTranslator"; + + leaf nssaAreaTranslatorRole { + mandatory false; + type cml_data_types:CML_OSPF6_NSSA_TRANSLATOR_ROLE_T; + config true; + } // END of nssaAreaTranslatorRole definition. + + } // END of nssaAreaTranslator-container definition. + } // End of areaNssa-list + + list rangeipv6 { + + + description + "rangeipv6"; + + config true; + key "areaRangeAddr"; + + + leaf areaRangeAddr { + mandatory true; + type cml_data_types:CML_IPV6_PREFIX_T; + config true; + } // END of areaRangeAddr definition. + + leaf ospf6AreaRangeStatus { + mandatory true; + type cml_data_types:CML_OSPF6_AREA_RANGE_T; + config true; + } // END of ospf6AreaRangeStatus definition. + + } // End of rangeipv6-list + } // End of ospf6Area-list + + list redistributeProc { + + + description + "redistributeProc"; + + config true; + key "sourceOspf6Tag"; + + + leaf sourceOspf6Tag { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of sourceOspf6Tag definition. + + leaf ospf6RedistMetricType { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + default "2"; + config true; + } // END of ospf6RedistMetricType definition. + + leaf ospf6RedistMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + config true; + } // END of ospf6RedistMetricValue definition. + + leaf ospf6RedistTagVal { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of ospf6RedistTagVal definition. + + leaf ospf6RouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6RouteMapName definition. + + } // End of redistributeProc-list + + list redistribute { + + + description + "redistribute"; + + config true; + key "ospf6RedistProtocol"; + + + leaf ospf6RedistProtocol { + mandatory true; + type cml_data_types:CML_OSPF6_ROUTE_SOURCE_TYPE_T; + config true; + } // END of ospf6RedistProtocol definition. + + leaf ospf6RedistMetricType { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + default "2"; + config true; + } // END of ospf6RedistMetricType definition. + + leaf ospf6RedistMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + config true; + } // END of ospf6RedistMetricValue definition. + + leaf ospf6RedistTagVal { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of ospf6RedistTagVal definition. + + leaf ospf6RouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6RouteMapName definition. + + } // End of redistribute-list + + list ospf6DefaultInformation { + + + description + "ospf6DefaultInformation"; + + config true; + key "ospf6RedistDefaultOrigin"; + + + leaf ospf6RedistDefaultOrigin { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6RedistDefaultOrigin definition. + + leaf ospf6RedistDefaultOriginAlways { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6RedistDefaultOriginAlways definition. + + leaf ospf6RedistDefaultMetric { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + config true; + } // END of ospf6RedistDefaultMetric definition. + + leaf ospf6RedistDefaultMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + config true; + } // END of ospf6RedistDefaultMetricValue definition. + + leaf routeMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of routeMapName definition. + + } // End of ospf6DefaultInformation-list + + list addressFamily { + + + description + "addressFamily"; + + config true; + key "addFamily"; + + + leaf addFamily { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of addFamily definition. + + + list afRangeipv4 { + + + description + "afRangeipv4"; + + config true; + key "areaId"; + + + leaf areaId { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of areaId definition. + + + list rangeipv4 { + + + description + "rangeipv4"; + + config true; + key "areaRangeIpv4Addr"; + + + leaf areaRangeIpv4Addr { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of areaRangeIpv4Addr definition. + + leaf ospfAreaRangeStatus { + mandatory true; + type cml_data_types:CML_OSPF6_AREA_RANGE_T; + config true; + } // END of ospfAreaRangeStatus definition. + + } // End of rangeipv4-list + } // End of afRangeipv4-list + + list addressRedistribute { + + + description + "addressRedistribute"; + + config true; + key "ospfRedistProtocol"; + + + leaf ospfRedistProtocol { + mandatory true; + type cml_data_types:CML_OSPF6_AF_ROUTE_SOURCE_TYPE_T; + config true; + } // END of ospfRedistProtocol definition. + + leaf ospfRedistMetricType { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + default "2"; + config true; + } // END of ospfRedistMetricType definition. + + leaf ospfRedistMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + default "0"; + config true; + } // END of ospfRedistMetricValue definition. + + leaf ospfRedistTagVal { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of ospfRedistTagVal definition. + + leaf ospfRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospfRouteMapName definition. + + } // End of addressRedistribute-list + + list addressRedistributeProc { + + + description + "addressRedistributeProc"; + + config true; + key "sourceOspfTag"; + + + leaf sourceOspfTag { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..65535"; + } + config true; + } // END of sourceOspfTag definition. + + leaf ospfRedistMetricType { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + default "2"; + config true; + } // END of ospfRedistMetricType definition. + + leaf ospfRedistMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + default "0"; + config true; + } // END of ospfRedistMetricValue definition. + + leaf ospfRedistTagVal { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + default "0"; + config true; + } // END of ospfRedistTagVal definition. + + leaf ospfRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospfRouteMapName definition. + + } // End of addressRedistributeProc-list + + list summaryAddressIpv4 { + + + description + "summaryAddressIpv4"; + + config true; + key "summaryIpv4Addr"; + + + leaf summaryIpv4Addr { + mandatory true; + type cml_data_types:CML_IPV4_PREFIX_T; + config true; + } // END of summaryIpv4Addr definition. + + leaf summaryRouteTag { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of summaryRouteTag definition. + + leaf addressNotMask4len { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of addressNotMask4len definition. + + } // End of summaryAddressIpv4-list + + list ospf6FamilyDefaultInformation { + + + description + "ospf6FamilyDefaultInformation"; + + config true; + key "ospf6FamRedistDefaultOrigin"; + + + leaf ospf6FamRedistDefaultOrigin { + mandatory true; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6FamRedistDefaultOrigin definition. + + leaf ospf6FamRedistDefaultOriginAlways { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6FamRedistDefaultOriginAlways definition. + + leaf ospf6FamRedistDefaultMetric { + mandatory false; + type cml_data_types:CML_OSPF6_METRIC_TYPE_T; + config true; + } // END of ospf6FamRedistDefaultMetric definition. + + leaf ospf6FamRedistDefaultMetricValue { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..16777214"; + } + config true; + } // END of ospf6FamRedistDefaultMetricValue definition. + + leaf ospf6FamRouteMapName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ospf6FamRouteMapName definition. + + } // End of ospf6FamilyDefaultInformation-list + } // End of addressFamily-list + container distanceTypes { + + config true; + + description + "distanceTypes"; + + leaf intraDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..254"; + } + default "110"; + config true; + } // END of intraDistance definition. + + leaf interDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..254"; + } + default "110"; + config true; + } // END of interDistance definition. + + leaf externalDistance { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..254"; + } + default "110"; + config true; + } // END of externalDistance definition. + + } // END of distanceTypes-container definition. + } // End of ospf6-list + } // END of ospf6-grouping definition. + + + grouping ospf6Interface-grouping { + list ospf6Interface { + + + description + "OSPFv3 interface related operations"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf isDisable { + mandatory false; + type cml_data_types:CML_INT32_T; + config true; + } // END of isDisable definition. + + leaf bfdDisable { + mandatory false; + type cml_data_types:CML_BOOL_T; + default false; + config true; + } // END of bfdDisable definition. + + leaf isIfLoopBackType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isIfLoopBackType definition. + + + list ospf6IfinstanceId { + + + description + "OSPFv3 instanceId of interface related operations"; + + config true; + key "instanceId"; + + + leaf instanceId { + mandatory true; + type cml_data_types:CML_INT32_T { + range "0..31 | 64..95"; + } + config true; + } // END of instanceId definition. + + leaf ospf6IfType { + mandatory false; + type cml_data_types:CML_OSPF6_NETWORK_T; + config true; + } // END of ospf6IfType definition. + + leaf ospf6IfMultiType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6IfMultiType definition. + + leaf ospf6IfPriority { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..255"; + } + default "1"; + config true; + } // END of ospf6IfPriority definition. + + leaf ifMtuIgnore { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifMtuIgnore definition. + + leaf ospf6IfCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ospf6IfCost definition. + + leaf transmitDelay { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..1800"; + } + default "1"; + config true; + } // END of transmitDelay definition. + + leaf retransmitInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..1800"; + } + default "5"; + config true; + } // END of retransmitInterval definition. + + leaf helloInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of helloInterval definition. + + leaf deadInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "40"; + config true; + } // END of deadInterval definition. + + leaf ospf6TeMetric { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ospf6TeMetric definition. + + leaf ospf6LsaSuppressionValue { + mandatory false; + type cml_data_types:CML_OSPF6_LSA_SUPRESSION_STATE_T; + default "enable"; + config true; + } // END of ospf6LsaSuppressionValue definition. + + leaf ospf6NeighborAddr { + mandatory false; + type cml_data_types:CML_IPV6_ADDR_T; + config true; + } // END of ospf6NeighborAddr definition. + + leaf ospf6IfNbrCost { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "1..65535"; + } + default "10"; + config true; + } // END of ospf6IfNbrCost definition. + + leaf ospf6IfNbrPollInterval { + mandatory false; + type cml_data_types:CML_UINT32_T { + range "0..4294967295"; + } + config true; + } // END of ospf6IfNbrPollInterval definition. + + leaf ospf6IfNbrPriority { + mandatory false; + type cml_data_types:CML_INT32_T { + range "0..255"; + } + config true; + } // END of ospf6IfNbrPriority definition. + + leaf fastRerouteIfSet { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of fastRerouteIfSet definition. + + leaf ifAreaId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifAreaId definition. + + leaf ifProcessTag { + mandatory false; + type cml_data_types:CML_STRING_T; + default ""; + config true; + } // END of ifProcessTag definition. + + leaf ifProcessTagPresent { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ifProcessTagPresent definition. + + leaf ifState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ifState definition. + + leaf ifIndex { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of ifIndex definition. + + leaf ipAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ipAddr definition. + + leaf ipLinkLocalAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ipLinkLocalAddr definition. + + leaf ipLinkAddr { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of ipLinkAddr definition. + + leaf interfaceProcessTag { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceProcessTag definition. + + leaf interfaceAreaId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceAreaId definition. + + leaf interfaceRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceRouterId definition. + + leaf interfaceInstanceId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceInstanceId definition. + + leaf stateChange { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of stateChange definition. + + leaf neighborCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of neighborCount definition. + + leaf adjNeighborCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of adjNeighborCount definition. + + leaf designatedRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of designatedRouterId definition. + + leaf backupDesignatedRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of backupDesignatedRouterId definition. + + leaf interfaceIfType { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceIfType definition. + + leaf interfaceIfCost { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceIfCost definition. + + leaf interfaceTeMetric { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceTeMetric definition. + + leaf interfaceTransmitDelay { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceTransmitDelay definition. + + leaf interfaceFsmState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceFsmState definition. + + leaf interfaceIfPriority { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of interfaceIfPriority definition. + + leaf interfaceHelloInterval { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceHelloInterval definition. + + leaf interfaceIfPassiveState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceIfPassiveState definition. + + leaf interfaceDeadInterval { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceDeadInterval definition. + + leaf interfaceRetransmitInterval { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceRetransmitInterval definition. + + leaf interfaceHelloDueIn { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of interfaceHelloDueIn definition. + + leaf interfaceStateChange { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of interfaceStateChange definition. + + leaf interfaceNeighborCount { + mandatory false; + type cml_data_types:CML_INT32_T; + config false; + } // END of interfaceNeighborCount definition. + + leaf isInterfaceType { + mandatory false; + type cml_data_types:CML_BOOL_T; + config false; + } // END of isInterfaceType definition. + + } // End of ospf6IfinstanceId-list + } // End of ospf6Interface-list + } // END of ospf6Interface-grouping definition. + + + grouping ospf6Global-grouping { + list ospf6Global { + + + description + "ospf6Global"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type cml_data_types:CML_UINT32_T; + config true; + } // END of vrId definition. + + leaf gracePeriod { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "120"; + config true; + } // END of gracePeriod definition. + + leaf gracefulRestartPlanned { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of gracefulRestartPlanned definition. + + leaf ospf6RouterSingleline { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6RouterSingleline definition. + + leaf ospf6Debug { + mandatory false; + type cml_data_types:CML_OSPF6_DEBUG_T; + config true; + } // END of ospf6Debug definition. + + leaf isDebug { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of isDebug definition. + + leaf ospf6Packet { + mandatory false; + type cml_data_types:CML_OSPF6_DEBUG_PACKET_TYPE_T; + config true; + } // END of ospf6Packet definition. + + leaf ospf6PacketDebug { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of ospf6PacketDebug definition. + + container restartConfig { + + config true; + + description + "restartConfig"; + + leaf never { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of never definition. + + leaf nbrRouterId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of nbrRouterId definition. + + leaf restartAll { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of restartAll definition. + + } // END of restartConfig-container definition. + container restartAllConfig { + + config true; + + description + "restartAllConfig"; + + leaf onlyReload { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of onlyReload definition. + + leaf onlyUpgrade { + mandatory false; + type cml_data_types:CML_BOOL_T; + config true; + } // END of onlyUpgrade definition. + + leaf restartHelperPeriod { + mandatory false; + type cml_data_types:CML_INT32_T { + range "1..1800"; + } + default "120"; + config true; + } // END of restartHelperPeriod definition. + + } // END of restartAllConfig-container definition. + } // End of ospf6Global-list + } // END of ospf6Global-grouping definition. + + + grouping ospf6Vrf-grouping { + list ospf6Vrf { + + + description + "Enable an IPv6 VRF routing process"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf vrfName { + mandatory false; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + } // End of ospf6Vrf-list + } // END of ospf6Vrf-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/rib.yang b/yang-files/rib.yang new file mode 100644 index 00000000..c40afb70 --- /dev/null +++ b/yang-files/rib.yang @@ -0,0 +1,342 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : rib.yang +* +*/ + +submodule rib { + + belongs-to ZebOS { prefix ZebOS; } + include vrf; + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping rib-grouping { + list rib { + + + description + "static route with ifname"; + + config true; + key "ipv4DestinationPrefixAddr"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ipv4DestinationPrefixAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv4DestinationPrefixAddr definition. + + + list ribGateway { + + + description + "static route with gateway"; + + config true; + key "ipGatewayStr"; + + + leaf ipGatewayStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipGatewayStr definition. + + leaf distanceValue { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of distanceValue definition. + + leaf tagValue { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of tagValue definition. + + leaf staticRouteDescription { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of staticRouteDescription definition. + + } // End of ribGateway-list + + list ribGatewayIfname { + + + description + "static route with gateway and ifname"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifName definition. + + leaf ifdistanceValue { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of ifdistanceValue definition. + + leaf iftagValue { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "1..4294967295"; + } + config true; + } // END of iftagValue definition. + + leaf ifstaticRouteDescription { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifstaticRouteDescription definition. + + } // End of ribGatewayIfname-list + } // End of rib-list + } // END of rib-grouping definition. + + + grouping ribipv6-grouping { + list ribipv6 { + + + description + "ribipv6"; + + config true; + key "ipv6DestinationPrefixAddr"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ipv6DestinationPrefixAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv6DestinationPrefixAddr definition. + + + list ribipv6Gateway { + + + description + "ribipv6Gateway"; + + config true; + key "ipv6GatewayStr"; + + + leaf ipv6GatewayStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv6GatewayStr definition. + + leaf distance { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of distance definition. + + } // End of ribipv6Gateway-list + + list ribipv6Ifname { + + + description + "ribipv6Ifname"; + + config true; + key "ifName"; + + + leaf ifName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ifName definition. + + leaf distance { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of distance definition. + + } // End of ribipv6Ifname-list + } // End of ribipv6-list + } // END of ribipv6-grouping definition. + + + grouping mroute-grouping { + list mroute { + + + description + "mroute"; + + config true; + key "vrfName"; + + + leaf vrId { + mandatory true; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf vrfName { + mandatory true; + type leafref { + path "/vr/vrf/vrfName"; + } + } // END of vrfName definition. + + leaf mrouteIfIndex { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of mrouteIfIndex definition. + + + list mroutePrefix { + + + description + "mroutePrefix"; + + config true; + key "mrouteIpv4Prefix"; + + + leaf mrouteIpv4Prefix { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteIpv4Prefix definition. + + leaf mrouteGateStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteGateStr definition. + + leaf mrouteifname { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteifname definition. + + leaf routeType { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of routeType definition. + + leaf mrouteDistance { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of mrouteDistance definition. + + } // End of mroutePrefix-list + + list mrouteIpv6Prefix { + + + description + "mrouteIpv6Prefix"; + + config true; + key "mrouteIpv6Prefix"; + + + leaf mrouteIpv6Prefix { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteIpv6Prefix definition. + + leaf mrouteIpv6GateStr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteIpv6GateStr definition. + + leaf mrouteIpv6ifname { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of mrouteIpv6ifname definition. + + leaf ipv6RouteType { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv6RouteType definition. + + leaf mrouteIpv6Distance { + mandatory true; + type cml_data_types:CML_INT32_T { + range "1..255"; + } + config true; + } // END of mrouteIpv6Distance definition. + + } // End of mrouteIpv6Prefix-list + } // End of mroute-list + } // END of mroute-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/vlan.yang b/yang-files/vlan.yang new file mode 100644 index 00000000..de3b0f8e --- /dev/null +++ b/yang-files/vlan.yang @@ -0,0 +1,123 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : vlan.yang +* +*/ + +submodule vlan { + + belongs-to ZebOS { prefix ZebOS; } + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping vlan-grouping { + list vlan { + + + description + "vlan"; + + config true; + key "vlanId"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf bridgeId { + mandatory false; + type leafref { + path "/vr/bridge/bridgeId"; + } + } // END of bridgeId definition. + + leaf vlanId { + mandatory true; + type cml_data_types:CML_UINT16_T { + range "2..4094"; + } + config true; + } // END of vlanId definition. + + leaf vlanName { + mandatory false; + type cml_data_types:CML_STRING_T; + default "NULL"; + config true; + } // END of vlanName definition. + + leaf vlanState { + mandatory true; + type cml_data_types:CML_VLANSTATE_T; + config true; + } // END of vlanState definition. + + leaf vlanType { + mandatory true; + type cml_data_types:CML_VLAN_TYPE_T; + config true; + } // END of vlanType definition. + + leaf mtuVal { + mandatory false; + type cml_data_types:CML_UINT32_T; + default "1500"; + config true; + } // END of mtuVal definition. + + leaf bridgeName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of bridgeName definition. + + leaf vlanRuntimeName { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlanRuntimeName definition. + + leaf vlanRuntimeState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlanRuntimeState definition. + + leaf vlanHwState { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of vlanHwState definition. + + leaf taggedInterface { + mandatory false; + type cml_data_types:CML_STRING_T; + config false; + } // END of taggedInterface definition. + + } // End of vlan-list + } // END of vlan-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/vlaninterface.yang b/yang-files/vlaninterface.yang new file mode 100644 index 00000000..b0941b3d --- /dev/null +++ b/yang-files/vlaninterface.yang @@ -0,0 +1,278 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : vlaninterface.yang +* +*/ + +submodule vlaninterface { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include vlan; + include bridge; + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping vlaninterface-grouping { + list vlaninterface { + + + description + "vlaninterface"; + + config true; + key "ifName"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf ifName { + mandatory true; + type leafref { + path "/vr/interface/ifName"; + } + } // END of ifName definition. + + leaf vlanPortMode { + mandatory true; + type cml_data_types:CML_VLAN_PORT_MODE_T; + config true; + } // END of vlanPortMode definition. + + leaf vlanPortIngressFilter { + mandatory false; + type cml_data_types:CML_ENABLE_DISABLE_T; + default "enable"; + config true; + } // END of vlanPortIngressFilter definition. + + leaf frameType { + mandatory false; + type cml_data_types:CML_VLAN_FRAME_TYPE_T; + default "all"; + config true; + } // END of frameType definition. + + + list staticMac { + + + description + "staticMac"; + + config true; + key "macAddr"; + + + leaf vlanIdMac { + mandatory false; + type cml_data_types:CML_UINT16_T { + range "2..4096"; + } + config true; + } // END of vlanIdMac definition. + + leaf bridgeId { + mandatory false; + type leafref { + path "/vr/bridge/bridgeId"; + } + } // END of bridgeId definition. + + leaf macAddr { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of macAddr definition. + + leaf discardForward { + mandatory false; + type cml_data_types:CML_DISCARDFORWARD_T; + config true; + } // END of discardForward definition. + + leaf priorityOverWrite { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "0..7"; + } + config true; + } // END of priorityOverWrite definition. + + leaf overMacType { + mandatory false; + type cml_data_types:CML_OVERMACTYPE_T; + config true; + } // END of overMacType definition. + + } // End of staticMac-list + + list vlanInterfaceBound { + + + description + "vlanInterfaceBound"; + + config true; + key "vlanId"; + + + leaf vlanId { + mandatory true; + type leafref { + path "/vr/bridge/vlan/vlanId"; + } + } // END of vlanId definition. + + leaf vlanPortMode { + mandatory true; + type cml_data_types:CML_VLAN_PORT_MODE_T; + config true; + } // END of vlanPortMode definition. + + } // End of vlanInterfaceBound-list + + list allowedvlan { + + + description + "allowedvlan"; + + config true; + key "allowedVlanId"; + + + leaf allowedVlanId { + mandatory true; + type cml_data_types:CML_UINT16_T; + config true; + } // END of allowedVlanId definition. + + leaf vlanPortMode { + mandatory true; + type cml_data_types:CML_VLAN_PORT_MODE_T; + config true; + } // END of vlanPortMode definition. + + leaf egrType { + mandatory false; + type cml_data_types:CML_ENABLE_DISABLE_T; + config true; + } // END of egrType definition. + + } // End of allowedvlan-list + + list excludevlan { + + + description + "excludevlan"; + + config true; + key "excludeVlanId"; + + + leaf excludeVlanId { + mandatory true; + type cml_data_types:CML_UINT16_T; + config true; + } // END of excludeVlanId definition. + + leaf vlanPortMode { + mandatory true; + type cml_data_types:CML_VLAN_PORT_MODE_T; + config true; + } // END of vlanPortMode definition. + + } // End of excludevlan-list + + list vlanUserTable { + + + description + "vlanUserTable"; + + config true; + key "userPriority"; + + + leaf userPriority { + mandatory true; + type cml_data_types:CML_UINT8_T { + range "0..7"; + } + config true; + } // END of userPriority definition. + + leaf regenPriority { + mandatory true; + type cml_data_types:CML_UINT8_T { + range "0..7"; + } + config true; + } // END of regenPriority definition. + + } // End of vlanUserTable-list + + list vlanTraffic { + + + description + "vlanTraffic"; + + config true; + key "userPriority"; + + + leaf userPriority { + mandatory true; + type cml_data_types:CML_UINT8_T { + range "0..7"; + } + config true; + } // END of userPriority definition. + + leaf trafficClass { + mandatory false; + type cml_data_types:CML_UINT8_T { + range "1..8"; + } + config true; + } // END of trafficClass definition. + + leaf trafficClassValue { + mandatory true; + type cml_data_types:CML_UINT8_T { + range "0..7"; + } + config true; + } // END of trafficClassValue definition. + + } // End of vlanTraffic-list + } // End of vlaninterface-list + } // END of vlaninterface-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/vr.yang b/yang-files/vr.yang new file mode 100644 index 00000000..99a72ca2 --- /dev/null +++ b/yang-files/vr.yang @@ -0,0 +1,106 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : vr.yang +* +*/ + +submodule vr { + + belongs-to ZebOS { prefix ZebOS; } + include interface; + include nsmLACP; + include oamBfd; + include bridge; + include ospf; + include layer2LACP; + include bgp; + include vrf; + include lldpv2; + include ospf6; + include rib; + include vlaninterface; + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-08" { + description "Revisied on 2015-10-08."; } + + + + grouping vr-grouping { + list vr { + + + description + "vr"; + + config true; + key "vrId"; + + + leaf vrId { + mandatory true; + type cml_data_types:CML_UINT32_T { + range "0..255"; + } + config true; + } // END of vrId definition. + + leaf vrName { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of vrName definition. + + leaf protocol { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of protocol definition. + + leaf ipv6Protocol { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of ipv6Protocol definition. + + uses nsmlacpInterface-grouping; + uses nsmportInterface-grouping; + uses bfd-grouping; + uses bfdInterface-grouping; + uses bridge-grouping; + uses ospf-grouping; + uses ospfInterface-grouping; + uses teLinkOspf-grouping; + uses lacpInterface-grouping; + uses bgp-grouping; + uses bgpGlobal-grouping; + uses bgpDebug-grouping; + uses vrfTable-grouping; + uses vrf-grouping; + uses interface-grouping; + uses lldpv2Interface-grouping; + uses ospf6-grouping; + uses ospf6Interface-grouping; + uses ospf6Vrf-grouping; + uses rib-grouping; + uses ribipv6-grouping; + uses mroute-grouping; + uses vlaninterface-grouping; + } // End of vr-list + } // END of vr-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/vrf.yang b/yang-files/vrf.yang new file mode 100644 index 00000000..451ddde2 --- /dev/null +++ b/yang-files/vrf.yang @@ -0,0 +1,82 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : vrf.yang +* +*/ + +submodule vrf { + + belongs-to ZebOS { prefix ZebOS; } + + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-04-25" { + description "Initial draft version."; } + + + + grouping vrf-grouping { + list vrf { + + + description + "vrf"; + + config true; + key "vrfName"; + + + leaf vrId { + mandatory false; + type leafref { + path "/vr/vrId"; + } + } // END of vrId definition. + + leaf vrfName { + mandatory true; + type cml_data_types:CML_STRING_T; + config true; + } // END of vrfName definition. + + leaf vrfId { + mandatory false; + type cml_data_types:CML_UINT32_T; + config false; + } // END of vrfId definition. + + leaf fibId { + mandatory false; + type cml_data_types:CML_UINT8_T; + config false; + } // END of fibId definition. + + leaf description { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of description definition. + + leaf routerId { + mandatory false; + type cml_data_types:CML_STRING_T; + config true; + } // END of routerId definition. + + } // End of vrf-list + } // END of vrf-grouping definition. + + +} \ No newline at end of file diff --git a/yang-files/zebmcli.yang b/yang-files/zebmcli.yang new file mode 100644 index 00000000..3ce58e30 --- /dev/null +++ b/yang-files/zebmcli.yang @@ -0,0 +1,66 @@ +/* +* Copyright (C) 2016 IP Infusion, Inc. +* All Rights Reserved. +* +*** Auto generated by zebmdc + +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. + +* File name : zebmcli.yang +* +*/ + + + +module zebmcli { + namespace "http://ipinfusion.com/ns/zebmcli"; + + prefix zebmcli; + + import cml_data_types { + prefix cml_data_types; + } + + revision "2015-10-15" { + description "initial version: revisied on 2015-10-15.";} + + rpc commit-transaction { + } + + rpc abort-transaction { + } + + rpc rollback-transaction { + + input { + leaf savepointName { + type cml_data_types:CML_STRING_T; + mandatory true; + } + } + } + + rpc create-savepoint { + + input { + leaf savepointName { + type cml_data_types:CML_STRING_T; + mandatory true; + } + } + } + + rpc delete-savepoint { + + input { + leaf savepointName { + type cml_data_types:CML_STRING_T; + mandatory true; + } + } + } + +} \ No newline at end of file From 9a89efca48254070a688461c922519ee212031ba Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Wed, 24 Aug 2016 08:47:56 +0530 Subject: [PATCH 5/7] Updated Ansible DHCP file with IPI custom code --- ansible/roles/dhcp/templates/dhcp.j2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible/roles/dhcp/templates/dhcp.j2 b/ansible/roles/dhcp/templates/dhcp.j2 index f4755cf4..02f69fa8 100644 --- a/ansible/roles/dhcp/templates/dhcp.j2 +++ b/ansible/roles/dhcp/templates/dhcp.j2 @@ -1,5 +1,7 @@ default-lease-time 600; max-lease-time 7200; +option ocnos-provision-url code 250 = text; +option ocnos-license-url code 251 = text; option subnet-mask 255.255.255.0; option broadcast-address 10.10.100.255; option routers 10.10.100.250; @@ -16,4 +18,4 @@ range 10.10.100.1 10.10.100.200; } {% endfor %} -} +} \ No newline at end of file From 572f2f09d54a4e52b7ac22488a8165cc12c5c5cc Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Thu, 6 Jul 2017 18:25:35 +0530 Subject: [PATCH 6/7] Renamed the ocnos config file to make it suiable --- ansible/{ocnos_configs.py => ocnos_config.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ansible/{ocnos_configs.py => ocnos_config.py} (100%) diff --git a/ansible/ocnos_configs.py b/ansible/ocnos_config.py similarity index 100% rename from ansible/ocnos_configs.py rename to ansible/ocnos_config.py From a5747624a50b774078ea96a7333378034046c663 Mon Sep 17 00:00:00 2001 From: Subeesh Sivanandan Date: Thu, 6 Jul 2017 18:30:05 +0530 Subject: [PATCH 7/7] ansible module file fixes --- ansible/roles/dhcp/tasks/main.yml | 3 ++- ansible/roles/leaf/tasks/main.yml | 3 ++- ansible/roles/spine/tasks/main.yml | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ansible/roles/dhcp/tasks/main.yml b/ansible/roles/dhcp/tasks/main.yml index 531731df..d32456fc 100644 --- a/ansible/roles/dhcp/tasks/main.yml +++ b/ansible/roles/dhcp/tasks/main.yml @@ -2,4 +2,5 @@ - name: Generate DHCP Configuration files template: src={{ item.profile }}.j2 dest=/tmp/dhcpd.conf with_items: - dhcp_segment + "{{dhcp_segment}}" + diff --git a/ansible/roles/leaf/tasks/main.yml b/ansible/roles/leaf/tasks/main.yml index 3092a1be..98cfb70f 100644 --- a/ansible/roles/leaf/tasks/main.yml +++ b/ansible/roles/leaf/tasks/main.yml @@ -2,4 +2,5 @@ - name: Generate Leaf configuration files template: src={{ item.profile}}.j2 dest=/tmp/configs/{{item.hostname}}.conf with_items: - switches + "{{switches}}" + diff --git a/ansible/roles/spine/tasks/main.yml b/ansible/roles/spine/tasks/main.yml index df2f27cd..8ab040f5 100644 --- a/ansible/roles/spine/tasks/main.yml +++ b/ansible/roles/spine/tasks/main.yml @@ -2,5 +2,5 @@ - name: Generate Spine Configuration files template: src={{ item.profile }}.j2 dest=/tmp/configs/{{ item.hostname }}.conf with_items: - switches + "{{switches}}"