MPLS-TC-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Unsigned32, Integer32, transmission FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION FROM SNMPv2-TC; -- [RFC2579] mplsTCStdMIB MODULE-IDENTITY LAST-UPDATED "200406030000Z" -- June 3, 2004 ORGANIZATION "IETF Multiprotocol Label Switching (MPLS) Working Group." CONTACT-INFO " Thomas D. Nadeau Cisco Systems, Inc. tnadeau@cisco.com Joan Cucchiara Marconi Communications, Inc. jcucchiara@mindspring.com Cheenu Srinivasan Bloomberg L.P. cheenu@bloomberg.net Arun Viswanathan Force10 Networks, Inc. arunv@force10networks.com Hans Sjostrand ipUnplugged hans@ipunplugged.com Kireeti Kompella Juniper Networks kireeti@juniper.net Email comments to the MPLS WG Mailing List at mpls@uu.net." DESCRIPTION "Copyright (C) The Internet Society (2004). The initial version of this MIB module was published in RFC 3811. For full legal notices see the RFC itself or see: http://www.ietf.org/copyrights/ianamib.html This MIB module defines TEXTUAL-CONVENTIONs for concepts used in Multiprotocol Label Switching (MPLS) networks." REVISION "200406030000Z" -- June 3, 2004 DESCRIPTION "Initial version published as part of RFC 3811." ::= { mplsStdMIB 1 } mplsStdMIB OBJECT IDENTIFIER ::= { transmission 166 } MplsAtmVcIdentifier ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "A Label Switching Router (LSR) that creates LDP sessions on ATM interfaces uses the VCI or VPI/VCI field to hold the LDP Label. VCI values MUST NOT be in the 0-31 range. The values 0 to 31 are reserved for other uses by the ITU and ATM Forum. The value of 32 can only be used for the Control VC, although values greater than 32 could be configured for the Control VC. If a value from 0 to 31 is used for a VCI the management entity controlling the LDP subsystem should reject this with an inconsistentValue error. Also, if the value of 32 is used for a VC which is NOT the Control VC, this should result in an inconsistentValue error." REFERENCE "MPLS using LDP and ATM VC Switching, RFC3035." SYNTAX Integer32 (32..65535) MplsBitRate ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "If the value of this object is greater than zero, then this represents the bandwidth of this MPLS interface (or Label Switched Path) in units of '1,000 bits per second'. The value, when greater than zero, represents the bandwidth of this MPLS interface (rounded to the nearest 1,000) in units of 1,000 bits per second. If the bandwidth of the MPLS interface is between ((n * 1000) - 500) and ((n * 1000) + 499), the value of this object is n, such that n > 0. If the value of this object is 0 (zero), this means that the traffic over this MPLS interface is considered to be best effort." SYNTAX Unsigned32 (0|1..4294967295) MplsBurstSize ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The number of octets of MPLS data that the stream may send back-to-back without concern for policing. The value of zero indicates that an implementation does not support Burst Size." SYNTAX Unsigned32 (0..4294967295) MplsExtendedTunnelId ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique identifier for an MPLS Tunnel. This may represent an IPv4 address of the ingress or egress LSR for the tunnel. This value is derived from the Extended Tunnel Id in RSVP or the Ingress Router ID for CR-LDP." REFERENCE "RSVP-TE: Extensions to RSVP for LSP Tunnels, [RFC3209]. Constraint-Based LSP Setup using LDP, [RFC3212]." SYNTAX Unsigned32(0..4294967295) MplsLabel ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This value represents an MPLS label as defined in [RFC3031], [RFC3032], [RFC3034], [RFC3035] and [RFC3471]. The label contents are specific to the label being represented, such as: * The label carried in an MPLS shim header (for LDP this is the Generic Label) is a 20-bit number represented by 4 octets. Bits 0-19 contain a label or a reserved label value. Bits 20-31 MUST be zero. The following is quoted directly from [RFC3032]. There are several reserved label values: i. A value of 0 represents the 'IPv4 Explicit NULL Label'. This label value is only legal at the bottom of the label stack. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv4 header. ii. A value of 1 represents the 'Router Alert Label'. This label value is legal anywhere in the label stack except at the bottom. When a received packet contains this label value at the top of the label stack, it is delivered to a local software module for processing. The actual forwarding of the packet is determined by the label beneath it in the stack. However, if the packet is forwarded further, the Router Alert Label should be pushed back onto the label stack before forwarding. The use of this label is analogous to the use of the 'Router Alert Option' in IP packets [RFC2113]. Since this label cannot occur at the bottom of the stack, it is not associated with a particular network layer protocol. iii. A value of 2 represents the 'IPv6 Explicit NULL Label'. This label value is only legal at the bottom of the label stack. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv6 header. iv. A value of 3 represents the 'Implicit NULL Label'. This is a label that an LSR may assign and distribute, but which never actually appears in the encapsulation. When an LSR would otherwise replace the label at the top of the stack with a new label, but the new label is 'Implicit NULL', the LSR will pop the stack instead of doing the replacement. Although this value may never appear in the encapsulation, it needs to be specified in the Label Distribution Protocol, so a value is reserved. v. Values 4-15 are reserved. * The frame relay label can be either 10-bits or 23-bits depending on the DLCI field size and the upper 22-bits or upper 9-bits must be zero, respectively. * For an ATM label the lower 16-bits represents the VCI, the next 12-bits represents the VPI and the remaining bits MUST be zero. * The Generalized-MPLS (GMPLS) label contains a value greater than 2^24-1 and used in GMPLS as defined in [RFC3471]." REFERENCE "Multiprotocol Label Switching Architecture, RFC3031. MPLS Label Stack Encoding, [RFC3032]. Use of Label Switching on Frame Relay Networks, RFC3034. MPLS using LDP and ATM VC Switching, RFC3035. Generalized Multiprotocol Label Switching (GMPLS) Architecture, [RFC3471]." SYNTAX Unsigned32 (0..4294967295) MplsLabelDistributionMethod ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The label distribution method which is also called the label advertisement mode [RFC3036]. Each interface on an LSR is configured to operate in either Downstream Unsolicited or Downstream on Demand." REFERENCE "Multiprotocol Label Switching Architecture, RFC3031. LDP Specification, RFC3036, Section 2.6.3." SYNTAX INTEGER { downstreamOnDemand(1), downstreamUnsolicited(2) } MplsLdpIdentifier ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d.1d.1d.1d:2d" STATUS current DESCRIPTION "The LDP identifier is a six octet quantity which is used to identify a Label Switching Router (LSR) label space. The first four octets identify the LSR and must be a globally unique value, such as a 32-bit router ID assigned to the LSR, and the last two octets identify a specific label space within the LSR." SYNTAX OCTET STRING (SIZE (6)) MplsLsrIdentifier ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The Label Switching Router (LSR) identifier is the first 4 bytes of the Label Distribution Protocol (LDP) identifier." SYNTAX OCTET STRING (SIZE (4)) MplsLdpLabelType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The Layer 2 label types which are defined for MPLS LDP and/or CR-LDP are generic(1), atm(2), or frameRelay(3)." SYNTAX INTEGER { generic(1), atm(2), frameRelay(3) } MplsLSPID ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique identifier within an MPLS network that is assigned to each LSP. This is assigned at the head end of the LSP and can be used by all LSRs to identify this LSP. This value is piggybacked by the signaling protocol when this LSP is signaled within the network. This identifier can then be used at each LSR to identify which labels are being swapped to other labels for this LSP. This object can also be used to disambiguate LSPs that share the same RSVP sessions between the same source and destination. For LSPs established using CR-LDP, the LSPID is composed of the ingress LSR Router ID (or any of its own IPv4 addresses) and a locally unique CR-LSP ID to that LSR. The first two bytes carry the CR-LSPID, and the remaining 4 bytes carry the Router ID. The LSPID is useful in network management, in CR-LSP repair, and in using an already established CR-LSP as a hop in an ER-TLV. For LSPs signaled using RSVP-TE, the LSP ID is defined as a 16-bit (2 byte) identifier used in the SENDER_TEMPLATE and the FILTER_SPEC that can be changed to allow a sender to share resources with itself. The length of this object should only be 2 or 6 bytes. If the length of this octet string is 2 bytes, then it must identify an RSVP-TE LSPID, or it is 6 bytes, it must contain a CR-LDP LSPID." REFERENCE "RSVP-TE: Extensions to RSVP for LSP Tunnels, [RFC3209]. Constraint-Based LSP Setup using LDP, [RFC3212]." SYNTAX OCTET STRING (SIZE (2|6)) MplsLspType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Types of Label Switch Paths (LSPs) on a Label Switching Router (LSR) or a Label Edge Router (LER) are: unknown(1) -- if the LSP is not known to be one of the following. terminatingLsp(2) -- if the LSP terminates on the LSR/LER, then this is an egressing LSP which ends on the LSR/LER, originatingLsp(3) -- if the LSP originates from this LSR/LER, then this is an ingressing LSP which is the head-end of the LSP, crossConnectingLsp(4) -- if the LSP ingresses and egresses on the LSR, then it is cross-connecting on that LSR." SYNTAX INTEGER { unknown(1), terminatingLsp(2), originatingLsp(3), crossConnectingLsp(4) } MplsOwner ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This object indicates the local network management subsystem that originally created the object(s) in question. The values of this enumeration are defined as follows: unknown(1) - the local network management subsystem cannot discern which component created the object. other(2) - the local network management subsystem is able to discern which component created the object, but the component is not listed within the following choices, e.g., command line interface (cli). snmp(3) - The Simple Network Management Protocol was used to configure this object initially. ldp(4) - The Label Distribution Protocol was used to configure this object initially. crldp(5) - The Constraint-Based Label Distribution Protocol was used to configure this object initially. rsvpTe(6) - The Resource Reservation Protocol was used to configure this object initially. policyAgent(7) - A policy agent (perhaps in combination with one of the above protocols) was used to configure this object initially. An object created by any of the above choices MAY be modified or destroyed by the same or a different choice." SYNTAX INTEGER { unknown(1), other(2), snmp(3), ldp(4), crldp(5), rsvpTe(6), policyAgent(7) } MplsPathIndexOrZero ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique identifier used to identify a specific path used by a tunnel. A value of 0 (zero) means that no path is in use." SYNTAX Unsigned32(0..4294967295) MplsPathIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique value to index (by Path number) an entry in a table." SYNTAX Unsigned32(1..4294967295) MplsRetentionMode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The label retention mode which specifies whether an LSR maintains a label binding for a FEC learned from a neighbor that is not its next hop for the FEC. If the value is conservative(1) then advertised 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 is liberal(2) then all advertised label mappings are retained whether they are from a valid next hop or not." REFERENCE "Multiprotocol Label Switching Architecture, RFC3031. LDP Specification, RFC3036, Section 2.6.2." SYNTAX INTEGER { conservative(1), liberal(2) } MplsTunnelAffinity ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Describes the configured 32-bit Include-any, include-all, or exclude-all constraint for constraint-based link selection." REFERENCE "RSVP-TE: Extensions to RSVP for LSP Tunnels, RFC3209, Section 4.7.4." SYNTAX Unsigned32(0..4294967295) MplsTunnelIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique index into mplsTunnelTable. For tunnels signaled using RSVP, this value should correspond to the RSVP Tunnel ID used for the RSVP-TE session." SYNTAX Unsigned32 (0..65535) MplsTunnelInstanceIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The tunnel entry with instance index 0 should refer to the configured tunnel interface (if one exists). Values greater than 0, but less than or equal to 65535, should be used to indicate signaled (or backup) tunnel LSP instances. For tunnel LSPs signaled using RSVP, this value should correspond to the RSVP LSP ID used for the RSVP-TE LSP. Values greater than 65535 apply to FRR detour instances." SYNTAX Unsigned32(0|1..65535|65536..4294967295) TeHopAddressType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A value that represents a type of address for a Traffic Engineered (TE) Tunnel hop. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding TeHopAddress object is a zero-length string. It may also be used to indicate a TeHopAddress which is not in one of the formats defined below. ipv4(1) An IPv4 network address as defined by the InetAddressIPv4 TEXTUAL-CONVENTION [RFC3291]. ipv6(2) A global IPv6 address as defined by the InetAddressIPv6 TEXTUAL-CONVENTION [RFC3291]. asnumber(3) An Autonomous System (AS) number as defined by the TeHopAddressAS TEXTUAL-CONVENTION. unnum(4) An unnumbered interface index as defined by the TeHopAddressUnnum TEXTUAL-CONVENTION. lspid(5) An LSP ID for TE Tunnels (RFC3212) as defined by the MplsLSPID TEXTUAL-CONVENTION. Each definition of a concrete TeHopAddressType value must be accompanied by a definition of a TEXTUAL-CONVENTION for use with that TeHopAddress. To support future extensions, the TeHopAddressType TEXTUAL-CONVENTION SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that TeHopAddressType objects and any dependent objects (e.g., TeHopAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change a TeHopAddressType object would, for example, lead to an undefined TeHopAddress value that is not defined herein. In particular, TeHopAddressType/TeHopAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1))." REFERENCE "TEXTUAL-CONVENTIONs for Internet Network Addresses, RFC3291. Constraint-Based LSP Setup using LDP, [RFC3212]" SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2), asnumber(3), unnum(4), lspid(5) } TeHopAddress ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a generic Tunnel hop address, that is, the address of a node which an LSP traverses, including the source and destination nodes. An address may be very concrete, for example, an IPv4 host address (i.e., with prefix length 32); if this IPv4 address is an interface address, then that particular interface must be traversed. An address may also specify an 'abstract node', for example, an IPv4 address with prefix length less than 32, in which case, the LSP can traverse any node whose address falls in that range. An address may also specify an Autonomous System (AS), in which case the LSP can traverse any node that falls within that AS. A TeHopAddress value is always interpreted within the context of an TeHopAddressType value. Every usage of the TeHopAddress TEXTUAL-CONVENTION is required to specify the TeHopAddressType object which provides the context. It is suggested that the TeHopAddressType object is logically registered before the object(s) which use the TeHopAddress TEXTUAL-CONVENTION if they appear in the same logical row. The value of a TeHopAddress object must always be consistent with the value of the associated TeHopAddressType object. Attempts to set a TeHopAddress object to a value which is inconsistent with the associated TeHopAddressType must fail with an inconsistentValue error." SYNTAX OCTET STRING (SIZE (0..32)) TeHopAddressAS ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents a two or four octet AS number. The AS number is represented in network byte order (MSB first). A two-octet AS number has the two MSB octets set to zero." REFERENCE "Textual Conventions for Internet Network Addresses, [RFC3291]. The InetAutonomousSystemsNumber TEXTUAL-CONVENTION has a SYNTAX of Unsigned32, whereas this TC has a SYNTAX of OCTET STRING (SIZE (4)). Both TCs represent an autonomous system number but use different syntaxes to do so." SYNTAX OCTET STRING (SIZE (4)) TeHopAddressUnnum ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents an unnumbered interface: octets contents encoding 1-4 unnumbered interface network-byte order The corresponding TeHopAddressType value is unnum(5)." SYNTAX OCTET STRING(SIZE(4)) END