--- 1/draft-ietf-ccamp-gmpls-te-mib-06.txt 2006-02-04 22:57:04.000000000 +0100 +++ 2/draft-ietf-ccamp-gmpls-te-mib-07.txt 2006-02-04 22:57:04.000000000 +0100 @@ -1,23 +1,22 @@ - -CCAMP Working Group Thomas D. Nadeau, Ed. +Internet Working Group Thomas D. Nadeau, Ed. Internet Draft Cisco Systems, Inc. Proposed Status: Standards Track -Expires: April 2005 Adrian Farrel, Ed. +Expires: July 2005 Adrian Farrel, Ed. Old Dog Consulting - October 2004 + February 2005 Generalized Multiprotocol Label Switching (GMPLS) Traffic Engineering Management Information Base - draft-ietf-ccamp-gmpls-te-mib-06.txt + draft-ietf-ccamp-gmpls-te-mib-07.txt Status of this Memo By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that @@ -52,38 +51,38 @@ 4.1. Summary of GMPLS Traffic Engineering MIB Module ...... 4 5. Brief Description of GMPLS TE MIB Objects .............. 4 5.1. gmplsTunnelTable ..................................... 4 5.2. gmplsTunnelHopTable .................................. 5 5.3. gmplsTunnelARHopTable ................................ 5 5.4. gmplsTunnelCHopTable ................................. 5 5.5. gmplsTunnelErrorTable ................................ 5 5.6. gmplsTunnelReversePerfTable .......................... 5 6. Cross-referencing to the mplsLabelTable ................ 6 7. Example of GMPLS Tunnel Setup .......................... 6 - 8. GMPLS Traffic Engineering MIB Definitions ............. 10 + 8. GMPLS Traffic Engineering MIB Module .... ............. 10 9. Security Considerations ............................... 43 10. Acknowledgments ...................................... 44 11. IANA Considerations .................................. 44 11.1. IANA Considerations for GMPLS-TE-STD-MIB ........... 44 12. References ........................................... 45 12.1. Normative Refenerces ............................... 45 12.2. Informational References ........................... 46 13. Authors' Addresses ................................... 47 14. Full Copyright Statement ............................. 48 15. Intellectual Property Notice ......................... 48 1. Introduction 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 - Generalized Multiprotocol Label Switching (GMPLS) [GMPLSArch] based + Generalized Multiprotocol Label Switching (GMPLS) [RFC3945] based traffic engineering. The tables and objects defined in this document extend those defined in the equivalent document for MPLS traffic engineering [RFC3812], and management of GMPLS traffic engineering is built on management of MPLS traffic engineering. This MIB module should be used in conjunction with the companion document [GMPLSLSRMIB] for GMPLS based traffic engineering configuration and management. Comments should be made direct to the CCAMP mailing list at @@ -103,21 +102,21 @@ The companion document for modeling and managing GMPLS based LSRs [GMPLSLSRMIB] extends MPLS LSR MIB [RFC3813] with the same intentions. Textual conventions and OBJECT-IDENTIFIERS are defined in [RFC3811] and [GMPLSTCMIB]. 2. Terminology This document uses terminology from the MPLS architecture document - [RFC3031], from the GMPLS architecture document [GMPLSArch], and from + [RFC3031], from the GMPLS architecture document [RFC3945], and from the MPLS Traffic Engineering MIB [RFC3812]. Some frequently used terms are described next. An explicitly routed LSP (ERLSP) is referred to as a GMPLS tunnel. It consists of in-segment(s) and/or out-segment(s) at the egress/ingress LSRs, each segment being associated with one GMPLS enabled interface. These are also referred to as tunnel segments. Additionally, at an intermediate LSR, we model a connection as consisting of one or more in-segments and/or one or more @@ -422,50 +421,50 @@ No gmplsTunnelHopEntry is created for the second hop as it contains no special GMPLS features. Finally the mplsTunnelEntry is activated: In mplsTunnelTable(1,1,123.123.125.1,123.123.126.1) { mplsTunnelRowStatus = active(1) } -8. GMPLS Traffic Engineering MIB Definitions +8. GMPLS Traffic Engineering MIB Module GMPLS-TE-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Unsigned32, Counter32, Counter64, IpAddress, zeroDotZero FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] TruthValue, TimeStamp, DisplayString, RowPointer FROM SNMPv2-TC -- [RFC2579] - InetAddress + InetAddress, InetAddressType FROM INET-ADDRESS-MIB -- [RFC3291] mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId, mplsTunnelHopListIndex, mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex, mplsTunnelARHopListIndex, mplsTunnelARHopIndex, mplsTunnelCHopListIndex, mplsTunnelCHopIndex, mplsTunnelEntry, mplsTunnelAdminStatus, mplsTunnelOperStatus FROM MPLS-TE-STD-MIB -- [RFC3812] mplsStdMIB FROM MPLS-TC-STD-MIB -- [RFC3811] ; gmplsTeStdMIB MODULE-IDENTITY LAST-UPDATED - "200410080001Z" -- 8 October 2004 00:00:01 GMT + "200502090001Z" -- 9 February 2005 00:00:01 GMT ORGANIZATION "Common Control And Measurement Plane (CCAMP) Working Group" CONTACT-INFO " Thomas D. Nadeau Cisco Systems, Inc. Email: tnadeau@cisco.com Adrian Farrel Old Dog Consulting Email: adrian@olddog.co.uk @@ -481,21 +480,21 @@ This MIB module contains managed object definitions for GMPLS Traffic Engineering (TE) as defined in: 1. Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description, Berger, L. (Editor), RFC 3471, January 2003. 2. Generalized MPLS Signaling - RSVP-TE Extensions, Berger, L. (Editor), RFC 3473, January 2003." -- Revision history. REVISION - "200410080001Z" -- 8 October 2004 00:00:01 GMT + "200502090001Z" -- 9 February 2005 00:00:01 GMT DESCRIPTION "Initial version issued as part of RFC XXXX." ::= { mplsStdMIB xx } -- Top level components of this MIB. -- Notifications gmplsTeNotifications OBJECT IDENTIFIER ::= { gmplsTeStdMIB 0 } -- tables, scalars gmplsTeScalars OBJECT IDENTIFIER ::= { gmplsTeStdMIB 1 } @@ -1062,29 +1059,29 @@ gmplsTunnelHopLabelStatuses OBJECT-TYPE SYNTAX BITS { forwardPresent (0), reversePresent (1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates the presence of labels indicated by the gmplsTunnelHopExpLabel or - gmplsTunnelHopExpLabelPtr and - gmplsTunnelHopExpRvrsLabel or gmplsTunnelHopExpRvrsLabel - objects. + gmplsTunnelHopExpLabelPtr and gmplsTunnelHopExpRvrsLabel + or gmplsTunnelHopExpRvrsLabel objects. For the Present bits, a set bit indicates that a label is present for this hop in the route. This allows zero to be a valid label value." DEFVAL { { } } ::= { gmplsTunnelHopEntry 1 } + gmplsTunnelHopExpLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "If gmplsTunnelHopLabelStatuses object indicates that a forward label is present and gmplsTunnelHopExpLabelPtr contains the value zeroDotZero, then the label to use on this hop is found in this object encoded within a 32-bit integer." ::= { gmplsTunnelHopEntry 2 } @@ -1217,24 +1213,23 @@ SYNTAX BITS { forwardPresent (0), reversePresent (1), forwardGlobal (2), reverseGlobal (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates the presence and status of - labels indicated by the - gmplsTunnelARHopExpLabel or gmplsTunnelARHopExpLabelPtr and - gmplsTunnelARHopExpRvrsLabel or gmplsTunnelARHopExpRvrsLabelPtr - objects. + labels indicated by the gmplsTunnelARHopExpLabel or + gmplsTunnelARHopExpLabelPtr and gmplsTunnelARHopExpRvrsLabel + or gmplsTunnelARHopExpRvrsLabelPtr objects. For the Present bits, a set bit indicates that a label is present for this hop in the route. For the Global bits, a set bit indicates that the label comes from the Global Label Space. A clear bit indicates that this is a Per-Interface label. A Global bit only has meaning if the corresponding Present bit is set." ::= { gmplsTunnelARHopEntry 1 } gmplsTunnelARHopExpLabel OBJECT-TYPE @@ -1563,83 +1560,85 @@ result of a new error occurring in between object reads. Systems that are vulnerable to this should read gmplsTunnelErrorLastTime before and after reading the other objects." AUGMENTS { mplsTunnelEntry } ::= { gmplsTunnelErrorTable 1 } GmplsTunnelErrorEntry ::= SEQUENCE { gmplsTunnelErrorLastErrorType INTEGER, gmplsTunnelErrorLastTime TimeStamp, - gmplsTunnelErrorReporterType INTEGER, + gmplsTunnelErrorReporterType InetAddressType, gmplsTunnelErrorReporter InetAddress, gmplsTunnelErrorCode Unsigned32, gmplsTunnelErrorSubcode Unsigned32, gmplsTunnelErrorTLVs OCTET STRING, gmplsTunnelErrorHelpString DisplayString } gmplsTunnelErrorLastErrorType OBJECT-TYPE SYNTAX INTEGER { noError (0), unknown (1), - localProtocol (2), - remoteProtocol (3), - configuration (4), - pathComputation (5), - localResources (6) + protocol (2), + pathComputation (3), + localConfiguration (4), + localResources (5), + localOther (6) } MAX-ACCESS read-only STATUS current DESCRIPTION - "The nature of the last error. Provides - interpretation context for - gmplsTunnelErrorProtocolCode and - gmplsTunnelErrorProtocolSubcode. A value of noError - (0) shows that there is no error associated with - this tunnel and means that the other objects in this - entry have no meaning." + "The nature of the last error. Provides interpretation + context for gmplsTunnelErrorProtocolCode and + gmplsTunnelErrorProtocolSubcode. + + A value of noError (0) shows that there is no error + associated with this tunnel and means that the other + objects in this table entry have no meaning. + + A value of unknown (1) shows that there is an error + but that no additional information about the cause is + known. The error may have been received in a signaled + message or generated locally. + + A value of protocol (2) or pathComputation (3) indicates + that the cause of an error and identifies an error that + has been received through signaling or will itself be + signaled. + + A value of localConfiguration (4), localResources (5) or + localOther (6) identifies an error which has been detected + by the local node, but which will not be reported through + signaling." ::= { gmplsTunnelErrorEntry 1 } gmplsTunnelErrorLastTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The time at which the last error occurred. This is presented as the value of SysUpTime when the error occurred or was reported to this node. If gmplsTunnelErrorLastErrorType has the value noError (0), then this object is ignored." ::= { gmplsTunnelErrorEntry 2 } gmplsTunnelErrorReporterType OBJECT-TYPE - SYNTAX INTEGER { - unknown (0), - localNode (1), - localIpV4 (2), - remoteIpV4 (3), - localIpV6 (4), - remoteIpV6 (5) - } + SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION - "The reporter of the last error recorded. - This object is used principally to aid in interpretation - of gmplsTunnelErrorReporterIpv4Addr and - gmplsTunnelErrorReporterIpv6Addr. Where the error has - been locally generated and there is no requirement to - associate the error with any specific local address (such - as an interface), the value localNode (2) may be used. - If gmplsTunnelErrorLastError has the value noError - (0), then this object is ignored." + "The address type of the error reported. + This object is used to aid in interpretation of + gmplsTunnelErrorReporter." ::= { gmplsTunnelErrorEntry 3 } gmplsTunnelErrorReporter OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the node reporting the last error, or the address of the resource (such as an interface) associated with the error. @@ -1636,51 +1635,50 @@ ::= { gmplsTunnelErrorEntry 3 } gmplsTunnelErrorReporter OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the node reporting the last error, or the address of the resource (such as an interface) associated with the error. + If gmplsTunnelErrorLastErrorType has the value noError (0), then this object is ignored. + + If gmplsTunnelErrorLastErrorType has the value + unknown (1), localConfiguration (4), localResources (5), + or localOther (6) this object MAY contain a zero value. + This object should be interpreted in the context of - the value of the object gmplsTunnelErrorReporterType. - If that object has value localIpV4 (2) or remoteIpV4 (3), - this object should be viewed as having a syntax of - InetAddressIPv4. If gmplsTunnelErrorReporterType has - value localIpV6 (3) or remoteIpV6 (5), this object should be - viewed as having a syntax of InetAddressIPv6. Otherwise the - object should contain the value zero and should be ignored." + the value of the object gmplsTunnelErrorReporterType." REFERENCE "RFC3291, Textual Conventions for Internet Network Addresses, Section 4. Usage Hints." ::= { gmplsTunnelErrorEntry 4 } gmplsTunnelErrorCode OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The primary error code associated with the last error. The interpretation of this error code depends on the value of gmplsTunnelErrorLastErrorType. If the value of gmplsTunnelErrorLastErrorType is noError (0) the value of this object should be 0 and should be - ignored. If the value of - gmplsTunnelErrorLastErrorType is localProtocol (2) - or remoteProtocol (3) the error should be - interpreted in the context of the signling protocol - identified by the mplsTunnelSignallingProto object. + ignored. If the value of gmplsTunnelErrorLastErrorType + is protocol (2) the error should be interpreted in the + context of the signling protocol identified by the + mplsTunnelSignallingProto object. Values in excess 32767 of are not used by signaling protocols and may safely be used as implementation-specific error codes. " REFERENCE "1. Braden, R. (Ed.) et al., Resource ReserVation Protocol -- Version 1 Functional Specification, RFC 2205, September 1997. 2. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001. 3. Generalized MPLS Signaling - RSVP-TE Extensions, Berger, @@ -1770,46 +1770,67 @@ -- End of notifications. -- Module compliance. gmplsTeGroups OBJECT IDENTIFIER ::= { gmplsTeConformance 1 } gmplsTeCompliances OBJECT IDENTIFIER ::= { gmplsTeConformance 2 } - gmplsTeModuleCompliance MODULE-COMPLIANCE +-- Compliance requirement for fully compliant implementations. + -- The mandatory group has to be implemented by all + -- LSRs that originate, terminate or act as transit for + -- TE-LSPs/tunnels. + -- In addition, depending on the type of tunnels + -- supported, other groups become mandatory as + -- explained below. + + gmplsTeModuleFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION "Compliance statement for agents that provide full + support for GMPLS-TE-STD-MIB. Such devices can + then be monitored and also be configured using + this MIB module." + + MODULE -- this module + MANDATORY-GROUPS { + gmplsTunnelGroup, + gmplsTunnelScalarGroup, + gmplsTunnelSignaledGroup + } + ::= { gmplsTeCompliances 1 } + +-- Compliance requirement for read-only compliant implementations. + + gmplsTeModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION - "Compliance statement for agents that support the - GMPLS TE MIB." + "Compliance requirement for implementations that only + provide read-only support for GMPLS-TE-STD-MIB. + Such devices can then be monitored but cannot be + configured using this MIB module." + MODULE -- this module -- The mandatory group has to be implemented by all - -- LSRs that originate/terminate ESLSPs/tunnels. + -- LSRs that originate, terminate or act as transit for + -- TE-LSPs/tunnels. -- In addition, depending on the type of tunnels -- supported, other groups become mandatory as -- explained below. MANDATORY-GROUPS { gmplsTunnelGroup, gmplsTunnelScalarGroup } --- GROUP gmplsTunnelManualGroup --- DESCRIPTION --- "This group is mandatory for devices which support --- manual configuration of tunnels, in addition to --- gmplsTunnelGroup. The following constraints apply: --- mplsTunnelSignallingProto should be at least --- read-only with a value of none(1)." - GROUP gmplsTunnelSignaledGroup DESCRIPTION "This group is mandatory for devices which support signaled tunnel set up, in addition to gmplsTunnelGroup. The following constraints apply: mplsTunnelSignallingProto should be at least read-only returning a value of ldp(2), or rsvp(3)." GROUP gmplsTunnelIsNotIntfcGroup @@ -1912,22 +1934,22 @@ DESCRIPTION "Write access is not required." OBJECT gmplsTunnelExtraParamsPtr SYNTAX RowPointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- gmplsTunnelHopTable - -- gmplsTunnelHopLabelStatuses has max access read-only + -- gmplsTunnelHopLabelStatuses has max access read-only OBJECT gmplsTunnelHopExpLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelHopExpLabelPtr MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -1945,21 +1967,21 @@ -- all objects have max access read-only -- glmpsTunnelCHopTable -- all objects have max access read-only -- gmplsTunnelReversePerfTable -- all objects have max access read-only -- gmplsTunnelErrorTable -- all objects have max access read-only - ::= { gmplsTeCompliances 1 } + ::= { gmplsTeCompliances 2 } -- Units of conformance. gmplsTunnelGroup OBJECT-GROUP OBJECTS { gmplsTunnelDirection, gmplsTunnelReversePerfPackets, gmplsTunnelReversePerfHCPackets, gmplsTunnelReversePerfErrors, gmplsTunnelReversePerfBytes, @@ -1972,35 +1994,25 @@ gmplsTunnelErrorSubcode, gmplsTunnelErrorTLVs, gmplsTunnelErrorHelpString } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to implement tunnels. In addition, depending on the type of the tunnels supported (for example, manually configured or signaled, persistent or non-persistent, etc.), the following other - groups defined below are mandatory: gmplsTunnelManualGroup - and/or gmplsTunnelSignaledGroup, gmplsTunnelIsNotIntfcGroup + groups defined below are mandatory: + gmplsTunnelSignaledGroup, gmplsTunnelIsNotIntfcGroup and/or gmplsTunnelIsIntfcGroup." ::= { gmplsTeGroups 1 } --- gmplsTunnelManualGroup OBJECT-GROUP --- OBJECTS { --- mplsTunnelSignallingProto --- } --- STATUS current --- DESCRIPTION --- "Object(s) needed to implement manually configured --- tunnels." --- ::= { gmplsTeGroups 2 } - gmplsTunnelSignaledGroup OBJECT-GROUP OBJECTS { gmplsTunnelAttributes, gmplsTunnelLSPEncoding, gmplsTunnelSwitchingType, gmplsTunnelLinkProtection, gmplsTunnelGPid, gmplsTunnelSecondary, gmplsTunnelPathComp, gmplsTunnelUpNotRecip, @@ -2234,30 +2248,29 @@ [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)", RFC 3812, June 2004. [RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching (LSR) Router Management Information Base (MIB)", RFC 3813, June 2004. - [GMPLSArch] Mannie, E. (Editor), "Generalized Multiprotocol - Label Switching (GMPLS) Architecture", - draft-many-gmpls-architecture-07.txt, May - 2003, work in progress. + [RFC3945] Mannie, E. (Editor), "Generalized Multiprotocol + Label Switching (GMPLS) Architecture", RFC 3945, + October 2004. [GMPLSLSRMIB] Nadeau, T., Farrel, A., (Editors) "Generalized Multiprotocol Label Switching (GMPLS) Label Switching Router (LSR) Management Information - Base", draft-ietf-ccamp-gmpls-lsr-mib-06.txt, - October 2004, work in progress. + Base", draft-ietf-ccamp-gmpls-lsr-mib-07.txt, + February 2005, work in progress. [GMPLSOSPF] Kompella, K., et al., "OSPF Extensions in Support of Generalized MPLS", draft-ietf-ccamp-ospf-gmpls-extensions-12.txt, October 2003, work in progress. [GMPLSTCMIB] Nadeau, T., Farrel, A., (Editors) "Definitions of Textual Conventions for Multiprotocol Label Switching (MPLS) Management", draft-ietf-ccamp-gmpls-te-mib-06.txt, October 2004, @@ -2356,51 +2369,10 @@ to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -16. Changes - - This section to be removed before the draft progresses to RFC. - -16.1. Changes from version 5 to version 6 - - - ID nits and MIB boilerplate - -16.2. Changes from version 4 to version 5 - - - New IPR and copyright boiler plate. - - Correct typo in name of gmplsTunnelExtraParamsPtr - - Add to list of encoding types and GPids for G.709 - - Add G.709 reference - -16.3. Changes from version 3 to version 4 - - - Provide a way to configure additional tunnel parameters such as - tunnel resources through an arbitrary row pointer. - - Update references. - - Change reporting IP addresses to use InetAddress syntax - - Add support for IF_ID error reporting. - - Add a new notification, gmplsTunnelDown, containing cause - information. - - Clarify relationship to the gmplsLabelTable. - - Update descriptive text. - - Bring usage of labels in line with latest [RFC3813]. - -16.4. Changes from version 2 to version 3 - - - Work on basic compilation issues. - - Resolve defaults for objects with syntax BITS. - - Update references. - - Clarify which objects can be modified when rowStatus and - adminStatus are set to active. - - Control and reporting of upstream and downstream Notify - Recipients. - - Add support for control and reporting of GMPLS Administrative - Status object. - - Update examples.