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