idnits 2.17.1 draft-ietf-mpls-lsr-mib-10.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 59 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** 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 is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. ** There are 2 instances of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 2603 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 } -- 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 7620 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 2524, but no explicit reference was found in the text == Unused Reference: 'RFC3411' is defined on line 2529, but no explicit reference was found in the text == Unused Reference: 'TCMIB' is defined on line 2539, but no explicit reference was found in the text == Unused Reference: 'IANAFamily' is defined on line 2546, but no explicit reference was found in the text == Unused Reference: 'RFC2026' is defined on line 2555, but no explicit reference was found in the text == Unused Reference: 'RFC3413' is defined on line 2558, 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. -------------------------------------------------------------------------------- 2 Network Working Group Cheenu Srinivasan 3 Internet Draft Parama Networks, Inc. 4 Expires: December 2003 5 Arun Viswanathan 6 Force10 Networks, Inc. 8 Thomas D. Nadeau 9 Cisco Systems, Inc. 11 June 2003 13 Multiprotocol Label Switching (MPLS) Label Switching 14 Router (LSR) Management Information Base 16 draft-ietf-mpls-lsr-mib-10.txt 18 Status of this Memo 20 This document is an Internet-Draft and is in full conformance with 21 all provisions of Section 10 of RFC 2026. 23 Internet-Drafts are working documents of the In ternet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six 29 months and may be updated, replaced, or obsoleted by other 30 documents at any time. It is inappropriate to use Internet- 31 Drafts as reference material or to cite them other than as "work 32 in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 Abstract 42 This memo defines an portion of the Management 43 Information Base (MIB) for use with network management protocols 44 in the Internet community. In particular, it describes managed 45 objects to configure and/or monitor a Multi-Protocol Label 46 Switching (MPLS) Label Switching Router (LSR). 48 Table of Contents 50 Abstract .................................................1 51 1. Introduction .............................................2 52 2. Terminology ..............................................2 53 3. The SNMP Management Framework ............................3 54 4. Outline ..................................................3 55 4.1 Summary of LSR MIB Module ................................3 56 5. Brief Description of MIB Module Objects ..................4 57 5.1. mplsInterfaceTable .......................................4 58 5.2. mplsInterfacePerfTable ...................................4 59 5.3. mplsInSegmentTable .......................................4 60 5.4. mplsInSegmentPerfTable ...................................5 61 5.5. mplsOutSegmentTable ......................................5 62 5.6. mplsOutSegmentPerfTable ..................................5 63 5.7. mplsXCTable ..............................................5 64 5.8. mplsLabelStackTable ......................................5 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 ...................................49 72 12. Acknowledgments ...........................................50 73 13. References ................................................51 74 13.1. Normative References ...................................51 75 13.2. Informative References .................................52 76 14. Authors' Addresses ........................................52 77 15. Full Copyright Statement ..................................53 78 16. Intellectual Property Notice ..............................53 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 6. Use of 32-bit and 64-bit Counters 258 64-bit counters are provided in this MIB module for high speed 259 interfaces where the use of 32-bit counters might be impractical. 260 The requirements on the use of 32-bit and 64-bit counters (copied 261 verbatim from [RFC2863]) are as follows. 263 For interfaces that operate at 20,000,000 (20 million) bits per 264 second or less, 32-bit byte and packet counters MUST be supported. 265 For interfaces that operate faster than 20,000,000 bits/second, 266 and slower than 650,000,000 bits/second, 32-bit packet counters 267 MUST be supported and 64-bit octet counters MUST be supported. 268 For interfaces that operate at 650,000,000 bits/second or faster, 269 64-bit packet counters AND 64-bit octet counters MUST be 270 supported. 272 7. Example of LSP Setup 274 In this section we provide a brief example of setting up an LSP 275 using this MIB module's objects. While this example 276 is not meant to illustrate every nuance of the MIB module, it 277 is intended as an aid to understanding some of the key concepts. 278 It is meant to be read after going through the MIB module itself. 280 Suppose that one would like to manually create a best-effort, 281 unidirectional LSP. Assume that the LSP enters the LSR via MPLS 282 interface A with ifIndex 12 and exits the LSR via MPLS interface B 283 with ifIndex 13. Let us assume that we do not wish to impose any 284 additional label stack beneath the top label on the outgoing 285 labeled packets. The following example illustrates which rows and 286 corresponding objects might be created to accomplish this. Those 287 objects relevant to illustrating the relationships amongst 288 different tables are shown here. Other objects may be needed 289 before conceptual row activation can happen. 291 The RowStatus values shown in this section are those to be used in 292 the set request, typically createAndGo(4) which is used to create 293 the conceptual row and have its status immediately set to active. 294 Note that the proper use of createAndGo(4) requires that all 295 columns that do not have a DEFVAL to be specified in order for 296 the SET to succeed. In the example below we have not specify all 297 such columns for the sake of keeping the example short. Please 298 keep in mind that all such fields must be send during a real SET 299 operation. A subsequent retrieval operation on the conceptual 300 row will return a different value, such as active(1). Please see 301 [RFC2579] for a detailed discussion on the use of RowStatus. 303 We first create a cross-connect entry that associates the 304 desired segments together. 306 In mplsXCTable: 307 { 308 mplsXCIndex = 0x02, 309 mplsXcInSegmentIndex = 0x00000015, 310 mplsXcOutSegmentIndex = 0x01, 312 mplsXCLspId = 'c021041502'H, -- 192.33.4.21.2 313 mplsXcLabelStackIndex = 0x00, -- only a single 314 -- outgoing label 315 mplsXCRowStatus = createAndGo(4) 316 } 318 Next, we create the appropriate in-segment and out-segment 319 entries based on the cross-connect. Note that some agents 320 may wish to automatically create the in and out-segments 321 based on the cross-connect creation. 323 In mplsInSegmentTable: 324 { 325 mplsInSegmentIndex = 0x00000015 327 mplsInSegmentLabel = 21, -- incoming label 328 mplsInSegmentNPop = 1, 329 mplsInSegmentInterface = 12, -- incoming interface 331 -- RowPointer MUST point to the first accesible column. 332 mplsInSegmentLabelPtr = 0.0, 333 mplsInSegmentTrafficParamPtr = 0.0, 335 mplsInSegmentRowStatus = createAndGo(4) 336 } 338 In mplsOutSegmentTable: 339 { 340 mplsOutSegmentIndex = 0x01, 341 mplsOutSegmentInterface = 13, -- outgoing interface 342 mplsOutSegmentPushTopLabel = true(1), 343 mplsOutSegmentTopLabel = 22, -- outgoing label 345 -- RowPointer MUST point to the first accesible column. 346 mplsOutSegmentTrafficParamPtr = 0.0, 347 mplsOutSegmentLabelPtr = 0.0, 349 mplsOutSegmentRowStatus = createAndGo(4) 350 } 351 Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex 352 objects will automatically be populated with the string 0x02 353 when these segments are referred to from the corresponding 354 cross- connect entry. 356 8. Application of the Interface Group to MPLS 358 RFC2863 defines generic managed objects for managing 359 interfaces. This memo contains the media-specific 360 extensions to the Interfaces Group for managing MPLS interfaces. 362 This memo assumes the interpretation of the Interfaces Group to be 363 in accordance with [RFC2863] which states that the interfaces 364 table (ifTable) contains information on the managed resource's 365 interfaces and that each sub-layer below the internetwork layer of 366 a network interface is considered an interface. Thus, the MPLS 367 interface is represented as an entry in the ifTable. The inter- 368 relation of entries in the ifTable is defined by Interfaces Stack 369 Group defined in [RFC2863]. 371 When using MPLS interfaces, the interface stack table might appear 372 as follows: 374 +----------------------------------------+ 375 | MPLS interface; ifType = mpls(166) + 376 +----------------------------------------+ 377 | Underlying Layer + 378 +----------------------------------------+ 380 In the above diagram, "Underlying Layer" refers to the ifIndex of 381 any interface type for which MPLS interworking has been defined. 382 Examples include ATM, Frame Relay, Ethernet, etc. 384 8.1. Support of the MPLS Layer by ifTable 386 Some specific interpretations of ifTable for the MPLS layer 387 follow. 389 Object Use for the MPLS layer 391 ifIndex Each MPLS interface is represented by an ifEntry. 393 ifDescr Description of the MPLS interface. 395 ifType The value that is allocated for MPLS is 166. 397 ifSpeed The total bandwidth in bits per second for use by 398 the MPLS layer. 400 ifPhysAddress Unused. 402 ifAdminStatus This variable indicates the administrator's intent 403 as to whether MPLS should be enabled, disabled, or 404 running in some diagnostic testing mode on this 405 interface. Also see [RFC2863]. 407 ifOperStatus This value reflects the actual operational status 408 of MPLS on this interface. 410 ifLastChange See [RFC2863]. 412 ifInOctets The number of received octets over the interface, 413 i.e., the number of received, octets received as 414 labeled packets. 416 ifOutOctets The number of transmitted octets over the 417 interface, i.e., the number of octets transmitted 418 as labeled packets. 420 ifInErrors The number of labeled packets dropped due to 421 uncorrectable errors. 423 ifInUnknownProtos 424 The number of received packets discarded during 425 packet header validation, including packets with 426 unrecognized label values. 428 ifOutErrors See [RFC2863]. 430 ifName Textual name (unique on this system) of the 431 interface or an octet string of zero length. 433 ifLinkUpDownTrapEnable 434 Default is disabled (2). 436 ifConnectorPresent 437 Set to false (2). 439 ifHighSpeed See [RFC2863]. 441 ifHCInOctets The 64-bit version of ifInOctets; supported if 442 required by the compliance statements in [RFC2863]. 444 ifHCOutOctets The 64-bit version of ifOutOctets; supported if 445 required by the compliance statements in [RFC2863]. 447 ifAlias The non-volatile 'alias' name for the interface as 448 specified by a network manager. 450 ifCounterDiscontinuityTime 451 See [RFC2863]. 453 9. The Use of RowPointer 455 RowPointer is a textual convention used to identify a conceptual 456 row in a MIB Table by pointing to the first accessible object 457 in that row. In this MIB module, the trafficParamPtr object from 458 either the mplsInSegmentTable or mplsOutSegmentTable SHOULD 459 indicate the first accessible column in an entry in the 460 MplsTunnelResourceEntry in the MPLS-TE-STD-MIB [TEMIB] 461 to indicate the traffic parameter settings for this 462 segment, if it represents an LSP used for a TE tunnel. 464 The trafficParamPtr object may optionally point at an 465 externally defined traffic parameter specification 466 table. A value of zeroDotZero indicates best-effort 467 treatment. By having the same value of this object, 468 two or more segments can indicate resource sharing 469 of such things as LSP queue space, etc. 471 10. MPLS Label Switching Router MIB Module Definitions 473 MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN 474 IMPORTS 475 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 476 Integer32, Counter32, Unsigned32, Counter64, Gauge32, 477 zeroDotZero 478 FROM SNMPv2-SMI 479 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 480 FROM SNMPv2-CONF 481 TruthValue, RowStatus, StorageType, RowPointer, 482 TimeStamp, TEXTUAL-CONVENTION 483 FROM SNMPv2-TC 484 InterfaceIndexOrZero 485 FROM IF-MIB 486 mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate, 487 MplsOwner 488 FROM MPLS-TC-STD-MIB 489 AddressFamilyNumbers 490 FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB 491 InetAddress, InetAddressType 492 FROM INET-ADDRESS-MIB 493 ; 495 mplsLsrStdMIB MODULE-IDENTITY 496 LAST-UPDATED "200306061200Z" -- 6 June 2003 12:00:00 GMT 497 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" 498 CONTACT-INFO 499 " 500 Cheenu Srinivasan 501 Parama Networks, Inc. 502 Email: cheenu@paramanet.com 504 Arun Viswanathan 505 Force10 Networks, Inc. 506 Email: arun@force10networks.com 508 Thomas D. Nadeau 509 Cisco Systems, Inc. 510 Email: tnadeau@cisco.com 512 Comments about this document should be emailed 513 directly to the MPLS working group mailing list at 514 mpls@uu.net." 516 DESCRIPTION 517 "This MIB module contains managed object definitions for 518 the Multiprotocol Label Switching (MPLS) Router as 519 defined in: Rosen, E., Viswanathan, A., and R. 520 Callon, Multiprotocol Label Switching Architecture, 521 RFC 3031, January 2001. 523 Copyright (C) The Internet Society (2003). This 524 version of this MIB module is part of RFCXXX; see 525 the RFC itself for full legal notices." 527 -- Revision history. 528 REVISION 529 "200306061200Z" -- 6 June 2003 12:00:00 GMT 530 DESCRIPTION 531 "Initial revision, published as part of RFC XXXX." 532 ::= { mplsStdMIB 2 } 534 -- Textual Conventions 536 MplsIndexType ::= TEXTUAL-CONVENTION 537 STATUS current 538 DESCRIPTION 539 "This is an octet string that can be used as a table 540 index in cases where a large addressable space is 541 required such as on an LSR where many applications 542 may be provisioning labels. 544 Note that the string containing the single octet with 545 the value 0x00 is a reserved value used to represent 546 special cases. When this textual convention is used 547 as the SYNTAX of an object, the DESCRITPION clause 548 MUST specify if this special value is valid and if so 549 what the special meaning of is. 551 When a MIB module is used for configuration, an object with 552 this SYNTAX always contains a legal value (if a non-zero-length 553 string) for an index that is not currently used in the relevant 554 table. The Command Generator (Network Management Application) 555 reads this variable and uses the (non-zero-length string) 556 value read when creating a new row with an SNMP SET. 558 When the SET is performed, the Command Responder (agent) must 559 determine whether the value is indeed still unused; Two Network 560 Management Applications may attempt to create a row 561 (configuration entry) simultaneously and use the same value. If 562 it is currently unused, the SET succeeds and the Command 563 Responder (agent) changes the value of this object, according to 564 an implementation-specific algorithm. If the value is in use, 565 however, the SET fails. The Network Management Application must 566 then re-read this variable to obtain a new usable value. 568 An OBJECT-TYPE definition using this SYNTAX MUST specify the 569 relevant table for which the object is providing this 570 functionality." 571 SYNTAX OCTET STRING (SIZE(1..24)) 573 -- Top level components of this MIB module. 575 -- Notifications 576 mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 } 578 -- Tables, Scalars 579 mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 } 581 -- Conformance 582 mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 } 584 -- MPLS Interface Table. 585 mplsInterfaceTable OBJECT-TYPE 586 SYNTAX SEQUENCE OF MplsInterfaceEntry 587 MAX-ACCESS not-accessible 588 STATUS current 589 DESCRIPTION 590 "This table specifies per-interface MPLS capability 591 and associated information." 592 ::= { mplsLsrObjects 1 } 594 mplsInterfaceEntry OBJECT-TYPE 595 SYNTAX MplsInterfaceEntry 596 MAX-ACCESS not-accessible 597 STATUS current 598 DESCRIPTION 599 "A conceptual row in this table is created 600 automatically by an LSR for every interface capable 601 of supporting MPLS and which is configured to do so. 602 A conceptual row in this table will exist iff a 603 corresponding entry in ifTable exists with ifType = 604 mpls(166). If this associated entry in ifTable is 605 operationally disabled (thus removing MPLS 606 capabilities on that interface), the corresponding 607 entry in this table MUST be deleted shortly thereafter. 608 An conceptual row with index 0 is created if the LSR 609 supports per-platform labels. This conceptual row 610 represents the per-platform label space and contains 611 parameters that apply to all interfaces that participate 612 in the per-platform label space. Other conceptual rows 613 in this table represent MPLS interfaces that may 614 participate in either the per-platform or per- 615 interface label spaces, or both. Implementations 616 that either only support per-platform labels, 617 or have only them configured, may choose to return 618 just the mplsInterfaceEntry of 0 and not return 619 the other rows. This will greatly reduce the numebr 620 of objects returned. Further information about label 621 space participation of an interface is provided in 622 the DESCRIPTION clause of 623 mplsInterfaceLabelParticipationType." 624 INDEX { mplsInterfaceIndex } 625 ::= { mplsInterfaceTable 1 } 627 MplsInterfaceEntry ::= SEQUENCE { 628 mplsInterfaceIndex InterfaceIndexOrZero, 629 mplsInterfaceLabelMinIn MplsLabel, 630 mplsInterfaceLabelMaxIn MplsLabel, 631 mplsInterfaceLabelMinOut MplsLabel, 632 mplsInterfaceLabelMaxOut MplsLabel, 633 mplsInterfaceTotalBandwidth MplsBitRate, 634 mplsInterfaceAvailableBandwidth MplsBitRate, 635 mplsInterfaceLabelParticipationType BITS 636 } 638 mplsInterfaceIndex OBJECT-TYPE 639 SYNTAX InterfaceIndexOrZero 640 MAX-ACCESS not-accessible 641 STATUS current 642 DESCRIPTION 643 "This is a unique index for an entry in the 644 MplsInterfaceTable. A non-zero index for an 645 entry indicates the ifIndex for the corresponding 646 interface entry of the MPLS-layer in the ifTable. 647 The entry with index 0 represents the per-platform 648 label space and contains parameters that apply to all 649 interfaces that participate in the per-platform label 650 space. Other entries defined in this table represent 651 additional MPLS interfaces that may participate in either 652 the per-platform or per-interface label spaces, or both." 653 REFERENCE 654 "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., 655 and F. Kastenholtz, June 2000" 656 ::= { mplsInterfaceEntry 1 } 658 mplsInterfaceLabelMinIn OBJECT-TYPE 659 SYNTAX MplsLabel 660 MAX-ACCESS read-only 661 STATUS current 662 DESCRIPTION 663 "This is the minimum value of an MPLS label that this 664 LSR is willing to receive on this interface." 665 ::= { mplsInterfaceEntry 2 } 667 mplsInterfaceLabelMaxIn OBJECT-TYPE 668 SYNTAX MplsLabel 669 MAX-ACCESS read-only 670 STATUS current 671 DESCRIPTION 672 "This is the maximum value of an MPLS label that this 673 LSR is willing to receive on this interface." 674 ::= { mplsInterfaceEntry 3 } 676 mplsInterfaceLabelMinOut OBJECT-TYPE 677 SYNTAX MplsLabel 678 MAX-ACCESS read-only 679 STATUS current 680 DESCRIPTION 681 "This is the minimum value of an MPLS label that this 682 LSR is willing to send on this interface." 683 ::= { mplsInterfaceEntry 4 } 685 mplsInterfaceLabelMaxOut OBJECT-TYPE 686 SYNTAX MplsLabel 687 MAX-ACCESS read-only 688 STATUS current 689 DESCRIPTION 690 "This is the maximum value of an MPLS label that this 691 LSR is willing to send on this interface." 692 ::= { mplsInterfaceEntry 5 } 694 mplsInterfaceTotalBandwidth OBJECT-TYPE 695 SYNTAX MplsBitRate 696 UNITS "kilobits per second" 697 MAX-ACCESS read-only 698 STATUS current 699 DESCRIPTION 700 "This value indicates the total amount of usable 701 bandwidth on this interface and is specified in 702 kilobits per second (Kbps). This variable is not 703 applicable when applied to the interface with index 704 0. When this value cannot be measured, this value 705 should contain the nominal bandwidth." 706 ::= { mplsInterfaceEntry 6 } 708 mplsInterfaceAvailableBandwidth OBJECT-TYPE 709 SYNTAX MplsBitRate 710 MAX-ACCESS read-only 711 STATUS current 712 DESCRIPTION 713 "This value indicates the total amount of available 714 bandwidth available on this interface and is 715 specified in kilobits per second (Kbps). This value 716 is calculated as the difference between the amount 717 of bandwidth currently in use and that specified in 718 mplsInterfaceTotalBandwidth. This variable is not 719 applicable when applied to the interface with index 720 0. When this value cannot be measured, this value 721 should contain the nominal bandwidth." 722 ::= { mplsInterfaceEntry 7 } 724 mplsInterfaceLabelParticipationType OBJECT-TYPE 725 SYNTAX BITS { 726 perPlatform (0), 727 perInterface (1) 728 } 729 MAX-ACCESS read-only 730 STATUS current 731 DESCRIPTION 732 "If the value of the mplsInterfaceIndex for this 733 entry is zero, then this entry corresponds to the 734 per-platform label space for all interfaces configured 735 to use that label space. In this case the perPlatform(0) 736 bit MUST be set; the perInterface(1) bit is meaningless 737 and MUST be ignored. 739 The remainder of this description applies to entries 740 with a non-zero value of mplsInterfaceIndex. 742 If the perInterface(1) bit is set then the value of 743 mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, 744 mplsInterfaceLabelMinOut, and 745 mplsInterfaceLabelMaxOut for this entry reflect the 746 label ranges for this interface. 748 If only the perPlatform(0) bit is set, then the value of 749 mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, 750 mplsInterfaceLabelMinOut, and 751 mplsInterfaceLabelMaxOut for this entry MUST be 752 identical to the instance of these objects with 753 index 0. These objects may only vary from the entry 754 with index 0 if both the perPlatform(0) and perInterface(1) 755 bits are set. 757 In all cases, at a minimum one of the perPlatform(0) or 758 perInterface(1) bits MUST be set to indicate that 759 at least one label space is in use by this interface. In 760 all cases, agents MUST ensure that label ranges are 761 specified consistently and MUST return an 762 inconsistentValue error when they do not." 763 REFERENCE 764 "Rosen, E., Viswanathan, A., and R. Callon, 765 Multiprotocol Label Switching Architecture, RFC 766 3031, January 2001." 767 ::= { mplsInterfaceEntry 8 } 769 -- End of mplsInterfaceTable 771 -- MPLS Interface Performance Table. 773 mplsInterfacePerfTable OBJECT-TYPE 774 SYNTAX SEQUENCE OF MplsInterfacePerfEntry 775 MAX-ACCESS not-accessible 776 STATUS current 777 DESCRIPTION 778 "This table provides MPLS performance information on 779 a per-interface basis." 780 ::= { mplsLsrObjects 2 } 782 mplsInterfacePerfEntry OBJECT-TYPE 783 SYNTAX MplsInterfacePerfEntry 784 MAX-ACCESS not-accessible 785 STATUS current 786 DESCRIPTION 787 "An entry in this table is created by the LSR for 788 every interface capable of supporting MPLS. Its is 789 an extension to the mplsInterfaceEntry table. 790 Note that the discontinuity behavior of entries in 791 this table MUST be based on the corresponding 792 ifEntry's ifDiscontinuityTime." 793 AUGMENTS { mplsInterfaceEntry } 794 ::= { mplsInterfacePerfTable 1 } 796 MplsInterfacePerfEntry ::= SEQUENCE { 797 -- incoming direction 798 mplsInterfacePerfInLabelsInUse Gauge32, 799 mplsInterfacePerfInLabelLookupFailures Counter32, 801 -- outgoing direction 802 mplsInterfacePerfOutLabelsInUse Gauge32, 803 mplsInterfacePerfOutFragmentedPkts Counter32 804 } 806 mplsInterfacePerfInLabelsInUse OBJECT-TYPE 807 SYNTAX Gauge32 808 MAX-ACCESS read-only 809 STATUS current 810 DESCRIPTION 811 "This object counts the number of labels that are in 812 use at this point in time on this interface in the 813 incoming direction. If the interface participates in 814 only the per-platform label space, then the value of 815 the instance of this object MUST be identical to 816 the value of the instance with index 0. If the 817 interface participates in the per-interface label 818 space, then the instance of this object MUST 819 represent the number of of per-interface labels that 820 are in use on this interface." 821 ::= { mplsInterfacePerfEntry 1 } 823 mplsInterfacePerfInLabelLookupFailures OBJECT-TYPE 824 SYNTAX Counter32 825 MAX-ACCESS read-only 826 STATUS current 827 DESCRIPTION 828 "This object counts the number of labeled packets 829 that have been received on this interface and which 830 were discarded because there was no matching cross- 831 connect entry. This object MUST count on a per- 832 interface basis regardless of which label space the 833 interface participates in." 834 ::= { mplsInterfacePerfEntry 2 } 836 mplsInterfacePerfOutLabelsInUse OBJECT-TYPE 837 SYNTAX Gauge32 838 MAX-ACCESS read-only 839 STATUS current 840 DESCRIPTION 841 "This object counts the number of top-most labels in 842 the outgoing label stacks that are in use at this 843 point in time on this interface. This object MUST 844 count on a per-interface basis regardless of which 845 label space the interface participates in." 846 ::= { mplsInterfacePerfEntry 3 } 848 mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE 849 SYNTAX Counter32 850 MAX-ACCESS read-only 851 STATUS current 852 DESCRIPTION 853 "This object counts the number of outgoing MPLS 854 packets that required fragmentation before 855 transmission on this interface. This object MUST 856 count on a per-interface basis regardless of which 857 label space the interface participates in." 858 ::= { mplsInterfacePerfEntry 4 } 860 -- mplsInterfacePerf Table end. 862 mplsInSegmentIndexNext OBJECT-TYPE 863 SYNTAX MplsIndexType 864 MAX-ACCESS read-only 865 STATUS current 866 DESCRIPTION 867 "This object contains the next available value to 868 be used for mplsInSegmentIndex when creating entries 869 in the mplsInSegmentTable. The special value of a 870 a string containing the single octet 0x00 indicates 871 indicates that no new entries can be created in this 872 table. Agents not allowing managers to create entries 873 in this table MUST set this object to this special 874 value." 875 ::= { mplsLsrObjects 3 } 877 -- in-segment table. 878 mplsInSegmentTable OBJECT-TYPE 879 SYNTAX SEQUENCE OF MplsInSegmentEntry 880 MAX-ACCESS not-accessible 881 STATUS current 882 DESCRIPTION 883 "This table contains a description of the incoming MPLS 884 segments (labels) to an LSR and their associated parameters. 885 The index for this table is mplsInSegmentIndex. 886 The index structure of this table is specifically designed 887 to handle many different MPLS implementations that manage 888 their labels both in a distributed and centralized manner. 889 The table is also designed to handle existing MPLS labels 890 as defined in RFC3031 as well as longer ones that may 891 be necessary in the future. 893 In cases where the label cannot fit into the 894 mplsInSegmentLabel object, the mplsInSegmentLabelPtr 895 will indicate this by being set to the first accessible 896 colum in the appropriate extension table's row. 897 In this case an additional table MUST 898 be provided and MUST be indexed by at least the indexes 899 used by this table. In all other cases when the label is 900 represented within the mlsinSegmentLabel object, the 901 mplsInSegmentLabelPtr must be set to 0.0. Due to the 902 fact that MPLS labels may not exceed 24 bits, the 903 mplsInSegmentLabelPtr object is only a provision for 904 future-proofing the MIB module. Thus, the definition 905 of any extension tables is beyond the scope of this 906 MIB module." 907 ::= { mplsLsrObjects 4 } 909 mplsInSegmentEntry OBJECT-TYPE 910 SYNTAX MplsInSegmentEntry 911 MAX-ACCESS not-accessible 912 STATUS current 913 DESCRIPTION 914 "An entry in this table represents one incoming 915 segment as is represented in an LSR's LFIB. 916 An entry can be created by a network 917 administrator or an SNMP agent, or an MPLS signaling 918 protocol. The creator of the entry is denoted by 919 mplsInSegmentOwner. 921 The value of mplsInSegmentRowStatus cannot be active(1) 922 unless the ifTable entry corresponding to 923 mplsInSegmentInterface exists. An entry in this table 924 must match any incoming packets, and indicates an 925 instance of mplsXCEntry based on which forwarding 926 and/or switching actions are taken." 927 INDEX { mplsInSegmentIndex } 928 ::= { mplsInSegmentTable 1 } 930 MplsInSegmentEntry ::= SEQUENCE { 931 mplsInSegmentIndex MplsIndexType, 932 mplsInSegmentInterface InterfaceIndexOrZero, 933 mplsInSegmentLabel MplsLabel, 934 mplsInSegmentLabelPtr RowPointer, 935 mplsInSegmentNPop Integer32, 936 mplsInSegmentAddrFamily AddressFamilyNumbers, 937 mplsInSegmentXCIndex MplsIndexType, 938 mplsInSegmentOwner MplsOwner , 939 mplsInSegmentTrafficParamPtr RowPointer, 940 mplsInSegmentRowStatus RowStatus, 941 mplsInSegmentStorageType StorageType 942 } 944 mplsInSegmentIndex OBJECT-TYPE 945 SYNTAX MplsIndexType 946 MAX-ACCESS not-accessible 947 STATUS current 948 DESCRIPTION 949 "The index for for this in-segment. The 950 string containing the single octet 0x00 951 MUST not be used as an index." 952 ::= { mplsInSegmentEntry 1 } 954 mplsInSegmentInterface OBJECT-TYPE 955 SYNTAX InterfaceIndexOrZero 956 MAX-ACCESS read-create 957 STATUS current 958 DESCRIPTION 959 "This object represents the 960 interface index for the incoming MPLS interface. A 961 value of zero represents all interfaces participating in 962 the per-platform label space. This may only be used 963 in cases where the incoming interface and label 964 are associated with the same mplsXCEntry. Specifically, 965 given a label and any incoming interface pair from the 966 per-platform label space, the outgoing label/interface 967 mapping remains the same. If this is not the case, 968 then individual entries MUST exist that 969 can then be mapped to unique mplsXCEntries." 970 ::= { mplsInSegmentEntry 2 } 972 mplsInSegmentLabel OBJECT-TYPE 973 SYNTAX MplsLabel 974 MAX-ACCESS read-create 975 STATUS current 976 DESCRIPTION 977 "If the corresponding instance of mplsInSegmentLabelPtr is 978 zeroDotZero then this object MUST contain the incoming label 979 associated with this in-segment. If not this object SHOULD 980 be zero and MUST be ignored." 981 ::= { mplsInSegmentEntry 3 } 983 mplsInSegmentLabelPtr OBJECT-TYPE 984 SYNTAX RowPointer 985 MAX-ACCESS read-create 986 STATUS current 987 DESCRIPTION 988 "If the label for this segment cannot be represented 989 fully within the mplsInSegmentLabel object, 990 this object MUST point to the first accessible 991 column of a conceptual row in an external table containing 992 the label. In this case, the mplsInSegmentTopLabel 993 object SHOULD be set to 0 and ignored. This object MUST 994 be set to zeroDotZero otherwise." 995 DEFVAL { zeroDotZero } 996 ::= { mplsInSegmentEntry 4 } 998 mplsInSegmentNPop OBJECT-TYPE 999 SYNTAX Integer32 (1..2147483647) 1000 MAX-ACCESS read-create 1001 STATUS current 1002 DESCRIPTION 1003 "The number of labels to pop from the incoming 1004 packet. Normally only the top label is popped from 1005 the packet and used for all switching decisions for 1006 that packet. This is indicated by setting this 1007 object to the default value of 1. If an LSR supports 1008 popping of more than one label, this object MUST 1009 be set to that number. This object cannot be modified 1010 if mplsInSegmentRowStatus is active(1)." 1011 DEFVAL { 1 } 1012 ::= { mplsInSegmentEntry 5 } 1014 mplsInSegmentAddrFamily OBJECT-TYPE 1015 SYNTAX AddressFamilyNumbers 1016 MAX-ACCESS read-create 1017 STATUS current 1018 DESCRIPTION 1019 "The IANA address family of packets 1020 received on this segment, which is used at an egress 1021 LSR to deliver them to the appropriate layer 3 entity. 1022 A value of other(0) indicates that the family type is 1023 either unknown or undefined; this SHOULD NOT be used 1024 at an egress LSR. This object cannot be 1025 modified if mplsInSegmentRowStatus is active(1)." 1026 REFERENCE 1027 "See Internet Assigned Numbers Authority (IANA), 1028 ADDRESS FAMILY NUMBERS." 1029 DEFVAL { other } 1030 ::= { mplsInSegmentEntry 6 } 1032 mplsInSegmentXCIndex OBJECT-TYPE 1033 SYNTAX MplsIndexType 1034 MAX-ACCESS read-only 1035 STATUS current 1036 DESCRIPTION 1037 "Index into mplsXCTable which identifies which cross- 1038 connect entry this segment is part of. The string 1039 containing the single octet 0x00 indicates that this 1040 entry is not referred to by any cross-connect entry. 1041 When a cross-connect entry is created which this 1042 in-segment is a part of, this object is automatically 1043 updated to reflect the value of mplsXCIndex of that 1044 cross-connect entry." 1045 ::= { mplsInSegmentEntry 7 } 1047 mplsInSegmentOwner OBJECT-TYPE 1048 SYNTAX MplsOwner 1049 MAX-ACCESS read-only 1050 STATUS current 1051 DESCRIPTION 1052 "Denotes the entity that created and is responsible 1053 for managing this segment." 1054 ::= { mplsInSegmentEntry 8 } 1056 mplsInSegmentTrafficParamPtr OBJECT-TYPE 1057 SYNTAX RowPointer 1058 MAX-ACCESS read-create 1059 STATUS current 1060 DESCRIPTION 1061 "This variable represents a pointer to the traffic 1062 parameter specification for this out-segment. This 1063 value may point at an entry in the 1064 mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFCnnnn) 1066 RFC Editor: Please fill in RFC number. 1068 to indicate which traffic parameter settings for this 1069 segment if it represents an LSP used for a TE tunnel. 1071 This value may optionally point at an 1072 externally defined traffic parameter specification 1073 table. A value of zeroDotZero indicates best-effort 1074 treatment. By having the same value of this object, 1075 two or more segments can indicate resource sharing 1076 of such things as LSP queue space, etc. 1078 This object cannot be modified if mplsInSegmentRowStatus 1079 is active(1). For entries in this table that 1080 are preserved after a re-boot, the agent MUST ensure 1081 that their integrity be preserved, or this object should 1082 be set to 0.0 if it cannot." 1083 DEFVAL { zeroDotZero } 1084 ::= { mplsInSegmentEntry 9 } 1086 mplsInSegmentRowStatus OBJECT-TYPE 1087 SYNTAX RowStatus 1088 MAX-ACCESS read-create 1089 STATUS current 1090 DESCRIPTION 1091 "This variable is used to create, modify, and/or 1092 delete a row in this table. When a row in this 1093 table has a row in the active(1) state, no 1094 objects in this row can be modified except the 1095 mplsInSegmentRowStatus and mplsInSegmentStorageType." 1096 ::= { mplsInSegmentEntry 10 } 1098 mplsInSegmentStorageType OBJECT-TYPE 1099 SYNTAX StorageType 1100 MAX-ACCESS read-only 1101 STATUS current 1102 DESCRIPTION 1103 "This variable indicates the storage type for this 1104 object. If this object is set to readOnly(5), and the 1105 corresponding LFIB entry is removed, then the agent 1106 MUST remove this row shortly thereafter. 1107 The agent MUST ensure that this object's value 1108 remains consistent with the associated mplsXCEntry. 1109 Conceptual rows having the value 'permanent' 1110 need not allow write-access to any columnar 1111 objects in the row. 1112 The default value is volatile(2)." 1113 REFERENCE 1114 "See RFC2579." 1115 DEFVAL { volatile } 1116 ::= { mplsInSegmentEntry 11 } 1118 -- End of mplsInSegmentTable 1120 -- in-segment performance table. 1122 mplsInSegmentPerfTable OBJECT-TYPE 1123 SYNTAX SEQUENCE OF MplsInSegmentPerfEntry 1124 MAX-ACCESS not-accessible 1125 STATUS current 1126 DESCRIPTION 1127 "This table contains statistical information for 1128 incoming MPLS segments to an LSR." 1129 ::= { mplsLsrObjects 5 } 1131 mplsInSegmentPerfEntry OBJECT-TYPE 1132 SYNTAX MplsInSegmentPerfEntry 1133 MAX-ACCESS not-accessible 1134 STATUS current 1135 DESCRIPTION 1136 "An entry in this table contains statistical 1137 information about one incoming segment which is 1138 configured in the mplsInSegmentTable. The counters 1139 in this entry should behave in a manner similar to 1140 that of the interface. 1141 mplsInSegmentPerfDiscontinuityTime indicates the 1142 time of the last discontinuity in all of these 1143 objects." 1144 AUGMENTS { mplsInSegmentEntry } 1145 ::= { mplsInSegmentPerfTable 1 } 1147 MplsInSegmentPerfEntry ::= SEQUENCE { 1148 mplsInSegmentPerfOctets Counter32, 1149 mplsInSegmentPerfPackets Counter32, 1150 mplsInSegmentPerfErrors Counter32, 1151 mplsInSegmentPerfDiscards Counter32, 1153 -- high capacity counter 1154 mplsInSegmentPerfHCOctets Counter64, 1156 mplsInSegmentPerfDiscontinuityTime TimeStamp 1157 } 1159 mplsInSegmentPerfOctets OBJECT-TYPE 1160 SYNTAX Counter32 1161 MAX-ACCESS read-only 1162 STATUS current 1163 DESCRIPTION 1164 "This value represents the total number of octets 1165 received by this segment. It MUST be equal to the 1166 least significant 32 bits of 1167 mplsInSegmentPerfHCOctets 1168 if mplsInSegmentPerfHCOctets is supported according to 1169 the rules spelled out in RFC2863." 1170 ::= { mplsInSegmentPerfEntry 1 } 1172 mplsInSegmentPerfPackets OBJECT-TYPE 1173 SYNTAX Counter32 1174 MAX-ACCESS read-only 1175 STATUS current 1176 DESCRIPTION 1177 "Total number of packets received by this segment." 1178 ::= { mplsInSegmentPerfEntry 2 } 1180 mplsInSegmentPerfErrors OBJECT-TYPE 1181 SYNTAX Counter32 1182 MAX-ACCESS read-only 1183 STATUS current 1184 DESCRIPTION 1185 "The number of errored packets received on this 1186 segment." 1187 ::= { mplsInSegmentPerfEntry 3 } 1189 mplsInSegmentPerfDiscards OBJECT-TYPE 1190 SYNTAX Counter32 1191 MAX-ACCESS read-only 1192 STATUS current 1193 DESCRIPTION 1194 "The number of labeled packets received on this in- 1195 segment, which were chosen to be discarded even 1196 though no errors had been detected to prevent their 1197 being transmitted. One possible reason for 1198 discarding such a labeled packet could be to free up 1199 buffer space." 1200 ::= { mplsInSegmentPerfEntry 4 } 1202 mplsInSegmentPerfHCOctets OBJECT-TYPE 1203 SYNTAX Counter64 1204 MAX-ACCESS read-only 1205 STATUS current 1206 DESCRIPTION 1207 "The total number of octets received. This is the 64 1208 bit version of mplsInSegmentPerfOctets, 1209 if mplsInSegmentPerfHCOctets is supported according to 1210 the rules spelled out in RFC2863." 1211 ::= { mplsInSegmentPerfEntry 5 } 1213 mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE 1214 SYNTAX TimeStamp 1215 MAX-ACCESS read-only 1216 STATUS current 1217 DESCRIPTION 1218 "The value of sysUpTime on the most recent occasion 1219 at which any one or more of this segment's Counter32 1220 or Counter64 suffered a discontinuity. If no such 1221 discontinuities have occurred since the last re- 1222 initialization of the local management subsystem, 1223 then this object contains a zero value." 1224 ::= { mplsInSegmentPerfEntry 6 } 1226 -- End of mplsInSegmentPerfTable. 1228 -- out-segment table. 1230 mplsOutSegmentIndexNext OBJECT-TYPE 1231 SYNTAX MplsIndexType 1232 MAX-ACCESS read-only 1233 STATUS current 1234 DESCRIPTION 1235 "This object contains the next available value to 1236 be used for mplsOutSegmentIndex when creating entries 1237 in the mplsOutSegmentTable. The special value of a 1238 a string containing the single octet 0x00 indicates 1239 indicates that no new entries can be created in this 1240 table. Agents not allowing managers to create entries 1241 in this table MUST set this object to this special 1242 value." 1243 ::= { mplsLsrObjects 6 } 1245 mplsOutSegmentTable OBJECT-TYPE 1246 SYNTAX SEQUENCE OF MplsOutSegmentEntry 1247 MAX-ACCESS not-accessible 1248 STATUS current 1249 DESCRIPTION 1250 "This table contains a representation of the outgoing 1251 segments from an LSR." 1252 ::= { mplsLsrObjects 7 } 1254 mplsOutSegmentEntry OBJECT-TYPE 1255 SYNTAX MplsOutSegmentEntry 1256 MAX-ACCESS not-accessible 1257 STATUS current 1258 DESCRIPTION 1259 "An entry in this table represents one outgoing 1260 segment. An entry can be created by a network 1261 administrator, an SNMP agent, or an MPLS signaling 1262 protocol. The object mplsOutSegmentOwner indicates 1263 the creator of this entry. The value of 1264 mplsOutSegmentRowStatus cannot be active(1) unless 1265 the ifTable entry corresponding to 1266 mplsOutSegmentInterface exists. 1268 Note that the indexing of this table uses a single, 1269 arbitrary index (mplsOutSegmentIndex) to indicate 1270 which out-segment (i.e.: label) is being switched to 1271 from which in-segment (i.e: label) or in-segments. 1272 This is necessary because it is possible to have an 1273 equal-cost multi-path situation where two identical 1274 out-going labels are assigned to the same 1275 cross-connect (i.e.: they go to two different neighboring 1276 LSRs); thus, requiring two out-segments. In order to 1277 preserve the uniqueness of the references 1278 by the mplsXCEntry, an arbitrary integer must be used as 1279 the index for this table." 1280 INDEX { mplsOutSegmentIndex } 1281 ::= { mplsOutSegmentTable 1 } 1283 MplsOutSegmentEntry ::= SEQUENCE { 1284 mplsOutSegmentIndex MplsIndexType, 1285 mplsOutSegmentInterface InterfaceIndexOrZero, 1286 mplsOutSegmentPushTopLabel TruthValue, 1287 mplsOutSegmentTopLabel MplsLabel, 1288 mplsOutSegmentTopLabelPtr RowPointer, 1289 mplsOutSegmentNextHopAddrType InetAddressType, 1290 mplsOutSegmentNextHopAddr InetAddress, 1291 mplsOutSegmentXCIndex MplsIndexType, 1292 mplsOutSegmentOwner MplsOwner, 1293 mplsOutSegmentTrafficParamPtr RowPointer, 1294 mplsOutSegmentRowStatus RowStatus, 1295 mplsOutSegmentStorageType StorageType 1296 } 1297 mplsOutSegmentIndex OBJECT-TYPE 1298 SYNTAX MplsIndexType 1299 MAX-ACCESS not-accessible 1300 STATUS current 1301 DESCRIPTION 1302 "This value contains a unique index for this row. 1303 While a value of a string containing the single 1304 octet 0x00 is not valid as an index for entries 1305 in this table, it can be supplied as a valid value 1306 to index the mplsXCTable to represent entries for 1307 which no out-segment has been configured or 1308 exists." 1309 ::= { mplsOutSegmentEntry 1 } 1311 mplsOutSegmentInterface OBJECT-TYPE 1312 SYNTAX InterfaceIndexOrZero 1313 MAX-ACCESS read-create 1314 STATUS current 1315 DESCRIPTION 1316 "This value must contain the interface index of the 1317 outgoing interface. This object cannot be modified 1318 if mplsOutSegmentRowStatus is active(1). The 1319 mplsOutSegmentRowStatus cannot be set to active(1) 1320 until this object is set to a value corresponding to 1321 a valid ifEntry." 1322 ::= { mplsOutSegmentEntry 2 } 1324 mplsOutSegmentPushTopLabel OBJECT-TYPE 1325 SYNTAX TruthValue 1326 MAX-ACCESS read-create 1327 STATUS current 1328 DESCRIPTION 1329 "This value indicates whether or not a top label 1330 should be pushed onto the outgoing packet's label 1331 stack. The value of this variable MUST be set to 1332 true(1) if the outgoing interface does not support 1333 pop-and-go (and no label stack remains). For example, 1334 on ATM interface, or if the segment represents a 1335 tunnel origination. Note that it is considered 1336 an error in the case that mplsOutSegmentPushTopLabel 1337 is set to false, but the cross-connect entry which 1338 refers to this out-segment has a non-zero 1339 mplsLabelStackIndex. The LSR MUST ensure that this 1340 situation does not happen. This object cannot be 1341 modified if mplsOutSegmentRowStatus is active(1)." 1342 DEFVAL { true } 1343 ::= { mplsOutSegmentEntry 3 } 1345 mplsOutSegmentTopLabel OBJECT-TYPE 1346 SYNTAX MplsLabel 1347 MAX-ACCESS read-create 1348 STATUS current 1349 DESCRIPTION 1350 "If mplsOutSegmentPushTopLabel is true then this 1351 represents the label that should be pushed onto the 1352 top of the outgoing packet's label stack. Otherwise 1353 this value SHOULD be set to 0 by the management 1354 station and MUST be ignored by the agent. This 1355 object cannot be modified if mplsOutSegmentRowStatus 1356 is active(1)." 1357 DEFVAL { 0 } 1358 ::= { mplsOutSegmentEntry 4 } 1360 mplsOutSegmentTopLabelPtr OBJECT-TYPE 1361 SYNTAX RowPointer 1362 MAX-ACCESS read-create 1363 STATUS current 1364 DESCRIPTION 1365 "If the label for this segment cannot be represented 1366 fully within the mplsOutSegmentLabel object, 1367 this object MUST point to the first accessible 1368 column of a conceptual row in an external table containing 1369 the label. In this case, the mplsOutSegmentTopLabel 1370 object SHOULD be set to 0 and ignored. This object 1371 MUST be set to zeroDotZero otherwise." 1372 DEFVAL { zeroDotZero } 1373 ::= { mplsOutSegmentEntry 5 } 1375 mplsOutSegmentNextHopAddrType OBJECT-TYPE 1376 SYNTAX InetAddressType 1377 MAX-ACCESS read-create 1378 STATUS current 1379 DESCRIPTION 1380 "Indicates the next hop Internet address type. 1381 Only values unknown(0), ipv4(1) or ipv6(2) 1382 have to be supported. 1384 A value of unknown(0) is allowed only when 1385 the outgoing interface is of type point-to-point. 1386 If any other unsupported values are attempted in a set 1387 operation, the agent MUST return an inconsistentValue 1388 error." 1389 REFERENCE 1390 "See RFC3291." 1391 ::= { mplsOutSegmentEntry 6 } 1393 mplsOutSegmentNextHopAddr OBJECT-TYPE 1394 SYNTAX InetAddress 1395 MAX-ACCESS read-create 1396 STATUS current 1397 DESCRIPTION 1398 "The internet address of the next hop. The type of 1399 this address is determined by the value of the 1400 mplslOutSegmentNextHopAddrType object. 1402 This object cannot be modified if 1403 mplsOutSegmentRowStatus is active(1)." 1404 ::= { mplsOutSegmentEntry 7 } 1406 mplsOutSegmentXCIndex OBJECT-TYPE 1407 SYNTAX MplsIndexType 1408 MAX-ACCESS read-only 1409 STATUS current 1410 DESCRIPTION 1411 "Index into mplsXCTable which identifies which cross- 1412 connect entry this segment is part of. A value of 1413 the string containing the single octet 0x00 1414 indicates that this entry is not referred 1415 to by any cross-connect entry. When a cross-connect 1416 entry is created which this out-segment is a part of, 1417 this object MUST be updated by the agent to reflect 1418 the value of mplsXCIndex of that cross-connect 1419 entry." 1420 ::= { mplsOutSegmentEntry 8 } 1422 mplsOutSegmentOwner OBJECT-TYPE 1423 SYNTAX MplsOwner 1424 MAX-ACCESS read-only 1425 STATUS current 1426 DESCRIPTION 1427 "Denotes the entity which created and is responsible 1428 for managing this segment." 1429 ::= { mplsOutSegmentEntry 9 } 1431 mplsOutSegmentTrafficParamPtr OBJECT-TYPE 1432 SYNTAX RowPointer 1433 MAX-ACCESS read-create 1434 STATUS current 1435 DESCRIPTION 1436 "This variable represents a pointer to the traffic 1437 parameter specification for this out-segment. This 1438 value may point at an entry in the 1439 MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFCnnnn) 1441 RFC Editor: Please fill in RFC number. 1443 to indicate which traffic parameter settings for this 1444 segment if it represents an LSP used for a TE tunnel. 1446 This value may optionally point at an 1447 externally defined traffic parameter specification 1448 table. A value of zeroDotZero indicates best-effort 1449 treatment. By having the same value of this object, 1450 two or more segments can indicate resource sharing 1451 of such things as LSP queue space, etc. 1453 This object cannot be modified if 1454 mplsOutSegmentRowStatus is active(1). 1455 For entries in this table that 1456 are preserved after a re-boot, the agent MUST ensure 1457 that their integrity be preserved, or this object should 1458 be set to 0.0 if it cannot." 1459 DEFVAL { zeroDotZero } 1460 ::= { mplsOutSegmentEntry 10 } 1462 mplsOutSegmentRowStatus OBJECT-TYPE 1463 SYNTAX RowStatus 1464 MAX-ACCESS read-create 1465 STATUS current 1466 DESCRIPTION 1467 "For creating, modifying, and deleting this row. 1468 When a row in this table has a row in the active(1) 1469 state, no objects in this row can be modified 1470 except the mplsOutSegmentRowStatus or 1471 mplsOutSegmentStorageType." 1472 ::= { mplsOutSegmentEntry 11 } 1474 mplsOutSegmentStorageType OBJECT-TYPE 1475 SYNTAX StorageType 1476 MAX-ACCESS read-only 1477 STATUS current 1478 DESCRIPTION 1479 "This variable indicates the storage type for this 1480 object. If this object is set to readOnly(5), and the 1481 corresponding LFIB entry is removed, then the agent 1482 MUST remove this row shortly thereafter RFC2579. 1483 The agent MUST ensure that this object's value 1484 remains consistent with the associated mplsXCEntry. 1485 Conceptual rows having the value 'permanent' 1486 need not allow write-access to any columnar 1487 objects in the row. 1488 The default value is volatile(2)." 1489 DEFVAL { volatile } 1490 ::= { mplsOutSegmentEntry 12 } 1492 -- End of mplsOutSegmentTable 1494 -- out-segment performance table. 1496 mplsOutSegmentPerfTable OBJECT-TYPE 1497 SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry 1498 MAX-ACCESS not-accessible 1499 STATUS current 1500 DESCRIPTION 1501 "This table contains statistical information about 1502 outgoing segments from an LSR. The counters in this 1503 entry should behave in a manner similar to that of 1504 the interface." 1505 ::= { mplsLsrObjects 8 } 1507 mplsOutSegmentPerfEntry OBJECT-TYPE 1508 SYNTAX MplsOutSegmentPerfEntry 1509 MAX-ACCESS not-accessible 1510 STATUS current 1511 DESCRIPTION 1512 "An entry in this table contains statistical 1513 information about one outgoing segment configured in 1514 mplsOutSegmentTable. 1515 mplsOutSegmentPerfDiscontinuityTime indicates the 1516 time of the last discontinuity in these objects. " 1517 AUGMENTS { mplsOutSegmentEntry } 1518 ::= { mplsOutSegmentPerfTable 1 } 1520 MplsOutSegmentPerfEntry ::= SEQUENCE { 1521 mplsOutSegmentPerfOctets Counter32, 1522 mplsOutSegmentPerfPackets Counter32, 1523 mplsOutSegmentPerfErrors Counter32, 1524 mplsOutSegmentPerfDiscards Counter32, 1526 -- HC counter 1527 mplsOutSegmentPerfHCOctets Counter64, 1529 mplsOutSegmentPerfDiscontinuityTime TimeStamp 1530 } 1532 mplsOutSegmentPerfOctets OBJECT-TYPE 1533 SYNTAX Counter32 1534 MAX-ACCESS read-only 1535 STATUS current 1536 DESCRIPTION 1537 "This value contains the total number of octets sent 1538 on this segment. It MUST be equal to the least 1539 significant 32 bits of mplsOutSegmentPerfHCOctets 1540 if mplsOutSegmentPerfHCOctets is supported according to 1541 the rules spelled out in RFC2863." 1542 ::= { mplsOutSegmentPerfEntry 1 } 1544 mplsOutSegmentPerfPackets OBJECT-TYPE 1545 SYNTAX Counter32 1546 MAX-ACCESS read-only 1547 STATUS current 1548 DESCRIPTION 1549 "This value contains the total number of packets sent 1550 on this segment." 1551 ::= { mplsOutSegmentPerfEntry 2 } 1553 mplsOutSegmentPerfErrors OBJECT-TYPE 1554 SYNTAX Counter32 1555 MAX-ACCESS read-only 1556 STATUS current 1557 DESCRIPTION 1558 "Number of packets that could not be sent due to 1559 errors on this segment." 1560 ::= { mplsOutSegmentPerfEntry 3 } 1562 mplsOutSegmentPerfDiscards OBJECT-TYPE 1563 SYNTAX Counter32 1564 MAX-ACCESS read-only 1565 STATUS current 1566 DESCRIPTION 1567 "The number of labeled packets attempted to be transmitted 1568 on this out-segment, which were chosen to be discarded 1569 even though no errors had been detected to prevent their 1570 being transmitted. One possible reason for 1571 discarding such a labeled packet could be to free up 1572 buffer space." 1573 ::= { mplsOutSegmentPerfEntry 4 } 1575 mplsOutSegmentPerfHCOctets OBJECT-TYPE 1576 SYNTAX Counter64 1577 MAX-ACCESS read-only 1578 STATUS current 1579 DESCRIPTION 1580 "Total number of octets sent. This is the 64 bit 1581 version of mplsOutSegmentPerfOctets, 1582 if mplsOutSegmentPerfHCOctets is supported according to 1583 the rules spelled out in RFC2863." 1584 ::= { mplsOutSegmentPerfEntry 5 } 1586 mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE 1587 SYNTAX TimeStamp 1588 MAX-ACCESS read-only 1589 STATUS current 1590 DESCRIPTION 1591 "The value of sysUpTime on the most recent occasion 1592 at which any one or more of this segment's Counter32 1593 or Counter64 suffered a discontinuity. If no such 1594 discontinuities have occurred since the last re- 1595 initialization of the local management subsystem, 1596 then this object contains a zero value." 1597 ::= { mplsOutSegmentPerfEntry 6 } 1599 -- End of mplsOutSegmentPerfTable. 1601 -- Cross-connect table. 1603 mplsXCIndexNext OBJECT-TYPE 1604 SYNTAX MplsIndexType 1605 MAX-ACCESS read-only 1606 STATUS current 1607 DESCRIPTION 1608 "This object contains the next available value to 1609 be used for mplsXCIndex when creating entries in 1610 the mplsXCTable. A special value of the zero length 1611 string indicates that no more new entries can be created 1612 in the relevant table. Agents not allowing managers 1613 to create entries in this table MUST set this value 1614 to the zero length string." 1615 ::= { mplsLsrObjects 9 } 1617 mplsXCTable OBJECT-TYPE 1618 SYNTAX SEQUENCE OF MplsXCEntry 1619 MAX-ACCESS not-accessible 1620 STATUS current 1621 DESCRIPTION 1622 "This table specifies information for switching 1623 between LSP segments. It supports point-to-point, 1624 point-to-multipoint and multipoint-to-point 1625 connections. mplsLabelStackTable specifies the 1626 label stack information for a cross-connect LSR and 1627 is referred to from mplsXCTable." 1628 ::= { mplsLsrObjects 10 } 1630 mplsXCEntry OBJECT-TYPE 1631 SYNTAX MplsXCEntry 1632 MAX-ACCESS not-accessible 1633 STATUS current 1634 DESCRIPTION 1635 "A row in this table represents one cross-connect 1636 entry. It is indexed by the following objects: 1638 - cross-connect index mplsXCIndex that uniquely 1639 identifies a group of cross-connect entries 1641 - in-segment index, mplsXCInSegmentIndex 1643 - out-segment index, mplsXCOutSegmentIndex 1645 LSPs originating at this LSR: 1646 These are represented by using the special 1647 of value of mplsXCInSegmentIndex set to the 1648 string containing a single octet 0x00. In 1649 this case the mplsXCOutSegmentIndex 1650 MUST not be the string containing a single 1651 octet 0x00. 1653 LSPs terminating at this LSR: 1654 These are represented by using the special value 1655 mplsXCOutSegmentIndex set to the string containing 1656 a single octet 0x00. 1658 Special labels: 1659 Entries indexed by the strings containing the 1660 reserved MPLS label values as a single octet 0x00 1661 through 0x0f (inclusive) imply LSPs terminating at 1662 this LSR. Note that situations where LSPs are 1663 terminated with incoming label equal to the string 1664 containing a single octet 0x00 can be distinguished 1665 from LSPs originating at this LSR because the 1666 mplsXCOutSegmentIndex equals the string containing the 1667 single octet 0x00. 1669 An entry can be created by a network administrator 1670 or by an SNMP agent as instructed by an MPLS 1671 signaling protocol." 1672 INDEX { mplsXCIndex, mplsXCInSegmentIndex, 1673 mplsXCOutSegmentIndex } 1674 ::= { mplsXCTable 1 } 1676 MplsXCEntry ::= SEQUENCE { 1677 mplsXCIndex MplsIndexType, 1678 mplsXCInSegmentIndex MplsIndexType, 1679 mplsXCOutSegmentIndex MplsIndexType, 1680 mplsXCLspId MplsLSPID, 1681 mplsXCLabelStackIndex MplsIndexType, 1682 mplsXCOwner MplsOwner , 1683 mplsXCRowStatus RowStatus, 1684 mplsXCStorageType StorageType, 1685 mplsXCAdminStatus INTEGER, 1686 mplsXCOperStatus INTEGER 1687 } 1689 mplsXCIndex OBJECT-TYPE 1690 SYNTAX MplsIndexType 1691 MAX-ACCESS not-accessible 1692 STATUS current 1693 DESCRIPTION 1694 "Primary index for the conceptual row identifying a 1695 group of cross-connect segments. The string 1696 containing a single octet 0x00 is an invalid index." 1697 ::= { mplsXCEntry 1 } 1699 mplsXCInSegmentIndex OBJECT-TYPE 1700 SYNTAX MplsIndexType 1701 MAX-ACCESS not-accessible 1702 STATUS current 1703 DESCRIPTION 1704 "Incoming label index. 1705 If this object is set to the string containing 1706 a single octet 0x00, this indicates a special 1707 case outlined in the table's description above. 1708 In this case no corresponding mplsInSegmentEntry 1709 shall exist." 1710 ::= { mplsXCEntry 2 } 1712 mplsXCOutSegmentIndex OBJECT-TYPE 1713 SYNTAX MplsIndexType 1714 MAX-ACCESS not-accessible 1715 STATUS current 1716 DESCRIPTION 1717 "Index of out-segment for LSPs not terminating on 1718 this LSR if not set to the string containing the 1719 single octet 0x00. If the segment identified by this 1720 entry is terminating, then this object MUST be set to 1721 the string containing a single octet 0x00 to indicate 1722 that no corresponding mplsOutSegmentEntry shall 1723 exist." 1724 ::= { mplsXCEntry 3 } 1726 mplsXCLspId OBJECT-TYPE 1727 SYNTAX MplsLSPID 1728 MAX-ACCESS read-create 1729 STATUS current 1730 DESCRIPTION 1731 "This value identifies the label switched path that 1732 this cross-connect entry belongs to. This object 1733 cannot be modified if mplsXCRowStatus is active(1) 1734 except for this object." 1735 ::= { mplsXCEntry 4 } 1737 mplsXCLabelStackIndex OBJECT-TYPE 1738 SYNTAX MplsIndexType 1739 MAX-ACCESS read-create 1740 STATUS current 1741 DESCRIPTION 1742 "Primary index into mplsLabelStackTable identifying a 1743 stack of labels to be pushed beneath the top label. 1745 Note that the top label identified by the out- 1746 segment ensures that all the components of a 1747 multipoint-to-point connection have the same 1748 outgoing label. A value of the string containing the 1749 single octet 0x00 indicates that no labels are to 1750 be stacked beneath the top label. 1751 This object cannot be modified if mplsXCRowStatus is 1752 active(1)." 1753 ::= { mplsXCEntry 5 } 1755 mplsXCOwner OBJECT-TYPE 1756 SYNTAX MplsOwner 1757 MAX-ACCESS read-only 1758 STATUS current 1759 DESCRIPTION 1760 "Denotes the entity that created and is responsible 1761 for managing this cross-connect." 1762 ::= { mplsXCEntry 6 } 1764 mplsXCRowStatus OBJECT-TYPE 1765 SYNTAX RowStatus 1766 MAX-ACCESS read-create 1767 STATUS current 1768 DESCRIPTION 1769 "For creating, modifying, and deleting this row. 1770 When a row in this table has a row in the active(1) 1771 state, no objects in this row except this object 1772 and the mplsXCStorageType can be modified. 1773 Modification of mplsXCStorateType MUST be done 1774 as specified in the description of that object." 1775 ::= { mplsXCEntry 7 } 1777 mplsXCStorageType OBJECT-TYPE 1778 SYNTAX StorageType 1779 MAX-ACCESS read-create 1780 STATUS current 1781 DESCRIPTION 1782 "This variable indicates the storage type for this 1783 object. If this variable is set to readOnly(5), and 1784 the corresponding LFIB entry is removed, then the 1785 agent MUST remove this row shortly thereafter. 1787 The agent MUST ensure that the associated in and out 1788 segments also have the same StorageType value and are 1789 restored consistently upon system restart. This value 1790 SHOULD be set to permanent(4) if created as a 1791 result of a static LSP configuration. 1793 Conceptual rows having the value 'permanent' 1794 need not allow write-access to any columnar 1795 objects in the row." 1796 DEFVAL { volatile } 1797 ::= { mplsXCEntry 8 } 1799 mplsXCAdminStatus OBJECT-TYPE 1800 SYNTAX INTEGER { 1801 up(1), -- ready to pass packets 1802 down(2), 1803 testing(3) -- in some test mode 1804 } 1805 MAX-ACCESS read-create 1806 STATUS current 1807 DESCRIPTION 1808 "The desired operational status of this segment." 1809 DEFVAL { up } 1810 ::= { mplsXCEntry 9 } 1812 mplsXCOperStatus OBJECT-TYPE 1813 SYNTAX INTEGER { 1814 up(1), -- ready to pass packets 1815 down(2), 1816 testing(3), -- in some test mode 1817 unknown(4), -- status cannot be determined 1818 -- for some reason. 1819 dormant(5), 1820 notPresent(6), -- some component is missing 1821 lowerLayerDown(7) -- down due to the state of 1822 -- lower layer interfaces 1823 } 1824 MAX-ACCESS read-only 1825 STATUS current 1826 DESCRIPTION 1827 "The actual operational status of this cross- 1828 connect." 1829 ::= { mplsXCEntry 10 } 1831 -- End of mplsXCTable 1833 -- Label stack table. 1835 mplsMaxLabelStackDepth OBJECT-TYPE 1836 SYNTAX Unsigned32 (1..2147483647) 1837 MAX-ACCESS read-only 1838 STATUS current 1839 DESCRIPTION 1840 "The maximum stack depth supported by this LSR." 1841 ::= { mplsLsrObjects 11 } 1843 mplsLabelStackIndexNext OBJECT-TYPE 1844 SYNTAX MplsIndexType 1845 MAX-ACCESS read-only 1846 STATUS current 1847 DESCRIPTION 1848 "This object contains the next available value to 1849 be used for mplsLabelStackIndex when creating entries 1850 in the mplsLabelStackTable. The special string 1851 containing the single octet 0x00 1852 indicates that no more new entries can be created 1853 in the relevant table. Agents not allowing managers 1854 to create entries in this table MUST set this value 1855 to the string containing the single octet 0x00." 1856 ::= { mplsLsrObjects 12 } 1858 mplsLabelStackTable OBJECT-TYPE 1859 SYNTAX SEQUENCE OF MplsLabelStackEntry 1860 MAX-ACCESS not-accessible 1861 STATUS current 1862 DESCRIPTION 1863 "This table specifies the label stack to be pushed 1864 onto a packet, beneath the top label. Entries into 1865 this table are referred to from mplsXCTable." 1866 ::= { mplsLsrObjects 13 } 1868 mplsLabelStackEntry OBJECT-TYPE 1869 SYNTAX MplsLabelStackEntry 1870 MAX-ACCESS not-accessible 1871 STATUS current 1872 DESCRIPTION 1873 "An entry in this table represents one label which is 1874 to be pushed onto an outgoing packet, beneath the 1875 top label. An entry can be created by a network 1876 administrator or by an SNMP agent as instructed by 1877 an MPLS signaling protocol." 1878 INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex } 1879 ::= { mplsLabelStackTable 1 } 1881 MplsLabelStackEntry ::= SEQUENCE { 1882 mplsLabelStackIndex MplsIndexType, 1883 mplsLabelStackLabelIndex Unsigned32, 1884 mplsLabelStackLabel MplsLabel, 1885 mplsLabelStackLabelPtr RowPointer, 1886 mplsLabelStackRowStatus RowStatus, 1887 mplsLabelStackStorageType StorageType 1888 } 1890 mplsLabelStackIndex OBJECT-TYPE 1891 SYNTAX MplsIndexType 1892 MAX-ACCESS not-accessible 1893 STATUS current 1894 DESCRIPTION 1895 "Primary index for this row identifying a stack of 1896 labels to be pushed on an outgoing packet, beneath 1897 the top label. An index containing the string with 1898 a single octet 0x00 MUST not be used." 1899 ::= { mplsLabelStackEntry 1 } 1901 mplsLabelStackLabelIndex OBJECT-TYPE 1902 SYNTAX Unsigned32 (1..2147483647) 1903 MAX-ACCESS not-accessible 1904 STATUS current 1905 DESCRIPTION 1906 "Secondary index for this row identifying one label 1907 of the stack. Note that an entry with a smaller 1908 mplsLabelStackLabelIndex would refer to a label 1909 higher up the label stack and would be popped at a 1910 downstream LSR before a label represented by a 1911 higher mplsLabelStackLabelIndex at a downstream 1912 LSR." 1913 ::= { mplsLabelStackEntry 2 } 1915 mplsLabelStackLabel OBJECT-TYPE 1916 SYNTAX MplsLabel 1917 MAX-ACCESS read-create 1918 STATUS current 1919 DESCRIPTION 1920 "The label to pushed." 1921 ::= { mplsLabelStackEntry 3 } 1923 mplsLabelStackLabelPtr OBJECT-TYPE 1924 SYNTAX RowPointer 1925 MAX-ACCESS read-create 1926 STATUS current 1927 DESCRIPTION 1928 "If the label for this segment cannot be represented 1929 fully within the mplsLabelStackLabel object, 1930 this object MUST point to the first accessible 1931 column of a conceptual row in an external table containing 1932 the label. In this case, the mplsLabelStackLabel 1933 object SHOULD be set to 0 and ignored. This object 1934 MUST be set to zeroDotZero otherwise." 1935 DEFVAL { zeroDotZero } 1936 ::= { mplsLabelStackEntry 4 } 1938 mplsLabelStackRowStatus OBJECT-TYPE 1939 SYNTAX RowStatus 1940 MAX-ACCESS read-create 1941 STATUS current 1942 DESCRIPTION 1943 "For creating, modifying, and deleting this row. 1945 When a row in this table has a row in the active(1) 1946 state, no objects in this row except this object 1947 and the mplsLabelStackStorageType can be modified." 1948 ::= { mplsLabelStackEntry 5 } 1950 mplsLabelStackStorageType OBJECT-TYPE 1951 SYNTAX StorageType 1952 MAX-ACCESS read-create 1953 STATUS current 1954 DESCRIPTION 1955 "This variable indicates the storage type for this 1956 object. This object cannot be modified if 1957 mplsLabelStackRowStatus is active(1). If this 1958 variable is set to readOnly(5), and the 1959 corresponding LFIB entry is removed, then the agent 1960 MUST remove this row shortly thereafter RFC2579. 1961 No objects are required to be writable for 1962 rows in this table with this object set to 1963 permanent(4). The default value is volatile(2). 1964 The agent MUST ensure that all related entries 1965 in this table retain the same value for this 1966 object. Agents MUST ensure that the storage type 1967 for all entries related to a particular mplsXCEntry 1968 retain the same value for this object as the 1969 mplsXCEntry's StorageType." 1970 DEFVAL { volatile } 1971 ::= { mplsLabelStackEntry 6 } 1973 -- End of mplsLabelStackTable 1975 -- Notification Configuration 1977 mplsXCNotificationsEnable OBJECT-TYPE 1978 SYNTAX TruthValue 1979 MAX-ACCESS read-write 1980 STATUS current 1981 DESCRIPTION 1982 "If this object is set to true(1), then it enables 1983 the emission of mplsXCUp and mplsXCDown 1984 notifications; otherwise these notifications are not 1985 emitted." 1986 REFERENCE 1987 "See also RFC3413 for explanation that 1988 notifications are under the ultimate control of the 1989 MIB modules in this document." 1990 DEFVAL { false } 1991 ::= { mplsLsrObjects 14 } 1993 -- Cross-connect. 1995 mplsXCUp NOTIFICATION-TYPE 1996 OBJECTS { mplsXCOperStatus, -- start of range 1997 mplsXCOperStatus -- end of range 1998 } 1999 STATUS current 2000 DESCRIPTION 2001 "This notification is generated when the 2002 mplsXCOperStatus object for one or more contiguous 2003 entries in mplsXCTable are about to enter the up(1) 2004 state from some other state. The included values of 2005 mplsXCOperStatus MUST both be set equal to this 2006 new state (i.e: up(1)). The two instances of 2007 mplsXCOperStatus in this notification indicate the range 2008 of indexes that are affected. Note that all the indexes 2009 of the two ends of the range can be derived from the 2010 instance identifiers of these two objects. For 2011 cases where a contiguous range of cross-connects 2012 have transitioned into the up(1) state at roughly 2013 the same time, the device SHOULD issue a single 2014 notification for each range of contiguous indexes in 2015 an effort to minimize the emission of a large number 2016 of notifications. If a notification has to be 2017 issued for just a single cross-connect entry, then 2018 the instance identifier (and values) of the two 2019 mplsXCOperStatus objects MUST be the identical." 2020 ::= { mplsLsrNotifications 1 } 2022 mplsXCDown NOTIFICATION-TYPE 2023 OBJECTS { 2024 mplsXCOperStatus, -- start of range 2025 mplsXCOperStatus -- end of range 2026 } 2027 STATUS current 2028 DESCRIPTION 2029 "This notification is generated when the 2030 mplsXCOperStatus object for one or more contiguous 2031 entries in mplsXCTable are about to enter the 2032 down(2) state from some other state. The included values 2033 of mplsXCOperStatus MUST both be set equal to this 2034 down(2) state. The two instances of mplsXCOperStatus 2035 in this notification indicate the range of indexes 2036 that are affected. Note that all the indexes of the 2037 two ends of the range can be derived from the 2038 instance identifiers of these two objects. For 2039 cases where a contiguous range of cross-connects 2040 have transitioned into the down(2) state at roughly 2041 the same time, the device SHOULD issue a single 2042 notification for each range of contiguous indexes in 2043 an effort to minimize the emission of a large number 2044 of notifications. If a notification has to be 2045 issued for just a single cross-connect entry, then 2046 the instance identifier (and values) of the two 2047 mplsXCOperStatus objects MUST be identical." 2048 ::= { mplsLsrNotifications 2 } 2050 -- End of notifications. 2052 -- Module compliance. 2054 mplsLsrGroups 2055 OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } 2057 mplsLsrCompliances 2058 OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } 2060 -- Compliance requirement for fully compliant implementations. 2061 mplsLsrModuleFullCompliance MODULE-COMPLIANCE 2062 STATUS current 2063 DESCRIPTION 2064 "Compliance statement for agents that provide full 2065 support for MPLS-LSR-STD-MIB." 2067 MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. 2068 MANDATORY-GROUPS { 2069 ifGeneralInformationGroup, 2070 ifCounterDiscontinuityGroup 2071 } 2073 MODULE -- This module. 2074 MANDATORY-GROUPS { 2075 mplsInterfaceGroup, 2076 mplsInSegmentGroup, 2077 mplsOutSegmentGroup, 2078 mplsXCGroup, 2079 mplsPerfGroup, 2080 mplsLsrNotificationGroup 2081 } 2083 ::= { mplsLsrCompliances 1 } 2085 -- Compliance requirement for read-only implementations. 2086 mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE 2087 STATUS current 2088 DESCRIPTION 2089 "Compliance requirement for implementations that only 2090 provide read-only support for MPLS-LSR-STD-MIB. Such 2091 devices can then be monitored but cannot be configured 2092 using this MIB modules." 2094 MODULE IF-MIB -- The interfaces Group MIB, RFC 2863 2095 MANDATORY-GROUPS { 2096 ifGeneralInformationGroup, 2097 ifCounterDiscontinuityGroup 2098 } 2100 MODULE -- This module 2101 MANDATORY-GROUPS { 2102 mplsInterfaceGroup, 2103 mplsInSegmentGroup, 2104 mplsOutSegmentGroup, 2105 mplsXCGroup, 2106 mplsPerfGroup 2107 } 2109 GROUP mplsLabelStackGroup 2110 DESCRIPTION 2111 "This group is only mandatory for LSRs 2112 that wish to support the modification 2113 of LSP label stacks." 2115 GROUP mplsHCInSegmentPerfGroup 2116 DESCRIPTION 2117 "This group is mandatory for those in-segment 2118 entries for which the object 2119 mplsInSegmentOutOctets wraps around too 2120 quickly based on the criteria specified in 2121 RFC2863 for high-capacity counters." 2123 GROUP mplsHCOutSegmentPerfGroup 2124 DESCRIPTION 2125 "This group is mandatory for those out-segment 2126 entries for which the object 2127 mplsOutSegmentPerfOctets wraps around too quickly 2128 based on the criteria specified in RFC2863 2129 for high-capacity counters." 2131 -- mplsInSegmentTable 2132 OBJECT mplsInSegmentLabel 2133 MIN-ACCESS read-only 2134 DESCRIPTION 2135 "Write access is not required." 2137 OBJECT mplsInSegmentLabelPtr 2138 MIN-ACCESS read-only 2139 DESCRIPTION 2140 "Write access is not required." 2142 OBJECT mplsInSegmentNPop 2143 MIN-ACCESS read-only 2144 DESCRIPTION 2145 "Write access is not required. This object 2146 SHOULD be set to 1 if it is read-only." 2148 OBJECT mplsInSegmentAddrFamily 2149 DESCRIPTION 2150 "Write access is not required. A value of 2151 other(0) should be supported because there may 2152 be cases where the agent may not know about or 2153 support any address types." 2155 OBJECT mplsInSegmentRowStatus 2156 SYNTAX RowStatus { active(1), notInService(2) } 2157 WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), 2158 destroy(6) } 2159 MIN-ACCESS read-only 2160 DESCRIPTION 2161 "Write access is not required." 2163 OBJECT mplsInSegmentStorageType 2164 MIN-ACCESS read-only 2165 DESCRIPTION 2166 "Only readOnly(5) needs to be supported." 2168 -- mplsOutSegmentTable 2169 OBJECT mplsOutSegmentInterface 2170 MIN-ACCESS read-only 2171 DESCRIPTION 2172 "Write access is not required." 2174 OBJECT mplsOutSegmentPushTopLabel 2175 MIN-ACCESS read-only 2176 DESCRIPTION 2177 "Write access is not required." 2179 OBJECT mplsOutSegmentTopLabel 2180 MIN-ACCESS read-only 2181 DESCRIPTION 2182 "Write access is not required." 2184 OBJECT mplsOutSegmentTopLabelPtr 2185 MIN-ACCESS read-only 2186 DESCRIPTION 2187 "Write access is not required." 2189 OBJECT mplsOutSegmentNextHopAddrType 2190 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 2191 MIN-ACCESS read-only 2192 DESCRIPTION 2193 "Write access is not required. Only 2194 IPv4(1), IPv6(2) and unknown(3) sizes 2195 are required." 2197 OBJECT mplsOutSegmentNextHopAddr 2198 SYNTAX InetAddress (SIZE(0|4|16)) 2199 MIN-ACCESS read-only 2200 DESCRIPTION 2201 "An implementation is only required to support unknown(0), 2202 IPv4(1) and IPv6(2) addresses. Write access is not 2203 required." 2205 OBJECT mplsOutSegmentRowStatus 2206 SYNTAX RowStatus { active(1), notInService(2) } 2207 WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), 2208 destroy(6) } 2209 MIN-ACCESS read-only 2210 DESCRIPTION 2211 "Read only support is required." 2213 OBJECT mplsOutSegmentStorageType 2214 MIN-ACCESS read-only 2215 DESCRIPTION 2216 "Only readOnly(5) needs to be supported." 2218 -- mplsXCTable 2219 OBJECT mplsXCLabelStackIndex 2220 MIN-ACCESS read-only 2221 DESCRIPTION 2222 "Write access is not required." 2224 OBJECT mplsXCAdminStatus 2225 MIN-ACCESS read-only 2226 DESCRIPTION 2227 "Read only support is required." 2229 OBJECT mplsXCOperStatus 2230 MIN-ACCESS read-only 2231 DESCRIPTION 2232 "Read only support is required." 2234 OBJECT mplsXCRowStatus 2235 SYNTAX RowStatus { active(1), notInService(2) } 2236 WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), 2237 destroy(6) } 2238 MIN-ACCESS read-only 2239 DESCRIPTION 2240 "Read only support required." 2242 OBJECT mplsXCStorageType 2243 MIN-ACCESS read-only 2244 DESCRIPTION 2245 "Write access is not required." 2247 OBJECT mplsLabelStackLabel 2248 MIN-ACCESS read-only 2249 DESCRIPTION 2250 "Write access is not required." 2252 OBJECT mplsLabelStackLabelPtr 2253 MIN-ACCESS read-only 2254 DESCRIPTION 2255 "Write access is not required." 2257 OBJECT mplsLabelStackRowStatus 2258 SYNTAX RowStatus { active(1), notInService(2) } 2259 WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), 2260 destroy(6) } 2261 MIN-ACCESS read-only 2262 DESCRIPTION 2263 "Write access is not required." 2265 OBJECT mplsLabelStackStorageType 2266 MIN-ACCESS read-only 2267 DESCRIPTION 2268 "Write access is not required." 2270 ::= { mplsLsrCompliances 2 } 2272 -- Units of conformance. 2274 mplsInterfaceGroup OBJECT-GROUP 2275 OBJECTS { 2276 mplsInterfaceLabelMinIn, 2277 mplsInterfaceLabelMaxIn, 2278 mplsInterfaceLabelMinOut, 2279 mplsInterfaceLabelMaxOut, 2280 mplsInterfaceTotalBandwidth, 2281 mplsInterfaceAvailableBandwidth, 2282 mplsInterfaceLabelParticipationType 2283 } 2284 STATUS current 2285 DESCRIPTION 2286 "Collection of objects needed for MPLS interface 2287 and interface performance information." 2288 ::= { mplsLsrGroups 1 } 2290 mplsInSegmentGroup OBJECT-GROUP 2291 OBJECTS { 2292 mplsInSegmentIndexNext, 2293 mplsInSegmentInterface, 2294 mplsInSegmentLabel, 2295 mplsInSegmentLabelPtr, 2296 mplsInSegmentNPop, 2297 mplsInSegmentAddrFamily, 2298 mplsInSegmentXCIndex, 2299 mplsInSegmentOwner, 2300 mplsInSegmentRowStatus, 2301 mplsInSegmentStorageType, 2302 mplsInSegmentTrafficParamPtr 2303 } 2304 STATUS current 2305 DESCRIPTION 2306 "Collection of objects needed to implement an in- 2307 segment." 2308 ::= { mplsLsrGroups 2 } 2310 mplsOutSegmentGroup OBJECT-GROUP 2311 OBJECTS { 2312 mplsOutSegmentIndexNext, 2313 mplsOutSegmentInterface, 2314 mplsOutSegmentPushTopLabel, 2315 mplsOutSegmentTopLabel, 2316 mplsOutSegmentTopLabelPtr, 2317 mplsOutSegmentNextHopAddrType, 2318 mplsOutSegmentNextHopAddr, 2319 mplsOutSegmentXCIndex, 2320 mplsOutSegmentOwner, 2321 mplsOutSegmentPerfOctets, 2322 mplsOutSegmentPerfDiscards, 2323 mplsOutSegmentPerfErrors, 2324 mplsOutSegmentRowStatus, 2325 mplsOutSegmentStorageType, 2326 mplsOutSegmentTrafficParamPtr 2327 } 2328 STATUS current 2329 DESCRIPTION 2330 "Collection of objects needed to implement an out- 2331 segment." 2332 ::= { mplsLsrGroups 3 } 2334 mplsXCGroup OBJECT-GROUP 2335 OBJECTS { 2336 mplsXCIndexNext, 2337 mplsXCLspId, 2338 mplsXCLabelStackIndex, 2339 mplsXCOwner, 2340 mplsXCStorageType, 2341 mplsXCAdminStatus, 2342 mplsXCOperStatus, 2343 mplsXCRowStatus, 2344 mplsXCNotificationsEnable 2345 } 2346 STATUS current 2347 DESCRIPTION 2348 "Collection of objects needed to implement a 2349 cross-connect entry." 2350 ::= { mplsLsrGroups 4 } 2352 mplsPerfGroup OBJECT-GROUP 2353 OBJECTS { 2354 mplsInSegmentPerfOctets, 2355 mplsInSegmentPerfPackets, 2356 mplsInSegmentPerfErrors, 2357 mplsInSegmentPerfDiscards, 2358 mplsInSegmentPerfDiscontinuityTime, 2359 mplsOutSegmentPerfOctets, 2360 mplsOutSegmentPerfPackets, 2361 mplsOutSegmentPerfDiscards, 2362 mplsOutSegmentPerfDiscontinuityTime, 2363 mplsInterfacePerfInLabelsInUse, 2364 mplsInterfacePerfInLabelLookupFailures, 2365 mplsInterfacePerfOutFragmentedPkts, 2366 mplsInterfacePerfOutLabelsInUse 2367 } 2369 STATUS current 2370 DESCRIPTION 2371 "Collection of objects providing performance 2372 information 2373 about an LSR." 2374 ::= { mplsLsrGroups 5 } 2376 mplsHCInSegmentPerfGroup OBJECT-GROUP 2377 OBJECTS { mplsInSegmentPerfHCOctets } 2378 STATUS current 2379 DESCRIPTION 2380 "Object(s) providing performance information 2381 specific to out-segments for which the object 2382 mplsInterfaceInOctets wraps around too quickly." 2383 ::= { mplsLsrGroups 6 } 2385 mplsHCOutSegmentPerfGroup OBJECT-GROUP 2386 OBJECTS { mplsOutSegmentPerfHCOctets } 2387 STATUS current 2388 DESCRIPTION 2389 "Object(s) providing performance information 2390 specific to out-segments for which the object 2391 mplsInterfaceOutOctets wraps around too 2392 quickly." 2393 ::= { mplsLsrGroups 7 } 2395 mplsLabelStackGroup OBJECT-GROUP 2396 OBJECTS { 2397 mplsLabelStackLabel, 2398 mplsLabelStackLabelPtr, 2399 mplsLabelStackRowStatus, 2400 mplsLabelStackStorageType, 2401 mplsMaxLabelStackDepth, 2402 mplsLabelStackIndexNext 2403 } 2404 STATUS current 2405 DESCRIPTION 2406 "Objects needed to support label stacking which 2407 is an optional feature for an LSR." 2408 ::= { mplsLsrGroups 8 } 2410 mplsLsrNotificationGroup NOTIFICATION-GROUP 2411 NOTIFICATIONS { 2412 mplsXCUp, 2413 mplsXCDown 2414 } 2415 STATUS current 2416 DESCRIPTION 2417 "Set of notifications implemented in this module. 2418 None is mandatory." 2419 ::= { mplsLsrGroups 9 } 2420 END 2422 11. Security Considerations 2424 It is clear that this MIB module is potentially useful for 2425 monitoring of MPLS LSRs. This MIB can also be used for 2426 configuration of certain objects, and anything that can be 2427 configured can be incorrectly configured, with potentially 2428 disastrous results. 2430 There are a number of management objects defined in this MIB module 2431 with a MAX-ACCESS clause of read-write and/or read-create. Such 2432 objects may be considered sensitive or vulnerable in some network 2433 environments. The support for SET operations in a non-secure 2434 environment without proper protection can have a negative effect on 2435 network operations. These are the tables and objects and their 2436 sensitivity/vulnerability: 2438 o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, 2439 mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, 2440 and mplsInSegmentPerfTable collectively contain objects to 2441 provision MPLS interfaces, LSPs and their associated parameters 2442 on an Label Switching Router (LSR). Unauthorized access to 2443 objects in these tables, could result in disruption of traffic 2444 on the network. This is especially true if an LSP has been 2445 established. The use of stronger mechanisms such as SNMPv3 2446 security should be considered where possible. Specifically, 2447 SNMPv3 VACM and USM MUST be used with any v3 agent which 2448 implements this MIB module. Administrators should consider 2449 whether read access to these objects should be allowed, 2450 since read access may be undesirable under certain circumstances. 2452 Some of the readable objects in this MIB module "i.e., objects with a 2453 MAX-ACCESS other than not-accessible" may be considered sensitive or 2454 vulnerable in some network environments. It is thus important to 2455 control even GET and/or NOTIFY access to these objects and possibly 2456 to even encrypt the values of these objects when sending them over 2457 the network via SNMP. These are the tables and objects and their 2458 sensitivity/vulnerability: 2460 o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, 2461 mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, 2462 and mplsInSegmentPerfTable collectively show the LSP network 2463 topology and its performance characteristics. 2464 If an Administrator does not want to reveal this 2465 information, then these tables should be 2466 considered sensitive/vulnerable. 2468 SNMP versions prior to SNMPv3 did not include adequate security. 2469 Even if the network itself is secure "for example by using IPSec", 2470 even then, there is no control as to who on the secure network is 2471 allowed to access and GET/SET "read/change/create/delete" the objects 2472 in this MIB module. 2474 It is RECOMMENDED that implementers consider the security features as 2475 provided by the SNMPv3 framework "see [RFC3410], section 8", 2476 including full support for the SNMPv3 cryptographic mechanisms "for 2477 authentication and privacy". 2479 Further, deployment of SNMP versions prior to SNMPv3 is NOT 2480 RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to 2481 enable cryptographic security. It is then a customer/operator 2482 responsibility to ensure that the SNMP entity giving access to an 2483 instance of this MIB module, is properly configured to give access to 2484 the objects only to those principals "users" that have legitimate 2486 12. Acknowledgments 2488 We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim 2489 Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi 2490 Thirumalai, Joseph Benoit, Mike Piecuch, Joan Cucchiara. 2491 A special thanks to Bert Wijnen and Mike MacFaden for really 2492 getting the MIB module into shape. 2494 13. References 2496 13.1. Normative References 2498 [RFC2119] S. Bradner, "Key Words for use in RFCs to Indicate 2499 Requirement Levels", RFC 2119, BCP 14, March 1997. 2501 [RFC2515] Tesink, K., et al., "Definitions of Managed Objects 2502 for ATM Management", RFC 2515, February 1999. 2504 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2505 J., Rose, M., and S. Waldbusser, "Structure of 2506 Management Information Version 2 (SMIv2)", STD 58, RFC 2507 2578, April 1999. 2509 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2510 J., Rose, M., and S. Waldbusser, "Textual Conventions 2511 for SMIv2", STD 58, RFC 2579, April 1999. 2513 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, 2514 J., Rose, M., and S. Waldbusser, "Conformance 2515 Statements for SMIv2", STD 58, RFC 2580, April 1999. 2517 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces 2518 Group MIB", RFC 2863, June 2000. 2520 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, 2521 "Multiprotocol Label Switching Architecture", RFC 2522 3031, January 2001. 2524 [RFC3291] Daniele, M., Haberman, B., Routhier., S., 2525 Schoenwaelder., J., "Textual Conventions 2526 for Internet Network Addresses", RFC3291, 2527 May 2002. 2529 [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An 2530 Architecture for Describing Simple Network Management 2531 Protocol (SNMP) Management Frameworks", RFC 3411, 2532 December 2002. 2534 [TEMIB] Srinivasan, C., Viswanathan, A. and Nadeau, T., "MPLS 2535 Traffic Engineering Management Information Base ", 2536 Internet Draft , 2537 November 2002. 2539 [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C., 2540 Viswanathan, A., Sjostrand, H. and K. Kompella, 2541 "Definition of Textual Conventions and OBJECT- 2542 IDENTITIES for Multi-Protocol Label Switching (MPLS) 2543 Management", Internet Draft , April 2003. 2546 [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS 2547 FAMILY NUMBERS, (http://www.isi.edu/in- 2548 notes/iana/assignements/address-family-numbers), 2549 for MIB see: 2550 ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum 2551 bers.mib 2553 13.2. Informative References 2555 [RFC2026] S. Bradner, "The Internet Standards Process -- 2556 Revision 3", RFC 2026, October 1996. 2558 [RFC3413] Levi, D., Meyer, P., Stewart, B., 2559 "SNMP Applications", RFC 3413, December 2002. 2561 [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, 2562 "Introduction and Applicability Statements for 2563 Internet-Standard Management Framework", RFC 3410, 2564 December 2002. 2566 14. Authors' Addresses 2568 Cheenu Srinivasan 2569 Parama Networks, Inc. 2570 1030 Broad Street 2571 Shrewsbury, NJ 07702 2572 Phone: +1-732-544-9120 x731 2573 Email: cheenu@paramanet.com 2575 Arun Viswanathan 2576 Force10 Networks, Inc. 2577 1440 McCarthy Blvd 2578 Milpitas, CA 95035 2579 Phone: +1-408-571-3516 2580 Email: arun@force10networks.com 2582 Thomas D. Nadeau 2583 Cisco Systems, Inc. 2585 300 Beaver Brook Road 2586 Boxboro, MA 01719 2587 +1-978-936-1470 2588 Email: tnadeau@cisco.com 2590 15. Full Copyright Statement 2592 Copyright (C) The Internet Society (2003). All Rights Reserved. 2594 This document and translations of it may be copied and furnished 2595 to others, and derivative works that comment on or otherwise 2596 explain it or assist in its implementation may be prepared, 2597 copied, published and distributed, in whole or in part, without 2598 restriction of any kind, provided that the above copyright notice 2599 and this paragraph are included on all such copies and derivative 2600 works. However, this document itself may not be modified in any 2601 way, such as by removing the copyright notice or references to the 2602 Internet Society or other Internet organizations, except as needed 2603 for the purpose of developing Internet standards in which case 2604 the procedures for copyrights defined in the Internet Standards 2605 process must be followed, or as required to translate it into 2606 languages other than English. 2608 The limited permissions granted above are perpetual and will not 2609 be revoked by the Internet Society or its successors or assigns. 2610 This document and the information contained herein is provided on 2611 an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET 2612 ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR 2613 IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 2614 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 2615 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 2617 16. Intellectual Property Notice 2619 The IETF takes no position regarding the validity or scope of any 2620 intellectual property or other rights that might be claimed to 2621 pertain to the implementation or use of the technology described in 2622 this document or the extent to which any license under such rights 2623 might or might not be available; neither does it represent that it 2624 has made any effort to identify any such rights. Information on the 2625 IETF's procedures with respect to rights in standards-track and 2626 standards-related documentation can be found in BCP-11 [RFC2028]. 2627 Copies of claims of rights made available for publication and any 2628 assurances of licenses to be made available, or the result of an 2629 attempt made to obtain a general license or permission for the use of 2630 such proprietary rights by implementors or users of this 2631 specification can be obtained from the IETF Secretariat. 2632 The IETF invites any interested party to bring to its attention any 2633 copyrights, patents or patent applications, or other proprietary 2634 rights that may cover technology that may be required to practice 2635 this standard. Please address the information to the IETF Executive 2636 Director.