--- 1/draft-ietf-mpls-telink-mib-01.txt 2006-02-05 00:43:47.000000000 +0100 +++ 2/draft-ietf-mpls-telink-mib-02.txt 2006-02-05 00:43:47.000000000 +0100 @@ -1,27 +1,27 @@ Network Working Group Martin Dubuc Internet Draft Category: Standards Track Sudheer Dharanikota -Expires: October 2003 Avici Systems +Expires: November 2003 Avici Systems Thomas D. Nadeau Cisco Systems Jonathan P. Lang Rincon Networks - April 2003 + May 2003 Traffic Engineering Link Management Information Base - draft-ietf-mpls-telink-mib-01.txt + draft-ietf-mpls-telink-mib-02.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. @@ -48,36 +48,36 @@ 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.5. componentLinkTable . . . . . . . . . . . . . . . . . . . . . . 4 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 +9. TE Link MIB Module Definitions . . . . . . . . . . . . . . . . . 13 +10. Intellectual Property Considerations . . . . . . . . . . . . . . 42 +11. Security Considerations . . . . . . . . . . . . . . . . . . . . 42 +12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 43 +13. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 +13.1 Normative References . . . . . . . . . . . . . . . . . . . . . 43 +13.2 Informative References . . . . . . . . . . . . . . . . . . . . 44 +14. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 +15. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 45 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). @@ -157,21 +157,21 @@ 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. Brief Description of MIB Objects - Sections 6.1-6.5 describe objects pertaining to TE links. The MIB + Sections 6.1-6.4 describe objects pertaining to TE links. The MIB objects were derived from the link bundling document [BUNDLING]. 6.1. teLinkTable This table represents the TE links, including bundled links, and their generic traffic engineering parameters. 6.2. teLinkDescriptorTable This table represents the TE link descriptors. @@ -218,156 +218,162 @@ 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 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 module itself. + MIB module itself. More details on the use of the ifStackTable + to establish relationship between bundled links, TE links and + component links are given in Section 8.2. 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. + out of two 1:1 TE links as depicted on the figure in Section 8.2. + 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, + ifIndex = 2, teLinkAddressType = unknown(0), - teLinkRowStatus = createAndGo(4) + teLinkLocalIpAddr = ''H, + teLinkRemoteIpAddr = ''H, + teLinkMetric = 5, + teLinkMuxCapability = lambdaSwitch(150), + teLinkProtectionType = dedicated1For1(4), + teLinkWorkingPriority = 7, + teLinkResourceClass = 3, + teLinkIncomingIfId = 0, + teLinkOutgoingIfId = 2, + teLinkRowStatus = createAndGo(4), + teLinkStorageType = nonVolatile(3) } In ifStackTable: { ifStackHigherLayer = 0, - ifStackLowerLayer = 25, + ifStackLowerLayer = 2, ifStackStatus = createAndGo(4) } Next, the two TE links are created. In teLinkTable: { - ifIndex = 20, + ifIndex = 3, teLinkAddressType = unknown(0), + teLinkLocalIpAddr = ''H, + teLinkRemoteIpAddr = ''H, teLinkMetric = 5, + teLinkMuxCapability = lambdaSwitch(150), + teLinkProtectionType = unprotected(2), + teLinkWorkingPriority = 7, teLinkResourceClass = 3, - teLinkRowStatus = createAndWait(5) + teLinkIncomingIfId = 0, + teLinkOutgoingIfId = 3, + teLinkRowStatus = createAndGo(4), + teLinkStorageType = nonVolatile(3) } In ifStackTable: { - ifStackHigherLayer = 25, - ifStackLowerLayer = 20, + ifStackHigherLayer = 2, + ifStackLowerLayer = 3, ifStackStatus = createAndGo(4) } In teLinkTable: { - ifIndex = 21, + ifIndex = 4, teLinkAddressType = unknown(0), + teLinkLocalIpAddr = ''H, + teLinkRemoteIpAddr = ''H, teLinkMetric = 5, + teLinkMuxCapability = lambdaSwitch(150), + teLinkProtectionType = unprotected(2), + teLinkWorkingPriority = 7, teLinkResourceClass = 3, - teLinkRowStatus = createAndWait(5) + teLinkIncomingIfId = 0, + teLinkOutgoingIfId = 4, + teLinkRowStatus = createAndGo(4), + teLinkStorageType = nonVolatile(3) } In ifStackTable: { - ifStackHigherLayer = 25, - ifStackLowerLayer = 21, + ifStackHigherLayer = 2, + ifStackLowerLayer = 4, ifStackStatus = createAndGo(4) } We assign SRLGs to the TE links. In the teLinkSrlgTable: - { - ifIndex = 20, - srlg = 10, - srlgRowStatus = createAndGo(4) + ifIndex = 3, + teSrlg = 10, + teSrlgRowStatus = createAndGo(4), + teSrlgStorageType = nonVolatile(3) } In the teLinkSrlgTable: { - ifIndex = 21, - srlg = 50, - srlgRowStatus = createAndGo(4) + ifIndex = 4, + teSrlg = 50, + teSrlgRowStatus = createAndGo(4), + teSrlgStorageType = nonVolatile(3) } The bundled link inherits the SRLG properties from the associated TE links. - Next, for each TE link, two component links are created. - An ifEntry with the same ifIndex needs to be created beforehand. - - In componentLinkTable: - { - ifIndex = 40, - componentLinkPreferredProtection = primary(1), - componentLinkRowStatus = createAndGo(4) - } - - In ifStackTable: - { - ifStackHigherLayer = 20, - ifStackLowerLayer = 40, - ifStackStatus = createAndGo(4) - } - - In componentLinkTable: - { - ifIndex = 43, - componentLinkPreferredProtection = secondary(2), - componentLinkRowStatus = createAndGo(4) - } + Next, for each unbundled TE link, a component link is created. - In ifStackTable: - { - ifStackHigherLayer = 20, - ifStackLowerLayer = 43, - ifStackStatus = createAndGo(4) - } + An ifEntry with the same ifIndex needs to be created beforehand. In componentLinkTable: - { - ifIndex = 44, + ifIndex = 5, + componentLinkMuxCapability = lambdaSwitch(150), componentLinkPreferredProtection = primary(1), - componentLinkRowStatus = createAndGo(4) + componentLinkRowStatus = createAndGo(4), + componentLinkStorageType = nonVolatile(3) } In ifStackTable: { - ifStackHigherLayer = 21, - ifStackLowerLayer = 44, + ifStackHigherLayer = 3, + ifStackLowerLayer = 5, ifStackStatus = createAndGo(4) } In componentLinkTable: { - ifIndex = 48, + ifIndex = 6, + componentLinkMuxCapability = lambdaSwitch(150), componentLinkPreferredProtection = secondary(2), componentLinkRowStatus = createAndGo(4) + componentLinkStorageType = nonVolatile(3) } In ifStackTable: { - ifStackHigherLayer = 21, - ifStackLowerLayer = 48, + ifStackHigherLayer = 4, + ifStackLowerLayer = 6, ifStackStatus = createAndGo(4) } In this example, once a component link is added to the componentLinkTable, the associated link descriptors are implicitly added to the componentLinkDescriptorTable. TE link link descriptors are derived from their component link descriptors. @@ -495,27 +501,31 @@ Example: MPLS is being carried on a bundled TE links. The bundled TE link represents a 1:1 optical transport interface. 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) | + | ifIndex = 1 | +-------------------------------------------------------------------+ | TE link (bundled link) ifType = teLink(200) | + | ifIndex = 2 | +--------------------------------+-+--------------------------------+ | TE link ifType = teLink(200) | | TE link ifType = teLink(200) | + | ifIndex = 3 | | ifIndex = 4 | +--------------------------------+ +--------------------------------+ | Component link | | Component link | | ifType = opticalTransport(196) | | ifType = opticalTransport(196) | + | ifIndex = 5 | | ifIndex = 6 | +--------------------------------+ +--------------------------------+ 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) @@ -561,41 +571,40 @@ ifStackTable Entries HigherLayer LowerLayer 0 1 1 2 2 3 3 0 9. TE Link MIB Module Definitions -TE-LINK-MIB DEFINITIONS ::= BEGIN +TE-LINK-STD-MIB DEFINITIONS ::= BEGIN IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - mib-2, Unsigned32 + MODULE-IDENTITY, OBJECT-TYPE, transmission, Unsigned32 FROM SNMPv2-SMI - MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF - TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType + TEXTUAL-CONVENTION, RowStatus, StorageType FROM SNMPv2-TC InterfaceIndexOrZero, ifIndex FROM IF-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; -teLinkMIB MODULE-IDENTITY - LAST-UPDATED "200304291200Z" -- 29 April 2003 12:00:00 EST +teLinkStdMIB MODULE-IDENTITY + LAST-UPDATED "200305211200Z" -- 21 May 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 @@ -607,93 +616,93 @@ the MPLS working group mailing list at mpls@uu.net." DESCRIPTION "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 - "200304291200Z" -- 29 April 2003 12:00:00 EST + "200305211200Z" -- 21 May 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) + "Initial version published as RFC xxxx (to be assigned by RFC + Editor)" + ::= { transmission xxx } -- To be assigned by IANA (experimental 114 + -- can be used in the interim) -- Textual Conventions -Priority ::= TEXTUAL-CONVENTION +TeLinkPriority ::= 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." + 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) -LinkProtection ::= TEXTUAL-CONVENTION +TeLinkProtection ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Link protection." SYNTAX INTEGER { primary(1), secondary(2) } -SwitchingCapability ::= TEXTUAL-CONVENTION +TeLinkSwitchingCapability ::= 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 +TeLinkEncodingType ::= 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 } +teLinkNotifications OBJECT IDENTIFIER ::= { teLinkStdMIB 0 } -- Tables, Scalars -teLinkObjects OBJECT IDENTIFIER ::= { teLinkMIB 1 } +teLinkObjects OBJECT IDENTIFIER ::= { teLinkStdMIB 1 } -- Conformance -teLinkConformance OBJECT IDENTIFIER ::= { teLinkMIB 2 } +teLinkConformance OBJECT IDENTIFIER ::= { teLinkStdMIB 2 } -- TE Link Table teLinkTable OBJECT-TYPE SYNTAX SEQUENCE OF TeLinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the grouping of component links into TE links and grouping of TE links into bundled links." @@ -712,23 +721,23 @@ teLinkTable. The administrative and operational status values are controlled from the ifEntry." INDEX { ifIndex } ::= { teLinkTable 1 } TeLinkEntry ::= SEQUENCE { teLinkAddressType InetAddressType, teLinkLocalIpAddr InetAddress, teLinkRemoteIpAddr InetAddress, teLinkMetric Unsigned32, - teLinkMuxCapability SwitchingCapability, + teLinkMuxCapability TeLinkSwitchingCapability, teLinkProtectionType INTEGER, - teLinkWorkingPriority Priority, + teLinkWorkingPriority TeLinkPriority, teLinkResourceClass Unsigned32, teLinkIncomingIfId InterfaceIndexOrZero, teLinkOutgoingIfId InterfaceIndexOrZero, teLinkRowStatus RowStatus, teLinkStorageType StorageType } teLinkAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create @@ -736,54 +745,65 @@ DESCRIPTION "The type of Internet address for the TE link. Only IPv4, IPv6 and unknown (for unnumbered links) need to be supported." ::= { teLinkEntry 1 } teLinkLocalIpAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION - "For IPv4 and IPv6 numbered links, this object represents the - 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." + "The local Internet address for numbered links. The type of this + address is determined by the value of the teLinkAddressType + object. + + For IPv4 and IPv6 numbered links, this object represents the + local IP address associated with the TE link. For an + unnumbered link, the local address is of type unknown and this + object is set to the zero length string and the + teLinkOutgoingIfId object then identifies the unnumbered + address." ::= { 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). For unnumbered links, the remote address - is not stored in this object, but rather in the - teLinkIncomingIfId object." + "The remote Internet address for numbered links. The type of + this address is determined by the value of the + teLinkAddressType object. + + The remote IP address associated with the TE link (IPv4 and + IPv6 numbered links). For an unnumbered link, the remote + address is of type unknown and this object is set to the + zero length string and the teLinkIncomingIfId object then + identifies the unnumbered address." ::= { 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 "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 SwitchingCapability + SYNTAX TeLinkSwitchingCapability 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 "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" -- RFC Editor to fill in RFC number that will be assigned to @@ -807,21 +827,21 @@ found in the 'Routing Extensions in Support of Generalized MPLS' document." REFERENCE "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 Priority + SYNTAX TeLinkPriority 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 "OSPF Extensions in Support of Generalized MPLS, RFC xxxx" -- RFC Editor to fill in RFC number that will be assigned to @@ -923,48 +943,48 @@ 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, - teLinkDescrEncodingType LinkEncodingType, - teLinkDescrPriority Priority, + teLinkDescrEncodingType TeLinkEncodingType, + teLinkDescrPriority TeLinkPriority, teLinkDescrMinResBandwidth Unsigned32, teLinkDescrMaxResBandwidth Unsigned32, teLinkDescrRowStatus RowStatus, teLinkDescrStorageType StorageType } teLinkDescriptorId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the link descriptor identifier." ::= { teLinkDescriptorEntry 1 } teLinkDescrEncodingType OBJECT-TYPE - SYNTAX LinkEncodingType + SYNTAX TeLinkEncodingType MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the TE link encoding type." REFERENCE "Generalized MPLS Signaling Functional Description, RFC 3471" ::= { teLinkDescriptorEntry 2 } teLinkDescrPriority OBJECT-TYPE - SYNTAX Priority + SYNTAX TeLinkPriority MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the lowest priority at which that link encoding type is available." REFERENCE "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 } @@ -1043,54 +1063,54 @@ 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 } + INDEX { ifIndex, teSrlg } ::= { teLinkSrlgTable 1 } TeLinkSrlgEntry ::= SEQUENCE { - srlg Unsigned32, - srlgRowStatus RowStatus, - srlgStorageType StorageType + teSrlg Unsigned32, + teSrlgRowStatus RowStatus, + teSrlgStorageType StorageType } -srlg OBJECT-TYPE +teSrlg OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "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 "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 +teSrlgRowStatus 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. No read-create object can - be modified if srlgRowStatus is active(1)." + be modified if teSrlgRowStatus is active(1)." ::= { teLinkSrlgEntry 2 } -srlgStorageType OBJECT-TYPE +teSrlgStorageType 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 columnar object in the row." ::= { teLinkSrlgEntry 3 } @@ -1112,33 +1132,33 @@ 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. 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 } + INDEX { ifIndex, teLinkBandwidthPriority } ::= { teLinkBandwidthTable 1 } TeLinkBandwidthEntry ::= SEQUENCE { - teLinkPriority Priority, + teLinkBandwidthPriority TeLinkPriority, teLinkUnreservedBandwidth Unsigned32, teLinkMaximumLspBandwidth Unsigned32, teLinkBandwidthRowStatus RowStatus, teLinkBandwidthStorageType StorageType } -teLinkPriority OBJECT-TYPE - SYNTAX Priority +teLinkBandwidthPriority OBJECT-TYPE + SYNTAX TeLinkPriority MAX-ACCESS not-accessible STATUS current DESCRIPTION "This attribute specifies the priority. A value of 0 is valid as specified in the 'Traffic Engineering Extensions to OSPF Version 2' document." REFERENCE "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 @@ -1218,59 +1238,60 @@ 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. 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 SwitchingCapability, - componentLinkPreferredProtection LinkProtection, - componentLinkCurrentProtection LinkProtection, + componentLinkMuxCapability TeLinkSwitchingCapability, + componentLinkPreferredProtection TeLinkProtection, + componentLinkCurrentProtection TeLinkProtection, componentLinkRowStatus RowStatus, componentLinkStorageType StorageType } componentLinkMuxCapability OBJECT-TYPE - SYNTAX SwitchingCapability + SYNTAX TeLinkSwitchingCapability MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies link multiplexing capabilities of the component link." REFERENCE "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 LinkProtection + SYNTAX TeLinkProtection 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 LinkProtection + SYNTAX TeLinkProtection 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 @@ -1317,48 +1338,48 @@ 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, - componentLinkDescrEncodingType LinkEncodingType, - componentLinkDescrPriority Priority, + componentLinkDescrEncodingType TeLinkEncodingType, + componentLinkDescrPriority TeLinkPriority, componentLinkDescrMinBandwidth Unsigned32, componentLinkDescrMaxBandwidth Unsigned32, componentLinkDescrRowStatus RowStatus, componentLinkDescrStorageType StorageType } componentLinkDescrId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the link descriptor identifier." ::= { componentLinkDescriptorEntry 1 } componentLinkDescrEncodingType OBJECT-TYPE - SYNTAX LinkEncodingType + SYNTAX TeLinkEncodingType MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the component link encoding type." REFERENCE "Generalized MPLS Signaling Functional Description, RFC 3471" ::= { componentLinkDescriptorEntry 2 } componentLinkDescrPriority OBJECT-TYPE - SYNTAX Priority + SYNTAX TeLinkPriority 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 "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 } @@ -1440,29 +1461,29 @@ 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 Priority, + componentLinkPriority TeLinkPriority, componentLinkUnreservedBandwidth Unsigned32, componentLinkMaximumLspBandwidth Unsigned32, componentLinkBandwidthRowStatus RowStatus, componentLinkBwStorageType StorageType } componentLinkPriority OBJECT-TYPE - SYNTAX Priority + SYNTAX TeLinkPriority MAX-ACCESS not-accessible STATUS current DESCRIPTION "This attribute specifies the priority. A value of 0 is valid as specified in the 'Traffic Engineering Extensions to OSPF Version 2' document." REFERENCE "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 @@ -1516,83 +1537,43 @@ 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 - -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 { 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 } teLinkModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the 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 } + GROUP teLinkSrlgGroup 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 teLinkAddressType SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } DESCRIPTION "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 teLinkLocalIpAddr @@ -1627,21 +1608,21 @@ "The notReady(3) and createAndWait(5) states need not be supported." OBJECT teLinkDescrStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- teLinkSrlgTable - OBJECT srlgRowStatus + OBJECT teSrlgRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." -- teLinkBandwidthTable OBJECT teLinkBandwidthRowStatus SYNTAX INTEGER { active(1), notInService(2), @@ -1692,24 +1673,20 @@ -- configuration is unsupported. MANDATORY-GROUPS { teLinkGroup, teLinkBandwidthGroup, componentLinkBandwidthGroup } GROUP teLinkSrlgGroup DESCRIPTION "This group is mandatory for G-MPLS enabled devices." - GROUP teLinkNotificationGroup - DESCRIPTION - "This group is optional." - -- teLinkTable OBJECT teLinkAddressType SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2) } MIN-ACCESS read-only DESCRIPTION "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." @@ -1785,28 +1764,28 @@ "Write access is not required and active(1) is the only status that needs to be supported." OBJECT teLinkDescrStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- teLinkSrlgTable - OBJECT srlgRowStatus + OBJECT teSrlgRowStatus SYNTAX INTEGER { active(1) } MIN-ACCESS read-only DESCRIPTION "Write access is not required and active(1) is the only status that needs to be supported." - OBJECT srlgStorageType + OBJECT teSrlgStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- teLinkBandwidthTable OBJECT teLinkMaximumLspBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -1919,33 +1898,32 @@ teLinkDescrEncodingType, teLinkDescrPriority, teLinkDescrMinResBandwidth, teLinkDescrMaxResBandwidth, teLinkDescrRowStatus, teLinkDescrStorageType, componentLinkMuxCapability, componentLinkPreferredProtection, componentLinkCurrentProtection, componentLinkRowStatus, - componentLinkStorageType, - teLinkNotificationsEnabled + componentLinkStorageType } STATUS current DESCRIPTION "Collection of objects needed for the monitoring of resources associated with TE links." ::= { teLinkGroups 1 } teLinkSrlgGroup OBJECT-GROUP - OBJECTS { srlgRowStatus, - srlgStorageType + OBJECTS { teSrlgRowStatus, + teSrlgStorageType } STATUS current DESCRIPTION "Collection of objects needed for the monitoring of SRLG resources associated with TE links." ::= { teLinkGroups 2 } teLinkBandwidthGroup OBJECT-GROUP OBJECTS { teLinkUnreservedBandwidth, @@ -1973,28 +1951,20 @@ componentLinkBandwidthRowStatus, componentLinkBwStorageType } STATUS current DESCRIPTION "Collection of objects needed for the monitoring of bandwidth parameters associated with component links." ::= { teLinkGroups 4 } -teLinkNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { linkBundleMismatch } - STATUS current - DESCRIPTION - "Set of notifications implemented in this module. - None is mandatory." - ::= { teLinkGroups 5 } - -- End of TE-LINK-MIB END 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 @@ -2016,21 +1986,22 @@ 11. Security Considerations 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. These are the tables and objects and their sensitiv- ity/vulnerability: - - Tables in this MIB module are used for routing purposes. + - All the tables in this MIB module have routing information in + them and so they all have the same security attributes. 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: @@ -2101,21 +2072,21 @@ "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. [IANAifType] "IANAifType MIB Module", - http://www.iana.org/assignments/ianatype-mib. + http://www.iana.org/assignments/ianaiftype-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