--- 1/draft-ietf-mpls-telink-mib-00.txt 2006-02-05 00:43:46.000000000 +0100 +++ 2/draft-ietf-mpls-telink-mib-01.txt 2006-02-05 00:43:46.000000000 +0100 @@ -5,23 +5,23 @@ Expires: October 2003 Avici Systems Thomas D. Nadeau Cisco Systems Jonathan P. Lang Rincon Networks April 2003 - Traffic Engineering Management Information Base + Traffic Engineering Link Management Information Base - draft-ietf-mpls-telink-mib-00.txt + draft-ietf-mpls-telink-mib-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. @@ -34,53 +34,50 @@ http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling TE links as - described in the Link Bundling in MPLS Traffic Engineering Internet - Draft. + described in the Link Bundling in MPLS Traffic Engineering document. Table of Contents -1. The Internet-Standard Management Framework . . . . . . . . . . 2 -2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 -3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 -4. The SNMP Management Framework . . . . . . . . . . . . . . . . . 3 -5. Feature Checklist . . . . . . . . . . . . . . . . . . . . . . . 5 -6. Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 -6.1. Summary of TE Link MIB . . . . . . . . . . . . . . . . . . . . 5 -7. Brief Description of MIB Objects . . . . . . . . . . . . . . . 6 -7.1. teLinkTable . . . . . . . . . . . . . . . . . . . . . . . . . . 6 -7.2. teLinkDescriptorTable . . . . . . . . . . . . . . . . . . . . . 6 -7.3. teLinkSrlgTable . . . . . . . . . . . . . . . . . . . . . . . . 6 -7.4. teLinkBandwidthTable . . . . . . . . . . . . . . . . . . . . . 6 -7.5. componentLinkTable . . . . . . . . . . . . . . . . . . . . . . 6 -7.6. componentLinkDescriptorTable . . . . . . . . . . . . . . . . . 7 -7.7. componentLinkBandwidthTable . . . . . . . . . . . . . . . . . . 7 -8. Example of Bundled Link Setup . . . . . . . . . . . . . . . . . 7 -9. Application of the Interfaces Group to TE Links . . . . . . . . 10 -9.1 Support of the TE Link Layer by ifTable . . . . . . . . . . . . 11 -9.2 Using ifStackTable . . . . . . . . . . . . . . . . . . . . . . 12 -10. TE Link MIB Definitions . . . . . . . . . . . . . . . . . . . . 14 -11. Intellectual Property Considerations . . . . . . . . . . . . . 44 -12. Security Considerations . . . . . . . . . . . . . . . . . . . . 45 -13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 46 -14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 46 -14.1 Normative References . . . . . . . . . . . . . . . . . . . . . 46 -14.2 Informative References . . . . . . . . . . . . . . . . . . . . 47 -15. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 49 -16. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 49 +1. The Internet-Standard Management Framework . . . . . . . . . . . 2 +2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2 +3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +4. Feature Checklist . . . . . . . . . . . . . . . . . . . . . . . . 3 +5. Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 +6. Brief Description of MIB Objects . . . . . . . . . . . . . . . . 4 +6.1. teLinkTable . . . . . . . . . . . . . . . . . . . . . . . . . . 4 +6.2. teLinkDescriptorTable . . . . . . . . . . . . . . . . . . . . . 4 +6.3. teLinkSrlgTable . . . . . . . . . . . . . . . . . . . . . . . . 4 +6.4. teLinkBandwidthTable . . . . . . . . . . . . . . . . . . . . . 4 +6.5. componentLinkTable . . . . . . . . . . . . . . . . . . . . . . 5 +6.6. componentLinkDescriptorTable . . . . . . . . . . . . . . . . . 5 +6.7. componentLinkBandwidthTable . . . . . . . . . . . . . . . . . . 5 +7. Example of Bundled Link Setup . . . . . . . . . . . . . . . . . . 5 +8. Application of the Interfaces Group to TE Links . . . . . . . . . 9 +8.1 Support of the TE Link Layer by ifTable . . . . . . . . . . . . 9 +8.2 Using ifStackTable . . . . . . . . . . . . . . . . . . . . . . . 11 +9. TE Link MIB Module Definitions . . . . . . . . . . . . . . . . . 12 +10. Intellectual Property Considerations . . . . . . . . . . . . . . 43 +11. Security Considerations . . . . . . . . . . . . . . . . . . . . 43 +12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 44 +13. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 +13.1 Normative References . . . . . . . . . . . . . . . . . . . . . 44 +13.2 Informative References . . . . . . . . . . . . . . . . . . . . 45 +14. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46 +15. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 46 1. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). @@ -88,267 +85,200 @@ Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 2. Introduction OSPF [OSPF], Generalized MPLS (GMPLS) [RFC3471] and the Link Manage- ment Protocol (LMP) [LMP] use the concept of traffic engineering (TE) links to abstract link properties. The effect of this approach is the - reduction of the amount of routing information exchanged in the net- - work, which improves routing scalability. In addition, the use of TE - link allows the implementation of new capabilities such as link pro- - tection. + reduction of the amount of routing information exchanged in the + network, which improves routing scalability. In addition, the use of + TE link allows the implementation of new capabilities such as link + protection. - We present in this document a MIB that can be used to manage TE links - and their extension, the bundled link. This MIB enable both the con- - figuration and the performance monitoring of TE links and bundled - link. + We present in this document a MIB module that can be used to manage + TE links and their extension, the bundled link. This MIB module + enables both the configuration and the performance monitoring of TE + links and bundled link. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119, reference [RFC2119]. 3. Terminology This document uses terminology from the documents describing link bundling [BUNDLING] and G-MPLS [GMPLS-ARCH]. The link bundling feature is designed to aggregate one or more simi- lar entities between a node pair into a bundled link [BUNDLING]. In the document, those entities are referred to as TE links. A TE link is a subinterface capable of carrying MPLS traffic engineered traf- fic. A TE Link may be comprised of only one underlying component - links. In cases where more than one component link is to be com- + link. In cases where more than one component links are to be com- bined, multiple component links should be created with differing pri- orities to indicate hot-standby or parallel utilization. A bundled link is just another kind of Traffic Engineering (TE) link (see [GMPLS-OSPF]). A link bundle is a subinterface which bounds the traffic of a group of one or more TE links. There should be more than one TE Link in a link bundle, but this is not a requirement. Fur- thermore, if there are more than one TE link in a link bundle at some time, and at some point later, all but one of the links are deleted, the agent may choose to either delete the link bundle, or it may choose to leave it intact. Traffic counters on a link bundle are cumulative for all subinterfaces which it binds together. -4. The SNMP Management Framework - - The SNMP Management Framework presently consists of five major compo- - nents: - - - An overall architecture, described in RFC 2571 [RFC2571]. - - Mechanisms for describing and naming objects and events for the - purpose of management. The first version of this Structure of - Management Information (SMI) is called SMIv1 and described in - STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC - 1215 [RFC1215]. The second version, called SMIv2, is described - in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and - STD 58, RFC 2580 [RFC2580]. - - - Message protocols for transferring management information. The - first version of the SNMP message protocol is called SNMPv1 and - described in STD 15, RFC 1157 [RFC1157]. A second version of - the SNMP message protocol, which is not an Internet standards - track protocol, is called SNMPv2c and described in RFC 1901 - [RFC1901] and RFC 1906 [RFC1906]. The third version of the - message protocol is called SNMPv3 and described in RFC 1906 - [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. - - - Protocol operations for accessing management information. The - first set of protocol operations and associated PDU formats is - described in STD 15, RFC 1157 [RFC1157]. A second set of - protocol operations and associated PDU formats is described in - RFC 1905 [RFC1905]. - - - A set of fundamental applications described in RFC 2573 - [RFC2573] and the view-based access control mechanism described - in RFC 2575 [RFC2575]. - - A more detailed introduction to the current SNMP Management Framework - can be found in RFC 2570 [RFC2570]. - - Managed objects are accessed via a virtual information store, termed - the Management Information Base or MIB. Objects in the MIB are - defined using the mechanisms defined in the SMI. - - This memo specifies a MIB module that is compliant to the SMIv2. A - MIB conforming to the SMIv1 can be produced through the appropriate - translations. The resulting translated MIB must be semantically - equivalent, except where objects or events are omitted because no - translation is possible (use of Counter64). Some machine readable - information in SMIv2 will be converted into textual descriptions in - SMIv1 during the translation process. However, this loss of machine - readable information is not considered to change the semantics of the - MIB. - -5. Feature Checklist +4. Feature Checklist - The TE Link MIB (TE-LINK-MIB) is designed to satisfy the following - requirements and constraints: + The TE Link MIB module (TE-LINK-MIB) is designed to satisfy the fol- + lowing requirements and constraints: - - The MIB supports the management of TE links, including bundled - links. + - The MIB module supports the management of TE links, including + bundled links. - Support is provided for configuration of traffic engineering parameters associated with TE links. - - The MIB is used to monitor the priority-based component link - and TE link bandwidth values. + - The MIB module is used to monitor the priority-based component + link and TE link bandwidth values. -6. Outline +5. Outline Configuring bundled links involves the following steps: - Creating a bundled link. - Creating TE links. - Optionally specifying the shared risk link groups associated with the TE links. - Configuring the component links including the bandwidth parameters and associating the component links with the appropriate TE link. - Associating the TE links with the appropriate bundled link. -6.1. Summary of TE Link MIB - - The MIB objects for performing these actions consist of the following - tables: - - - The TE link table (teLinkTable), which is used to - specify TE links, including bundled links, and their generic - traffic engineering parameters. - - - The TE link descriptor table (teLinkDescriptorTable), which is - used to enumerate the TE link descriptors. - - - The shared risk link group (SRLG) table (teLinkSrlgTable), - which is used to specify the SRLGs associated with TE links. - - - The TE link bandwidth table (teLinkBandwidthTable), - which is used for reporting priority-based bandwidth values - associated with TE links. - - - The component link table (componentLinkTable), which is - used to identify the component links that are associated - with the TE links and specify the component link generic - traffic engineering parameters. - - - The component link descriptor table - (componentLinkDescriptorTable), which is used to enumerate - the component link descriptors. - - - The component link bandwidth table - (componentLinkBandwidthTable), which is used to report - priority-based bandwidth values associated with component links. - - These tables are described in the subsequent sections. - -7. Brief Description of MIB Objects +6. Brief Description of MIB Objects - Sections 7.1-7.5 describe objects pertaining to TE links. The MIB + Sections 6.1-6.5 describe objects pertaining to TE links. The MIB objects were derived from the link bundling document [BUNDLING]. -7.1. teLinkTable +6.1. teLinkTable - This table represents the TE links, including bundled links. + This table represents the TE links, including bundled links, and + their generic traffic engineering parameters. -7.2. teLinkDescriptorTable +6.2. teLinkDescriptorTable This table represents the TE link descriptors. -7.3. teLinkSrlgTable +6.3. teLinkSrlgTable This table represents the shared risk link groups (SRLGs) associated with TE links. -7.4. teLinkBandwidthTable +6.4. teLinkBandwidthTable This table specifies the priority-based bandwidth traffic engineering parameters associated with TE links. -7.5. componentLinkTable +6.5. componentLinkTable - This table enumerates the component links and their association with - TE link. + This table enumerates the component links and their generic traffic + engineering parameters. with TE link. -7.6. componentLinkDescriptorTable +6.6. componentLinkDescriptorTable This table enumerates the link descriptors that each component link supports. -7.7. componentLinkBandwidthTable +6.7. componentLinkBandwidthTable The component link bandwidth table specifies the priority-based band- width values associated with the component links. -8. Example of Bundled Link Setup + Component links that belong to the same TE link must be compatible. + They must support the same switching capability and the same set of + link descriptors. Consequently, the link descriptors of the teLinkDe- + scriptorTable can be derived from the link descriptors of the compo- + nentLinkDescrTable. If these two tables are managed independently, + mechanisms should be put in place to ensure consistency between the + two tables. + + TE links that form a bundled link must have compatible traffic engi- + neering parameters (switching capability, link descriptors, resource + class, link metric and protection type). + + Some of the bandwidth parameters of the teLinkBandwidthTable are + derived from the bandwidth parameters of the componentLinkBand- + widthTable (maximum/minimum reservable bandwidth and unreserved band- + width). + +7. Example of Bundled Link Setup In this section we provide a brief example of using the MIB objects described in section 10 to set up a bundled link. - While this example is not meant to illustrate every - nuance of the MIB, it is intended as an aid to understanding some + While this example is not meant to illustrate every nuance of the + MIB module, it is intended as an aid to understanding some of the key concepts. It is meant to be read after going through the - MIB itself. + MIB module itself. Suppose that one would like to manually create a bundled link out of two 1:1 TE links. Assume that the bundled link is associated with SRLGs 10 and 50. Finally, let the component links be port entity interfaces (lambdas). The following example illustrates which rows and corresponding objects might be created to accomplish this. First, a bundled link entry is created. An ifEntry with the same ifIndex and with ifType teLink needs to be created beforehand. In teLinkTable: { ifIndex = 25, - teLinkIpAddrType = unknown(0), + teLinkAddressType = unknown(0), teLinkRowStatus = createAndGo(4) } In ifStackTable: { ifStackHigherLayer = 0, ifStackLowerLayer = 25, ifStackStatus = createAndGo(4) } Next, the two TE links are created. In teLinkTable: { ifIndex = 20, - teLinkIpAddrType = unknown(0), + teLinkAddressType = unknown(0), teLinkMetric = 5, teLinkResourceClass = 3, teLinkRowStatus = createAndWait(5) } In ifStackTable: { ifStackHigherLayer = 25, ifStackLowerLayer = 20, ifStackStatus = createAndGo(4) } In teLinkTable: { ifIndex = 21, - teLinkIpAddrType = unknown(0), + teLinkAddressType = unknown(0), teLinkMetric = 5, teLinkResourceClass = 3, teLinkRowStatus = createAndWait(5) } In ifStackTable: { ifStackHigherLayer = 25, ifStackLowerLayer = 21, ifStackStatus = createAndGo(4) @@ -441,21 +372,21 @@ descriptors. Note that the bandwidth attributes in teLinkDescriptorTable, componentLinkDescriptorTable, teLinkBandwidthTable and componentLinkBandwidthTable are maintained by the device according to LSP creation/deletion at different priorities. The values in the teLinkBandwidthTable are an aggregation of the values for the component links of the TE links and the TE links of the bundled link. -9. Application of the Interfaces Group to TE Links +8. Application of the Interfaces Group to TE Links The Interfaces Group [RFC2863] defines generic managed objects for managing interfaces. This memo contains the media-specific extensions to the Interfaces Group for managing TE Link interfaces as logical interfaces. This memo assumes the interpretation of the Interfaces Group to be in accordance with [RFC2863] which states that the interfaces table (ifTable) contains information on the managed resource's interfaces and that each sub-layer below the internetwork layer of @@ -470,33 +401,33 @@ +----------------------------------------+ | TE link-interface ifType = teLink(200) + +----------------------------------------+ | Underlying Layer... + +----------------------------------------+ In the above diagram, "Underlying Layer..." refers to the ifIndex of any interface type, which has been defined for TE Link interworking. Examples include ATM, Frame Relay, Ethernet, etc. -9.1. Support of the TE Link Layer by ifTable +8.1. Support of the TE Link Layer by ifTable Some specific interpretations of ifTable for the TE Link layer follow. Object Use for the TE Link layer ifIndex Each TE Link interface is represented by an ifEntry. ifDescr Description of the TE Link interface. ifType The value that is allocated for TE Link is 200 - [IANAFamily]. + [IANAifType]. ifSpeed The total bandwidth in bits per second for use by the TE Link layer. ifPhysAddress Unused. ifAdminStatus This variable indicates the administrator's intent as to whether TE Link should be enabled, disabled, or running in some diagnostic testing mode on this interface. Also see [RFC2863]. @@ -546,175 +477,218 @@ ifCounterDiscontinuityTime See [RFC2863]. Support for ifInOctets, ifOutOctets, ifInErrors, ifInUnknownProtos, ifOutErrors, ifHCInOctets and ifHCOutOctets objects is not required if encoding type is clear. For other encoding types, traffic counters on a TE link are cumulative for all subinterfaces which it binds together. -9.2. Using ifStackTable +8.2. Using ifStackTable This section describes by example how to use ifStackTable to represent the relationship of TE links with underlying TE-enabled interfaces. Implementors of the stack table for TE link interfaces should look at the appropriate RFC for the service being stacked on TE links. Examples given below are for illustration purposes only. - Example: MPLS is being carried on 2 bundled TE links. - Each bundled TE link runs over a 1:1 optical + Example: MPLS is being carried on a bundled TE links. + The bundled TE link represents a 1:1 optical transport interface. - +---------------------------------+ - | mpls | - +---------------------------------+ - | - +---------------------------------+ - | teLink (Link Bundle) | - +---------------------------------+ - | | - +---------------+ +---------------+ - | teLink | | teLink | - +---------------+ +---------------+ - | | | | - +------+ +------+ +------+ +------+ - |oTrans| |oTrans| |oTrans| |oTrans| - +------+ +------+ +------+ +------+ + In this example, the component link is a TE link. The two component + links/TE links are grouped in a bundled link. + + +-------------------------------------------------------------------+ + | MPLS interface ifType = mpls(166) | + +-------------------------------------------------------------------+ + | TE link (bundled link) ifType = teLink(200) | + +--------------------------------+-+--------------------------------+ + | TE link ifType = teLink(200) | | TE link ifType = teLink(200) | + +--------------------------------+ +--------------------------------+ + | Component link | | Component link | + | ifType = opticalTransport(196) | | ifType = opticalTransport(196) | + +--------------------------------+ +--------------------------------+ The assignment of the index values could for example be: ifIndex Description 1 mpls (type 166) 2 teLink (type 200) 3 teLink (type 200) 4 teLink (type 200) 5 opticalTransport (type 196) 6 opticalTransport (type 196) - 7 opticalTransport (type 196) - 8 opticalTransport (type 196) The ifStackTable is then used to show the relationships between the various interfaces. ifStackTable Entries HigherLayer LowerLayer 0 1 1 2 2 3 2 4 3 5 - 3 6 - 4 7 - 4 8 + 4 6 5 0 6 0 - 7 0 - 8 0 In the case where MPLS is using a single TE link, then the upper TE link layer (link bundle) is not required. - +---------------+ - | mpls | - +---------------+ - | - +---------------+ - | teLink | - +---------------+ - | | - +------+ +------+ - |oTrans| |oTrans| - +------+ +------+ + +-----------------------------------+ + | MPLS interface ifType = mpls(166) | + +-----------------------------------+ + | TE link ifType = teLink(200) | + +-----------------------------------+ + | Component link | + | ifType = opticalTransport(196) | + +-----------------------------------+ The assignment of the index values could for example be: ifIndex Description 1 mpls (type 166) 2 teLink (type 200) 3 opticalTransport (type 196) - 4 opticalTransport (type 196) The ifStackTable is then used to show the relationships between the various interfaces. ifStackTable Entries HigherLayer LowerLayer 0 1 1 2 2 3 - 2 4 3 0 - 4 0 -10. TE Link MIB Definitions +9. TE Link MIB Module Definitions TE-LINK-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF - TruthValue, RowStatus, StorageType + TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType FROM SNMPv2-TC InterfaceIndexOrZero, ifIndex FROM IF-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; teLinkMIB MODULE-IDENTITY - LAST-UPDATED "200304181200Z" -- 18 April 2003 12:00:00 EST + LAST-UPDATED "200304291200Z" -- 29 April 2003 12:00:00 EST ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Martin Dubuc Email: dubuc.consulting@rogers.com Sudheer Dharanikota Email: sudheer@avici.com Thomas D. Nadeau Email: tnadeau@cisco.com Jonathan P. Lang - Email: jplang@ieee.org" + Email: jplang@ieee.org + + Comments about this document should be emailed directly to + the MPLS working group mailing list at mpls@uu.net." DESCRIPTION - "This MIB contains managed object definitions for - MPLS traffic engineering links as defined in: - Kompella, K., Rekhter, Y., Berger, L., - Link Bundling in MPLS Traffic Engineering - Internet Draft , - July 2002." + "Copyright (C) 2003 The Internet Society. This version of + this MIB module is part of RFCXXXX; see the RFC + itself for full legal notices. + + This MIB module contains managed object definitions for + MPLS traffic engineering links as defined in + 'Link Bundling in MPLS Traffic Engineering'." -- Revision history. REVISION - "200304181200Z" -- 18 April 2003 12:00:00 EST + "200304291200Z" -- 29 April 2003 12:00:00 EST DESCRIPTION "Initial version published as RFC xxxx (to be assigned by RFC Editor)" ::= { mib-2 xxx } -- To be assigned by IANA (experimental 114 can be used -- in the interim) -- Textual Conventions --- Top level components of this MIB +Priority ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "This type is used to represent a priority. Each connection is + assigned a priority. This priority is used when accounting for + bandwidth on TE links or component links, for resource allocation + and for rerouting purposes. Value 0 is the highest priority. + Value 7 is the lowest priority." + SYNTAX Unsigned32 (0..7) --- Notifications +LinkProtection ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Link protection." + SYNTAX INTEGER { + primary(1), + secondary(2) + } +SwitchingCapability ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Switching capability as specified in the 'OSPF Extensions in + Support of Generalized MPLS' document. The values specified in + this document are not contiguous." + SYNTAX INTEGER { + packetSwitch1(1), + packetSwitch2(2), + packetSwitch3(3), + packetSwitch4(4), + layer2Switch(51), + tdm(100), + lambdaSwitch(150), + fiberSwitch(200) + } + +LinkEncodingType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Link encoding type as specified in 'GMPLS Signaling Functional + Description' document. The values specified in this document are + not contiguous." + SYNTAX INTEGER { + packet(1), + ethernet(2), + ansiEtsiPdh(3), + sdhItuSonetAnsi(5), + digitalWrapper(7), + lambda(8), + fiber(9), + fiberChannel(11) + } + +-- Top level components of this MIB module + +-- Notifications teLinkNotifications OBJECT IDENTIFIER ::= { teLinkMIB 0 } -- Tables, Scalars teLinkObjects OBJECT IDENTIFIER ::= { teLinkMIB 1 } -- Conformance teLinkConformance OBJECT IDENTIFIER ::= { teLinkMIB 2 } -- TE Link Table teLinkTable OBJECT-TYPE SYNTAX SEQUENCE OF TeLinkEntry @@ -724,183 +698,202 @@ "This table specifies the grouping of component links into TE links and grouping of TE links into bundled links." ::= { teLinkObjects 1 } teLinkEntry OBJECT-TYPE SYNTAX TeLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table exists for each ifEntry with an - ifType of teLink(TBD), i.e. for every TE link. An ifEntry + ifType of teLink(200), i.e. for every TE link. An ifEntry in the ifTable must exist before a teLinkEntry is created with the corresponding ifIndex. If a TE link entry in the ifTable is destroyed, then so is the corresponding entry in the teLinkTable. The administrative and operational status values - are controlled from the ifEntry. If the link is unnumbered, - ifIndex is also used as the outgoing interface identifier." + are controlled from the ifEntry." INDEX { ifIndex } ::= { teLinkTable 1 } TeLinkEntry ::= SEQUENCE { - teLinkIpAddrType InetAddressType, - teLinkIpAddr InetAddress, + teLinkAddressType InetAddressType, + teLinkLocalIpAddr InetAddress, teLinkRemoteIpAddr InetAddress, teLinkMetric Unsigned32, - teLinkMuxCapability INTEGER, + teLinkMuxCapability SwitchingCapability, teLinkProtectionType INTEGER, - teLinkWorkingPriority Unsigned32, + teLinkWorkingPriority Priority, teLinkResourceClass Unsigned32, teLinkIncomingIfId InterfaceIndexOrZero, teLinkOutgoingIfId InterfaceIndexOrZero, teLinkRowStatus RowStatus, teLinkStorageType StorageType } -teLinkIpAddrType OBJECT-TYPE +teLinkAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION - "For IPv4 and IPv6 numbered links, this object represents the - IP address type associated with the TE link. For - unnumbered links, a value of unknown(0) must be used." + "The type of Internet address for the TE link. Only IPv4, + IPv6 and unknown (for unnumbered links) need to be supported." ::= { teLinkEntry 1 } -teLinkIpAddr OBJECT-TYPE +teLinkLocalIpAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "For IPv4 and IPv6 numbered links, this object represents the - IP address associated with the TE link." + local IP address associated with the TE link. For unnumbered + link, the local address is not stored in this object, but + rather in the teLinkOutgoingIfId object." ::= { teLinkEntry 2 } teLinkRemoteIpAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The remote IP address associated with the TE link (IPv4 and - IPv6 numbered links)." + IPv6 numbered links). For unnumbered links, the remote address + is not stored in this object, but rather in the + teLinkIncomingIfId object." ::= { teLinkEntry 3 } teLinkMetric OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The traffic engineering metric for the TE link is derived from its component links. All component links within the TE link must have the same traffic engineering metric." REFERENCE - "[BUNDLING]" + "Link Bundling in MPLS Traffic Engineering, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] ::= { teLinkEntry 4 } teLinkMuxCapability OBJECT-TYPE - SYNTAX INTEGER { - packetSwitch1(1), - packetSwitch2(2), - packetSwitch3(3), - packetSwitch4(4), - layer2Switch(51), - tdm(100), - lambdaSwitch(150), - fiberSwitch(200) - } + SYNTAX SwitchingCapability MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies link multiplex capability of the TE link, which is derived from its component links. All component links within the same TE link must have the same link multiplex capability." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkEntry 5 } teLinkProtectionType OBJECT-TYPE SYNTAX INTEGER { extraTraffic(1), unprotected(2), shared(3), dedicated1For1(4), dedicated1Plus1(5), enhanced(6) } MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies link protection type of the - TE link." + TE link. Description of the different protection types can be + found in the 'Routing Extensions in Support of Generalized + MPLS' document." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx and + Routing Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] and [ROUTING] ::= { teLinkEntry 6 } teLinkWorkingPriority OBJECT-TYPE - SYNTAX Unsigned32 (0..7) + SYNTAX Priority MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents a priority value such that a new connection with a higher priority, i.e. numerically lower than this value, is guaranteed to be setup on a primary link and not on a secondary link." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkEntry 7 } teLinkResourceClass OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the TE link resource class. The resource class is a 32 bit bitfield. The resource class for a link bundle is derived from the resource class of its TE links. All TE links within a link bundle must have the - same resource class." + same resource class. Encoding of the resource class is described + in the 'Traffic Engineering Extensions to OSPF Version 2' + document." + REFERENCE + "Link Bundling in MPLS Traffic Engineering, RFC xxxx and + Traffic Engineering Extensions to OSPF Version 2, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] and [OSPF] ::= { teLinkEntry 8 } teLinkIncomingIfId OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "For unnumbered links, the incoming interface is set to the outgoing interface identifier chosen by the neighboring LSR - for the reverse link corresponding to this TE link." + for the reverse link corresponding to this TE link. For + numbered links, the address is stored in the teLinkRemoteIpAddr + instead." REFERENCE - "[BUNDLING]" + "Link Bundling in MPLS Traffic Engineering, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] ::= { teLinkEntry 9 } teLinkOutgoingIfId OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "If the link is unnumbered, the outgoing interface identifier is set to the outgoing interface identifier chosen for the TE link - by the advertising LSR." + by the advertising LSR. For numbered links, the address is + stored in the teLinkLocalIpAddr instead." REFERENCE - "[BUNDLING]" + "Link Bundling in MPLS Traffic Engineering, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] ::= { teLinkEntry 10 } teLinkRowStatus 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. All read-create objects - can only be changed when teLinkRowStatus is active." + can only be changed when teLinkRowStatus is notInService(2) + or notReady(3)." ::= { teLinkEntry 11 } teLinkStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the teLinkTable. Conceptual rows having the value 'permanent' need not allow write-access to any @@ -921,111 +914,111 @@ ::= { teLinkObjects 2 } teLinkDescriptorEntry OBJECT-TYPE SYNTAX TeLinkDescriptorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created for every TE link descriptor. An ifEntry in the ifTable must exist before a teLinkDescriptorEntry using the same ifIndex is created. + ifType of ifEntry must be teLink(200). If a TE link entry in the ifTable is destroyed, then so are all entries in the teLinkDescriptorTable that use the ifIndex of this TE link." INDEX { ifIndex, teLinkDescriptorId } ::= { teLinkDescriptorTable 1 } TeLinkDescriptorEntry ::= SEQUENCE { teLinkDescriptorId Unsigned32, - teLinkEncodingType INTEGER, - teLinkDescrPriority Unsigned32, - teLinkMinReservableBandwidth Unsigned32, - teLinkMaxReservableBandwidth Unsigned32, + teLinkDescrEncodingType LinkEncodingType, + teLinkDescrPriority Priority, + teLinkDescrMinResBandwidth Unsigned32, + teLinkDescrMaxResBandwidth Unsigned32, teLinkDescrRowStatus RowStatus, teLinkDescrStorageType StorageType } teLinkDescriptorId OBJECT-TYPE - SYNTAX Unsigned32 + SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the link descriptor identifier." ::= { teLinkDescriptorEntry 1 } -teLinkEncodingType OBJECT-TYPE - SYNTAX INTEGER { - packet(1), - ethernet(2), - ansiEtsiPdh(3), - sdhItuSonetAnsi(5), - digitalWrapper(7), - lambda(8), - fiber(9), - fiberChannel(11) - } +teLinkDescrEncodingType OBJECT-TYPE + SYNTAX LinkEncodingType MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the TE link encoding type." REFERENCE - "[RFC3471]" + "Generalized MPLS Signaling Functional Description, RFC 3471" ::= { teLinkDescriptorEntry 2 } teLinkDescrPriority OBJECT-TYPE - SYNTAX Unsigned32 (0..7) + SYNTAX Priority MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the lowest priority at which that link encoding type is available." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkDescriptorEntry 3 } -teLinkMinReservableBandwidth OBJECT-TYPE +teLinkDescrMinResBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the minimum reservable bandwidth on the TE link. This is derived from the union of the minimum reservable bandwidth of all the component links associated with the TE link that can be used to carry live traffic. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkDescriptorEntry 4 } -teLinkMaxReservableBandwidth OBJECT-TYPE +teLinkDescrMaxResBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the maximum reservable bandwidth on the TE link. This is the union of the maximum reservable bandwidth of all the component links within the TE link that can be used to carry live traffic. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkDescriptorEntry 5 } teLinkDescrRowStatus 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. All read-create objects - can only be changed when teLinkDescrRowStatus is active." + delete a row in this table. No read-create object + can changed if teLinkDescrRowStatus is in active(1) state." ::= { teLinkDescriptorEntry 6 } teLinkDescrStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the teLinkDescriptorTable. Conceptual rows having the value 'permanent' need not allow write-access to any @@ -1046,50 +1039,55 @@ teLinkSrlgEntry OBJECT-TYPE SYNTAX TeLinkSrlgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table contains information about a SRLG associated with a TE link. An ifEntry in the ifTable must exist before a teLinkSrlgEntry using the same ifIndex is created. + ifType of ifEntry must be teLink(200). If a TE link entry in the ifTable is destroyed, then so are all entries in the teLinkSrlgTable that use the ifIndex of this TE link." INDEX { ifIndex, srlg } ::= { teLinkSrlgTable 1 } TeLinkSrlgEntry ::= SEQUENCE { srlg Unsigned32, srlgRowStatus RowStatus, srlgStorageType StorageType } srlg OBJECT-TYPE - SYNTAX Unsigned32 + SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This identifies a SRLG supported by the TE link." + "This identifies a SRLG supported by the TE link. An SRLG is + identified with a 32 bit number that is unique within an IGP + domain. Zero is a valid SRLG number." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { teLinkSrlgEntry 1 } srlgRowStatus 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. All read-create objects - can only be changed when srlgRowStatus is active." + delete a row in this table. No read-create object can + be modified if srlgRowStatus is active(1)." ::= { teLinkSrlgEntry 2 } srlgStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the teLinkSrlgTable. Conceptual rows having the value 'permanent' need not allow write-access to any @@ -1110,83 +1108,94 @@ ::= { teLinkObjects 4 } teLinkBandwidthEntry OBJECT-TYPE SYNTAX TeLinkBandwidthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table contains information about the priority-based bandwidth of TE links. An ifEntry in the ifTable must exist before a teLinkBandwidthEntry using the - same ifIndex is created. If a TE link entry in the ifTable - is destroyed, then so are all entries in the teLinkBandwidthTable - that use the ifIndex of this TE link." + same ifIndex is created. ifType of ifEntry must be teLink(200). + If a TE link entry in the ifTable is destroyed, then so are + all entries in the teLinkBandwidthTable that use the ifIndex of + this TE link." INDEX { ifIndex, teLinkPriority } ::= { teLinkBandwidthTable 1 } TeLinkBandwidthEntry ::= SEQUENCE { - teLinkPriority Unsigned32, + teLinkPriority Priority, teLinkUnreservedBandwidth Unsigned32, teLinkMaximumLspBandwidth Unsigned32, teLinkBandwidthRowStatus RowStatus, teLinkBandwidthStorageType StorageType } teLinkPriority OBJECT-TYPE - SYNTAX Unsigned32 (1..8) + SYNTAX Priority MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This attribute specifies the priority. It should be mapped - to a number between 0 and 7" + "This attribute specifies the priority. A value of 0 is valid + as specified in the 'Traffic Engineering Extensions to OSPF + Version 2' document." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx and + Traffic Engineering Extensions to OSPF Version 2, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] and [OSPF] ::= { teLinkBandwidthEntry 1 } teLinkUnreservedBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute specifies the TE link unreserved bandwidth at priority p. It is the sum of the unreserved bandwidths at priority p of all component links associated with the TE link (excludes all links that are strictly used as protecting links). This value is an estimate in units of 1,000 bits per second." REFERENCE - "[BUNDLING]" + "Link Bundling in MPLS Traffic Engineering, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] ::= { teLinkBandwidthEntry 2 } teLinkMaximumLspBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the TE link maximum LSP bandwidth at priority p. It is the maximum of all maximum LSP bandwidth at priority p of the component links associated with the TE link (excludes all links that are strictly used as protecting links). This value is an estimate in units of 1,000 bits per second." REFERENCE - "[BUNDLING]" + "Link Bundling in MPLS Traffic Engineering, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [BUNDLING] ::= { teLinkBandwidthEntry 3 } teLinkBandwidthRowStatus 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. All read-create objects - can only be changed when teLinkBandwidthRowStatus is active." + delete a row in this table. No read-create object + can be modified when teLinkBandwidthRowStatus is active(1)." ::= { teLinkBandwidthEntry 4 } teLinkBandwidthStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the teLinkBandwidthTable. Conceptual rows having the value 'permanent' need not allow write-access to any @@ -1206,88 +1215,77 @@ ::= { teLinkObjects 5 } componentLinkEntry OBJECT-TYPE SYNTAX ComponentLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table exists for each ifEntry that represents a component link. An ifEntry must exist in the ifTable before a componentLinkEntry is created with the - corresponding ifIndex. If an entry representing a component - link is destroyed in the ifTable, then so is the - corresponding entry in the componentLinkTable. The - administrative and operational status values are controlled - from the ifEntry." + corresponding ifIndex. ifEntry's ifType can be + of any interface type which has been defined for TE Link + interworking. Examples include ATM, Frame Relay, Ethernet, etc. + If an entry representing a component link is destroyed in the + ifTable, then so is the corresponding entry in the + componentLinkTable. The administrative and operational status + values are controlled from the ifEntry." INDEX { ifIndex } ::= { componentLinkTable 1 } ComponentLinkEntry ::= SEQUENCE { - componentLinkMuxCapability INTEGER, - componentLinkPreferredProtection INTEGER, - componentLinkCurrentProtection INTEGER, + componentLinkMuxCapability SwitchingCapability, + componentLinkPreferredProtection LinkProtection, + componentLinkCurrentProtection LinkProtection, componentLinkRowStatus RowStatus, componentLinkStorageType StorageType } componentLinkMuxCapability OBJECT-TYPE - SYNTAX INTEGER { - packetSwitch1(1), - packetSwitch2(2), - packetSwitch3(3), - packetSwitch4(4), - layer2Switch(51), - tdm(100), - lambdaSwitch(150), - fiberSwitch(200) - } + SYNTAX SwitchingCapability MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies link multiplexing capabilities of the component link." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkEntry 1 } componentLinkPreferredProtection OBJECT-TYPE - SYNTAX INTEGER { - primary(1), - secondary(2) - } + SYNTAX LinkProtection MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies whether this component link is a primary or secondary entity." ::= { componentLinkEntry 2 } componentLinkCurrentProtection OBJECT-TYPE - SYNTAX INTEGER { - primary(1), - secondary(2) - } + SYNTAX LinkProtection MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute specifies whether this component link is currently used as primary or secondary link." ::= { componentLinkEntry 3 } componentLinkRowStatus 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. All read-create objects - can only be changed when componentLinkRowStatus is active." + delete a row in this table. No read-create object + can be modified when componentLinkRowStatus is active(1)." ::= { componentLinkEntry 4 } componentLinkStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the componentLinkTable. Conceptual rows having the value 'permanent' need not allow write-access to any @@ -1308,107 +1306,109 @@ ::= { teLinkObjects 6 } componentLinkDescriptorEntry OBJECT-TYPE SYNTAX ComponentLinkDescriptorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created for every component link descriptor. An ifEntry in the ifTable must exist before a componentLinkDescriptorEntry using the same ifIndex is created. - If a component link entry in the ifTable is destroyed, - then so are all entries in the componentLinkDescriptorTable - that use the ifIndex of this component link." + ifEntry's ifType can be of any interface type which has been + defined for TE Link interworking. Examples include ATM, Frame + Relay, Ethernet, etc. If a component link entry in the ifTable + is destroyed, then so are all entries in the + componentLinkDescriptorTable that use the ifIndex of this + component link." INDEX { ifIndex, componentLinkDescrId } ::= { componentLinkDescriptorTable 1 } ComponentLinkDescriptorEntry ::= SEQUENCE { componentLinkDescrId Unsigned32, - componentLinkEncodingType INTEGER, - componentLinkDescrPriority Unsigned32, - componentLinkMinReservBandwidth Unsigned32, - componentLinkMaxReservBandwidth Unsigned32, + componentLinkDescrEncodingType LinkEncodingType, + componentLinkDescrPriority Priority, + componentLinkDescrMinBandwidth Unsigned32, + componentLinkDescrMaxBandwidth Unsigned32, componentLinkDescrRowStatus RowStatus, componentLinkDescrStorageType StorageType } componentLinkDescrId OBJECT-TYPE - SYNTAX Unsigned32 + SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the link descriptor identifier." ::= { componentLinkDescriptorEntry 1 } -componentLinkEncodingType OBJECT-TYPE - SYNTAX INTEGER { - packet(1), - ethernet(2), - ansiEtsiPdh(3), - sdhItuSonetAnsi(5), - digitalWrapper(7), - lambda(8), - fiber(9), - fiberChannel(11) - } +componentLinkDescrEncodingType OBJECT-TYPE + SYNTAX LinkEncodingType MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the component link encoding type." REFERENCE - "[RFC3471]" + "Generalized MPLS Signaling Functional Description, RFC 3471" ::= { componentLinkDescriptorEntry 2 } componentLinkDescrPriority OBJECT-TYPE - SYNTAX Unsigned32 (0..7) + SYNTAX Priority MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the lowest priority at which that link encoding type is available for the component link." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkDescriptorEntry 3 } -componentLinkMinReservBandwidth OBJECT-TYPE +componentLinkDescrMinBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the minimum reservable bandwidth on the component link. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkDescriptorEntry 4 } -componentLinkMaxReservBandwidth OBJECT-TYPE +componentLinkDescrMaxBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the maximum reservable bandwidth on the component link. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkDescriptorEntry 5 } componentLinkDescrRowStatus 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. All read-create objects - can only be changed when componentLinkDescrRowStatus - is active." + delete a row in this table. No read-create object + can be modified when componentLinkDescrRowStatus + is active(1)." ::= { componentLinkDescriptorEntry 6 } componentLinkDescrStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the componentLinkDescriptorTable. Conceptual rows having the value 'permanent' need not allow write-access @@ -1430,135 +1430,150 @@ componentLinkBandwidthEntry OBJECT-TYPE SYNTAX ComponentLinkBandwidthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table contains information about the priority-based bandwidth on component links. An ifEntry in the ifTable must exist before a componentLinkBandwidthEntry using the same ifIndex is - created. If a component link entry in the ifTable is - destroyed, then so are all entries in the + created. ifEntry's ifType can be of any interface type which + has been defined for TE Link interworking. Examples include + ATM, Frame Relay, Ethernet, etc. If a component link entry in + the ifTable is destroyed, then so are all entries in the componentLinkBandwidthTable that use the ifIndex of this component link." INDEX { ifIndex, componentLinkPriority } ::= { componentLinkBandwidthTable 1 } ComponentLinkBandwidthEntry ::= SEQUENCE { - componentLinkPriority Unsigned32, + componentLinkPriority Priority, componentLinkUnreservedBandwidth Unsigned32, componentLinkMaximumLspBandwidth Unsigned32, componentLinkBandwidthRowStatus RowStatus, componentLinkBwStorageType StorageType } componentLinkPriority OBJECT-TYPE - SYNTAX Unsigned32 (1..8) + SYNTAX Priority MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This attribute specifies the priority. It should be mapped - to a number between 0 and 7." + "This attribute specifies the priority. A value of 0 is valid + as specified in the 'Traffic Engineering Extensions to OSPF + Version 2' document." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx and + Traffic Engineering Extensions to OSPF Version 2, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] and [OSPF] ::= { componentLinkBandwidthEntry 1 } componentLinkUnreservedBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute specifies the component link unreserved bandwidth at priority p. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OPSF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkBandwidthEntry 2 } componentLinkMaximumLspBandwidth OBJECT-TYPE SYNTAX Unsigned32 + UNITS "thousand bps" MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the component link maximum LSP bandwidth at priority p. This value is an estimate in units of 1,000 bits per second." REFERENCE - "[GMPLS-OSPF]" + "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" + -- RFC Editor to fill in RFC number that will be assigned to + -- [GMPLS-OSPF] ::= { componentLinkBandwidthEntry 3 } componentLinkBandwidthRowStatus 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. All read-create objects can only - be changed when componentLinkBandwidthRowStatus is active." + delete a row in this table. No read-create object can + be modified when componentLinkBandwidthRowStatus is + active(1)." ::= { componentLinkBandwidthEntry 4 } componentLinkBwStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the componentLinkBandwidthTable. Conceptual rows having the value 'permanent' need not allow write-access to any columnar object in the row." ::= { componentLinkBandwidthEntry 5 } -- End of componentLinkBandwidthTable -- Notification Configuration -teLinkNotifEnable OBJECT-TYPE +teLinkNotificationsEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is true, then it enables the generation of the TE link notifications, otherwise these notifications are not emitted." DEFVAL { false } ::= { teLinkObjects 8 } -- Notifications -- TE Link Notifications linkBundleMismatch NOTIFICATION-TYPE - OBJECTS { teLinkIpAddrType, teLinkIpAddr, teLinkRemoteIpAddr } + OBJECTS { teLinkAddressType, + teLinkLocalIpAddr, teLinkRemoteIpAddr, + teLinkIncomingIfId, teLinkOutgoingIfId } STATUS current DESCRIPTION "This notification is generated when a mismatch is found on a bundled link. Such mismatch can be detected for instance if one of the traffic engineering parameters is not consistent across all TE links within a bundled link (resource class, etc.)." ::= { teLinkNotifications 1 } -- End of notifications -- Module compliance teLinkGroups OBJECT IDENTIFIER ::= { teLinkConformance 1 } teLinkCompliances OBJECT IDENTIFIER ::= { teLinkConformance 2 } -teLinkFullModuleCompliance MODULE-COMPLIANCE +teLinkModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the - configuration and monitoring of TE Link MIB." + configuration and monitoring of TE Link MIB module." MODULE -- this module -- The mandatory groups have to be implemented -- by all devices supporting TE links. However, they may all -- be supported as read-only objects in the case where automatic -- configuration is supported. MANDATORY-GROUPS { teLinkGroup, teLinkBandwidthGroup, componentLinkBandwidthGroup } @@ -1566,196 +1581,116 @@ DESCRIPTION "This group is mandatory for G-MPLS enabled devices." GROUP teLinkNotificationGroup DESCRIPTION "This group is mandatory for equipment that support TE link notifications." -- teLinkTable - OBJECT teLinkIpAddrType + OBJECT teLinkAddressType SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } - MIN-ACCESS read-only DESCRIPTION - "The dns(16) address type need not be supported. - The ipv4(1) and ipv6(2) address types need not be - supported if numbered links are not supported. The - unknown(0) address type need not be supported if - unnumbered links are not supported." + "Only ipv4(1) and ipv6(2) address types need to be + supported for numbered links. For unnumbered links, the + unknown(0) address type needs to be supported." - OBJECT teLinkIpAddr + OBJECT teLinkLocalIpAddr SYNTAX InetAddress (SIZE(0|4|16)) DESCRIPTION "Size of TE link IP address depends on type of TE link. TE link IP address size is zero if link is unnumbered, four if link IP address is IPv4 and sixteen if link IP address is IPv6." OBJECT teLinkRemoteIpAddr SYNTAX InetAddress (SIZE(0|4|16)) DESCRIPTION "Size of TE link IP address depends on type of TE link. TE link IP address size is zero if link is unnumbered, four if link IP address is IPv4 and sixteen if link IP address is IPv6." - OBJECT teLinkMuxCapability - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT teLinkProtectionType - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT teLinkRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION - "The notReady(3) state need not be supported." - - OBJECT teLinkStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." + "The notReady(3) and createAndWait(5) states need + not be supported." -- teLinkDescriptorTable - OBJECT teLinkEncodingType - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT teLinkDescrPriority - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT teLinkMinReservableBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT teLinkMaxReservableBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT teLinkDescrRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION - "The notReady(3) state need not be supported." + "The notReady(3) and createAndWait(5) states need + not be supported." OBJECT teLinkDescrStorageType - SYNTAX INTEGER { other(1) } + MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- teLinkSrlgTable OBJECT srlgRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." - OBJECT srlgStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." - -- teLinkBandwidthTable - OBJECT teLinkMaximumLspBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT teLinkBandwidthRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." - OBJECT teLinkBandwidthStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." - -- componentLinkTable - OBJECT componentLinkMuxCapability - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT componentLinkMaxReservBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT componentLinkRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." - OBJECT componentLinkStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." - -- componentLinkDescriptorTable OBJECT componentLinkDescrRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION - "The notReady(3) state need not be supported." - - OBJECT componentLinkDescrStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." + "The notReady(3) and createAndWait(5) states need + not be supported." -- componentLinkBandwidthTable - OBJECT componentLinkMaximumLspBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT componentLinkBandwidthRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." - OBJECT componentLinkBwStorageType - SYNTAX INTEGER { other(1) } - DESCRIPTION - "Only other(1) needs to be supported." - ::= { teLinkCompliances 1 } -teLinkMonModuleCompliance MODULE-COMPLIANCE +teLinkModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the - monitoring of TE link MIB." + monitoring of TE link MIB module." MODULE -- this module -- The mandatory groups have to be implemented -- by all devices supporting TE links. However, they may all -- be supported as read-only objects in the case where manual -- configuration is unsupported. MANDATORY-GROUPS { teLinkGroup, teLinkBandwidthGroup, componentLinkBandwidthGroup } @@ -1763,40 +1698,39 @@ GROUP teLinkSrlgGroup DESCRIPTION "This group is mandatory for G-MPLS enabled devices." GROUP teLinkNotificationGroup DESCRIPTION "This group is optional." -- teLinkTable - OBJECT teLinkIpAddrType + OBJECT teLinkAddressType SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } MIN-ACCESS read-only DESCRIPTION - "The dns(16) address type need not be supported. - The ipv4(1) and ipv6(2) address types need not be - supported if numbered links are not supported. The - unknown(0) address type need not be supported if - unnumbered links are not supported." + "Only ipv4(1) and ipv6(2) address types need to be + supported for numbered links. For unnumbered links, the + unknown(0) address type needs to be supported." - OBJECT teLinkIpAddr + OBJECT teLinkLocalIpAddr SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only DESCRIPTION "Size of TE link IP address depends on type of TE link. TE link IP address size is zero if link is unnumbered, four if link IP address is IPv4 and sixteen if link IP address is IPv6." - OBJECT teLinkRemoteIpAddr SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only DESCRIPTION "Size of TE link IP address depends on type of TE link. TE link IP address size is zero if link is unnumbered, four if link IP address is IPv4 and sixteen if link IP address is IPv6." OBJECT teLinkMuxCapability MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -1805,105 +1739,99 @@ MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT teLinkWorkingPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT teLinkRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) state need not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT teLinkStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- teLinkDescriptorTable - OBJECT teLinkEncodingType + OBJECT teLinkDescrEncodingType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT teLinkDescrPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." - - OBJECT teLinkMinReservableBandwidth + OBJECT teLinkDescrMinResBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT teLinkMaxReservableBandwidth + OBJECT teLinkDescrMaxResBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT teLinkDescrRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) state need not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT teLinkDescrStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- teLinkSrlgTable OBJECT srlgRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT srlgStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- teLinkBandwidthTable OBJECT teLinkMaximumLspBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT teLinkBandwidthRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT teLinkBandwidthStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- componentLinkTable + OBJECT componentLinkMuxCapability MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT componentLinkPreferredProtection MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -1900,119 +1828,113 @@ OBJECT componentLinkMuxCapability MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT componentLinkPreferredProtection MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT componentLinkMaxReservBandwidth - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT componentLinkRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT componentLinkStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- componentLinkDescriptorTable - OBJECT componentLinkEncodingType + OBJECT componentLinkDescrEncodingType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT componentLinkDescrPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT componentLinkMinReservBandwidth + OBJECT componentLinkDescrMinBandwidth + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT componentLinkDescrMaxBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT componentLinkDescrRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) state need not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT componentLinkDescrStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." -- componentLinkBandwidthTable OBJECT componentLinkMaximumLspBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT componentLinkBandwidthRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." + "Write access is not required and active(1) is the + only status that needs to be supported." OBJECT componentLinkBwStorageType - SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Only other(1) needs to be supported." + "Write access is not required." ::= { teLinkCompliances 2 } -- Units of conformance teLinkGroup OBJECT-GROUP - OBJECTS { teLinkIpAddrType, - teLinkIpAddr, + OBJECTS { teLinkAddressType, + teLinkLocalIpAddr, teLinkRemoteIpAddr, teLinkMetric, teLinkMuxCapability, teLinkProtectionType, teLinkWorkingPriority, teLinkResourceClass, teLinkIncomingIfId, teLinkOutgoingIfId, teLinkRowStatus, teLinkStorageType, - teLinkEncodingType, + teLinkDescrEncodingType, teLinkDescrPriority, - teLinkMinReservableBandwidth, - teLinkMaxReservableBandwidth, + teLinkDescrMinResBandwidth, + teLinkDescrMaxResBandwidth, teLinkDescrRowStatus, teLinkDescrStorageType, componentLinkMuxCapability, componentLinkPreferredProtection, componentLinkCurrentProtection, componentLinkRowStatus, componentLinkStorageType, - teLinkNotifEnable + teLinkNotificationsEnabled } STATUS current DESCRIPTION "Collection of objects needed for the monitoring of resources associated with TE links." ::= { teLinkGroups 1 } teLinkSrlgGroup OBJECT-GROUP OBJECTS { srlgRowStatus, @@ -2033,24 +1955,24 @@ } STATUS current DESCRIPTION "Collection of objects needed for the monitoring of the priority-based bandwidth resources associated with TE links and component links." ::= { teLinkGroups 3 } componentLinkBandwidthGroup OBJECT-GROUP - OBJECTS { componentLinkEncodingType, + OBJECTS { componentLinkDescrEncodingType, componentLinkDescrPriority, - componentLinkMinReservBandwidth, - componentLinkMaxReservBandwidth, + componentLinkDescrMinBandwidth, + componentLinkDescrMaxBandwidth, componentLinkDescrRowStatus, componentLinkDescrStorageType, componentLinkUnreservedBandwidth, componentLinkMaximumLspBandwidth, componentLinkBandwidthRowStatus, componentLinkBwStorageType } STATUS current DESCRIPTION @@ -2062,21 +1984,21 @@ NOTIFICATIONS { linkBundleMismatch } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." ::= { teLinkGroups 5 } -- End of TE-LINK-MIB END -11. Intellectual Property Considerations +10. Intellectual Property Considerations The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to per- tain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses @@ -2084,225 +2006,169 @@ general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. -12. Security Considerations - - It is clear that this MIB is potentially useful for monitoring of - link bundling enabled devices. This MIB can also be used for configu- - ration of certain objects, and anything that can be configured can be - incorrectly configured, with potentially disastrous results. - - At this writing, no security holes have been identified beyond those - that SNMP Security [RFC2571] is itself intended to address. These - relate to primarily controlled access to sensitive information and - the ability to configure a device - or which might result from opera- - tor error, which is beyond the scope of any security architecture. +11. Security Considerations - There are a number of management objects defined in this MIB which - have a MAX-ACCESS clause of read-write and/or read-create. Such + There are a number of management objects defined in this MIB module + with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environ- ment without proper protection can have a negative effect on network - operations. The use of SNMP Version 3 is recommended over prior ver- - sions, for configuration control, as its security model is improved. + operations. These are the tables and objects and their sensitiv- + ity/vulnerability: - SNMPv1 or SNMPv2 are by themselves not a secure environment. Even if - the network itself is secure (for example by using IPSec [RFC2401]), - there is no control as to who on the secure network is allowed to - access and GET/SET (read/change/create/delete) the objects in this - MIB. It is recommended that the implementers consider the security - features as provided by the SNMPv3 framework. Specifically, the use - of the User-based Security Model [RFC2574] and the View-based Access - Control [RFC2575] is recommended. It is then a customer/user respon- - sibility to ensure that the SNMP entity giving access to an instance - of this MIB is properly configured to give access to the objects only + - Tables in this MIB module are used for routing purposes. + Unauthorized changes to attributes of these tables can disrupt + resource allocation in the network. + + Some of the readable objects in this MIB module (i.e., objects with a + MAX-ACCESS other than not-accessible) may be considered sensitive or + vulnerable in some network environments. It is thus important to con- + trol even GET and/or NOTIFY access to these objects and possibly to + even encrypt the values of these objects when sending them over the + network via SNMP. These are the tables and objects and their sensi- + tivity/vulnerability: + + - IP address entries in the teLinkTable (teLinkLocalIpAddr and + teLinkRemoteIpAddr) may reveal the internals of a network provider + IP address space. + + SNMP versions prior to SNMPv3 did not include adequate security. + Even if the network itself is secure (for example by using IPSec), + even then, there is no control as to who on the secure network is + allowed to access and GET/SET (read/change/create/delete) the objects + in this MIB module. + + It is RECOMMENDED that implementers consider the security features as + provided by the SNMPv3 framework (see [RFC3410], section 8), includ- + ing full support for the SNMPv3 cryptographic mechanisms (for authen- + tication and privacy). + + Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOM- + MENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable + cryptographic security. It is then a customer/operator responsibility + to ensure that the SNMP entity giving access to an instance of this + MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. - There are a number of managed objects in this MIB that may contain - information that may be sensitive from a business perspective, in - that they can be used to derive the network topology, e.g. list of - nodes and their IP address (teLinkTable), list of component links - (componentLinkTable) in addition to usage of network resources - (teLinkBandwidthTable and componentLinkBandwidthTable). Allowing - uncontrolled access to these objects could result in malicious and - unwanted disruptions of network traffic, incorrect network configura- - tion or theft of competitive business information. There are no - objects that are particularly sensitive in their own right, such as - passwords or monetary amounts. - -13. Acknowledgments +12. Acknowledgments - The general structure of this draft has been modeled around draft- - ietf-mpls-lsr-mib-06.txt. The authors would like to acknowlegde the - contribution of Dmitry Ryumkin. + The authors would like to acknowledge the contribution of Dmitry + Ryumkin. -14. References +13. References -14.1. Normative References +13.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. - [RFC2401] Kent, S., and Atkinson, R., "Security Architecture - for the Internet Protocol", RFC 2401, November - 1998. - [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, - J., Rose, M., and S. Waldbusser, "Conformance + J., Rose, M., and Waldbusser, S., "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2863] McCloghrie, K., and Kastenholtz, F., "The Interfaces Group MIB", RFC 2863, June 2000. + [RFC3291] Daniele, M., Haberman, B., Routhier, S., and + Shoenwaelder, J., "Textual Conventions for Internet + Network Addresses", RFC 3291, May 2002. + [RFC3471] Ashwood-Smith, P., Banarjee, A., Berger, L., Bernstein, G., Drake, J., Fan, Y., Kompella, K., Mannie, E., Lang, J., Rajagopalan, B., Rekhter, Y., Saha, D., Sharma, V., Swallow, G., and Tang, Z., "Generalized MPLS Signaling Functional Description", RFC 3471, January 2003. - [Assigned] Reynolds, J., and J. Postel, "Assigned Numbers", - RFC 1700, October 1994. See also: - http://www.iana.org/assignments/smi-numbers - [BUNDLING] Kompella, K., Rekhter, Y., and Berger, L., "Link Bundling in MPLS Traffic Engineering", Internet Draft , July 2002. [GMPLS-OSPF] Kompella, K., Rekhter, Y., Banerjee, A. et al, "OSPF Extensions in Support of Generalized MPLS", Internet Draft , December 2002. - [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS - FAMILY NUMBERS, (http://www.isi.edu/in- - notes/iana/assignements/address-family-numbers), - for MIB see: - ftp://ftp.isi.edu/mib/ianaaddressfamilynumbers.mib + [IANAifType] "IANAifType MIB Module", + http://www.iana.org/assignments/ianatype-mib. [LMP] Lang, J., Mitra, K., Drake, J., Kompella, K., Rekhter, Y., Berger, L., Rajagopalan, B., Basak, D., Sandick, H., Zinin, A., Rajagopalan, B., and Ramamoorthi, S., "Link Management Protocol", Internet Draft , March 2003. [OSPF] Katz, D., Yeung, D., and Kompella, K., "Traffic Engineering Extensions to OSPF", Internet Draft , October 2002. -14.2. Informative References - -[RFC1155] Rose, M., and K. McCloghrie, "Structure and - Identification of Management Information for TCP/IP- - based Internets", STD 16, RFC 1155, May 1990. - -[RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, - "Simple Network Management Protocol", STD 15, RFC 1157, - May 1990. - -[RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", - STD 16, RFC 1212, March 1991. - -[RFC1215] M. Rose, "A Convention for Defining Traps for use with - the SNMP", RFC 1215, March 1991. - -[RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, - "Introduction to Community-based SNMPv2", RFC 1901, - January 1996. - -[RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, - "Protocol Operations for Version 2 of the Simple - Network Management Protocol (SNMPv2)", RFC 1905, - January 1996. - -[RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, - "Transport Mappings for Version 2 of the Simple Network - Management Protocol (SNMPv2)", RFC 1906, January 1996. - -[RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, - "Introduction to Version 3 of the Internet-standard - Network Management Framework", RFC 2570, April 1999. - -[RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An - Architecture for Describing SNMP Management - Frameworks", RFC 2571, April 1999. - -[RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, - "Message Processing and Dispatching for the Simple - Network Management Protocol (SNMP)", RFC 2572, April - 1999. - -[RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 - Applications", RFC 2573, April 1999. - -[RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security - Model (USM) for version 3 of the Simple Network - Management Protocol (SNMPv3)", RFC 2574, April 1999. + [ROUTING] Kompella, K., Rekhter, Y., "Routing Extensions in + Support of Generalized MPLS", Internet Draft + , August 2002. -[RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based - Access Control Model (VACM) for the Simple Network - Management Protocol (SNMP)", RFC 2575, April 1999. +13.2. Informative References [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. [GMPLS-ARCH] Mannie, E., Ashwood-Smith, P., Awduche, D., Banarjee, A., Basak, D., Berger, L., Bernstein, G., Dharanikota, S., Drake, J., Fan, Y., Fedyk, D., Grammel, G., Guo, D., Kompella, K., Kullberg, A., Lang, J., Liaw, F., Nadeau, T., Ong, L., Papadimitriou, D., Pendarakis, D., Rajagopalan, B., Rekhter, Y., Saha, D., Sandick, H., Sharma, V., Swallow, G., Tang, Z., Yates, J., Young, G., Yu, J., Zinin, A., "Generalized Multi-Protocol Label Switching (GMPLS) Architecture", Internet Draft , March 2003. -15. Authors' Addresses +14. Authors' Addresses Martin Dubuc Thomas D. Nadeau Email: dubuc.consulting@rogers.com Cisco Systems, Inc. 300 Apollo Drive Chelmsford, MA 01824 Phone: +1-978-244-3051 Email: tnadeau@cisco.com Sudheer Dharanikota Jonathan P. Lang Avici Systems, Inc. Rincon Networks, Inc. 101 Billerica Avenue 110 El Paseo N Billerica, MA 08162 Santa Barbara, CA 93101 Email: sudheer@avici.com Email: jplang@ieee.org -16. Full Copyright Statement +15. Full Copyright Statement 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 docu- ment itself may not be modified in any way, such as by removing the