--- 1/draft-ietf-mpls-te-mib-10.txt 2006-02-05 00:43:41.000000000 +0100 +++ 2/draft-ietf-mpls-te-mib-11.txt 2006-02-05 00:43:41.000000000 +0100 @@ -5,21 +5,21 @@ Force10 Networks, Inc. Thomas D. Nadeau Cisco Systems, Inc. June 2003 Multiprotocol Label Switching (MPLS) Traffic Engineering Management Information Base - draft-ietf-mpls-te-mib-10.txt + draft-ietf-mpls-te-mib-11.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. @@ -54,32 +54,32 @@ 5. Outline ................................................ 4 5.1. Summary of Traffic Engineering MIB module ............ 4 6. Brief Description of MIB Objects ....................... 5 6.1. mplsTunnelTable ...................................... 5 6.2. mplsTunnelResourceTable .............................. 5 6.3. mplsTunnelHopTable ................................... 5 6.4. mplsTunnelARHopTable ................................. 6 6.5. mplsTunnelCHoptable .................................. 6 6.6. mplsTunnelPerfTable .................................. 6 6.7. mplsTunnelCRLDPResTable .............................. 6 -7. Use of 32-bit and 64-bit Counters ...................... 6 +7. Use of 32-bit and 64-bit Counters ...................... 7 8. Application of the Interface Group to MPLS Tunnels ..... 7 8.1. Support of the MPLS Tunnel Interface by ifTable ...... 8 9. Example of Tunnel Setup ................................ 9 10. The Use of RowPointer ................................ 11 11. MPLS Traffic Engineering MIB Definitions ............. 12 12. Security Considerations .............................. 65 13. Acknowledgments ...................................... 67 14. References ........................................... 67 14.1. Normative References ............................... 67 14.2. Informative References ............................. 68 -15. Authors' Addresses ................................... 70 +15. Authors' Addresses ................................... 69 16. Full Copyright Statement ............................. 70 17. Intellectual Property Notice ......................... 71 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling a Multi-Protocol Label Switching (MPLS) [RFC3031] based traffic engineering. This MIB module @@ -155,43 +155,47 @@ 5. Outline Traffic engineering support for MPLS tunnels requires the following configuration. - Setting up MPLS tunnels along with appropriate configuration parameters. - Configuring tunnel loose and strict source routed hops. - These actions may need to be accompanied with corresponding + These actions may need to be accompanied by corresponding actions using [LSRMIB] to establish and configure tunnel segments, if this is done manually. Also, the in-segment and out-segment performance tables, mplsInSegmentPerfTable and mplsOutSegmentPerfTable [LSRMIB], should be used to - determine performance of the tunnels and tunnel segments. + determine performance of the tunnels and tunnel segments in + addition to mplsTunnelPerfTable in this MIB module. 5.1. Summary of Traffic Engineering MIB module The MIB module objects for performing these actions consist of the following tables. - Tunnel table (mplsTunnelTable) for setting up MPLS tunnels. - Resource table (mplsTunnelResourceTable) for setting up the tunnel resources. - Tunnel specified, actual, and computed hop tables (mplsTunnelHopTable, mplsTunnelARHopTable, and mplsTunnelCHopTable) for strict and loose source routed MPLS tunnel hops. + - Tunnel performance table (mplsTunnelPerfTable) for + measuring tunnel performance. + - CRLDP resource table (mplsTunnelCRLDPResTable) for specifying resource objects applicable to tunnels signaled using CRLDP. These tables are described in the subsequent sections. 6. Brief Description of MIB Objects The objects described in this section support the functionality described in documents [RSVPTE] and [CRLDP]. @@ -242,40 +245,43 @@ mplsTunnelARHopTable is used to indicate the actual hops traversed by a tunnel as reported by the MPLS signalling protocol after the tunnel is setup. The support of this table is optional since not all MPLS signalling protocol may support this feature. 6.5. mplsTunnelCHoptable mplsTunnelCHopTable lists the actual hops computed by a constraint-based routing algorithm based on the - mplsTunnelHopTable. The support of this table is optional - since not all implementations may support computation of - hop list using a constraint-based routing protocol. + mplsTunnelHopTable for the MPLS signalling protocol in use. + The support of this table is optional since not all + implementations may support computation of hop list using a + constraint-based routing protocol. 6.6. mplsTunnelPerfTable mplsTunnelPerfTable provides several counters to measure the performance of the MPLS tunnels. This table augments mplsTunnelTable. 6.7. mplsTunnelCRLDPResTable mplsTunnelCRLDPResTable contains resource information for those tunnels that are signaled using CRLDP [CRLDP]. This is a sparse extension to mplsTunnelResourceTable and is also indexed by mplsTunnelResourceIndex. As with mplsTunnelResourceTable, multiple tunnels may share the same resources by pointing to the same entry in this table. Tunnels that do not share resources must point to separate - entries in this table. + entries in this table. The mplsTunnelCRLDPResTable may be + supported only by implementations that support the CR-LDP + signaling protocol. 7. Use of 32-bit and 64-bit Counters 64-bit counters are provided in this MIB module for high- speed interfaces where the use of 32-bit counters might be impractical. The requirements on the use of 32-bit and 64- bit counters (copied verbatim from [RFC2863]) are as follows. For interfaces that operate at 20,000,000 (20 million) bits @@ -424,21 +430,21 @@ mplsTunnelSetupPrio = 0, mplsTunnelHoldingPrio = 0, mplsTunnelSessionAttributes = 0, mplsTunnelLocalProtectInUse = false (0), -- RowPointer MUST point to the first accessible column mplsTunnelResourcePointer = mplsTunnelResourceIndex.5, mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAllAffinity = 0, - mplsTunnelExcludeAllAffinity = 0, + mplsTunnelExcludeAnyAffinity = 0, mplsTunnelPathInUse = 1, mplsTunnelRole = head (1), -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } In mplsTunnelResourceTable: { mplsTunnelResourceIndex = 5, mplsTunnelResourceMaxRate = 0, @@ -462,41 +468,41 @@ In mplsTunnelHopTable: { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 1, mplsTunnelHopAddrType = ipv4 (1), mplsTunnelHopIpAddr = "192.168.100.1", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = loose (2), mplsTunnelHopInclude = true (1), - mplsTunnelHopPathOptionName = "here", + mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit (2), -- Mandatory parameters needed to activate the row go here mplsTunnelHopRowStatus = createAndGo (4) } The following denotes the end of the network, or the last hop in our example. We have used the fictitious LSR identified by "192.168.101.1" as our end router. In mplsTunnelHopTable: { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 2, mplsTunnelHopAddrType = ipv4 (1), mplsTunnelHopIpAddr = "192.168.101.1", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = loose (2), mplsTunnelHopInclude = true (1), - mplsTunnelHopPathOptionName = "there", + mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit (2), -- Mandatory parameters needed to activate the row go here mplsTunnelHopRowStatus = createAndGo (4) } 10. The Use of RowPointer RowPointer is a textual convention used to identify a conceptual row in a conceptual table in a MIB by pointing to the first accessible object. In this MIB module, in @@ -583,21 +589,21 @@ (Editor), RFC 3212, January 2002 3. Requirements for Traffic Engineering Over MPLS, Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. McManus, RFC 2702, September 1999" -- Revision history. REVISION "200306231200Z" -- 23 June 2003 12:00:00 GMT DESCRIPTION - "Initial draft version issues as part of RFC XXXX." + "Initial draft version issued as part of RFC XXXX." ::= { 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 } @@ -717,24 +723,24 @@ 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 an - LSR originating the tunnel. To uniquely identify a - tunnel across a MPLS network requires index - mplsTunnelIngressLSRId. Last index + 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, @@ -761,21 +767,21 @@ mplsTunnelLocalProtectInUse TruthValue, mplsTunnelResourcePointer RowPointer, mplsTunnelPrimaryInstance MplsTunnelInstanceIndex, mplsTunnelInstancePriority Unsigned32, mplsTunnelHopTableIndex MplsPathIndexOrZero, mplsTunnelPathInUse MplsPathIndexOrZero, mplsTunnelARHopTableIndex MplsPathIndexOrZero, mplsTunnelCHopTableIndex MplsPathIndexOrZero, mplsTunnelIncludeAnyAffinity MplsTunnelAffinity, mplsTunnelIncludeAllAffinity MplsTunnelAffinity, - mplsTunnelExcludeAllAffinity MplsTunnelAffinity, + mplsTunnelExcludeAnyAffinity MplsTunnelAffinity, mplsTunnelTotalUpTime TimeTicks, mplsTunnelInstanceUpTime TimeTicks, mplsTunnelPrimaryUpTime TimeTicks, mplsTunnelPathChanges Counter32, mplsTunnelLastPathChange TimeTicks, mplsTunnelCreationTime TimeStamp, mplsTunnelStateTransitions Counter32, mplsTunnelAdminStatus INTEGER, mplsTunnelOperStatus INTEGER, mplsTunnelRowStatus RowStatus, @@ -793,43 +799,35 @@ 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. The tunnel entry with instance index 0 - should refer to the configured tunnel interface (if - one exists), and 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 source port used for the - RSVP-TE session. Values greater than 65535 apply - to Fast Re-Route (FRR) detour instances " + tunnels." ::= { 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 mimic the Extended - Tunnel Id field in the SESSION object. When the - MPLS signalling protocol is crldp(3) this value - SHOULD mimic the Ingress LSR Router ID field in the - LSPID TLV object." + is rsvp(2) this value SHOULD 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 @@ -871,21 +869,22 @@ 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." + 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 @@ -1044,64 +1043,66 @@ 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 - segment. 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." + 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." ::= { 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 tunnels - with the same mplsTunnelIndex in this table, but - with a different mplsTunnelInstance. Tunnel group + 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." + specifies the explicit route hops for this tunnel. + This object is meaningful only at the head-end of + the tunnel." ::= { 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 @@ -1155,26 +1156,26 @@ 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 } -mplsTunnelExcludeAllAffinity OBJECT-TYPE +mplsTunnelExcludeAnyAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION - "A link satisfies the exclude-all constraint if and + "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." ::= { mplsTunnelEntry 26 } mplsTunnelTotalUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only @@ -1203,49 +1204,50 @@ 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 paths has changed - for this tunnel since its creation." + "Specifies the number of times the path has changed + for this tunnel instance since its creation." ::= { mplsTunnelEntry 30 } mplsTunnelLastPathChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "Specifies the time since the last path change for - this tunnel." + 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." ::= { mplsTunnelEntry 32 } mplsTunnelStateTransitions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "Specifies the number of times the state of this - tunnel instance has changed." + "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) } @@ -1280,39 +1282,39 @@ 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 tabole. When a row in this + 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 except mplsTunnelRowStatus and - mplsTunnelStorageType." + can be modified by the agent except + mplsTunnelRowStatus and mplsTunnelStorageType." ::= { mplsTunnelEntry 36 } mplsTunnelStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this variable is set to readOnly(5), and the corresponding entry is removed, then the agent must remove this row shortly thereafter [RFC2579]. Setting this object to permanent(4) indicates that - this object should be restored automatically after + this row should be restored automatically after failures. The agent MUST ensure that the associated mplsTunnelXCPointer, mplsTunnelResourcePointer and associated row in mplsTunnelHopTable also has the same StorageType value and is restored consistently upon restoration. No objects are required to be writable for rows in this table with this object set to permanent(4). The default value is volatile(2)." @@ -1436,45 +1438,48 @@ STATUS current DESCRIPTION "Denotes the address type of this tunnel hop. If set to ipv4(1) or ipv6(2), it indicates that the mplsTunnelHopIpAddr contains respectively the IPv4 or IPv6 address of this hop. The values contained in mplsTunnelHopAsNumber, mplsTunnelHopAddrUnnum and mplsTunnelHopLspId should be ignored. If this object is set to asnumber(3), the IP address related objects should be ignored, and the - mplsTunnelHopAsNumber should be referred to. If this - object is set to unnum(4), then only the object - mplsTunnelHopAddrUnnum should be referred to. If - the object is set to lspid(5), then all but the + mplsTunnelHopAsNumber should be referred to. If + this object is set to unnum(4), then only the + object mplsTunnelHopAddrUnnum should be referred + to. If the object is set to lspid(5), then only mplsTunnelHopLspId should be referred to. 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 "If mplsTunnelHopAddrType is set to ipv4(1) or ipv6(2), then this value will contain respectively the IPv4 address or the IPv6 address prefix of this hop. This object should be used in conjunction with mplsTunnelHopIpPrefixLen that provides the prefix length of the address. If mplsTunnelHopAddrType is - set to lspid(5), then this value will contain the - Ingress LSR Router ID of the Tunnel. Otherwise the - agent should set this object to zero-length string - and the manager should ignore this." + set to unnum(4), then this value will contain the + LSR Router ID of the unnumbered interface. If + mplsTunnelHopAddrType is set to lspid(5), then this + value will contain the Ingress LSR Router ID of the + Tunnel. Otherwise the agent should set this object + to zero-length string and the manager should ignore + this." ::= { 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 @@ -1493,24 +1498,27 @@ 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 id of the - unnumbered interface for this hop. Otherwise the - agent should set this object to zero-length string - and the manager should ignore this." + 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 @@ -1572,39 +1580,40 @@ 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 tabole. When a row in this + 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 except mplsTunnelHopRowStatus and + can be modified by the agent except + mplsTunnelHopRowStatus and mplsTunnelHopStorageType." ::= { mplsTunnelHopEntry 14 } mplsTunnelHopStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this variable is set to readOnly(5), and the corresponding entry is removed, then the agent must remove this row shortly thereafter [RFC2579]. Setting this object to permanent(4) indicates that - this object should be restored automatically after + this row should be restored automatically after failures. No objects are required to be writable for rows in this table with this object set to permanent(4). The default value is volatile(2)." DEFVAL { volatile } ::= { mplsTunnelHopEntry 15 } -- End of mplsTunnelHopTable @@ -1805,43 +1815,45 @@ 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 tabole. When a row in this + 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 except mplsTunnelResourceRowStatus - and mplsTunnelResourceStorageType." + can be modified by the agent except + mplsTunnelResourceRowStatus and + mplsTunnelResourceStorageType." ::= { mplsTunnelResourceEntry 9 } mplsTunnelResourceStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this variable is set to readOnly(5), and the corresponding entry is removed, then the agent must remove this row shortly thereafter [RFC2579]. Setting this object to permanent(4) indicates that - this object should be restored automatically after + this row should be restored automatically after failures. No objects are required to be writable for rows in this table with this object set to permanent(4). + The default value is volatile(2)." DEFVAL { volatile } ::= { mplsTunnelResourceEntry 10 } -- End mplsTunnelResourceTable -- Tunnel Actual Route Hop table. mplsTunnelARHopTable OBJECT-TYPE @@ -1843,66 +1855,62 @@ -- 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, strict or loose, for an MPLS tunnel defined - in mplsTunnelTable, as reported by the MPLS - signalling protocol, for the outgoing direction of - the tunnel. 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. The - first row in the table is the first hop after the - origination point of the tunnel. 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 - mplsTunnelARHopTable. + hops for an MPLS tunnel defined in mplsTunnelTable, + as reported by the MPLS signalling protocol, for + the outgoing direction of the tunnel. 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. The first row in the + table is the first hop after the origination point + of the tunnel. 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 mplsTunnelARHopTable. Please note that since the information necessary to - build entries within this table are not provided by + 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." ::= { 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 a network administrator for - signaled ERLSP set up by an MPLS signalling - protocol." + 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, - mplsTunnelARHopIpPrefixLen InetAddressPrefixLength, - mplsTunnelARHopAsNumber TeHopAddressAS, mplsTunnelARHopAddrUnnum TeHopAddressUnnum, mplsTunnelARHopLspId MplsLSPID } mplsTunnelARHopListIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index into this table identifying a @@ -1928,71 +1936,52 @@ ::= { mplsTunnelARHopEntry 3 } mplsTunnelARHopIpAddr OBJECT-TYPE SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION "If mplsTunnelARHopAddrType is set to ipv4(1) or ipv6(2), then this value will contain respectively the IPv4 address or the IPv6 address of this hop. - Otherwise the agent should set this object to zero- - length string and the manager should ignore this." + 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 zero-length string and the + manager should ignore this." ::= { mplsTunnelARHopEntry 4 } -mplsTunnelARHopIpPrefixLen OBJECT-TYPE - SYNTAX InetAddressPrefixLength - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "If mplsTunnelARHopAddrType is set to ipv4(1) or - ipv6(2), then this value will contain an - appropriate prefix length for the IP address in - object mplsTunnelARHopIpAddr. Otherwise a - management entity SHOULD set this object to 0 and - an agent MUST ignore it." - ::= { mplsTunnelARHopEntry 5 } - -mplsTunnelARHopAsNumber OBJECT-TYPE - SYNTAX TeHopAddressAS - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "If mplsTunnelARHopAddrType 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." - ::= { mplsTunnelARHopEntry 6 } - 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. Otherwise - the agent should set this object to zero-length - string and the manager should ignore this." - ::= { mplsTunnelARHopEntry 7 } + 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 8 } + ::= { mplsTunnelARHopEntry 6 } -- End of mplsTunnelARHopTable -- Tunnel Computed Hop table. mplsTunnelCHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelCHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -2010,36 +1999,36 @@ 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 is actually provided by - routing protocol after the path has been computed, - the entries in this table are provided only for - observation, and hence, all variables in this table - are accessible exclusively as read-only." + 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 constraint- - based routing protocol based on the hops specified - in the corresponding mplsTunnelHopTable." + 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, @@ -2078,22 +2067,25 @@ ::= { mplsTunnelCHopEntry 3 } mplsTunnelCHopIpAddr OBJECT-TYPE SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION "If mplsTunnelCHopAddrType is set to ipv4(1) or ipv6(2), then this value will contain respectively the IPv4 address or the IPv6 address of this hop. - Otherwise the agent should set this object to zero- - length string and the manager should ignore this." + 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 zero-length string and the + manager should ignore this." ::= { 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 @@ -2114,23 +2106,25 @@ 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. Otherwise the agent should - set this object to zero-length string and the - manager should ignore this." + 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 @@ -2151,22 +2145,22 @@ -- 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 MPLS performance - information." + "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." @@ -2346,43 +2341,45 @@ LDP, Jamoussi (Editor), RFC 3212, January 2002" DEFVAL { 0 } ::= { mplsTunnelCRLDPResEntry 6 } 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 tabole. When a row in this + 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 except mplsTunnelCRLDPResRowStatus - and mplsTunnelCRLDPResStorageType." + can be modified by the agent except + mplsTunnelCRLDPResRowStatus and + mplsTunnelCRLDPResStorageType." ::= { mplsTunnelCRLDPResEntry 7 } mplsTunnelCRLDPResStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this variable is set to readOnly(5), and the corresponding entry is removed, then the agent must remove this row shortly thereafter [RFC2579]. Setting this object to permanent(4) indicates that - this object should be restored automatically after + this row should be restored automatically after failures. No objects are required to be writable for rows in this table with this object set to permanent(4). + The default value is volatile(2)." DEFVAL { volatile } ::= { mplsTunnelCRLDPResEntry 8 } -- Notifications. mplsTunnelNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current @@ -2425,38 +2422,40 @@ ::= { mplsTeNotifications 2 } mplsTunnelRerouted NOTIFICATION-TYPE OBJECTS { mplsTunnelAdminStatus, mplsTunnelOperStatus } STATUS current DESCRIPTION "This notification is generated when a tunnel is - rerouted. If the actual path is used, then this - tunnel's entry MAY contain the new path for this - tunnel some time after this trap is issued by the - agent." + 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 actual path is used, then this - tunnel's entry MAY contain the new path for this - tunnel some time after this trap is issued by the - agent." + 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 @@ -2674,21 +2675,21 @@ 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 mplsTunnelExcludeAllAffinity + 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 @@ -2915,21 +2918,21 @@ mplsTunnelConfigured, mplsTunnelActive, mplsTunnelPrimaryInstance, mplsTunnelPrimaryUpTime, mplsTunnelPathChanges, mplsTunnelLastPathChange, mplsTunnelCreationTime, mplsTunnelStateTransitions, mplsTunnelIncludeAnyAffinity, mplsTunnelIncludeAllAffinity, - mplsTunnelExcludeAllAffinity, + mplsTunnelExcludeAnyAffinity, mplsTunnelPerfPackets, mplsTunnelPerfHCPackets, mplsTunnelPerfErrors, mplsTunnelPerfBytes, mplsTunnelPerfHCBytes, mplsTunnelResourcePointer, mplsTunnelInstancePriority, mplsTunnelPathInUse, mplsTunnelRole, mplsTunnelTotalUpTime, @@ -2939,22 +2942,20 @@ mplsTunnelResourceMeanRate, mplsTunnelResourceMaxBurstSize, mplsTunnelResourceMeanBurstSize, mplsTunnelResourceExBurstSize, mplsTunnelResourceFrequency, mplsTunnelResourceWeight, mplsTunnelResourceRowStatus, mplsTunnelResourceStorageType, mplsTunnelARHopAddrType, mplsTunnelARHopIpAddr, - mplsTunnelARHopIpPrefixLen, - mplsTunnelARHopAsNumber, mplsTunnelARHopAddrUnnum, mplsTunnelARHopLspId, mplsTunnelCHopAddrType, mplsTunnelCHopIpAddr, mplsTunnelCHopIpPrefixLen, mplsTunnelCHopAsNumber, mplsTunnelCHopAddrUnnum, mplsTunnelCHopLspId, mplsTunnelCHopType } @@ -3076,35 +3077,34 @@ There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. These are the tables and objects and their sensitivity/vulnerability: - the mplsTunnelTable, mplsTunnelHopTable, - mplsTunnelResourceTable, mplsTunnelARHopTable, - mplsTunnelCHopTable, and mplsTunnelCRLDPResTable - collectively contain objects to provision MPLS - tunnels, tunnel hops, and tunnel resources. - Unauthorized access to objects in these tables, - could result in disruption of traffic on the - network. This is especially true if a tunnel has - been established. The use of stronger mechanisms - such as SNMPv3 security should be considered where - possible. Specifically, SNMPv3 VACM and USM MUST - be used with any v3 agent which implements this - MIB. Administrators should consider whether read - access to these objects should be allowed, since - read access may be undesirable under certain - circumstances. + mplsTunnelResourceTable, and + mplsTunnelCRLDPResTable collectively contain + objects to provision MPLS tunnels, tunnel hops, and + tunnel resources. Unauthorized access to objects + in these tables, could result in disruption of + traffic on the network. This is especially true if + a tunnel has been established. The use of stronger + mechanisms such as SNMPv3 security should be + considered where possible. Specifically, SNMPv3 + VACM and USM MUST be used with any v3 agent which + implements this MIB. Administrators should + consider whether read access to these objects + should be allowed, since read access may be + undesirable under certain circumstances. Some of the readable objects in this MIB module "i.e., objects with a MAX-ACCESS other than not-accessible" may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability: @@ -3193,21 +3193,21 @@ [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", RFC 3411, December 2002. [TCMIB] Nadeau, T. and J. Cucchiara (Editors), "Definition of Textual Conventions and OBJECT-IDENTITIES for Multi-Protocol Label Switching (MPLS) Management", Internet Draft - , June 2003. + , June 2003. [LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau, "MPLS Multiprotocol Label Switching (MPLS) Label Switch Router Management Information Base ", Internet Draft , June 2003. [CRLDP] B. Jamoussi (Editor), "Constraint-Based LSP Setup using LDP", RFC 3212, January 2002. @@ -3286,21 +3285,21 @@ Thomas D. Nadeau Cisco Systems, Inc. 300 Apollo Drive Chelmsford, MA 01824 Phone: +1-978-244-3051 Email: tnadeau@cisco.com 16. Full Copyright Statement - Copyright (C) The Internet Society (2001). All Rights + Copyright (C) The Internet Society (2003). 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