idnits 2.17.1 draft-ietf-mpls-lsr-mib-14.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 59 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 2 instances of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 2791 has weird spacing: '...for the purpo...' == The document seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: mplsInSegmentIndex OBJECT-TYPE SYNTAX MplsIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index for for this in-segment. The string containing the single octet 0x00 MUST not be used as an index." ::= { mplsInSegmentEntry 1 } == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: 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. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: 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 } == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: 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 } -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 2003) is 7462 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'MPLSMGMT' is mentioned on line 2672, but not defined == Missing Reference: 'MPLSTCMIB' is mentioned on line 2673, but not defined == Missing Reference: 'RFC2434' is mentioned on line 2678, but not defined ** Obsolete undefined reference: RFC 2434 (Obsoleted by RFC 5226) == Unused Reference: 'RFC3291' is defined on line 2714, but no explicit reference was found in the text == Unused Reference: 'RFC3411' is defined on line 2719, but no explicit reference was found in the text == Unused Reference: 'TCMIB' is defined on line 2729, but no explicit reference was found in the text == Unused Reference: 'IANAFamily' is defined on line 2736, but no explicit reference was found in the text == Unused Reference: 'RFC2026' is defined on line 2745, but no explicit reference was found in the text == Unused Reference: 'RFC3413' is defined on line 2748, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3291 (Obsoleted by RFC 4001) -- Possible downref: Non-RFC (?) normative reference: ref. 'TEMIB' -- Possible downref: Non-RFC (?) normative reference: ref. 'TCMIB' -- Possible downref: Non-RFC (?) normative reference: ref. 'IANAFamily' Summary: 5 errors (**), 0 flaws (~~), 17 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Cheenu Srinivasan 3 Internet Draft Bloomberg L.P. 4 Expires: May 2004 5 Arun Viswanathan 6 Force10 Networks, Inc. 8 Thomas D. Nadeau 9 Cisco Systems, Inc. 11 November 2003 13 Multiprotocol Label Switching (MPLS) Label Switching 14 Router (LSR) Management Information Base 16 draft-ietf-mpls-lsr-mib-14.txt 18 Status of this Memo 20 This document is an Internet-Draft and is in full conformance with 21 all provisions of Section 10 of RFC 2026. 23 Internet-Drafts are working documents of the In ternet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six 29 months and may be updated, replaced, or obsoleted by other 30 documents at any time. It is inappropriate to use Internet- 31 Drafts as reference material or to cite them other than as "work 32 in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 Abstract 42 This memo defines an portion of the Management 43 Information Base (MIB) for use with network management protocols 44 in the Internet community. In particular, it describes managed 45 objects to configure and/or monitor a Multi-Protocol Label 46 Switching (MPLS) Label Switching Router (LSR). 48 Table of Contents 50 Abstract .................................................1 51 1. Introduction .............................................2 52 2. Terminology ..............................................2 53 3. The SNMP Management Framework ............................3 54 4. Outline ..................................................3 55 4.1 Summary of LSR MIB Module ................................3 56 5. Brief Description of MIB Module Objects ..................4 57 5.1. mplsInterfaceTable .......................................4 58 5.2. mplsInterfacePerfTable ...................................4 59 5.3. mplsInSegmentTable .......................................4 60 5.4. mplsInSegmentPerfTable ...................................5 61 5.5. mplsOutSegmentTable ......................................5 62 5.6. mplsOutSegmentPerfTable ..................................5 63 5.7. mplsXCTable ..............................................5 64 5.8. mplsLabelStackTable ......................................6 65 5.9 mplsInSegmentMapTable ....................................6 66 6. Use of 32-bit and 64-bit Counters ........................6 67 7. Example of LSP Setup .....................................6 68 8. Application of the Interface Group to MPLS ...............8 69 8.1. Support of the MPLS Layer by ifTable .....................8 70 9. The Use of RowPointer ....................................10 71 10. MPLS Label Switching Router MIB Module Definitions .......10 72 11. Security Considerations ..................................52 73 12. Acknowledgments ..........................................54 74 13. IANA Considerations ......................................54 75 13.1. IANA Considerations for MPLS-LSR-STD-MIB ................54 76 14. References ...............................................54 77 14.1. Normative References ....................................54 78 14.2. Informative References ..................................55 79 15. Authors' Addresses .........................................56 80 16. Full Copyright Statement ...................................56 81 17. Intellectual Property Notice ...............................57 83 1. Introduction 85 This memo defines an portion of the Management 86 Information Base (MIB) for use with network management protocols 87 in the Internet community. In particular, it describes managed 88 objects for modeling a Multi-Protocol Label Switching (MPLS) 89 [RFC3031] Label Switching Router (LSR). 91 Comments should be made directly to the MPLS mailing list at 92 mpls@uu.net. 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 95 NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and 96 "OPTIONAL" in this document are to be interpreted as described in 97 RFC 2119, reference [RFC2119]. 99 2. Terminology 101 This document uses terminology from the document describing the 102 MPLS architecture [RFC3031]. A label switched path (LSP) is 103 modeled as a connection consisting of one or more incoming 104 segments (in-segments) and/or one or more outgoing segments (out- 105 segments) at a LSR. The association or interconnection 106 of the in-segments and out-segments is accomplished by 107 using a cross-connect. We use the terminology 108 "connection" and "LSP" interchangeably where the meaning is clear 109 from the context. 111 in-segment This is analagous to an MPLS label. 112 out-segment This is analagous to an MPLS label. 113 cross-connect This describes the conceptual connection 114 between a set of in-segments and out-segments. 115 Note that either set may be 0; that is, a 116 cross-connect may connect only out-segments 117 together with no in-segments in the case 118 where an LSP is originating on an LSR. 120 3. The SNMP Management Framework 122 For a detailed overview of the documents that describe the current 123 Internet-Standard Management Framework, please refer to section 7 of 124 RFC 3410 [RFC3410]. 126 Managed objects are accessed via a virtual information store, termed 127 the Management Information Base or MIB. MIB objects are generally 128 accessed through the Simple Network Management Protocol (SNMP). 129 Objects in the MIB are defined using the mechanisms defined in the 130 Structure of Management Information (SMI). This memo specifies a MIB 131 module that is compliant to the SMIv2, which is described in STD 58, 132 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 133 [RFC2580]. 135 4. Outline 137 Configuring LSPs through an LSR involves the following steps: 139 - Enabling MPLS on MPLS capable interfaces. 141 - Configuring in-segments and out-segments. 143 - Setting up the cross-connect table to associate segments and/or 144 to indicate connection origination and termination. 146 - Optionally specifying label stack actions. 148 - Optionally specifying segment traffic parameters. 150 4.1. Summary of LSR MIB Module 152 The MIB objects for performing these actions consist of the 153 following tables: 155 - The interface table (mplsInterfaceTable), 156 which is used for revealing the MPLS protocol on 157 MPLS-capable interfaces. 159 - The in-segment (mplsInSegmentTable) and out-segment 160 (mplsOutSegmentTable) tables, which are used for configuring 161 LSP segments at an LSR. 163 - The cross-connect table (mplsXCTable), which is used to 164 associate in and out segments together, in order to form a 165 cross-connect. 167 - The label stack table (mplsLabelStackTable), which is used for 168 specifying label stack operations. 170 Further, the MPLS in-segment and out-segment performance tables, 171 mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the 172 objects necessary to measure the performance of LSPs, and 173 mplsInterfacePerfTable has objects to measure MPLS performance on 174 a per-interface basis. 176 These tables are described in the subsequent sections. 178 5. Brief Description of MIB Module Objects 180 Sections 5.1-5.2 describe objects pertaining to MPLS-capable 181 interfaces of an LSR. The objects described in Sections 5.3-5.8, 182 were derived from the Incoming Label Map (ILM) and Next Hop Label 183 Forwarding Entry (NHLFE) as specified in the MPLS architecture 184 document [RFC3031]. It is appropriate to note that the in-segment, 185 out-segment, and cross-connect tables were modeled after similar 186 tables found in [RFC2515]. 188 5.1. mplsInterfaceTable 190 This table represents the interfaces that are MPLS capable. An 191 LSR creates an entry in this table for every MPLS capable 192 interface on that LSR. 194 5.2. mplsInterfacePerfTable 196 This table contains objects to measure the MPLS performance of 197 MPLS capable interfaces and is an AUGMENT to 198 mplsInterfaceTable. 200 5.3. mplsInSegmentTable 202 This table contains a description of the incoming MPLS segments 203 to an LSR and their associated parameters. This index for this 204 table is mplsInSegmentIndex. The index structure of this 205 table is specifically designed to handle many different 206 MPLS implementations that manage their labels both in a 207 distributed and centralized manner. 209 The table is designed to handle existing MPLS labels as 210 well as future label strategies that may require labels 211 longer than the ones defined in RFC3031. In these cases, 212 the object mplsInSegmentLabelPtr may be used indicate 213 the first accessible object in a separate table that can be 214 used to represent the label because it is too long to 215 be represented in a single 32-bit value (mplsInSegmentLabel). 217 5.4. mplsInSegmentPerfTable 219 The MPLS in-Segment Performance Table has objects to measure 220 the performance of an incoming segment configured on an LSR. It 221 is an AUGMENT to mplsInSegmentTable. High capacity counters are 222 provided for objects that are likely to wrap around quickly on 223 high-speed interfaces. 225 5.5. mplsOutSegmentTable 227 The out-Segment Table contains a description of the outgoing MPLS 228 segments at an LSR and their associated parameters. 230 5.6. mplsOutSegmentPerfTable 232 The MPLS out-Segment Table contains objects to measure the 233 performance of an outgoing segment configured on an LSR. It is 234 an AUGMENT to mplsOutSegmentTable. High capacity counters are 235 provided for objects that are likely to wrap around quickly on 236 high-speed interfaces. 238 5.7. mplsXCTable 240 The mplsXCTable specifies information for associating segments 241 together in order to instruct the LSR to switch between the 242 specified segments. It supports point-to-point, point-to-multi- 243 point and multi-point-to-point connections. 245 The operational status object indicates the packet forwarding 246 state of a cross-connect entry. For example, when the operational 247 status objects is 'down' it indicates that the specified cross- 248 connect entry will not forward packets. Likewise, when it is set 249 to 'up' it indicates that packets will be forwarded. 251 The administrative status object indicates the forwarding state 252 desired by the operator. 254 5.8. mplsLabelStackTable 256 The mplsLabelStackTable specifies the label stack to be pushed 257 onto a packet, beneath the top label. Entries to this table are 258 referred to from mplsXCTable. 260 5.9 mplsInSegmentMapTable 262 The mplsInSegmentMapTable specifies the mapping from the 263 mplsInSegmentIndex to the corresponding mplsInSegmentInterface 264 and mplsInSegmentLabel objects. The purpose of this table is 265 to provide the manager with an alternative means by which to 266 locate in-segments. For instance, this table can be useful 267 when tracing LSPs from LSR to LSR by first following the 268 in-segment to out-segment, retrieving the outgoing label 269 and out-going interface, and then proceeding to interrogate 270 this table at the next-hop LSR to continue the trace. 272 6. Use of 32-bit and 64-bit Counters 274 64-bit counters are provided in this MIB module for high speed 275 interfaces where the use of 32-bit counters might be impractical. 276 The requirements on the use of 32-bit and 64-bit counters (copied 277 verbatim from [RFC2863]) are as follows. 279 For interfaces that operate at 20,000,000 (20 million) bits per 280 second or less, 32-bit byte and packet counters MUST be supported. 281 For interfaces that operate faster than 20,000,000 bits/second, 282 and slower than 650,000,000 bits/second, 32-bit packet counters 283 MUST be supported and 64-bit octet counters MUST be supported. 284 For interfaces that operate at 650,000,000 bits/second or faster, 285 64-bit packet counters AND 64-bit octet counters MUST be 286 supported. 288 7. Example of LSP Setup 290 In this section we provide a brief example of setting up an LSP 291 using this MIB module's objects. While this example 292 is not meant to illustrate every nuance of the MIB module, it 293 is intended as an aid to understanding some of the key concepts. 294 It is meant to be read after going through the MIB module itself. 296 Suppose that one would like to manually create a best-effort, 297 unidirectional LSP. Assume that the LSP enters the LSR via MPLS 298 interface A with ifIndex 12 and exits the LSR via MPLS interface B 299 with ifIndex 13. Let us assume that we do not wish to impose any 300 additional label stack beneath the top label on the outgoing 301 labeled packets. The following example illustrates which rows and 302 corresponding objects might be created to accomplish this. Those 303 objects relevant to illustrating the relationships amongst 304 different tables are shown here. Other objects may be needed 305 before conceptual row activation can happen. 307 The RowStatus values shown in this section are those to be used in 308 the set request, typically createAndGo(4) which is used to create 309 the conceptual row and have its status immediately set to active. 310 Note that the proper use of createAndGo(4) requires that all 311 columns that do not have a DEFVAL to be specified in order for 312 the SET to succeed. In the example below we have not specify all 313 such columns for the sake of keeping the example short. Please 314 keep in mind that all such fields must be send during a real SET 315 operation. A subsequent retrieval operation on the conceptual 316 row will return a different value, such as active(1). Please see 317 [RFC2579] for a detailed discussion on the use of RowStatus. 319 We first create a cross-connect entry that associates the 320 desired segments together. 322 In mplsXCTable: 323 { 324 mplsXCIndex = 0x02, 325 mplsXCInSegmentIndex = 0x00000015, 326 mplsXCOutSegmentIndex = 0x01, 328 mplsXCLspId = 0x0102 -- unique ID 329 mplsXCLabelStackIndex = 0x00, -- only a single 330 -- outgoing label 331 mplsXCRowStatus = createAndGo(4) 332 } 334 Next, we create the appropriate in-segment and out-segment 335 entries based on the cross-connect. Note that some agents 336 may wish to automatically create the in and out-segments 337 based on the cross-connect creation. 339 In mplsInSegmentTable: 340 { 341 mplsInSegmentIndex = 0x00000015 343 mplsInSegmentLabel = 21, -- incoming label 344 mplsInSegmentNPop = 1, 345 mplsInSegmentInterface = 12, -- incoming interface 347 -- RowPointer MUST point to the first accesible column. 348 mplsInSegmentLabelPtr = 0.0, 349 mplsInSegmentTrafficParamPtr = 0.0, 351 mplsInSegmentRowStatus = createAndGo(4) 353 } 355 In mplsOutSegmentTable: 356 { 357 mplsOutSegmentIndex = 0x01, 358 mplsOutSegmentInterface = 13, -- outgoing interface 359 mplsOutSegmentPushTopLabel = true(1), 360 mplsOutSegmentTopLabel = 22, -- outgoing label 362 -- RowPointer MUST point to the first accesible column. 363 mplsOutSegmentTrafficParamPtr = 0.0, 364 mplsOutSegmentLabelPtr = 0.0, 366 mplsOutSegmentRowStatus = createAndGo(4) 367 } 369 Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex 370 objects will automatically be populated with the string 0x02 371 when these segments are referred to from the corresponding 372 cross- connect entry. 374 8. Application of the Interface Group to MPLS 376 RFC2863 defines generic managed objects for managing 377 interfaces. This memo contains the media-specific 378 extensions to the Interfaces Group for managing MPLS interfaces. 380 This memo assumes the interpretation of the Interfaces Group to be 381 in accordance with [RFC2863] which states that the interfaces 382 table (ifTable) contains information on the managed resource's 383 interfaces and that each sub-layer below the internetwork layer of 384 a network interface is considered an interface. Thus, the MPLS 385 interface is represented as an entry in the ifTable. The inter- 386 relation of entries in the ifTable is defined by Interfaces Stack 387 Group defined in [RFC2863]. 389 When using MPLS interfaces, the interface stack table might appear 390 as follows: 392 +----------------------------------------+ 393 | MPLS interface; ifType = mpls(166) + 394 +----------------------------------------+ 395 | Underlying Layer + 396 +----------------------------------------+ 398 In the above diagram, "Underlying Layer" refers to the ifIndex of 399 any interface type for which MPLS interworking has been defined. 400 Examples include ATM, Frame Relay, Ethernet, etc. 402 8.1. Support of the MPLS Layer by ifTable 403 Some specific interpretations of ifTable for the MPLS layer 404 follow. 406 Object Use for the MPLS layer 408 ifIndex Each MPLS interface is represented by an ifEntry. 410 ifDescr Description of the MPLS interface. 412 ifType The value that is allocated for MPLS is 166. 414 ifSpeed The total bandwidth in bits per second for use by 415 the MPLS layer. 417 ifPhysAddress Unused. 419 ifAdminStatus This variable indicates the administrator's intent 420 as to whether MPLS should be enabled, disabled, or 421 running in some diagnostic testing mode on this 422 interface. Also see [RFC2863]. 424 ifOperStatus This value reflects the actual operational status 425 of MPLS on this interface. 427 ifLastChange See [RFC2863]. 429 ifInOctets The number of received octets over the interface, 430 i.e., the number of received, octets received as 431 labeled packets. 433 ifOutOctets The number of transmitted octets over the 434 interface, i.e., the number of octets transmitted 435 as labeled packets. 437 ifInErrors The number of labeled packets dropped due to 438 uncorrectable errors. 440 ifInUnknownProtos 441 The number of received packets discarded during 442 packet header validation, including packets with 443 unrecognized label values. 445 ifOutErrors See [RFC2863]. 447 ifName Textual name (unique on this system) of the 448 interface or an octet string of zero length. 450 ifLinkUpDownTrapEnable 451 Default is disabled (2). 453 ifConnectorPresent 454 Set to false (2). 456 ifHighSpeed See [RFC2863]. 458 ifHCInOctets The 64-bit version of ifInOctets; supported if 459 required by the compliance statements in [RFC2863]. 461 ifHCOutOctets The 64-bit version of ifOutOctets; supported if 462 required by the compliance statements in [RFC2863]. 464 ifAlias The non-volatile 'alias' name for the interface as 465 specified by a network manager. 467 ifCounterDiscontinuityTime 468 See [RFC2863]. 470 9. The Use of RowPointer 472 RowPointer is a textual convention used to identify a conceptual 473 row in a MIB Table by pointing to the first accessible object 474 in that row. In this MIB module, the trafficParamPtr object from 475 either the mplsInSegmentTable or mplsOutSegmentTable SHOULD 476 indicate the first accessible column in an entry in the 477 MplsTunnelResourceEntry in the MPLS-TE-STD-MIB [TEMIB] 478 to indicate the traffic parameter settings for this 479 segment, if it represents an LSP used for a TE tunnel. 481 The trafficParamPtr object may optionally point at an 482 externally defined traffic parameter specification 483 table. A value of zeroDotZero indicates best-effort 484 treatment. By having the same value of this object, 485 two or more segments can indicate resource sharing 486 of such things as LSP queue space, etc. 488 10. MPLS Label Switching Router MIB Module Definitions 490 MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN 491 IMPORTS 492 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 493 Integer32, Counter32, Unsigned32, Counter64, Gauge32, 494 zeroDotZero 495 FROM SNMPv2-SMI 496 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 497 FROM SNMPv2-CONF 498 TruthValue, RowStatus, StorageType, RowPointer, 499 TimeStamp, TEXTUAL-CONVENTION 500 FROM SNMPv2-TC 502 InterfaceIndexOrZero, ifGeneralInformationGroup, 503 ifCounterDiscontinuityGroup 504 FROM IF-MIB 505 mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate, 506 MplsOwner 507 FROM MPLS-TC-STD-MIB 508 AddressFamilyNumbers 509 FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB 510 InetAddress, InetAddressType 511 FROM INET-ADDRESS-MIB 512 ; 514 mplsLsrStdMIB MODULE-IDENTITY 515 LAST-UPDATED "200310191200Z" -- 19 October 2003 12:00:00 GMT 516 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" 517 CONTACT-INFO 518 " Cheenu Srinivasan 519 Blomberg L.P. 520 Email: cheenu@bloomberg.net 522 Arun Viswanathan 523 Force10 Networks, Inc. 524 Email: arunv@force10networks.com 526 Thomas D. Nadeau 527 Cisco Systems, Inc. 528 Email: tnadeau@cisco.com 530 Comments about this document should be emailed 531 directly to the MPLS working group mailing list at 532 mpls@uu.net." 534 DESCRIPTION 535 "This MIB module contains managed object definitions for 536 the Multiprotocol Label Switching (MPLS) Router as 537 defined in: Rosen, E., Viswanathan, A., and R. 538 Callon, Multiprotocol Label Switching Architecture, 539 RFC 3031, January 2001. 541 Copyright (C) The Internet Society (2003). This 542 version of this MIB module is part of RFCXXX; see 543 the RFC itself for full legal notices." 545 -- Revision history. 546 REVISION 547 "200310191200Z" -- 19 October 2003 12:00:00 GMT 548 DESCRIPTION 549 "Initial revision, published as part of RFC XXXX." 551 ::= { mplsStdMIB XXX } -- Please see IANA considerations section 552 -- the requested mplsStdMIB subId is 2. 554 -- Textual Conventions 556 MplsIndexType ::= TEXTUAL-CONVENTION 557 STATUS current 558 DESCRIPTION 559 "This is an octet string that can be used as a table 560 index in cases where a large addressable space is 561 required such as on an LSR where many applications 562 may be provisioning labels. 564 Note that the string containing the single octet with 565 the value 0x00 is a reserved value used to represent 566 special cases. When this textual convention is used 567 as the SYNTAX of an object, the DESCRITPION clause 568 MUST specify if this special value is valid and if so 569 what the special meaning is. 571 In systems that provide write access to the MPLS-LSR-STD 572 MIB, mplsIndexType SHOULD be used as a simple multi-digit 573 integer encoded as an octet string. 574 No further overloading of the meaning of an index SHOULD 575 be made. 577 In systems that do not offer write access to the MPLS-LSR-STD 578 MIB, the mplsIndexType may contain implicit formatting that is 579 specific to the implementation to convey additional 580 information such as interface index, physical card or 581 device, or application id. The interpretation of this 582 additional formatting is implementation dependent and 583 not covered in this document. Such formatting MUST 584 NOT impact the basic functionality of read-only access 585 to the MPLS-LSR-STD MIB by management applications that are 586 not aware of the formatting rules." 587 SYNTAX OCTET STRING (SIZE(1..24)) 589 MplsIndexNextType ::= TEXTUAL-CONVENTION 590 STATUS current 591 DESCRIPTION 592 "When a MIB module is used for configuration, an object with 593 this SYNTAX always contains a legal value (a non-zero-length 594 string) for an index that is not currently used in the relevant 595 table. The Command Generator (Network Management Application) 596 reads this variable and uses the (non-zero-length string) 597 value read when creating a new row with an SNMP SET. 599 When the SET is performed, the Command Responder (agent) must 600 determine whether the value is indeed still unused; Two Network 601 Management Applications may attempt to create a row 602 (configuration entry) simultaneously and use the same value. If 603 it is currently unused, the SET succeeds and the Command 604 Responder (agent) changes the value of this object, according 605 to an implementation-specific algorithm. If the value is in 606 use, however, the SET fails. The Network Management 607 Application must then re-read this variable to obtain a new 608 usable value. 610 Note that the string containing the single octet with 611 the value 0x00 is a reserved value used to represent 612 the special case where no additional indexes can be 613 provisioned, or in systems that do not offer 614 write access, objects defined using this textual 615 convention MUST return the string containing the single 616 octet with the value 0x00." 617 SYNTAX OCTET STRING (SIZE(1..24)) 619 -- Top level components of this MIB module. 621 -- Notifications 622 mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 } 624 -- Tables, Scalars 625 mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 } 627 -- Conformance 628 mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 } 630 -- MPLS Interface Table. 631 mplsInterfaceTable OBJECT-TYPE 632 SYNTAX SEQUENCE OF MplsInterfaceEntry 633 MAX-ACCESS not-accessible 634 STATUS current 635 DESCRIPTION 636 "This table specifies per-interface MPLS capability 637 and associated information." 638 ::= { mplsLsrObjects 1 } 640 mplsInterfaceEntry OBJECT-TYPE 641 SYNTAX MplsInterfaceEntry 642 MAX-ACCESS not-accessible 643 STATUS current 644 DESCRIPTION 645 "A conceptual row in this table is created 646 automatically by an LSR for every interface capable 647 of supporting MPLS and which is configured to do so. 648 A conceptual row in this table will exist iff a 649 corresponding entry in ifTable exists with ifType = 650 mpls(166). If this associated entry in ifTable is 651 operationally disabled (thus removing MPLS 652 capabilities on that interface), the corresponding 653 entry in this table MUST be deleted shortly thereafter. 654 An conceptual row with index 0 is created if the LSR 655 supports per-platform labels. This conceptual row 656 represents the per-platform label space and contains 657 parameters that apply to all interfaces that participate 658 in the per-platform label space. Other conceptual rows 659 in this table represent MPLS interfaces that may 660 participate in either the per-platform or per- 661 interface label spaces, or both. Implementations 662 that either only support per-platform labels, 663 or have only them configured, may choose to return 664 just the mplsInterfaceEntry of 0 and not return 665 the other rows. This will greatly reduce the numebr 666 of objects returned. Further information about label 667 space participation of an interface is provided in 668 the DESCRIPTION clause of 669 mplsInterfaceLabelParticipationType." 670 INDEX { mplsInterfaceIndex } 671 ::= { mplsInterfaceTable 1 } 673 MplsInterfaceEntry ::= SEQUENCE { 674 mplsInterfaceIndex InterfaceIndexOrZero, 675 mplsInterfaceLabelMinIn MplsLabel, 676 mplsInterfaceLabelMaxIn MplsLabel, 677 mplsInterfaceLabelMinOut MplsLabel, 678 mplsInterfaceLabelMaxOut MplsLabel, 679 mplsInterfaceTotalBandwidth MplsBitRate, 680 mplsInterfaceAvailableBandwidth MplsBitRate, 681 mplsInterfaceLabelParticipationType BITS 682 } 684 mplsInterfaceIndex OBJECT-TYPE 685 SYNTAX InterfaceIndexOrZero 686 MAX-ACCESS not-accessible 687 STATUS current 688 DESCRIPTION 689 "This is a unique index for an entry in the 690 MplsInterfaceTable. A non-zero index for an 691 entry indicates the ifIndex for the corresponding 692 interface entry of the MPLS-layer in the ifTable. 693 The entry with index 0 represents the per-platform 694 label space and contains parameters that apply to all 695 interfaces that participate in the per-platform label 696 space. Other entries defined in this table represent 697 additional MPLS interfaces that may participate in either 698 the per-platform or per-interface label spaces, or both." 699 REFERENCE 700 "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., 701 and F. Kastenholtz, June 2000" 703 ::= { mplsInterfaceEntry 1 } 705 mplsInterfaceLabelMinIn OBJECT-TYPE 706 SYNTAX MplsLabel 707 MAX-ACCESS read-only 708 STATUS current 709 DESCRIPTION 710 "This is the minimum value of an MPLS label that this 711 LSR is willing to receive on this interface." 712 ::= { mplsInterfaceEntry 2 } 714 mplsInterfaceLabelMaxIn OBJECT-TYPE 715 SYNTAX MplsLabel 716 MAX-ACCESS read-only 717 STATUS current 718 DESCRIPTION 719 "This is the maximum value of an MPLS label that this 720 LSR is willing to receive on this interface." 721 ::= { mplsInterfaceEntry 3 } 723 mplsInterfaceLabelMinOut OBJECT-TYPE 724 SYNTAX MplsLabel 725 MAX-ACCESS read-only 726 STATUS current 727 DESCRIPTION 728 "This is the minimum value of an MPLS label that this 729 LSR is willing to send on this interface." 730 ::= { mplsInterfaceEntry 4 } 732 mplsInterfaceLabelMaxOut OBJECT-TYPE 733 SYNTAX MplsLabel 734 MAX-ACCESS read-only 735 STATUS current 736 DESCRIPTION 737 "This is the maximum value of an MPLS label that this 738 LSR is willing to send on this interface." 739 ::= { mplsInterfaceEntry 5 } 741 mplsInterfaceTotalBandwidth OBJECT-TYPE 742 SYNTAX MplsBitRate 743 UNITS "kilobits per second" 744 MAX-ACCESS read-only 745 STATUS current 746 DESCRIPTION 747 "This value indicates the total amount of usable 748 bandwidth on this interface and is specified in 749 kilobits per second (Kbps). This variable is not 750 applicable when applied to the interface with index 751 0. When this value cannot be measured, this value 752 should contain the nominal bandwidth." 754 ::= { mplsInterfaceEntry 6 } 756 mplsInterfaceAvailableBandwidth OBJECT-TYPE 757 SYNTAX MplsBitRate 758 MAX-ACCESS read-only 759 STATUS current 760 DESCRIPTION 761 "This value indicates the total amount of available 762 bandwidth available on this interface and is 763 specified in kilobits per second (Kbps). This value 764 is calculated as the difference between the amount 765 of bandwidth currently in use and that specified in 766 mplsInterfaceTotalBandwidth. This variable is not 767 applicable when applied to the interface with index 768 0. When this value cannot be measured, this value 769 should contain the nominal bandwidth." 770 ::= { mplsInterfaceEntry 7 } 772 mplsInterfaceLabelParticipationType OBJECT-TYPE 773 SYNTAX BITS { 774 perPlatform (0), 775 perInterface (1) 776 } 777 MAX-ACCESS read-only 778 STATUS current 779 DESCRIPTION 780 "If the value of the mplsInterfaceIndex for this 781 entry is zero, then this entry corresponds to the 782 per-platform label space for all interfaces configured 783 to use that label space. In this case the perPlatform(0) 784 bit MUST be set; the perInterface(1) bit is meaningless 785 and MUST be ignored. 787 The remainder of this description applies to entries 788 with a non-zero value of mplsInterfaceIndex. 790 If the perInterface(1) bit is set then the value of 791 mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, 792 mplsInterfaceLabelMinOut, and 793 mplsInterfaceLabelMaxOut for this entry reflect the 794 label ranges for this interface. 796 If only the perPlatform(0) bit is set, then the value of 797 mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, 798 mplsInterfaceLabelMinOut, and 799 mplsInterfaceLabelMaxOut for this entry MUST be 800 identical to the instance of these objects with 801 index 0. These objects may only vary from the entry 802 with index 0 if both the perPlatform(0) and perInterface(1) 803 bits are set. 805 In all cases, at a minimum one of the perPlatform(0) or 806 perInterface(1) bits MUST be set to indicate that 807 at least one label space is in use by this interface. In 808 all cases, agents MUST ensure that label ranges are 809 specified consistently and MUST return an 810 inconsistentValue error when they do not." 811 REFERENCE 812 "Rosen, E., Viswanathan, A., and R. Callon, 813 Multiprotocol Label Switching Architecture, RFC 814 3031, January 2001." 815 ::= { mplsInterfaceEntry 8 } 817 -- End of mplsInterfaceTable 819 -- MPLS Interface Performance Table. 821 mplsInterfacePerfTable OBJECT-TYPE 822 SYNTAX SEQUENCE OF MplsInterfacePerfEntry 823 MAX-ACCESS not-accessible 824 STATUS current 825 DESCRIPTION 826 "This table provides MPLS performance information on 827 a per-interface basis." 828 ::= { mplsLsrObjects 2 } 830 mplsInterfacePerfEntry OBJECT-TYPE 831 SYNTAX MplsInterfacePerfEntry 832 MAX-ACCESS not-accessible 833 STATUS current 834 DESCRIPTION 835 "An entry in this table is created by the LSR for 836 every interface capable of supporting MPLS. Its is 837 an extension to the mplsInterfaceEntry table. 838 Note that the discontinuity behavior of entries in 839 this table MUST be based on the corresponding 840 ifEntry's ifDiscontinuityTime." 841 AUGMENTS { mplsInterfaceEntry } 842 ::= { mplsInterfacePerfTable 1 } 844 MplsInterfacePerfEntry ::= SEQUENCE { 845 -- incoming direction 846 mplsInterfacePerfInLabelsInUse Gauge32, 847 mplsInterfacePerfInLabelLookupFailures Counter32, 849 -- outgoing direction 850 mplsInterfacePerfOutLabelsInUse Gauge32, 851 mplsInterfacePerfOutFragmentedPkts Counter32 852 } 854 mplsInterfacePerfInLabelsInUse OBJECT-TYPE 855 SYNTAX Gauge32 856 MAX-ACCESS read-only 857 STATUS current 858 DESCRIPTION 859 "This object counts the number of labels that are in 860 use at this point in time on this interface in the 861 incoming direction. If the interface participates in 862 only the per-platform label space, then the value of 863 the instance of this object MUST be identical to 864 the value of the instance with index 0. If the 865 interface participates in the per-interface label 866 space, then the instance of this object MUST 867 represent the number of of per-interface labels that 868 are in use on this interface." 869 ::= { mplsInterfacePerfEntry 1 } 871 mplsInterfacePerfInLabelLookupFailures OBJECT-TYPE 872 SYNTAX Counter32 873 MAX-ACCESS read-only 874 STATUS current 875 DESCRIPTION 876 "This object counts the number of labeled packets 877 that have been received on this interface and which 878 were discarded because there was no matching cross- 879 connect entry. This object MUST count on a per- 880 interface basis regardless of which label space the 881 interface participates in." 882 ::= { mplsInterfacePerfEntry 2 } 884 mplsInterfacePerfOutLabelsInUse OBJECT-TYPE 885 SYNTAX Gauge32 886 MAX-ACCESS read-only 887 STATUS current 888 DESCRIPTION 889 "This object counts the number of top-most labels in 890 the outgoing label stacks that are in use at this 891 point in time on this interface. This object MUST 892 count on a per-interface basis regardless of which 893 label space the interface participates in." 894 ::= { mplsInterfacePerfEntry 3 } 896 mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE 897 SYNTAX Counter32 898 MAX-ACCESS read-only 899 STATUS current 900 DESCRIPTION 901 "This object counts the number of outgoing MPLS 902 packets that required fragmentation before 903 transmission on this interface. This object MUST 904 count on a per-interface basis regardless of which 905 label space the interface participates in." 906 ::= { mplsInterfacePerfEntry 4 } 908 -- mplsInterfacePerf Table end. 910 mplsInSegmentIndexNext OBJECT-TYPE 911 SYNTAX MplsIndexNextType 912 MAX-ACCESS read-only 913 STATUS current 914 DESCRIPTION 915 "This object contains the next available value to 916 be used for mplsInSegmentIndex when creating entries 917 in the mplsInSegmentTable. The special value of a 918 a string containing the single octet 0x00 indicates 919 that no new entries can be created in this table. 920 Agents not allowing managers to create entries 921 in this table MUST set this object to this special 922 value." 923 ::= { mplsLsrObjects 3 } 925 -- in-segment table. 926 mplsInSegmentTable OBJECT-TYPE 927 SYNTAX SEQUENCE OF MplsInSegmentEntry 928 MAX-ACCESS not-accessible 929 STATUS current 930 DESCRIPTION 931 "This table contains a description of the incoming MPLS 932 segments (labels) to an LSR and their associated parameters. 933 The index for this table is mplsInSegmentIndex. 934 The index structure of this table is specifically designed 935 to handle many different MPLS implementations that manage 936 their labels both in a distributed and centralized manner. 937 The table is also designed to handle existing MPLS labels 938 as defined in RFC3031 as well as longer ones that may 939 be necessary in the future. 941 In cases where the label cannot fit into the 942 mplsInSegmentLabel object, the mplsInSegmentLabelPtr 943 will indicate this by being set to the first accessible 944 column in the appropriate extension table's row. 945 In this case an additional table MUST 946 be provided and MUST be indexed by at least the indexes 947 used by this table. In all other cases when the label is 948 represented within the mplsInSegmentLabel object, the 949 mplsInSegmentLabelPtr MUST be set to 0.0. Due to the 950 fact that MPLS labels may not exceed 24 bits, the 951 mplsInSegmentLabelPtr object is only a provision for 952 future-proofing the MIB module. Thus, the definition 953 of any extension tables is beyond the scope of this 954 MIB module." 955 ::= { mplsLsrObjects 4 } 957 mplsInSegmentEntry OBJECT-TYPE 958 SYNTAX MplsInSegmentEntry 959 MAX-ACCESS not-accessible 960 STATUS current 961 DESCRIPTION 962 "An entry in this table represents one incoming 963 segment as is represented in an LSR's LFIB. 964 An entry can be created by a network 965 administrator or an SNMP agent, or an MPLS signaling 966 protocol. The creator of the entry is denoted by 967 mplsInSegmentOwner. 969 The value of mplsInSegmentRowStatus cannot be active(1) 970 unless the ifTable entry corresponding to 971 mplsInSegmentInterface exists. An entry in this table 972 must match any incoming packets, and indicates an 973 instance of mplsXCEntry based on which forwarding 974 and/or switching actions are taken." 975 INDEX { mplsInSegmentIndex } 976 ::= { mplsInSegmentTable 1 } 978 MplsInSegmentEntry ::= SEQUENCE { 979 mplsInSegmentIndex MplsIndexType, 980 mplsInSegmentInterface InterfaceIndexOrZero, 981 mplsInSegmentLabel MplsLabel, 982 mplsInSegmentLabelPtr RowPointer, 983 mplsInSegmentNPop Integer32, 984 mplsInSegmentAddrFamily AddressFamilyNumbers, 985 mplsInSegmentXCIndex MplsIndexType, 986 mplsInSegmentOwner MplsOwner , 987 mplsInSegmentTrafficParamPtr RowPointer, 988 mplsInSegmentRowStatus RowStatus, 989 mplsInSegmentStorageType StorageType 990 } 992 mplsInSegmentIndex OBJECT-TYPE 993 SYNTAX MplsIndexType 994 MAX-ACCESS not-accessible 995 STATUS current 996 DESCRIPTION 997 "The index for for this in-segment. The 998 string containing the single octet 0x00 999 MUST not be used as an index." 1000 ::= { mplsInSegmentEntry 1 } 1002 mplsInSegmentInterface OBJECT-TYPE 1003 SYNTAX InterfaceIndexOrZero 1004 MAX-ACCESS read-create 1005 STATUS current 1006 DESCRIPTION 1007 "This object represents the 1008 interface index for the incoming MPLS interface. A 1009 value of zero represents all interfaces participating in 1010 the per-platform label space. This may only be used 1011 in cases where the incoming interface and label 1012 are associated with the same mplsXCEntry. Specifically, 1013 given a label and any incoming interface pair from the 1014 per-platform label space, the outgoing label/interface 1015 mapping remains the same. If this is not the case, 1016 then individual entries MUST exist that 1017 can then be mapped to unique mplsXCEntries." 1018 ::= { mplsInSegmentEntry 2 } 1020 mplsInSegmentLabel OBJECT-TYPE 1021 SYNTAX MplsLabel 1022 MAX-ACCESS read-create 1023 STATUS current 1024 DESCRIPTION 1025 "If the corresponding instance of mplsInSegmentLabelPtr is 1026 zeroDotZero then this object MUST contain the incoming label 1027 associated with this in-segment. If not this object SHOULD 1028 be zero and MUST be ignored." 1029 ::= { mplsInSegmentEntry 3 } 1031 mplsInSegmentLabelPtr OBJECT-TYPE 1032 SYNTAX RowPointer 1033 MAX-ACCESS read-create 1034 STATUS current 1035 DESCRIPTION 1036 "If the label for this segment cannot be represented 1037 fully within the mplsInSegmentLabel object, 1038 this object MUST point to the first accessible 1039 column of a conceptual row in an external table containing 1040 the label. In this case, the mplsInSegmentTopLabel 1041 object SHOULD be set to 0 and ignored. This object MUST 1042 be set to zeroDotZero otherwise." 1043 DEFVAL { zeroDotZero } 1044 ::= { mplsInSegmentEntry 4 } 1046 mplsInSegmentNPop OBJECT-TYPE 1047 SYNTAX Integer32 (1..2147483647) 1048 MAX-ACCESS read-create 1049 STATUS current 1050 DESCRIPTION 1051 "The number of labels to pop from the incoming 1052 packet. Normally only the top label is popped from 1053 the packet and used for all switching decisions for 1054 that packet. This is indicated by setting this 1055 object to the default value of 1. If an LSR supports 1056 popping of more than one label, this object MUST 1057 be set to that number. This object cannot be modified 1058 if mplsInSegmentRowStatus is active(1)." 1059 DEFVAL { 1 } 1060 ::= { mplsInSegmentEntry 5 } 1062 mplsInSegmentAddrFamily OBJECT-TYPE 1063 SYNTAX AddressFamilyNumbers 1064 MAX-ACCESS read-create 1065 STATUS current 1066 DESCRIPTION 1067 "The IANA address family of packets 1068 received on this segment, which is used at an egress 1069 LSR to deliver them to the appropriate layer 3 entity. 1070 A value of other(0) indicates that the family type is 1071 either unknown or undefined; this SHOULD NOT be used 1072 at an egress LSR. This object cannot be 1073 modified if mplsInSegmentRowStatus is active(1)." 1074 REFERENCE 1075 "See Internet Assigned Numbers Authority (IANA), 1076 ADDRESS FAMILY NUMBERS." 1077 DEFVAL { other } 1078 ::= { mplsInSegmentEntry 6 } 1080 mplsInSegmentXCIndex OBJECT-TYPE 1081 SYNTAX MplsIndexType 1082 MAX-ACCESS read-only 1083 STATUS current 1084 DESCRIPTION 1085 "Index into mplsXCTable which identifies which cross- 1086 connect entry this segment is part of. The string 1087 containing the single octet 0x00 indicates that this 1088 entry is not referred to by any cross-connect entry. 1089 When a cross-connect entry is created which this 1090 in-segment is a part of, this object is automatically 1091 updated to reflect the value of mplsXCIndex of that 1092 cross-connect entry." 1093 ::= { mplsInSegmentEntry 7 } 1095 mplsInSegmentOwner OBJECT-TYPE 1096 SYNTAX MplsOwner 1097 MAX-ACCESS read-only 1098 STATUS current 1099 DESCRIPTION 1100 "Denotes the entity that created and is responsible 1101 for managing this segment." 1102 ::= { mplsInSegmentEntry 8 } 1104 mplsInSegmentTrafficParamPtr OBJECT-TYPE 1105 SYNTAX RowPointer 1106 MAX-ACCESS read-create 1107 STATUS current 1108 DESCRIPTION 1109 "This variable represents a pointer to the traffic 1110 parameter specification for this out-segment. This 1111 value may point at an entry in the 1112 mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFCnnnn) 1114 RFC Editor: Please fill in RFC number. 1116 to indicate which traffic parameter settings for this 1117 segment if it represents an LSP used for a TE tunnel. 1119 This value may optionally point at an 1120 externally defined traffic parameter specification 1121 table. A value of zeroDotZero indicates best-effort 1122 treatment. By having the same value of this object, 1123 two or more segments can indicate resource sharing 1124 of such things as LSP queue space, etc. 1126 This object cannot be modified if mplsInSegmentRowStatus 1127 is active(1). For entries in this table that 1128 are preserved after a re-boot, the agent MUST ensure 1129 that their integrity be preserved, or this object should 1130 be set to 0.0 if it cannot." 1131 DEFVAL { zeroDotZero } 1132 ::= { mplsInSegmentEntry 9 } 1134 mplsInSegmentRowStatus OBJECT-TYPE 1135 SYNTAX RowStatus 1136 MAX-ACCESS read-create 1137 STATUS current 1138 DESCRIPTION 1139 "This variable is used to create, modify, and/or 1140 delete a row in this table. When a row in this 1141 table has a row in the active(1) state, no 1142 objects in this row can be modified except the 1143 mplsInSegmentRowStatus and mplsInSegmentStorageType." 1144 ::= { mplsInSegmentEntry 10 } 1146 mplsInSegmentStorageType OBJECT-TYPE 1147 SYNTAX StorageType 1148 MAX-ACCESS read-create 1149 STATUS current 1150 DESCRIPTION 1151 "This variable indicates the storage type for this 1152 object. The agent MUST ensure that this object's 1153 value remains consistent with the associated 1154 mplsXCEntry. Conceptual rows having the value 1155 'permanent' need not allow write-access to any 1156 columnar objects in the row." 1157 REFERENCE 1158 "See RFC2579." 1159 DEFVAL { volatile } 1160 ::= { mplsInSegmentEntry 11 } 1162 -- End of mplsInSegmentTable 1164 -- in-segment performance table. 1166 mplsInSegmentPerfTable OBJECT-TYPE 1167 SYNTAX SEQUENCE OF MplsInSegmentPerfEntry 1168 MAX-ACCESS not-accessible 1169 STATUS current 1170 DESCRIPTION 1171 "This table contains statistical information for 1172 incoming MPLS segments to an LSR." 1173 ::= { mplsLsrObjects 5 } 1175 mplsInSegmentPerfEntry OBJECT-TYPE 1176 SYNTAX MplsInSegmentPerfEntry 1177 MAX-ACCESS not-accessible 1178 STATUS current 1179 DESCRIPTION 1180 "An entry in this table contains statistical 1181 information about one incoming segment which is 1182 configured in the mplsInSegmentTable. The counters 1183 in this entry should behave in a manner similar to 1184 that of the interface. 1185 mplsInSegmentPerfDiscontinuityTime indicates the 1186 time of the last discontinuity in all of these 1187 objects." 1188 AUGMENTS { mplsInSegmentEntry } 1189 ::= { mplsInSegmentPerfTable 1 } 1191 MplsInSegmentPerfEntry ::= SEQUENCE { 1192 mplsInSegmentPerfOctets Counter32, 1193 mplsInSegmentPerfPackets Counter32, 1194 mplsInSegmentPerfErrors Counter32, 1195 mplsInSegmentPerfDiscards Counter32, 1197 -- high capacity counter 1198 mplsInSegmentPerfHCOctets Counter64, 1200 mplsInSegmentPerfDiscontinuityTime TimeStamp 1201 } 1203 mplsInSegmentPerfOctets OBJECT-TYPE 1204 SYNTAX Counter32 1205 MAX-ACCESS read-only 1206 STATUS current 1207 DESCRIPTION 1208 "This value represents the total number of octets 1209 received by this segment. It MUST be equal to the 1210 least significant 32 bits of 1211 mplsInSegmentPerfHCOctets 1212 if mplsInSegmentPerfHCOctets is supported according to 1213 the rules spelled out in RFC2863." 1214 ::= { mplsInSegmentPerfEntry 1 } 1216 mplsInSegmentPerfPackets OBJECT-TYPE 1217 SYNTAX Counter32 1218 MAX-ACCESS read-only 1219 STATUS current 1220 DESCRIPTION 1221 "Total number of packets received by this segment." 1222 ::= { mplsInSegmentPerfEntry 2 } 1224 mplsInSegmentPerfErrors OBJECT-TYPE 1225 SYNTAX Counter32 1226 MAX-ACCESS read-only 1227 STATUS current 1228 DESCRIPTION 1229 "The number of errored packets received on this 1230 segment." 1231 ::= { mplsInSegmentPerfEntry 3 } 1233 mplsInSegmentPerfDiscards OBJECT-TYPE 1234 SYNTAX Counter32 1235 MAX-ACCESS read-only 1236 STATUS current 1237 DESCRIPTION 1238 "The number of labeled packets received on this in- 1239 segment, which were chosen to be discarded even 1240 though no errors had been detected to prevent their 1241 being transmitted. One possible reason for 1242 discarding such a labeled packet could be to free up 1243 buffer space." 1244 ::= { mplsInSegmentPerfEntry 4 } 1246 mplsInSegmentPerfHCOctets OBJECT-TYPE 1247 SYNTAX Counter64 1248 MAX-ACCESS read-only 1249 STATUS current 1250 DESCRIPTION 1251 "The total number of octets received. This is the 64 1252 bit version of mplsInSegmentPerfOctets, 1253 if mplsInSegmentPerfHCOctets is supported according to 1254 the rules spelled out in RFC2863." 1255 ::= { mplsInSegmentPerfEntry 5 } 1257 mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE 1258 SYNTAX TimeStamp 1259 MAX-ACCESS read-only 1260 STATUS current 1261 DESCRIPTION 1262 "The value of sysUpTime on the most recent occasion 1263 at which any one or more of this segment's Counter32 1264 or Counter64 suffered a discontinuity. If no such 1265 discontinuities have occurred since the last re- 1266 initialization of the local management subsystem, 1267 then this object contains a zero value." 1268 ::= { mplsInSegmentPerfEntry 6 } 1270 -- End of mplsInSegmentPerfTable. 1272 -- out-segment table. 1274 mplsOutSegmentIndexNext OBJECT-TYPE 1275 SYNTAX MplsIndexNextType 1276 MAX-ACCESS read-only 1277 STATUS current 1278 DESCRIPTION 1279 "This object contains the next available value to 1280 be used for mplsOutSegmentIndex when creating entries 1281 in the mplsOutSegmentTable. The special value of a 1282 a string containing the single octet 0x00 indicates 1283 indicates that no new entries can be created in this 1284 table. Agents not allowing managers to create entries 1285 in this table MUST set this object to this special 1286 value." 1287 ::= { mplsLsrObjects 6 } 1289 mplsOutSegmentTable OBJECT-TYPE 1290 SYNTAX SEQUENCE OF MplsOutSegmentEntry 1291 MAX-ACCESS not-accessible 1292 STATUS current 1293 DESCRIPTION 1294 "This table contains a representation of the outgoing 1295 segments from an LSR." 1296 ::= { mplsLsrObjects 7 } 1298 mplsOutSegmentEntry OBJECT-TYPE 1299 SYNTAX MplsOutSegmentEntry 1300 MAX-ACCESS not-accessible 1301 STATUS current 1302 DESCRIPTION 1303 "An entry in this table represents one outgoing 1304 segment. An entry can be created by a network 1305 administrator, an SNMP agent, or an MPLS signaling 1306 protocol. The object mplsOutSegmentOwner indicates 1307 the creator of this entry. The value of 1308 mplsOutSegmentRowStatus cannot be active(1) unless 1309 the ifTable entry corresponding to 1310 mplsOutSegmentInterface exists. 1312 Note that the indexing of this table uses a single, 1313 arbitrary index (mplsOutSegmentIndex) to indicate 1314 which out-segment (i.e.: label) is being switched to 1315 from which in-segment (i.e: label) or in-segments. 1316 This is necessary because it is possible to have an 1317 equal-cost multi-path situation where two identical 1318 out-going labels are assigned to the same 1319 cross-connect (i.e.: they go to two different neighboring 1320 LSRs); thus, requiring two out-segments. In order to 1321 preserve the uniqueness of the references 1322 by the mplsXCEntry, an arbitrary integer must be used as 1323 the index for this table." 1324 INDEX { mplsOutSegmentIndex } 1325 ::= { mplsOutSegmentTable 1 } 1327 MplsOutSegmentEntry ::= SEQUENCE { 1328 mplsOutSegmentIndex MplsIndexType, 1329 mplsOutSegmentInterface InterfaceIndexOrZero, 1330 mplsOutSegmentPushTopLabel TruthValue, 1331 mplsOutSegmentTopLabel MplsLabel, 1332 mplsOutSegmentTopLabelPtr RowPointer, 1333 mplsOutSegmentNextHopAddrType InetAddressType, 1334 mplsOutSegmentNextHopAddr InetAddress, 1335 mplsOutSegmentXCIndex MplsIndexType, 1336 mplsOutSegmentOwner MplsOwner, 1337 mplsOutSegmentTrafficParamPtr RowPointer, 1338 mplsOutSegmentRowStatus RowStatus, 1339 mplsOutSegmentStorageType StorageType 1340 } 1342 mplsOutSegmentIndex OBJECT-TYPE 1343 SYNTAX MplsIndexType 1344 MAX-ACCESS not-accessible 1345 STATUS current 1346 DESCRIPTION 1347 "This value contains a unique index for this row. 1348 While a value of a string containing the single 1349 octet 0x00 is not valid as an index for entries 1350 in this table, it can be supplied as a valid value 1351 to index the mplsXCTable to represent entries for 1352 which no out-segment has been configured or 1353 exists." 1354 ::= { mplsOutSegmentEntry 1 } 1356 mplsOutSegmentInterface OBJECT-TYPE 1357 SYNTAX InterfaceIndexOrZero 1358 MAX-ACCESS read-create 1359 STATUS current 1360 DESCRIPTION 1361 "This value must contain the interface index of the 1362 outgoing interface. This object cannot be modified 1363 if mplsOutSegmentRowStatus is active(1). The 1364 mplsOutSegmentRowStatus cannot be set to active(1) 1365 until this object is set to a value corresponding to 1366 a valid ifEntry." 1367 ::= { mplsOutSegmentEntry 2 } 1369 mplsOutSegmentPushTopLabel OBJECT-TYPE 1370 SYNTAX TruthValue 1371 MAX-ACCESS read-create 1372 STATUS current 1373 DESCRIPTION 1374 "This value indicates whether or not a top label 1375 should be pushed onto the outgoing packet's label 1376 stack. The value of this variable MUST be set to 1377 true(1) if the outgoing interface does not support 1378 pop-and-go (and no label stack remains). For example, 1379 on ATM interface, or if the segment represents a 1380 tunnel origination. Note that it is considered 1381 an error in the case that mplsOutSegmentPushTopLabel 1382 is set to false, but the cross-connect entry which 1383 refers to this out-segment has a non-zero 1384 mplsLabelStackIndex. The LSR MUST ensure that this 1385 situation does not happen. This object cannot be 1386 modified if mplsOutSegmentRowStatus is active(1)." 1387 DEFVAL { true } 1388 ::= { mplsOutSegmentEntry 3 } 1390 mplsOutSegmentTopLabel OBJECT-TYPE 1391 SYNTAX MplsLabel 1392 MAX-ACCESS read-create 1393 STATUS current 1394 DESCRIPTION 1395 "If mplsOutSegmentPushTopLabel is true then this 1396 represents the label that should be pushed onto the 1397 top of the outgoing packet's label stack. Otherwise 1398 this value SHOULD be set to 0 by the management 1399 station and MUST be ignored by the agent. This 1400 object cannot be modified if mplsOutSegmentRowStatus 1401 is active(1)." 1403 DEFVAL { 0 } 1404 ::= { mplsOutSegmentEntry 4 } 1406 mplsOutSegmentTopLabelPtr OBJECT-TYPE 1407 SYNTAX RowPointer 1408 MAX-ACCESS read-create 1409 STATUS current 1410 DESCRIPTION 1411 "If the label for this segment cannot be represented 1412 fully within the mplsOutSegmentLabel object, 1413 this object MUST point to the first accessible 1414 column of a conceptual row in an external table containing 1415 the label. In this case, the mplsOutSegmentTopLabel 1416 object SHOULD be set to 0 and ignored. This object 1417 MUST be set to zeroDotZero otherwise." 1418 DEFVAL { zeroDotZero } 1419 ::= { mplsOutSegmentEntry 5 } 1421 mplsOutSegmentNextHopAddrType OBJECT-TYPE 1422 SYNTAX InetAddressType 1423 MAX-ACCESS read-create 1424 STATUS current 1425 DESCRIPTION 1426 "Indicates the next hop Internet address type. 1427 Only values unknown(0), ipv4(1) or ipv6(2) 1428 have to be supported. 1430 A value of unknown(0) is allowed only when 1431 the outgoing interface is of type point-to-point. 1432 If any other unsupported values are attempted in a set 1433 operation, the agent MUST return an inconsistentValue 1434 error." 1435 REFERENCE 1436 "See RFC3291." 1437 ::= { mplsOutSegmentEntry 6 } 1439 mplsOutSegmentNextHopAddr OBJECT-TYPE 1440 SYNTAX InetAddress 1441 MAX-ACCESS read-create 1442 STATUS current 1443 DESCRIPTION 1444 "The internet address of the next hop. The type of 1445 this address is determined by the value of the 1446 mplslOutSegmentNextHopAddrType object. 1448 This object cannot be modified if 1449 mplsOutSegmentRowStatus is active(1)." 1450 ::= { mplsOutSegmentEntry 7 } 1452 mplsOutSegmentXCIndex OBJECT-TYPE 1453 SYNTAX MplsIndexType 1454 MAX-ACCESS read-only 1455 STATUS current 1456 DESCRIPTION 1457 "Index into mplsXCTable which identifies which cross- 1458 connect entry this segment is part of. A value of 1459 the string containing the single octet 0x00 1460 indicates that this entry is not referred 1461 to by any cross-connect entry. When a cross-connect 1462 entry is created which this out-segment is a part of, 1463 this object MUST be updated by the agent to reflect 1464 the value of mplsXCIndex of that cross-connect 1465 entry." 1466 ::= { mplsOutSegmentEntry 8 } 1468 mplsOutSegmentOwner OBJECT-TYPE 1469 SYNTAX MplsOwner 1470 MAX-ACCESS read-only 1471 STATUS current 1472 DESCRIPTION 1473 "Denotes the entity which created and is responsible 1474 for managing this segment." 1475 ::= { mplsOutSegmentEntry 9 } 1477 mplsOutSegmentTrafficParamPtr OBJECT-TYPE 1478 SYNTAX RowPointer 1479 MAX-ACCESS read-create 1480 STATUS current 1481 DESCRIPTION 1482 "This variable represents a pointer to the traffic 1483 parameter specification for this out-segment. This 1484 value may point at an entry in the 1485 MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFCnnnn) 1487 RFC Editor: Please fill in RFC number. 1489 to indicate which traffic parameter settings for this 1490 segment if it represents an LSP used for a TE tunnel. 1492 This value may optionally point at an 1493 externally defined traffic parameter specification 1494 table. A value of zeroDotZero indicates best-effort 1495 treatment. By having the same value of this object, 1496 two or more segments can indicate resource sharing 1497 of such things as LSP queue space, etc. 1499 This object cannot be modified if 1500 mplsOutSegmentRowStatus is active(1). 1501 For entries in this table that 1502 are preserved after a re-boot, the agent MUST ensure 1503 that their integrity be preserved, or this object should 1504 be set to 0.0 if it cannot." 1505 DEFVAL { zeroDotZero } 1506 ::= { mplsOutSegmentEntry 10 } 1508 mplsOutSegmentRowStatus OBJECT-TYPE 1509 SYNTAX RowStatus 1510 MAX-ACCESS read-create 1511 STATUS current 1512 DESCRIPTION 1513 "For creating, modifying, and deleting this row. 1514 When a row in this table has a row in the active(1) 1515 state, no objects in this row can be modified 1516 except the mplsOutSegmentRowStatus or 1517 mplsOutSegmentStorageType." 1518 ::= { mplsOutSegmentEntry 11 } 1520 mplsOutSegmentStorageType OBJECT-TYPE 1521 SYNTAX StorageType 1522 MAX-ACCESS read-create 1523 STATUS current 1524 DESCRIPTION 1525 "This variable indicates the storage type for this 1526 object. The agent MUST ensure that this object's value 1527 remains consistent with the associated mplsXCEntry. 1528 Conceptual rows having the value 'permanent' 1529 need not allow write-access to any columnar 1530 objects in the row." 1531 DEFVAL { volatile } 1532 ::= { mplsOutSegmentEntry 12 } 1534 -- End of mplsOutSegmentTable 1536 -- out-segment performance table. 1538 mplsOutSegmentPerfTable OBJECT-TYPE 1539 SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry 1540 MAX-ACCESS not-accessible 1541 STATUS current 1542 DESCRIPTION 1543 "This table contains statistical information about 1544 outgoing segments from an LSR. The counters in this 1545 entry should behave in a manner similar to that of 1546 the interface." 1547 ::= { mplsLsrObjects 8 } 1549 mplsOutSegmentPerfEntry OBJECT-TYPE 1550 SYNTAX MplsOutSegmentPerfEntry 1551 MAX-ACCESS not-accessible 1552 STATUS current 1553 DESCRIPTION 1554 "An entry in this table contains statistical 1555 information about one outgoing segment configured in 1556 mplsOutSegmentTable. The object 1557 mplsOutSegmentPerfDiscontinuityTime indicates the 1558 time of the last discontinuity in these objects. " 1559 AUGMENTS { mplsOutSegmentEntry } 1560 ::= { mplsOutSegmentPerfTable 1 } 1562 MplsOutSegmentPerfEntry ::= SEQUENCE { 1563 mplsOutSegmentPerfOctets Counter32, 1564 mplsOutSegmentPerfPackets Counter32, 1565 mplsOutSegmentPerfErrors Counter32, 1566 mplsOutSegmentPerfDiscards Counter32, 1568 -- HC counter 1569 mplsOutSegmentPerfHCOctets Counter64, 1571 mplsOutSegmentPerfDiscontinuityTime TimeStamp 1572 } 1574 mplsOutSegmentPerfOctets OBJECT-TYPE 1575 SYNTAX Counter32 1576 MAX-ACCESS read-only 1577 STATUS current 1578 DESCRIPTION 1579 "This value contains the total number of octets sent 1580 on this segment. It MUST be equal to the least 1581 significant 32 bits of mplsOutSegmentPerfHCOctets 1582 if mplsOutSegmentPerfHCOctets is supported according to 1583 the rules spelled out in RFC2863." 1584 ::= { mplsOutSegmentPerfEntry 1 } 1586 mplsOutSegmentPerfPackets OBJECT-TYPE 1587 SYNTAX Counter32 1588 MAX-ACCESS read-only 1589 STATUS current 1590 DESCRIPTION 1591 "This value contains the total number of packets sent 1592 on this segment." 1593 ::= { mplsOutSegmentPerfEntry 2 } 1595 mplsOutSegmentPerfErrors OBJECT-TYPE 1596 SYNTAX Counter32 1597 MAX-ACCESS read-only 1598 STATUS current 1599 DESCRIPTION 1600 "Number of packets that could not be sent due to 1601 errors on this segment." 1603 ::= { mplsOutSegmentPerfEntry 3 } 1605 mplsOutSegmentPerfDiscards OBJECT-TYPE 1606 SYNTAX Counter32 1607 MAX-ACCESS read-only 1608 STATUS current 1609 DESCRIPTION 1610 "The number of labeled packets attempted to be transmitted 1611 on this out-segment, which were chosen to be discarded 1612 even though no errors had been detected to prevent their 1613 being transmitted. One possible reason for 1614 discarding such a labeled packet could be to free up 1615 buffer space." 1616 ::= { mplsOutSegmentPerfEntry 4 } 1618 mplsOutSegmentPerfHCOctets OBJECT-TYPE 1619 SYNTAX Counter64 1620 MAX-ACCESS read-only 1621 STATUS current 1622 DESCRIPTION 1623 "Total number of octets sent. This is the 64 bit 1624 version of mplsOutSegmentPerfOctets, 1625 if mplsOutSegmentPerfHCOctets is supported according to 1626 the rules spelled out in RFC2863." 1627 ::= { mplsOutSegmentPerfEntry 5 } 1629 mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE 1630 SYNTAX TimeStamp 1631 MAX-ACCESS read-only 1632 STATUS current 1633 DESCRIPTION 1634 "The value of sysUpTime on the most recent occasion 1635 at which any one or more of this segment's Counter32 1636 or Counter64 suffered a discontinuity. If no such 1637 discontinuities have occurred since the last re- 1638 initialization of the local management subsystem, 1639 then this object contains a zero value." 1640 ::= { mplsOutSegmentPerfEntry 6 } 1642 -- End of mplsOutSegmentPerfTable. 1644 -- Cross-connect table. 1646 mplsXCIndexNext OBJECT-TYPE 1647 SYNTAX MplsIndexNextType 1648 MAX-ACCESS read-only 1649 STATUS current 1650 DESCRIPTION 1651 "This object contains the next available value to 1652 be used for mplsXCIndex when creating entries in 1653 the mplsXCTable. A special value of the zero length 1654 string indicates that no more new entries can be created 1655 in the relevant table. Agents not allowing managers 1656 to create entries in this table MUST set this value 1657 to the zero length string." 1658 ::= { mplsLsrObjects 9 } 1660 mplsXCTable OBJECT-TYPE 1661 SYNTAX SEQUENCE OF MplsXCEntry 1662 MAX-ACCESS not-accessible 1663 STATUS current 1664 DESCRIPTION 1665 "This table specifies information for switching 1666 between LSP segments. It supports point-to-point, 1667 point-to-multipoint and multipoint-to-point 1668 connections. mplsLabelStackTable specifies the 1669 label stack information for a cross-connect LSR and 1670 is referred to from mplsXCTable." 1671 ::= { mplsLsrObjects 10 } 1673 mplsXCEntry OBJECT-TYPE 1674 SYNTAX MplsXCEntry 1675 MAX-ACCESS not-accessible 1676 STATUS current 1677 DESCRIPTION 1678 "A row in this table represents one cross-connect 1679 entry. It is indexed by the following objects: 1681 - cross-connect index mplsXCIndex that uniquely 1682 identifies a group of cross-connect entries 1684 - in-segment index, mplsXCInSegmentIndex 1686 - out-segment index, mplsXCOutSegmentIndex 1688 LSPs originating at this LSR: 1689 These are represented by using the special 1690 of value of mplsXCInSegmentIndex set to the 1691 string containing a single octet 0x00. In 1692 this case the mplsXCOutSegmentIndex 1693 MUST not be the string containing a single 1694 octet 0x00. 1696 LSPs terminating at this LSR: 1697 These are represented by using the special value 1698 mplsXCOutSegmentIndex set to the string containing 1699 a single octet 0x00. 1701 Special labels: 1703 Entries indexed by the strings containing the 1704 reserved MPLS label values as a single octet 0x00 1705 through 0x0f (inclusive) imply LSPs terminating at 1706 this LSR. Note that situations where LSPs are 1707 terminated with incoming label equal to the string 1708 containing a single octet 0x00 can be distinguished 1709 from LSPs originating at this LSR because the 1710 mplsXCOutSegmentIndex equals the string containing the 1711 single octet 0x00. 1713 An entry can be created by a network administrator 1714 or by an SNMP agent as instructed by an MPLS 1715 signaling protocol." 1716 INDEX { mplsXCIndex, mplsXCInSegmentIndex, 1717 mplsXCOutSegmentIndex } 1718 ::= { mplsXCTable 1 } 1720 MplsXCEntry ::= SEQUENCE { 1721 mplsXCIndex MplsIndexType, 1722 mplsXCInSegmentIndex MplsIndexType, 1723 mplsXCOutSegmentIndex MplsIndexType, 1724 mplsXCLspId MplsLSPID, 1725 mplsXCLabelStackIndex MplsIndexType, 1726 mplsXCOwner MplsOwner , 1727 mplsXCRowStatus RowStatus, 1728 mplsXCStorageType StorageType, 1729 mplsXCAdminStatus INTEGER, 1730 mplsXCOperStatus INTEGER 1731 } 1733 mplsXCIndex OBJECT-TYPE 1734 SYNTAX MplsIndexType 1735 MAX-ACCESS not-accessible 1736 STATUS current 1737 DESCRIPTION 1738 "Primary index for the conceptual row identifying a 1739 group of cross-connect segments. The string 1740 containing a single octet 0x00 is an invalid index." 1741 ::= { mplsXCEntry 1 } 1743 mplsXCInSegmentIndex OBJECT-TYPE 1744 SYNTAX MplsIndexType 1745 MAX-ACCESS not-accessible 1746 STATUS current 1747 DESCRIPTION 1748 "Incoming label index. 1749 If this object is set to the string containing 1750 a single octet 0x00, this indicates a special 1751 case outlined in the table's description above. 1752 In this case no corresponding mplsInSegmentEntry 1753 shall exist." 1754 ::= { mplsXCEntry 2 } 1756 mplsXCOutSegmentIndex OBJECT-TYPE 1757 SYNTAX MplsIndexType 1758 MAX-ACCESS not-accessible 1759 STATUS current 1760 DESCRIPTION 1761 "Index of out-segment for LSPs not terminating on 1762 this LSR if not set to the string containing the 1763 single octet 0x00. If the segment identified by this 1764 entry is terminating, then this object MUST be set to 1765 the string containing a single octet 0x00 to indicate 1766 that no corresponding mplsOutSegmentEntry shall 1767 exist." 1768 ::= { mplsXCEntry 3 } 1770 mplsXCLspId OBJECT-TYPE 1771 SYNTAX MplsLSPID 1772 MAX-ACCESS read-create 1773 STATUS current 1774 DESCRIPTION 1775 "This value identifies the label switched path that 1776 this cross-connect entry belongs to. This object 1777 cannot be modified if mplsXCRowStatus is active(1) 1778 except for this object." 1779 ::= { mplsXCEntry 4 } 1781 mplsXCLabelStackIndex OBJECT-TYPE 1782 SYNTAX MplsIndexType 1783 MAX-ACCESS read-create 1784 STATUS current 1785 DESCRIPTION 1786 "Primary index into mplsLabelStackTable identifying a 1787 stack of labels to be pushed beneath the top label. 1788 Note that the top label identified by the out- 1789 segment ensures that all the components of a 1790 multipoint-to-point connection have the same 1791 outgoing label. A value of the string containing the 1792 single octet 0x00 indicates that no labels are to 1793 be stacked beneath the top label. 1794 This object cannot be modified if mplsXCRowStatus is 1795 active(1)." 1796 ::= { mplsXCEntry 5 } 1798 mplsXCOwner OBJECT-TYPE 1799 SYNTAX MplsOwner 1800 MAX-ACCESS read-only 1801 STATUS current 1802 DESCRIPTION 1803 "Denotes the entity that created and is responsible 1804 for managing this cross-connect." 1805 ::= { mplsXCEntry 6 } 1807 mplsXCRowStatus OBJECT-TYPE 1808 SYNTAX RowStatus 1809 MAX-ACCESS read-create 1810 STATUS current 1811 DESCRIPTION 1812 "For creating, modifying, and deleting this row. 1813 When a row in this table has a row in the active(1) 1814 state, no objects in this row except this object 1815 and the mplsXCStorageType can be modified. " 1816 ::= { mplsXCEntry 7 } 1818 mplsXCStorageType OBJECT-TYPE 1819 SYNTAX StorageType 1820 MAX-ACCESS read-create 1821 STATUS current 1822 DESCRIPTION 1823 "This variable indicates the storage type for this 1824 object. The agent MUST ensure that the associated in 1825 and out segments also have the same StorageType value 1826 and are restored consistently upon system restart. 1827 This value SHOULD be set to permanent(4) if created 1828 as a result of a static LSP configuration. 1830 Conceptual rows having the value 'permanent' 1831 need not allow write-access to any columnar 1832 objects in the row." 1833 DEFVAL { volatile } 1834 ::= { mplsXCEntry 8 } 1836 mplsXCAdminStatus OBJECT-TYPE 1837 SYNTAX INTEGER { 1838 up(1), -- ready to pass packets 1839 down(2), 1840 testing(3) -- in some test mode 1841 } 1842 MAX-ACCESS read-create 1843 STATUS current 1844 DESCRIPTION 1845 "The desired operational status of this segment." 1846 DEFVAL { up } 1847 ::= { mplsXCEntry 9 } 1849 mplsXCOperStatus OBJECT-TYPE 1850 SYNTAX INTEGER { 1851 up(1), -- ready to pass packets 1852 down(2), 1853 testing(3), -- in some test mode 1854 unknown(4), -- status cannot be determined 1855 -- for some reason. 1856 dormant(5), 1857 notPresent(6), -- some component is missing 1858 lowerLayerDown(7) -- down due to the state of 1859 -- lower layer interfaces 1860 } 1861 MAX-ACCESS read-only 1862 STATUS current 1863 DESCRIPTION 1864 "The actual operational status of this cross- 1865 connect." 1866 ::= { mplsXCEntry 10 } 1868 -- End of mplsXCTable 1870 -- Label stack table. 1872 mplsMaxLabelStackDepth OBJECT-TYPE 1873 SYNTAX Unsigned32 (1..2147483647) 1874 MAX-ACCESS read-only 1875 STATUS current 1876 DESCRIPTION 1877 "The maximum stack depth supported by this LSR." 1878 ::= { mplsLsrObjects 11 } 1880 mplsLabelStackIndexNext OBJECT-TYPE 1881 SYNTAX MplsIndexNextType 1882 MAX-ACCESS read-only 1883 STATUS current 1884 DESCRIPTION 1885 "This object contains the next available value to 1886 be used for mplsLabelStackIndex when creating entries 1887 in the mplsLabelStackTable. The special string 1888 containing the single octet 0x00 1889 indicates that no more new entries can be created 1890 in the relevant table. Agents not allowing managers 1891 to create entries in this table MUST set this value 1892 to the string containing the single octet 0x00." 1893 ::= { mplsLsrObjects 12 } 1895 mplsLabelStackTable OBJECT-TYPE 1896 SYNTAX SEQUENCE OF MplsLabelStackEntry 1897 MAX-ACCESS not-accessible 1898 STATUS current 1899 DESCRIPTION 1900 "This table specifies the label stack to be pushed 1901 onto a packet, beneath the top label. Entries into 1902 this table are referred to from mplsXCTable." 1903 ::= { mplsLsrObjects 13 } 1905 mplsLabelStackEntry OBJECT-TYPE 1906 SYNTAX MplsLabelStackEntry 1907 MAX-ACCESS not-accessible 1908 STATUS current 1909 DESCRIPTION 1910 "An entry in this table represents one label which is 1911 to be pushed onto an outgoing packet, beneath the 1912 top label. An entry can be created by a network 1913 administrator or by an SNMP agent as instructed by 1914 an MPLS signaling protocol." 1915 INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex } 1916 ::= { mplsLabelStackTable 1 } 1918 MplsLabelStackEntry ::= SEQUENCE { 1919 mplsLabelStackIndex MplsIndexType, 1920 mplsLabelStackLabelIndex Unsigned32, 1921 mplsLabelStackLabel MplsLabel, 1922 mplsLabelStackLabelPtr RowPointer, 1923 mplsLabelStackRowStatus RowStatus, 1924 mplsLabelStackStorageType StorageType 1925 } 1927 mplsLabelStackIndex OBJECT-TYPE 1928 SYNTAX MplsIndexType 1929 MAX-ACCESS not-accessible 1930 STATUS current 1931 DESCRIPTION 1932 "Primary index for this row identifying a stack of 1933 labels to be pushed on an outgoing packet, beneath 1934 the top label. An index containing the string with 1935 a single octet 0x00 MUST not be used." 1936 ::= { mplsLabelStackEntry 1 } 1938 mplsLabelStackLabelIndex OBJECT-TYPE 1939 SYNTAX Unsigned32 (1..2147483647) 1940 MAX-ACCESS not-accessible 1941 STATUS current 1942 DESCRIPTION 1943 "Secondary index for this row identifying one label 1944 of the stack. Note that an entry with a smaller 1945 mplsLabelStackLabelIndex would refer to a label 1946 higher up the label stack and would be popped at a 1947 downstream LSR before a label represented by a 1948 higher mplsLabelStackLabelIndex at a downstream 1949 LSR." 1950 ::= { mplsLabelStackEntry 2 } 1952 mplsLabelStackLabel OBJECT-TYPE 1953 SYNTAX MplsLabel 1954 MAX-ACCESS read-create 1955 STATUS current 1956 DESCRIPTION 1957 "The label to pushed." 1958 ::= { mplsLabelStackEntry 3 } 1960 mplsLabelStackLabelPtr OBJECT-TYPE 1961 SYNTAX RowPointer 1962 MAX-ACCESS read-create 1963 STATUS current 1964 DESCRIPTION 1965 "If the label for this segment cannot be represented 1966 fully within the mplsLabelStackLabel object, 1967 this object MUST point to the first accessible 1968 column of a conceptual row in an external table containing 1969 the label. In this case, the mplsLabelStackLabel 1970 object SHOULD be set to 0 and ignored. This object 1971 MUST be set to zeroDotZero otherwise." 1972 DEFVAL { zeroDotZero } 1973 ::= { mplsLabelStackEntry 4 } 1975 mplsLabelStackRowStatus OBJECT-TYPE 1976 SYNTAX RowStatus 1977 MAX-ACCESS read-create 1978 STATUS current 1979 DESCRIPTION 1980 "For creating, modifying, and deleting this row. 1981 When a row in this table has a row in the active(1) 1982 state, no objects in this row except this object 1983 and the mplsLabelStackStorageType can be modified." 1984 ::= { mplsLabelStackEntry 5 } 1986 mplsLabelStackStorageType OBJECT-TYPE 1987 SYNTAX StorageType 1988 MAX-ACCESS read-create 1989 STATUS current 1990 DESCRIPTION 1991 "This variable indicates the storage type for this 1992 object. This object cannot be modified if 1993 mplsLabelStackRowStatus is active(1). 1994 No objects are required to be writable for 1995 rows in this table with this object set to 1996 permanent(4). 1998 The agent MUST ensure that all related entries 1999 in this table retain the same value for this 2000 object. Agents MUST ensure that the storage type 2001 for all entries related to a particular mplsXCEntry 2002 retain the same value for this object as the 2003 mplsXCEntry's StorageType." 2004 DEFVAL { volatile } 2005 ::= { mplsLabelStackEntry 6 } 2007 -- End of mplsLabelStackTable 2009 -- Begin mplsInSegmentMapTable 2011 mplsInSegmentMapTable OBJECT-TYPE 2012 SYNTAX SEQUENCE OF MplsInSegmentMapEntry 2013 MAX-ACCESS not-accessible 2014 STATUS current 2015 DESCRIPTION 2016 "This table specifies the mapping from the 2017 mplsInSegmentIndex to the corresponding 2018 mplsInSegmentInterface and mplsInSegmentLabel 2019 objects. The purpose of this table is to 2020 provide the manager with an alternative 2021 means by which to locate in-segments." 2022 ::= { mplsLsrObjects 14 } 2024 mplsInSegmentMapEntry OBJECT-TYPE 2025 SYNTAX MplsInSegmentMapEntry 2026 MAX-ACCESS not-accessible 2027 STATUS current 2028 DESCRIPTION 2029 "An entry in this table represents one interface 2030 and incoming label pair. 2032 In cases where the label cannot fit into the 2033 mplsInSegmentLabel object, the mplsInSegmentLabelPtr 2034 will indicate this by being set to the first accessible 2035 column in the appropriate extension table's row, 2036 and the mplsInSegmentLabel SHOULD be set to 0. 2037 In all other cases when the label is 2038 represented within the mplsInSegmentLabel object, the 2039 mplsInSegmentLabelPtr MUST be 0.0. 2041 Implementors need to be aware that if the value of 2042 the mplsInSegmentMapLabelPtrIndex (an OID) has more 2043 that 111 sub-identifiers, then OIDs of column 2044 instances in this table will have more than 128 2045 sub-identifiers and cannot be accessed using SNMPv1, 2046 SNMPv2c, or SNMPv3." 2047 INDEX { mplsInSegmentMapInterface, 2048 mplsInSegmentMapLabel, 2049 mplsInSegmentMapLabelPtrIndex } 2050 ::= { mplsInSegmentMapTable 1 } 2052 MplsInSegmentMapEntry ::= SEQUENCE { 2053 mplsInSegmentMapInterface InterfaceIndexOrZero, 2054 mplsInSegmentMapLabel MplsLabel, 2055 mplsInSegmentMapLabelPtrIndex RowPointer, 2056 mplsInSegmentMapIndex MplsIndexType 2057 } 2059 mplsInSegmentMapInterface OBJECT-TYPE 2060 SYNTAX InterfaceIndexOrZero 2061 MAX-ACCESS not-accessible 2062 STATUS current 2063 DESCRIPTION 2064 "This index contains the same value as the 2065 mplsInSegmentIndex in the mplsInSegmentTable." 2066 ::= { mplsInSegmentMapEntry 1 } 2068 mplsInSegmentMapLabel OBJECT-TYPE 2069 SYNTAX MplsLabel 2070 MAX-ACCESS not-accessible 2071 STATUS current 2072 DESCRIPTION 2073 "This index contains the same value as the 2074 mplsInSegmentLabel in the mplsInSegmentTable." 2075 ::= { mplsInSegmentMapEntry 2 } 2077 mplsInSegmentMapLabelPtrIndex OBJECT-TYPE 2078 SYNTAX RowPointer 2079 MAX-ACCESS not-accessible 2080 STATUS current 2081 DESCRIPTION 2082 "This index contains the same value as the 2083 mplsInSegmentLabelPtr. 2085 If the label for the InSegment cannot be represented 2086 fully within the mplsInSegmentLabel object, 2087 this index MUST point to the first accessible 2088 column of a conceptual row in an external table containing 2089 the label. In this case, the mplsInSegmentTopLabel 2090 object SHOULD be set to 0 and ignored. This object MUST 2091 be set to zeroDotZero otherwise." 2092 ::= { mplsInSegmentMapEntry 3 } 2094 mplsInSegmentMapIndex OBJECT-TYPE 2095 SYNTAX MplsIndexType 2096 MAX-ACCESS read-only 2097 STATUS current 2098 DESCRIPTION 2099 "The mplsInSegmentIndex that corresponds 2100 to the mplsInSegmentInterface and 2101 mplsInSegmentLabel, or the mplsInSegmentInterface 2102 and mplsInSegmentLabelPtr, if applicable. 2103 The string containing the single octet 0x00 2104 MUST not be returned." 2105 ::= { mplsInSegmentMapEntry 4 } 2107 -- End mplsInSegmentMapTable 2109 -- Notification Configuration 2111 mplsXCNotificationsEnable OBJECT-TYPE 2112 SYNTAX TruthValue 2113 MAX-ACCESS read-write 2114 STATUS current 2115 DESCRIPTION 2116 "If this object is set to true(1), then it enables 2117 the emission of mplsXCUp and mplsXCDown 2118 notifications; otherwise these notifications are not 2119 emitted." 2120 REFERENCE 2121 "See also RFC3413 for explanation that 2122 notifications are under the ultimate control of the 2123 MIB modules in this document." 2124 DEFVAL { false } 2125 ::= { mplsLsrObjects 15 } 2127 -- Cross-connect. 2129 mplsXCUp NOTIFICATION-TYPE 2130 OBJECTS { mplsXCOperStatus, -- start of range 2131 mplsXCOperStatus -- end of range 2132 } 2133 STATUS current 2134 DESCRIPTION 2135 "This notification is generated when the 2136 mplsXCOperStatus object for one or more contiguous 2137 entries in mplsXCTable are about to enter the up(1) 2138 state from some other state. The included values of 2139 mplsXCOperStatus MUST both be set equal to this 2140 new state (i.e: up(1)). The two instances of 2141 mplsXCOperStatus in this notification indicate the range 2142 of indexes that are affected. Note that all the indexes 2143 of the two ends of the range can be derived from the 2144 instance identifiers of these two objects. For 2145 cases where a contiguous range of cross-connects 2146 have transitioned into the up(1) state at roughly 2147 the same time, the device SHOULD issue a single 2148 notification for each range of contiguous indexes in 2149 an effort to minimize the emission of a large number 2150 of notifications. If a notification has to be 2151 issued for just a single cross-connect entry, then 2152 the instance identifier (and values) of the two 2153 mplsXCOperStatus objects MUST be the identical." 2154 ::= { mplsLsrNotifications 1 } 2156 mplsXCDown NOTIFICATION-TYPE 2157 OBJECTS { 2158 mplsXCOperStatus, -- start of range 2159 mplsXCOperStatus -- end of range 2160 } 2161 STATUS current 2162 DESCRIPTION 2163 "This notification is generated when the 2164 mplsXCOperStatus object for one or more contiguous 2165 entries in mplsXCTable are about to enter the 2166 down(2) state from some other state. The included values 2167 of mplsXCOperStatus MUST both be set equal to this 2168 down(2) state. The two instances of mplsXCOperStatus 2169 in this notification indicate the range of indexes 2170 that are affected. Note that all the indexes of the 2171 two ends of the range can be derived from the 2172 instance identifiers of these two objects. For 2173 cases where a contiguous range of cross-connects 2174 have transitioned into the down(2) state at roughly 2175 the same time, the device SHOULD issue a single 2176 notification for each range of contiguous indexes in 2177 an effort to minimize the emission of a large number 2178 of notifications. If a notification has to be 2179 issued for just a single cross-connect entry, then 2180 the instance identifier (and values) of the two 2181 mplsXCOperStatus objects MUST be identical." 2182 ::= { mplsLsrNotifications 2 } 2184 -- End of notifications. 2186 -- Module compliance. 2188 mplsLsrGroups 2189 OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } 2191 mplsLsrCompliances 2192 OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } 2194 -- Compliance requirement for fully compliant implementations. 2196 mplsLsrModuleFullCompliance MODULE-COMPLIANCE 2197 STATUS current 2198 DESCRIPTION "Compliance statement for agents that provide full 2199 support for MPLS-LSR-STD-MIB. Such devices can 2200 then be monitored and also be configured using 2201 this MIB module." 2203 MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. 2204 MANDATORY-GROUPS { 2205 ifGeneralInformationGroup, 2206 ifCounterDiscontinuityGroup 2207 } 2209 MODULE -- This module. 2210 MANDATORY-GROUPS { 2211 mplsInterfaceGroup, 2212 mplsInSegmentGroup, 2213 mplsOutSegmentGroup, 2214 mplsXCGroup, 2215 mplsPerfGroup 2216 } 2218 GROUP mplsLabelStackGroup 2219 DESCRIPTION "This group is only mandatory for LSRs that wish to 2220 support the modification of LSP label stacks. 2221 " 2223 GROUP mplsHCInSegmentPerfGroup 2224 DESCRIPTION "This group is mandatory for those in-segment entries 2225 for which the object mplsInSegmentOutOctets wraps 2226 around too quickly based on the criteria specified in 2227 RFC 2863 for high-capacity counters. 2228 " 2230 GROUP mplsHCOutSegmentPerfGroup 2231 DESCRIPTION "This group is mandatory for those out-segment entries 2232 for which the object mplsOutSegmentPerfOctets wraps 2233 around too quickly based on the criteria specified in 2234 RFC 2863 for high-capacity counters. 2235 " 2237 GROUP mplsLsrNotificationGroup 2238 DESCRIPTION "This group is only mandatory for those implementations 2239 which can efficiently implement the notifications 2240 contained in this group." 2242 OBJECT mplsInSegmentRowStatus 2243 SYNTAX RowStatus { active(1), notInService(2) } 2244 WRITE-SYNTAX RowStatus { active(1), notInService(2), 2245 createAndGo(4), destroy(6) 2246 } 2247 DESCRIPTION "Support for createAndWait and notReady is 2248 not required." 2250 OBJECT mplsOutSegmentNextHopAddrType 2251 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 2252 DESCRIPTION "Only unknown(0), ipv4(1) and ipv6(2) support 2253 is required." 2255 OBJECT mplsOutSegmentNextHopAddr 2256 SYNTAX InetAddress (SIZE(0|4|16)) 2257 DESCRIPTION "An implementation is only required to support 2258 unknown(0), ipv4(1) and ipv6(2) sizes." 2260 OBJECT mplsOutSegmentRowStatus 2261 SYNTAX RowStatus { active(1), notInService(2) } 2262 WRITE-SYNTAX RowStatus { active(1), notInService(2), 2263 createAndGo(4), destroy(6) 2264 } 2265 DESCRIPTION "Support for createAndWait and notReady is not 2266 required." 2268 OBJECT mplsLabelStackRowStatus 2269 SYNTAX RowStatus { active(1), notInService(2) } 2270 WRITE-SYNTAX RowStatus { active(1), notInService(2), 2271 createAndGo(4), destroy(6) 2272 } 2273 DESCRIPTION "Support for createAndWait and notReady is not 2274 required." 2276 OBJECT mplsXCRowStatus 2277 SYNTAX RowStatus { active(1), notInService(2) } 2278 WRITE-SYNTAX RowStatus { active(1), notInService(2), 2279 createAndGo(4), destroy(6) 2280 } 2281 DESCRIPTION "Support for createAndWait and notReady is not 2282 required." 2284 ::= { mplsLsrCompliances 1 } 2286 -- Compliance requirement for read-only implementations. 2288 mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE 2289 STATUS current 2290 DESCRIPTION "Compliance requirement for implementations that only 2291 provide read-only support for MPLS-LSR-STD-MIB. Such 2292 devices can then be monitored but cannot be configured 2293 using this MIB modules. 2294 " 2296 MODULE IF-MIB -- The interfaces Group MIB, RFC 2863 2297 MANDATORY-GROUPS { 2298 ifGeneralInformationGroup, 2299 ifCounterDiscontinuityGroup 2301 } 2303 MODULE -- This module 2304 MANDATORY-GROUPS { 2305 mplsInterfaceGroup, 2306 mplsInSegmentGroup, 2307 mplsOutSegmentGroup, 2308 mplsXCGroup, 2309 mplsPerfGroup 2310 } 2312 GROUP mplsLabelStackGroup 2313 DESCRIPTION "This group is only mandatory for LSRs that wish to 2314 support the modification of LSP label stacks. 2315 " 2317 GROUP mplsHCInSegmentPerfGroup 2318 DESCRIPTION "This group is mandatory for those in-segment entries 2319 for which the object mplsInSegmentOutOctets wraps 2320 around too quickly based on the criteria specified in 2321 RFC 2863 for high-capacity counters. 2322 " 2324 GROUP mplsHCOutSegmentPerfGroup 2325 DESCRIPTION "This group is mandatory for those out-segment entries 2326 for which the object mplsOutSegmentPerfOctets wraps 2327 around too quickly based on the criteria specified in 2328 RFC 2863 for high-capacity counters. 2329 " 2331 GROUP mplsLsrNotificationGroup 2332 DESCRIPTION "This group is only mandatory for those implementations 2333 which can efficiently implement the notifications 2334 contained in this group. 2335 " 2337 -- mplsInSegmentTable 2338 OBJECT mplsInSegmentLabel 2339 MIN-ACCESS read-only 2340 DESCRIPTION "Write access is not required." 2342 OBJECT mplsInSegmentLabelPtr 2343 MIN-ACCESS read-only 2344 DESCRIPTION "Write access is not required." 2346 OBJECT mplsInSegmentNPop 2347 SYNTAX Integer32 (1..1) 2348 MIN-ACCESS read-only 2349 DESCRIPTION "Write access is not required. This object 2350 SHOULD be set to 1 if it is read-only. 2352 " 2354 OBJECT mplsInSegmentAddrFamily 2355 MIN-ACCESS read-only 2356 DESCRIPTION "Write access is not required. A value of other(0) 2357 should be supported because there may be cases where 2358 the agent may not know about or support any address 2359 types. 2360 " 2362 OBJECT mplsInSegmentRowStatus 2363 SYNTAX RowStatus { active(1) } 2364 MIN-ACCESS read-only 2365 DESCRIPTION "Write access is not required." 2367 OBJECT mplsInSegmentStorageType 2368 MIN-ACCESS read-only 2369 DESCRIPTION "Write access is not required." 2371 -- mplsOutSegmentTable 2372 OBJECT mplsOutSegmentInterface 2373 MIN-ACCESS read-only 2374 DESCRIPTION "Write access is not required." 2376 OBJECT mplsOutSegmentPushTopLabel 2377 MIN-ACCESS read-only 2378 DESCRIPTION "Write access is not required." 2380 OBJECT mplsOutSegmentTopLabel 2381 MIN-ACCESS read-only 2382 DESCRIPTION "Write access is not required." 2384 OBJECT mplsOutSegmentTopLabelPtr 2385 MIN-ACCESS read-only 2386 DESCRIPTION "Write access is not required." 2388 OBJECT mplsOutSegmentNextHopAddrType 2389 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 2390 MIN-ACCESS read-only 2391 DESCRIPTION "Write access is not required. Only unknown(0), 2392 ipv4(1) and ipv6(2) support is required. 2393 " 2395 OBJECT mplsOutSegmentNextHopAddr 2396 SYNTAX InetAddress (SIZE(0|4|16)) 2397 MIN-ACCESS read-only 2398 DESCRIPTION "Write access is not required. An implementation is 2399 only required to support unknown(0), ipv4(1) and 2400 ipv6(2) sizes." 2402 OBJECT mplsOutSegmentRowStatus 2403 SYNTAX RowStatus { active(1) } 2404 MIN-ACCESS read-only 2405 DESCRIPTION "Write access is not required." 2407 OBJECT mplsOutSegmentStorageType 2408 MIN-ACCESS read-only 2409 DESCRIPTION "Write access is not required." 2411 -- mplsXCTable 2412 OBJECT mplsXCLabelStackIndex 2413 MIN-ACCESS read-only 2414 DESCRIPTION "Write access is not required." 2416 OBJECT mplsXCAdminStatus 2417 MIN-ACCESS read-only 2418 DESCRIPTION "Read only support is required." 2420 OBJECT mplsXCRowStatus 2421 SYNTAX RowStatus { active(1) } 2422 MIN-ACCESS read-only 2423 DESCRIPTION "Write access is not required." 2425 OBJECT mplsXCStorageType 2426 MIN-ACCESS read-only 2427 DESCRIPTION "Write access is not required." 2429 OBJECT mplsLabelStackLabel 2430 MIN-ACCESS read-only 2431 DESCRIPTION "Write access is not required." 2433 OBJECT mplsLabelStackLabelPtr 2434 MIN-ACCESS read-only 2435 DESCRIPTION "Write access is not required." 2437 OBJECT mplsLabelStackRowStatus 2438 MIN-ACCESS read-only 2439 DESCRIPTION "Write access is not required." 2441 OBJECT mplsLabelStackStorageType 2442 MIN-ACCESS read-only 2443 DESCRIPTION "Write access is not required." 2445 ::= { mplsLsrCompliances 2 } 2447 -- Units of conformance. 2449 mplsInterfaceGroup OBJECT-GROUP 2450 OBJECTS { 2451 mplsInterfaceLabelMinIn, 2452 mplsInterfaceLabelMaxIn, 2453 mplsInterfaceLabelMinOut, 2454 mplsInterfaceLabelMaxOut, 2455 mplsInterfaceTotalBandwidth, 2456 mplsInterfaceAvailableBandwidth, 2457 mplsInterfaceLabelParticipationType 2458 } 2459 STATUS current 2460 DESCRIPTION 2461 "Collection of objects needed for MPLS interface 2462 and interface performance information." 2463 ::= { mplsLsrGroups 1 } 2465 mplsInSegmentGroup OBJECT-GROUP 2466 OBJECTS { 2467 mplsInSegmentIndexNext, 2468 mplsInSegmentInterface, 2469 mplsInSegmentLabel, 2470 mplsInSegmentLabelPtr, 2471 mplsInSegmentNPop, 2472 mplsInSegmentAddrFamily, 2473 mplsInSegmentXCIndex, 2474 mplsInSegmentOwner, 2475 mplsInSegmentRowStatus, 2476 mplsInSegmentStorageType, 2477 mplsInSegmentTrafficParamPtr, 2478 mplsInSegmentMapIndex 2479 } 2480 STATUS current 2481 DESCRIPTION 2482 "Collection of objects needed to implement an in- 2483 segment." 2484 ::= { mplsLsrGroups 2 } 2486 mplsOutSegmentGroup OBJECT-GROUP 2487 OBJECTS { 2488 mplsOutSegmentIndexNext, 2489 mplsOutSegmentInterface, 2490 mplsOutSegmentPushTopLabel, 2491 mplsOutSegmentTopLabel, 2492 mplsOutSegmentTopLabelPtr, 2493 mplsOutSegmentNextHopAddrType, 2494 mplsOutSegmentNextHopAddr, 2495 mplsOutSegmentXCIndex, 2496 mplsOutSegmentOwner, 2497 mplsOutSegmentPerfOctets, 2498 mplsOutSegmentPerfDiscards, 2499 mplsOutSegmentPerfErrors, 2500 mplsOutSegmentRowStatus, 2501 mplsOutSegmentStorageType, 2502 mplsOutSegmentTrafficParamPtr 2503 } 2504 STATUS current 2505 DESCRIPTION 2506 "Collection of objects needed to implement an out- 2507 segment." 2508 ::= { mplsLsrGroups 3 } 2510 mplsXCGroup OBJECT-GROUP 2511 OBJECTS { 2512 mplsXCIndexNext, 2513 mplsXCLspId, 2514 mplsXCLabelStackIndex, 2515 mplsXCOwner, 2516 mplsXCStorageType, 2517 mplsXCAdminStatus, 2518 mplsXCOperStatus, 2519 mplsXCRowStatus, 2520 mplsXCNotificationsEnable 2521 } 2522 STATUS current 2523 DESCRIPTION 2524 "Collection of objects needed to implement a 2525 cross-connect entry." 2526 ::= { mplsLsrGroups 4 } 2528 mplsPerfGroup OBJECT-GROUP 2529 OBJECTS { 2530 mplsInSegmentPerfOctets, 2531 mplsInSegmentPerfPackets, 2532 mplsInSegmentPerfErrors, 2533 mplsInSegmentPerfDiscards, 2534 mplsInSegmentPerfDiscontinuityTime, 2535 mplsOutSegmentPerfOctets, 2536 mplsOutSegmentPerfPackets, 2537 mplsOutSegmentPerfDiscards, 2538 mplsOutSegmentPerfDiscontinuityTime, 2539 mplsInterfacePerfInLabelsInUse, 2540 mplsInterfacePerfInLabelLookupFailures, 2541 mplsInterfacePerfOutFragmentedPkts, 2542 mplsInterfacePerfOutLabelsInUse 2543 } 2545 STATUS current 2546 DESCRIPTION 2547 "Collection of objects providing performance 2548 information 2549 about an LSR." 2550 ::= { mplsLsrGroups 5 } 2552 mplsHCInSegmentPerfGroup OBJECT-GROUP 2553 OBJECTS { mplsInSegmentPerfHCOctets } 2554 STATUS current 2555 DESCRIPTION 2556 "Object(s) providing performance information 2557 specific to out-segments for which the object 2558 mplsInterfaceInOctets wraps around too quickly." 2559 ::= { mplsLsrGroups 6 } 2561 mplsHCOutSegmentPerfGroup OBJECT-GROUP 2562 OBJECTS { mplsOutSegmentPerfHCOctets } 2563 STATUS current 2564 DESCRIPTION 2565 "Object(s) providing performance information 2566 specific to out-segments for which the object 2567 mplsInterfaceOutOctets wraps around too 2568 quickly." 2569 ::= { mplsLsrGroups 7 } 2571 mplsLabelStackGroup OBJECT-GROUP 2572 OBJECTS { 2573 mplsLabelStackLabel, 2574 mplsLabelStackLabelPtr, 2575 mplsLabelStackRowStatus, 2576 mplsLabelStackStorageType, 2577 mplsMaxLabelStackDepth, 2578 mplsLabelStackIndexNext 2579 } 2580 STATUS current 2581 DESCRIPTION 2582 "Objects needed to support label stacking." 2583 ::= { mplsLsrGroups 8 } 2585 mplsLsrNotificationGroup NOTIFICATION-GROUP 2586 NOTIFICATIONS { 2587 mplsXCUp, 2588 mplsXCDown 2589 } 2590 STATUS current 2591 DESCRIPTION 2592 "Set of notifications implemented in this 2593 module." 2594 ::= { mplsLsrGroups 9 } 2595 END 2597 11. Security Considerations 2599 It is clear that this MIB module is potentially useful for 2600 monitoring of MPLS LSRs. This MIB can also be used for 2601 configuration of certain objects, and anything that can be 2602 configured can be incorrectly configured, with potentially 2603 disastrous results. 2605 There are a number of management objects defined in this MIB module 2606 with a MAX-ACCESS clause of read-write and/or read-create. Such 2607 objects may be considered sensitive or vulnerable in some network 2608 environments. The support for SET operations in a non-secure 2609 environment without proper protection can have a negative effect on 2610 network operations. These are the tables and objects and their 2611 sensitivity/vulnerability: 2613 o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, 2614 mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, 2615 and mplsInSegmentPerfTable collectively contain objects to 2616 provision MPLS interfaces, LSPs and their associated parameters 2617 on an Label Switching Router (LSR). Unauthorized access to 2618 objects in these tables, could result in disruption of traffic 2619 on the network. This is especially true if an LSP has been 2620 established. The use of stronger mechanisms such as SNMPv3 2621 security should be considered where possible. Specifically, 2622 SNMPv3 VACM and USM MUST be used with any v3 agent which 2623 implements this MIB module. Administrators should consider 2624 whether read access to these objects should be allowed, 2625 since read access may be undesirable under certain 2626 circumstances. 2628 Some of the readable objects in this MIB module "i.e., objects with a 2629 MAX-ACCESS other than not-accessible" may be considered sensitive or 2630 vulnerable in some network environments. It is thus important to 2631 control even GET and/or NOTIFY access to these objects and possibly 2632 to even encrypt the values of these objects when sending them over 2633 the network via SNMP. These are the tables and objects and their 2634 sensitivity/vulnerability: 2636 o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, 2637 mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, 2638 and mplsInSegmentPerfTable collectively show the LSP network 2639 topology and its performance characteristics. 2640 If an Administrator does not want to reveal this 2641 information, then these tables should be 2642 considered sensitive/vulnerable. 2644 SNMP versions prior to SNMPv3 did not include adequate security. 2645 Even if the network itself is secure "for example by using IPSec", 2646 even then, there is no control as to who on the secure network is 2647 allowed to access and GET/SET "read/change/create/delete" the objects 2648 in this MIB module. 2650 It is RECOMMENDED that implementers consider the security features as 2651 provided by the SNMPv3 framework "see [RFC3410], section 8", 2652 including full support for the SNMPv3 cryptographic mechanisms "for 2653 authentication and privacy". 2655 Further, deployment of SNMP versions prior to SNMPv3 is NOT 2656 RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to 2657 enable cryptographic security. It is then a customer/operator 2658 responsibility to ensure that the SNMP entity giving access to an 2659 instance of this MIB module, is properly configured to give access 2660 to the objects only to those principals "users" that have legitimate 2661 rights to indeed GET or SET "change/create/delete" them. 2663 12. Acknowledgments 2665 We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim 2666 Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi 2667 Thirumalai, Joseph Benoit, Mike Piecuch, Joan Cucchiara. 2668 A special thanks to Bert Wijnen and Mike MacFaden for really 2669 getting the MIB module into shape. 2671 13. IANA Considerations 2672 As described in [MPLSMGMT] and as requested in the MPLS-TC-STD-MIB 2673 [MPLSTCMIB], MPLS related standards track MIB modules should be 2674 rooted under the mplsStdMIB subtree. There are 4 MPLS MIB Modules 2675 contained in this document, each of the following "IANA 2676 Considerations" subsections requests IANA for a new assignment under 2677 the mplsStdMIB subtree. New assignments can only be made via a 2678 Standards Action as specified in [RFC2434]. 2680 13.1. IANA Considerations for MPLS-LSR-STD-MIB 2681 The IANA is requested to assign { mplsStdMIB 2 } to the 2682 MPLS-LSR-STD-MIB module specified in this document. 2684 14. References 2686 14.1. Normative References 2688 [RFC2119] S. Bradner, "Key Words for use in RFCs to Indicate 2689 Requirement Levels", RFC 2119, BCP 14, March 1997. 2691 [RFC2515] Tesink, K., et al., "Definitions of Managed Objects 2692 for ATM Management", RFC 2515, February 1999. 2694 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2695 J., Rose, M., and S. Waldbusser, "Structure of 2696 Management Information Version 2 (SMIv2)", STD 58, RFC 2697 2578, April 1999. 2699 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2700 J., Rose, M., and S. Waldbusser, "Textual Conventions 2701 for SMIv2", STD 58, RFC 2579, April 1999. 2703 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2704 J., Rose, M., and S. Waldbusser, "Conformance 2705 Statements for SMIv2", STD 58, RFC 2580, April 1999. 2707 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces 2708 Group MIB", RFC 2863, June 2000. 2710 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, 2711 "Multiprotocol Label Switching Architecture", RFC 2712 3031, January 2001. 2714 [RFC3291] Daniele, M., Haberman, B., Routhier., S., 2715 Schoenwaelder., J., "Textual Conventions 2716 for Internet Network Addresses", RFC3291, 2717 May 2002. 2719 [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An 2720 Architecture for Describing Simple Network Management 2721 Protocol (SNMP) Management Frameworks", RFC 3411, 2722 December 2002. 2724 [TEMIB] Srinivasan, C., Viswanathan, A. and Nadeau, T., "MPLS 2725 Traffic Engineering Management Information Base ", 2726 Internet Draft , 2727 November 2002. 2729 [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C., 2730 Viswanathan, A., Sjostrand, H. and K. Kompella, 2731 "Definition of Textual Conventions and OBJECT- 2732 IDENTITIES for Multi-Protocol Label Switching (MPLS) 2733 Management", Internet Draft , April 2003. 2736 [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS 2737 FAMILY NUMBERS, (http://www.isi.edu/in- 2738 notes/iana/assignements/address-family-numbers), 2739 for MIB see: 2740 ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum 2741 bers.mib 2743 14.2. Informative References 2745 [RFC2026] S. Bradner, "The Internet Standards Process -- 2746 Revision 3", RFC 2026, October 1996. 2748 [RFC3413] Levi, D., Meyer, P., Stewart, B., 2749 "SNMP Applications", RFC 3413, December 2002. 2751 [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, 2752 "Introduction and Applicability Statements for 2753 Internet-Standard Management Framework", RFC 3410, 2754 December 2002. 2756 15. Authors' Addresses 2758 Cheenu Srinivasan 2759 Bloomberg L.P. 2760 499 Park Ave., New York, NY 10022 2761 Phone: +1-212-893-3682 2762 Email: cheenu@bloomberg.net 2764 Arun Viswanathan 2765 Force10 Networks, Inc. 2766 1440 McCarthy Blvd 2767 Milpitas, CA 95035 2768 Phone: +1-408-571-3516 2769 Email: arunv@force10networks.com 2771 Thomas D. Nadeau 2772 Cisco Systems, Inc. 2773 300 Beaver Brook Road 2774 Boxboro, MA 01719 2775 Phone: +1-978-936-1470 2776 Email: tnadeau@cisco.com 2778 16. Full Copyright Statement 2780 Copyright (C) The Internet Society (2003). All Rights Reserved. 2782 This document and translations of it may be copied and furnished 2783 to others, and derivative works that comment on or otherwise 2784 explain it or assist in its implementation may be prepared, 2785 copied, published and distributed, in whole or in part, without 2786 restriction of any kind, provided that the above copyright notice 2787 and this paragraph are included on all such copies and derivative 2788 works. However, this document itself may not be modified in any 2789 way, such as by removing the copyright notice or references to the 2790 Internet Society or other Internet organizations, except as needed 2791 for the purpose of developing Internet standards in which case 2792 the procedures for copyrights defined in the Internet Standards 2793 process must be followed, or as required to translate it into 2794 languages other than English. 2796 The limited permissions granted above are perpetual and will not 2797 be revoked by the Internet Society or its successors or assigns. 2798 This document and the information contained herein is provided on 2799 an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET 2800 ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR 2801 IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 2802 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 2803 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 2805 17. Intellectual Property Notice 2807 The IETF takes no position regarding the validity or scope of any 2808 intellectual property or other rights that might be claimed to 2809 pertain to the implementation or use of the technology described in 2810 this document or the extent to which any license under such rights 2811 might or might not be available; neither does it represent that it 2812 has made any effort to identify any such rights. Information on the 2813 IETF's procedures with respect to rights in standards-track and 2814 standards-related documentation can be found in BCP-11 [RFC2028]. 2815 Copies of claims of rights made available for publication and any 2816 assurances of licenses to be made available, or the result of an 2817 attempt made to obtain a general license or permission for the use of 2818 such proprietary rights by implementors or users of this 2819 specification can be obtained from the IETF Secretariat. 2820 The IETF invites any interested party to bring to its attention any 2821 copyrights, patents or patent applications, or other proprietary 2822 rights that may cover technology that may be required to practice 2823 this standard. Please address the information to the IETF Executive 2824 Director.