-- extracted from draft-ietf-ccamp-gmpls-lsr-mib-01.txt -- at Fri May 14 06:21:09 2004 GMPLS-LABEL-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, StorageType FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB MplsLabel FROM MPLS-TC-STD-MIB GmplsGeneralizedLabelTypes, GmplsFreeformLabel FROM GMPLS-TC-STD-MIB ; gmplsLabelStdMIB MODULE-IDENTITY LAST-UPDATED "200308190900Z " -- 19 August 2003 9:00:00 GMT" ORGANIZATION "Common Control And Management Protocols (CCAMP) Working Group" CONTACT-INFO " Thomas D. Nadeau Cisco Systems, Inc. Email: tnadeau@cisco.com Cheenu Srinivasan Bloomberg L.P. Email: cheenu@bloomberg.net Adrian Farrel Old Dog Consulting Email: adrian@olddog.co.uk Ed Harrison Data Connection Ltd. Email: ed.harrison@dataconnection.com Tim Hall Data Connection Ltd. Email: timhall@dataconnection.com Comments about this document should be emailed direct to the CCAMP working group mailing list at ccamp@ops.ietf.org" DESCRIPTION "This MIB module contains managed object definitions for labels within GMPLS systems." -- Revision history. REVISION "200308190900Z" -- 19 August 2003 09:00:00 GMT DESCRIPTION "Initial revision, published as part of RFC XXXX." ::= { gmplsStdMIB 2 } -- Top level components of this MIB module. -- Notifications -- no notifications are currently defined. gmplsLsrNotifications OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 0 } -- Tables, Scalars gmplsLabelObjects OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 1 } -- Conformance gmplsLabelConformance OBJECT IDENTIFIER ::= { gmplsLabelStdMIB 2 } -- GMPLS Label Table. gmplsLabelTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsLabelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of GMPLS Labels. This table allows the representation of the more complex label forms required for GMPLS which cannot be held within the textual convention MplsLabel. That is labels that cannot be encoded within 32 bits. It is, nevertheless also capable of holding 32 bit labels or regular MPLS labels if desired. Each entry in this table represents an individual GMPLS label value. Labels in the tables in other MIBs are referred to using row pointer into this table. The indexing of this table provides for arbitrary indexing and also for concatenation of labels. " ::= { gmplsLabelObjects 1 } gmplsLabelEntry OBJECT-TYPE SYNTAX GmplsLabelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a single label value. There are three indexes into the table. - The interface index may be helpful to distinguish which labels are in use on which interfaces or to handle cases where there are a very large number of labels in use in the system. When label representation is desired to apply to the whole system or when it is not important to distinguish labels by their interfaces, this index MAY be set to zero. - The label index provides a way of identifying the label. - The label sub-index is only used for concatenated labels. It identifies each component label. When non-concatenated labels are used, this index SHOULD be set to zero. A storage type object is supplied to control the storage type for each entry, but implementations should note that the storage type of conceptual rows in other tables that include row pointers to an entry in this table SHOULD dictate the storage type of the rows in this table where the row in the other table is more persistent." INDEX { gmplsLabelInterface, gmplsLabelIndex, gmplsLabelSubindex } ::= { gmplsLabelTable 1 } GmplsLabelEntry ::= SEQUENCE { gmplsLabelInterface InterfaceIndexOrZero, gmplsLabelIndex Unsigned32, gmplsLabelSubindex Unsigned32, gmplsLabelType GmplsGeneralizedLabelTypes, gmplsLabelMplsLabel MplsLabel, gmplsLabelPortWavelength Unsigned32, gmplsLabelFreeformLength INTEGER, gmplsLabelFreeform GmplsFreeformLabel, gmplsLabelSonetSdhSignalIndex INTEGER, gmplsLabelSdhVc INTEGER, gmplsLabelSdhVcBranch INTEGER, gmplsLabelSonetSdhBranch INTEGER, gmplsLabelSonetSdhGroupBranch INTEGER, gmplsLabelWavebandId Unsigned32, gmplsLabelWavebandStartLabel Unsigned32, gmplsLabelWavebandEndLabel Unsigned32, gmplsLabelRowStatus RowStatus, gmplsLabelStorageType StorageType } gmplsLabelInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "The interface on which this label is used. If the label has or could have applicability across the whole system, this object SHOULD be set to zero." ::= { gmplsLabelEntry 1 } gmplsLabelIndex OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary index into the table to identify a label. Note that implementations that are representing 32 bit labels within this table MAY choose to align this index with the value of the label, but should be aware of the implications of sparsely populated tables." ::= { gmplsLabelEntry 2 } gmplsLabelSubindex OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "In conjunction with gmplsLabelInterface and gmplsLabelIndex, this object uniquely identifies this row. This sub-index allows a single GMPLS label to be defined as a concatenation of labels. This is particularly useful in TDM. The ordering of sub-labels is strict with the sub- label with lowest gmplsLabelSubindex appearing first. Note that all sub-labels of a single GMPLS label must share the same gmplsLabelInterface and gmplsLabelIndex values. For labels that are not composed of concatenated sub-labels, this value SHOULD be set to zero." ::= { gmplsLabelEntry 3 } gmplsLabelType OBJECT-TYPE SYNTAX GmplsGeneralizedLabelTypes MAX-ACCESS read-create STATUS current DESCRIPTION "Identifies the type of this label. Note that this object does not determine whether MPLS or GMPLS signaling is in use: a value of gmplsMplsLabel (1) denotes that a 23 bit MPLS packet label is present, but does not describe whether this is signaled using MPLS or GMPLS. The value of this object helps determine which of the following objects are valid. This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 4 } gmplsLabelMplsLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS read-create STATUS current DESCRIPTION "The value of an MPLS label (that is a packet label) if this table is used to store it. This may be used in MPLS systems even though the label values can be adequately stored in the MPLS MIB modules. Further, in mixed MPLS and GMPLS systems it may be advantageous to store all labels in a single label table. Lastly, in GMPLS systems where packet labels are used (that is in systems that use GMPLS signaling and GMPLS labels for packet switching) it may be desirable to use this table. This object is only valid if gmplsLabelType is set to gmplsMplsLabel (1). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 6 } gmplsLabelPortWavelength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The value of a Port or Wavelength Label when carried as a Generalized Label. Only valid if gmplsLabelType is set to gmplsPortWavelengthLabel(2). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 7 } gmplsLabelFreeformLength OBJECT-TYPE SYNTAX INTEGER (1..64) MAX-ACCESS read-create STATUS current DESCRIPTION "The length of a freeform Generalized Label indicated in the gmplsFreeformLabel object. Only valid if gmplsLabelType is set to gmplsFreeformGeneralizedLabel(3). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 8 } gmplsLabelFreeform OBJECT-TYPE SYNTAX GmplsFreeformLabel MAX-ACCESS read-create STATUS current DESCRIPTION "The value of a freeform Generalized Label that does not conform to one of the standardized label encoding or that an implementation chooses to represent as an octet string without further decoding. The length of this object is given by the value of gmplsFreeformLength. Only valid if gmplsLabelType is set to gmplsFreeformGeneralizedLabel(3). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 9 } gmplsLabelSonetSdhSignalIndex OBJECT-TYPE SYNTAX INTEGER (0..4095) MAX-ACCESS read-create STATUS current DESCRIPTION "The Signal Index value (S) of a SONET or SDH Generalized Label. Zero indicates that this field is not significant. Only valid if gmplsLabelType is set to gmplsSonetLabel(4) or gmplsSdhLabel(5). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 10 } gmplsLabelSdhVc OBJECT-TYPE SYNTAX INTEGER (0..15) MAX-ACCESS read-create STATUS current DESCRIPTION "The VC Indicator (U) of an SDH Generalized Label. Zero indicates that this field is non-significant. Only valid if gmplsLabelType is set to gmplsSdhLabel(5). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 11 } gmplsLabelSdhVcBranch OBJECT-TYPE SYNTAX INTEGER (0..15) MAX-ACCESS read-create STATUS current DESCRIPTION "The VC Branch Indicator (K) of an SDH Generalized Label. Zero indicates that this field is non- significant. Only valid if gmplsLabelType is set to gmplsSdhLabel(5). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 12 } gmplsLabelSonetSdhBranch OBJECT-TYPE SYNTAX INTEGER (0..15) MAX-ACCESS read-create STATUS current DESCRIPTION "The Branch Indicator (L) of a SONET or SDH Generalized Label. Zero indicates that this field is non-significant. Only valid gmplsLabelType is set to gmplsSonetLabel(4) or gmplsSdhLabel(5). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 13 } gmplsLabelSonetSdhGroupBranch OBJECT-TYPE SYNTAX INTEGER (0..15) MAX-ACCESS read-create STATUS current DESCRIPTION "The Group Branch Indicator (M) of a SONET or SDH Generalized Label. Zero indicates that this field is non-significant. Only valid if gmplsLabelType is set to gmplsSonetLabel(4) or gmplsSdhLabel(5). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 14 } gmplsLabelWavebandId OBJECT-TYPE SYNTAX Uunsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The waveband identifier component of a waveband label. Only valid if gmplsLabelType is set to gmplsWavebandLabel(6). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 15 } gmplsLabelWavebandStart OBJECT-TYPE SYNTAX Uunsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The starting label component of a waveband label. Only valid if gmplsLabelType is set to gmplsWavebandLabel(6). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 16 } gmplsLabelWavebandEnd OBJECT-TYPE SYNTAX Uunsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The end label component of a waveband label. Only valid if gmplsLabelType is set to gmplsWavebandLabel(6). This object cannot be modified if gmplsLabelRowStatus is active(1)." ::= { gmplsLabelEntry 17 } gmplsLabelRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table has a row in the active(1) state, no objects in this row can be modified except the gmplsLabelRowStatus and gmplsLabelStorageType." ::= { gmplsLabelEntry 18 } gmplsLabelStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. The agent MUST ensure that this object's value remains consistent with the storage type of any rows in other tables that contain pointers to this row. In particular, the storage type of this row must be at least as permanent as that of any row that point to it. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." REFERENCE "See RFC2579." DEFVAL { volatile } ::= { gmplsLabelEntry 19 } -- End of GMPLS Label Table -- Module compliance. gmplsLabelGroups OBJECT IDENTIFIER ::= { gmplsLabelConformance 1 } gmplsLabelCompliances OBJECT IDENTIFIER ::= { gmplsLabelConformance 2 } gmplsLabelModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the GMPLS Label MIB module." MODULE -- this module -- The mandatory groups have to be implemented by -- LSRs claiming support for this MIB module. This MIB module is, -- however, not mandatory for a working implementation of a GMPLS -- LSR with full MIB support if the GMPLS labels in use can be -- represented within a 32 bit quantity. MANDATORY-GROUPS { gmplsLabelTableGroup } -- Units of conformance. GROUP gmplsLabelTableGroup DESCRIPTION "This group is mandatory for devices which support the gmplsLabelTable." GROUP gmplsLabelPacketGroup DESCRIPTION "This group extends gmplsLabelTableGroup for implementations that support packet labels." GROUP gmplsLabelPortWavelengthGroup DESCRIPTION "This group extends gmplsLabelTableGroup for implementations that support port and wavelength labels." GROUP gmplsLabelFreeformGroup DESCRIPTION "This group extends gmplsLabelTableGroup for implementations that support freeform labels." GROUP gmplsLabelSonetSdhGroup DESCRIPTION "This group extends gmplsLabelTableGroup for implementations that support SONET or SDH labels." GROUP gmplsLabelWavebandGroup DESCRIPTION "This group extends gmplsLabelTableGroup for implementations that support Waveband labels." -- gmplsLabelTable OBJECT gmplsLabelType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelMplsLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelPortWavelength MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelFreeformLength MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelFreeform MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelSonetSdhSignalIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelSdhVc MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelSdhVcBranch MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelSonetSdhBranch MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelSonetSdhGroupBranch MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelWavebandId MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelWavebandStart MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelWavebandEnd MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsLabelRowStatus SYNTAX RowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "Support for notInService, createAndWait and notReady is not required." OBJECT gmplsLabelStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { gmplsLabelCompliances 1 } -- Units of conformance. gmplsLabelTableGroup OBJECT-GROUP OBJECTS { gmplsLabelType, gmplsLabelSubtype, gmplsLabelRowStatus, gmplsLabelStorageType } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to implement label table support. In addition, depending on the type of labels supported (for example, wavelength labels), the following other groups defined below are mandatory: gmplsLabelPacketGroup and/or gmplsLabelPortWavelengthGroup and/or gmplsLabelFreeformGroup and/or gmplsLabelSonetSdhGroup." ::= { gmplsLabelGroups 1 } gmplsLabelPacketGroup OBJECT-GROUP OBJECTS { gmplsLabelMplsLabel } STATUS current DESCRIPTION "Object needed to implement Packet (MPLS) labels." ::= { gmplsLabelGroups 2 } gmplsLabelPortWavelengthGroup OBJECT-GROUP OBJECTS { gmplsLabelPortWavelength } STATUS current DESCRIPTION "Object needed to implement Port and Wavelength labels." ::= { gmplsLabelGroups 3 } gmplsLabelFreeformGroup OBJECT-GROUP OBJECTS { gmplsLabelFreeformLength, gmplsLabelFreeform } STATUS current DESCRIPTION "Object needed to implement Freeform labels." ::= { gmplsLabelGroups 4 } gmplsLabelSonetSdhGroup OBJECT-GROUP OBJECTS { gmplsLabelSonetSdhSignalIndex, gmplsLabelSdhVc, gmplsLabelSdhVcBranch, gmplsLabelSonetSdhBranch, gmplsLabelSonetSdhGroupBranch } STATUS current DESCRIPTION "Object needed to implement SONET and SDH labels." ::= { gmplsLabelGroups 5 } gmplsLabelWavebandGroup OBJECT-GROUP OBJECTS { gmplsLabelWavebandId, gmplsLabelWavebandStart, gmplsLabelWavebandEnd } STATUS current DESCRIPTION "Object needed to implement Waveband labels." ::= { gmplsLabelGroups 6 } END -- -- Copyright (C) The Internet Society (2003). All Rights Reserved. -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph -- are included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. This -- document and the information contained herein is provided on an "AS -- IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK -- FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT -- NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN -- WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -- --