--- 1/draft-ietf-mpls-p2mp-te-mib-03.txt 2007-07-09 21:12:09.000000000 +0200 +++ 2/draft-ietf-mpls-p2mp-te-mib-04.txt 2007-07-09 21:12:09.000000000 +0200 @@ -1,25 +1,23 @@ Network Working Group A. Farrel (Editor) -Updates: RFC3812 Old Dog Consulting -Intended Status: Standards Track -Expires: August 2007 S. Yasukawa - NTT +INTERNET-DRAFT Old Dog Consulting +Updates: RFC3812 +Intended Status: Standards Track S. Yasukawa +Expires: January 2008 NTT T. Nadeau Cisco Systems, Inc. - February 2007 - Point-to-Multipoint Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB) module - draft-ietf-mpls-p2mp-te-mib-03.txt + draft-ietf-mpls-p2mp-te-mib-04.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other @@ -34,70 +32,78 @@ 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 for use with network management protocols in the Internet community. In particular, it describes managed objects for point-to-multipoint - Multiprotocol Label Switching-based traffic engineering. + (P2MP) Multiprotocol Label Switching (MPLS) based traffic engineering + (TE). Table of Contents 1. Introduction .................................................. 2 2. The Internet-Standard Management Framework .................... 3 3. Feature List .................................................. 3 4. Outline ....................................................... 4 4.1. Summary of the P2MP MPLS Traffic Engineering MIB Module .. 5 4.2. Use of MPLS-TE-STD-MIB ................................... 5 4.3. Scalars .................................................. 7 4.3. mplsTeP2mpTunnelTable .................................... 8 4.5. mplsTeP2mpTunnelDestTable ................................ 8 4.6. mplsTeP2mpTunnelBranchPerfTable .......................... 8 - 4.7. Relationships Between MIB Tables ......................... 8 + 4.7. Relationships Between MIB Tables ......................... 9 5. Using the P2MP MPLS-TE MIB Module ............................. 9 5.1. Example Use of the P2MP MPLS-TE MIB Module .............. 10 6. Managing P2MP MPLS-TE LSPs Through the LSR MIB Module ........ 15 6.1. Example Use of the LSR MIB Module ....................... 16 7. MPLS Traffic Engineering P2MP MIB Definitions ................ 19 8. Security Considerations ...................................... 43 - 9. Acknowledgments .............................................. 45 + 9. Acknowledgments .............................................. 44 10. IANA Considerations .......................................... 45 10.1. IANA Considerations for MPLS-TE-P2MP-STD-MIB ............ 45 11. References ................................................... 45 11.1. Normative References .................................... 45 11.2. Informative References ..................................... 46 12. Authors' Addresses ........................................... 47 13. Intellectual Property ........................................ 47 14. Full Copyright Statement ..................................... 48 0. Changes Since Previous Revision [This section to be removed before publication as an RFC.] - - Typos. - - Move the Informational RFC 4461 to be an Informative Reference. - - Updates to sections 4.2, 4.3, and 4.7 for clarity. + + Updates after early MIB Doctor review. + - Fix compiler warnings + - Minor clarifications in Abstract and Overview sections + - Add conformance statements for objects of syntax InetAddressType + - Clarifications to various Description clauses + - Delete mplsTeP2mpTunnelIsP2MP + - Allow mplsTeP2mpTunnelSubGroupOrigin to have zero length when + mplsTeP2mpTunnelSubGroupOrigin is set to unknown(0) + - Change syntax of mplsTeP2mpTunnelSubGroupID to IndexInteger 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 point-to-multipoint (P2MP) Multiprotocol Label Switching (MPLS) traffic engineering (TE). MPLS is defined in [RFC3031] and a signaling protocol for point-to-point (P2P) MPLS-TE (TE extensions to the Resource Reservation Protocol - RSVP-TE) is defined in [RFC3209]. RSVP-TE is - extended for use in a P2MP environment by [P2MP-TE] following the + extended for use in a P2MP environment by [RFC4875] following the requirements set out in [RFC4461]. [RFC3812] provides a MIB module for modeling and controlling P2P MPLS-TE in conjunction with Textual Conventions defined in [RFC3811]. In addition, [RFC3813] defines a MIB module for modeling and controlling an MPLS Label Switching Router (LSR) that may support MPLS-TE. An overview of MPLS MIB modules can be found in [RFC4221]. This document defines a MIB module for managing and controlling P2MP MPLS-TE. It builds on the objects and tables defined in [RFC3812] so @@ -165,41 +171,48 @@ are invariant across the branches of a P2MP LSP toward different leaves. One of the configuration parameters associated with an MPLS tunnel is the path (or route) that supporting LSPs are required to follow. This can be specified as a series of loose or strict hops. In P2MP TE, this specification of the LSP route includes implicit or explicit identification of the branch points in the P2MP LSPs. The setup of P2MP tunnels can be achieved as: - - management actions only, by using [RFC3813] - - control plane actions under the direction of a management process - by using [RFC3812] and the MIB module defined in this document - - control plane actions under the direction of some other management - process, monitored using [RFC3812] and the MIB module defined in - this document. + + - Management actions only, by using [RFC3813] to configure cross- + connections or forwarding state at the LSRs along the path of the + tunnel. See Section 6 for more details. + + - Control plane actions (i.e., signaling using [RFC4875]) under the + direction of a management process, by using [RFC3812] and the MIB + module defined in this document. + + - Control plane actions ([RFC4875]) under the direction of some other + management process, and monitored using [RFC3812] and the MIB + module defined in this document. Note that [RFC4802] defines a MIB module that can be used to manage and model Generalized MPLS (GMPLS) LSPs - it is a series of MIB objects and tables some of which extend tables in MPLS-TE-STD-MIB - [RFC3812]. [RFC4461] and [P2MP-TE] are clear that they apply to + [RFC3812]. [RFC4461] and [RFC4875] are clear that they apply to MPLS-TE [RFC3031] and GMPLS [RFC3945]. This document describes a MIB - module that can be used for both MPLS-TE and GMPLS P2MP LSPs. + module that can be used for both MPLS-TE and GMPLS P2MP LSPs, and all + objects apply to both MPLS and GMPLS. The following sections describe the components of the P2MP MPLS-TE MIB module. The subsequent section provides an explanation and - example of how the P2MP MPLS-TE MIB module can be used for the - processes listed above in combination with the MPLS-TE MIB module - defined in [RFC3812]. A further section describes how P2MP tunnels - can be managed solely through the LSR MIB module defined in - [RFC3813], and gives an example. + example of how the P2MP MPLS-TE MIB module can be used to configure + and manage a P2MP tunnel when used in combination with the MPLS-TE + MIB module defined in [RFC3812]. A further section describes how + P2MP tunnels can be managed solely through the LSR MIB module defined + in [RFC3813], and gives an example. 4.1. Summary of the P2MP MPLS Traffic Engineering MIB Module The MIB module consists of the following objects and tables: - The P2MP Tunnel table (mplsTeP2mpTunnelTable) sparse augments the MPLS-TE Tunnel table (mplsTunnelTable) and is used to set up and monitor P2MP MPLS-TE tunnels. - The P2MP Tunnel Destination table (mplsTeP2mpTunnelDestTable) lists @@ -222,134 +235,130 @@ The MIB module defined in this document builds on the objects and tables of MPLS-TE-STD-MIB defined in [RFC3812]. That is, most of the basic properties of the MPLS tunnel are modeled and managed by objects in MPLS-TE-STD-MIB, and new objects are only defined within this document where additional features or different behavior is required. When an MPLS-TE tunnel is a P2MP tunnel, certain objects in the mplsTunnelTable have new meanings just as the signaling objects in RSVP-TE [RFC3209] have different meanings when the signaling messages - are used to establish P2MP LSPs [P2MP-TE]. + are used to establish P2MP LSPs [RFC4875]. As indicated in the next section, the presence of a conceptual row in the mplsTeP2mpTunnelTable of the MIB module defined in this document - with the object mplsTeP2mpTunnel containing the value true(1) shows - that a tunnel defined in the corresponding conceptual row of the - mplsTunnelTable of MPLS-TE-STD-MIB is a P2MP tunnel. Under those + shows that a tunnel defined in the corresponding conceptual row of + the mplsTunnelTable of MPLS-TE-STD-MIB is a P2MP tunnel. Under those circumstances the following scalars and objects from the appropriate conceptual rows in MPLS-TE-STD-MIB MUST be interpreted as follows. The text below is supplementary for the Description clauses in [RFC3812]. mplsTunnelMaxHops This object continues to refer to the maximum number of hops that can be configured to a single destination for a tunnel on this device. Thus, for a P2MP tunnel, this refers to the maximum number of hops that can be configured on this device to any individual destination of the tunnel. A new object, mplsTeP2mpTunnelTotalMaxHops, is defined in this MIB module to supply the total number of hops across all destinations - of a P2MP tunnel. + of a P2MP tunnel. mplsTeP2mpTunnelTotalMaxHops would normally be + set larger than or equal to mplsTunnelMaxHops. mplsTunnelEgressLSRId This object continues to map to the field in the RSVP-TE Session Object that occupies the space used by the IPv4 Tunnel Endpoint Address [RFC3209], but for a P2MP tunnel, this object does not identify an address of the egress of the tunnel. Instead it contains the P2MP ID value that identifies the identifier of the set of destinations for the P2MP tunnel and is carried in the P2MP - Session Object [P2MP-TE]. The Description clause for this object + Session Object [RFC4875]. The Description clause for this object can be read as follows. "Identity of the egress LSR associated with this tunnel instance. When an entry in the mplsTeP2mpTunnelTable is present - corresponding to this entry in the mplsTunnelTable and when - the mplsTeP2mpTunnel object in that table entry is present - with the value true(1), this object contains the P2MP ID that - identifies the set of destinations of this tunnel and that is - signaled in the P2MP ID field of the P2MP Session Object if - the MPLS signaling protocol for this tunnel indicated by + corresponding to this entry in the mplsTunnelTable, this + object contains the P2MP ID that identifies the set of + destinations of this tunnel and that is signaled in the + P2MP ID field of the P2MP Session Object if the MPLS + signaling protocol for this tunnel indicated by mplsTunnelSignallingProto in MPLS-TE-STD-MIB is rsvp(2)." The destinations of the P2MP tunnel are found in the new mplsTeP2mpTunnelDestTable. mplsTunnelHopTableIndex If the tunnel is a P2MP tunnel as indicated by the presence of an - entry in the mplsTeP2mpTunnelTable corresponding to this tunnel - and when the mplsTeP2mpTunnel object in that table entry is - present with the value true(1), this object is not used. This is - because the destinations and paths to those destinations are found - in the mplsTeP2mpTunnelDestTable. + entry in the mplsTeP2mpTunnelTable corresponding to this tunnel, + this object is not used. This is because the destinations and + paths to those destinations are found in the + mplsTeP2mpTunnelDestTable. If this object is present for a P2MP tunnel, it SHOULD contain the value 0. mplsTunnelPathInUse If the tunnel is a P2MP tunnel as indicated by the presence of an - entry in the mplsTeP2mpTunnelTable corresponding to this tunnel - and when the mplsTeP2mpTunnel object in that table entry is - present with the value true(1), this object is not used. This is - because the destinations and paths to those destinations are found - in the mplsTeP2mpTunnelDestTable. + entry in the mplsTeP2mpTunnelTable corresponding to this tunnel, + this object is not used. This is because the destinations and + paths to those destinations are found in the + mplsTeP2mpTunnelDestTable. If this object is present for a P2MP tunnel, it SHOULD contain the value 0. mplsTunnelARHopTableIndex If the tunnel is a P2MP tunnel as indicated by the presence of an - entry in the mplsTeP2mpTunnelTable corresponding to this tunnel - and when the mplsTeP2mpTunnel object in that table entry is - present with the value true(1), this object is not used. This is - because the destinations and paths to those destinations are found - in the mplsTeP2mpTunnelDestTable. + entry in the mplsTeP2mpTunnelTable corresponding to this tunnel, + this object is not used. This is because the destinations and + paths to those destinations are found in the + mplsTeP2mpTunnelDestTable. If this object is present for a P2MP tunnel, it SHOULD contain the value 0. mplsTunnelCHopTableIndex If the tunnel is a P2MP tunnel as indicated by the presence of an - entry in the mplsTeP2mpTunnelTable corresponding to this tunnel - and when the mplsTeP2mpTunnel object in that table entry is - present with the value true(1), this object is not used. This is - because the destinations and paths to those destinations are found - in the mplsTeP2mpTunnelDestTable. + entry in the mplsTeP2mpTunnelTable corresponding to this tunnel, + this object is not used. This is because the destinations and + paths to those destinations are found in the + mplsTeP2mpTunnelDestTable. If this object is present for a P2MP tunnel, it SHOULD contain the value 0. 4.3. Scalars There are three scalars defined for this MIB module. mplsTeP2mpTunnelConfigured provides a read-only counter of the number of P2MP MPLS-TE tunnels that are configured on this LSR through this MIB module. mplsTeP2mpTunnelActive provides a read-only counter of the number of P2MP MPLS-TE tunnels configured on this LSR through this MIB module that are currently active. As described in Section 4.2, mplsTeP2mpTunnelTotalMaxHops is a read- only scalar that reports the maximum number of explicit route hops supported by this LSR for any single P2MP LSP configured or monitored - through this MIB module. + through this MIB module. mplsTeP2mpTunnelTotalMaxHops would normally + be set larger than or equal to mplsTunnelMaxHops. 4.4. mplsTeP2mpTunnelTable The mplsTeP2mpTunnelTable extends (through a sparse augmentation) the MPLS Tunnel table (mplsTunnelTable) from MPLS-TE-STD-MIB [RFC3812] to allow P2MP MPLS-TE tunnels to be created, controlled, and monitored at any LSR in the network. A P2MP MPLS-TE tunnel may be represented in the MIB, by defining it in the mplsTunnelTable and providing objects in this table to @@ -391,34 +400,34 @@ between the various pre-existing MPLS-TE and LSR MIB tables can be seen in [RFC4221]. An arrow in the figure shows that the MIB table pointed from contains a reference to the MIB table pointed to. mplsTunnelPerfTable ^ | v - mplsTunnelTable----------->mplsP2mpTunnelTable + mplsTunnelTable----------->mplsTeP2mpTunnelTable ^ | | | | | | +--->mplsXCTable--+ v - v | mplsP2mpTunnelDestTable + v | mplsTeP2mpTunnelDestTable mplsTunnelResourceTable | | | | ^ | | | +--->mplsTunnelHopTable | | | | +--->mplsTunnelCHopTable mplsInSegmentTable<-----+ | | +--->mplsTunnelARHopTable | | | v | | mplsOutSegmentTable<---+ | v - mplsP2mpTunnelBranchPerfTable + mplsTeP2mpTunnelBranchPerfTable Figure 1 : Dependencies Between MIB Tables 5. Using the P2MP MPLS-TE MIB Module This section describes how to use the P2MP MPLS-TE MIB module defined in this document to manage and model P2MP MPLS-TE LSPs. A subsection gives an example of usage. A P2MP MPLS-TE LSP is modeled as a single LSP tunnel. That is, there @@ -462,27 +471,27 @@ / R---A---B \ \ C2---D2 Figure 2 : Topology of a simple P2MP MPLS-TE LSP Let us assign IP addresses to the LSRs as follows: - R 192.168.100.1 - A 192.168.101.1 - B 192.168.102.1 - C1 192.168.103.1 - C2 192.168.103.10 - D1 192.168.104.1 - D2 192.168.104.10 + R 192.0.2.1 + A 192.0.2.9 + B 192.0.2.17 + C1 192.0.2.33 + C2 192.0.2.34 + D1 192.0.2.65 + D2 192.0.2.66 Step 1 - Define the resource requirements for the LSP Let us assume that we require a best effort LSP. In mplsTunnelResourceTable define as follows: { mplsTunnelResourceIndex = 9, mplsTunnelResourceMaxRate = 0, @@ -495,21 +504,21 @@ mplsTunnelResourceRowStatus = createAndGo(4) } Step 2 - Define the core parameters for the LSP tunnel. In mplsTunnelTable define as follows: { mplsTunnelIndex = 4, mplsTunnelInstance = 0, - mplsTunnelIngressLSRId = 192.168.100.1, + mplsTunnelIngressLSRId = 192.0.2.1, -- The tunnel egress LSR ID is used to -- hold the P2MP ID for the P2MP LSP tunnel mplsTunnelEgressLSRId = 328, mplsTunnelName = "My first P2MP tunnel", mplsTunnelDescr = "Here to there and there", mplsTunnelIsIf = true(1), -- There is no cross-connect present yet mplsTunnelXCPointer = 0.0, -- This table entry is created by configuration no signaling mplsTunnelSignallingProto = rsvp(2), @@ -535,170 +543,171 @@ Note that any active or signaled instances of the above tunnel would appear with the same primary mplsTunnelIndex, but would have values greater than 0 for mplsTunnelInstance. They would also have other objects such as the mplsTunnelXCPointer set accordingly. Step 3 - Create the P2MP Tunnel In mplsTeP2mpTunnelTable define as follows: { - mplsTeP2mpTunnelIsP2MP = true(1), mplsTeP2mpTunnelP2mpIntegrity = true(1), -- This is the head end of the LSP and not a branch mplsTeP2mpTunnelBranchRole = notBranch(1), mplsTeP2mpTunnelSubGroupOriginType = ipv4(1), - mplsTeP2mpTunnelSubGroupOrigin = 192.168.100.1, + mplsTeP2mpTunnelSubGroupOrigin = 192.0.2.1, mplsTeP2mpTunnelSubGroupID = 132, mplsTeP2mpTunnelRowStatus = createAndGo(4) } Step 4 - Create the configured explicit routes for the LSP Two pieces of explicit path are required. The first runs from R to - D1, and the second from B to D2. See [P2MP-TE] for a discussion of + D1, and the second from B to D2. See [RFC4875] for a discussion of the construction of explicit routes for P2MP MPLS-TE LSPs. In mplsTunnelHopTable define as follows: { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 1, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.101.1", + mplsTunnelHopIpAddr = "192.0.2.9", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 2, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.102.1", + mplsTunnelHopIpAddr = "192.0.2.17", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } + { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 3, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.103.1", + mplsTunnelHopIpAddr = "192.0.2.33", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 4, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.104.1", + mplsTunnelHopIpAddr = "192.0.2.65", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } { mplsTunnelHopListIndex = 2, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 1, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.102.1", + mplsTunnelHopIpAddr = "192.0.2.17", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } { mplsTunnelHopListIndex = 2, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 2, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.103.10", + mplsTunnelHopIpAddr = "192.0.2.34", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } { mplsTunnelHopListIndex = 2, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 3, mplsTunnelHopAddrType = ipv4(1), - mplsTunnelHopIpAddr = "192.168.104.10", + mplsTunnelHopIpAddr = "192.0.2.66", mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = strict(2), mplsTunnelHopInclude = true(1), mplsTunnelHopPathOptionName = "Here to there", mplsTunnelHopEntryPathComp = explicit(2), mplsTunnelHopRowStatus = createAndGo(4) } Step 5 - Create the destinations for the P2MP LSP tunnel In mplsTeP2mpTunnelDestTable define as follows: { mplsTeP2mpTunnelDestSubGroupOriginType = ipv4(1), - mplsTeP2mpTunnelDestSubGroupOrigin = 192.168.100.1, + mplsTeP2mpTunnelDestSubGroupOrigin = 192.0.2.1, mplsTeP2mpTunnelDestSubGroupID = 132, mplsTeP2mpTunnelDestDestinationType = ipv4(1), - mplsTeP2mpTunnelDestDestination = 192.168.104.1, + mplsTeP2mpTunnelDestDestination = 192.0.2.65, mplsTeP2mpTunnelDestHopTableIndex = 1, mplsTeP2mpTunnelDestPathInUse = 1, mplsTeP2mpTunnelDestAdminStatus = up(1), mplsTeP2mpTunnelDestRowStatus = createAndGo(4) } { mplsTeP2mpTunnelDestSubGroupOriginType = ipv4(1), - mplsTeP2mpTunnelDestSubGroupOrigin = 192.168.100.1, + mplsTeP2mpTunnelDestSubGroupOrigin = 192.0.2.1, mplsTeP2mpTunnelDestSubGroupID = 132, mplsTeP2mpTunnelDestDestinationType = ipv4(1), - mplsTeP2mpTunnelDestDestination = 192.168.104.10, + mplsTeP2mpTunnelDestDestination = 192.0.2.66, mplsTeP2mpTunnelDestHopTableIndex = 2, mplsTeP2mpTunnelDestPathInUse = 1, mplsTeP2mpTunnelDestAdminStatus = up(1), mplsTeP2mpTunnelDestRowStatus = createAndGo(4) } + Step 6 - Activate the tunnel In mplsTunnelTable define as follows: { mplsTunnelIndex = 4, mplsTunnelInstance = 0, - mplsTunnelIngressLSRId = 192.168.100.1, + mplsTunnelIngressLSRId = 192.0.2.1, mplsTunnelEgressLSRId = 328, -- Activate the tunnel mplsAdminStatus = up(1) } 6. Managing P2MP MPLS-TE LSPs Through the LSR MIB Module The nature of P2MP tunnels is such that an LSR that is crossed by a tunnel may either be the ingress of that tunnel or have precisely one upstream LSP segment (also known as an in-segment [RFC3812]) for that @@ -836,43 +845,43 @@ mplsXCIndex = 0x37, -- common index mplsXCInSegmentIndex = 0x00000015,-- the in-segment mplsXCOutSegmentIndex = 0x00, -- no out-segment mplsXCLspId = 0x0102 -- unique LSP ID mplsXCLabelStackIndex = 0x00, -- no other outgoing label } 7. MPLS Traffic Engineering P2MP MIB Definitions This MIB module uses imports from [RFC2578], [RFC2580], [RFC2579], - [RFC3811], [RFC3812], [RFC3813], [RFC3289], and [RFC3291]. + [RFC3811], [RFC3812], [RFC3813], [RFC3289], and [RFC4001]. MPLS-TE-P2MP-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32, Counter32, Counter64, TimeTicks FROM SNMPv2-SMI -- RFC 2578 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- RFC 2580 TruthValue, RowStatus, StorageType, TimeStamp FROM SNMPv2-TC -- RFC 2579 mplsStdMIB, MplsPathIndexOrZero FROM MPLS-TC-STD-MIB -- RFC 3811 MplsIndexType FROM MPLS-LSR-STD-MIB -- RFC 3813 mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId FROM MPLS-TE-STD-MIB -- RFC 3812 - IndexIntegerNextFree + IndexInteger, IndexIntegerNextFree FROM DIFFSERV-MIB -- RFC 3289 InetAddress, InetAddressType - FROM INET-ADDRESS-MIB -- RFC 3291 + FROM INET-ADDRESS-MIB -- RFC 4001 ; mplsTeP2mpStdMIB MODULE-IDENTITY LAST-UPDATED "200702240000Z" -- February 24, 2007 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Adrian Farrel Old Dog Consulting Email: adrian@olddog.co.uk @@ -957,27 +966,28 @@ "RFC 3812 - Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB), Srinivasan, C., Viswanathan, A., and T. Nadeau, June 2004." ::= { mplsTeP2mpScalars 2 } mplsTeP2mpTunnelTotalMaxHops OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The maximum number of hops that can be specified for - an entire P2MP tunnel on this device. - This object should be used in conjunction with - mplsTunnelMaxHops in MPLS-TE-STD-MIB that is used in the - context of P2MP tunnels to express the maximum number of - hops to any individual destination of a P2MP tunnel that - can be configured on this device." + "The maximum number of hops that can be specified for an + entire P2MP tunnel on this device. This object should be + used in conjunction with mplsTunnelMaxHops in + MPLS-TE-STD-MIB that is used in the context of P2MP tunnels + to express the maximum number of hops to any individual + destination of a P2MP tunnel that can be configured on this + device. mplsTeP2mpTunnelTotalMaxHops would normally be set + larger than or equal to mplsTunnelMaxHops." REFERENCE "RFC 3812 - Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB), Srinivasan, C., Viswanathan, A., and T. Nadeau, June 2004." ::= { mplsTeP2mpScalars 3 } -- End of MPLS Tunnel scalars. -- MPLS P2MP tunnel table. @@ -1027,59 +1037,47 @@ Engineering (TE) Management Information Base (MIB), Srinivasan, C., Viswanathan, A., and T. Nadeau, June 2004." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { mplsTeP2mpTunnelTable 1 } MplsTeP2mpTunnelEntry ::= SEQUENCE { - mplsTeP2mpTunnelIsP2MP TruthValue, mplsTeP2mpTunnelP2mpIntegrity TruthValue, mplsTeP2mpTunnelBranchRole INTEGER, mplsTeP2mpTunnelSubGroupOriginType InetAddressType, mplsTeP2mpTunnelSubGroupOrigin InetAddress, mplsTeP2mpTunnelSubGroupID Unsigned32, mplsTeP2mpTunnelRowStatus RowStatus, mplsTeP2mpTunnelStorageType StorageType } - mplsTeP2mpTunnelIsP2MP OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Denotes whether or not this tunnel is a point-to-multipoint - tunnel. - If this object is not present or is present and set to - false(2), this tunnel is not a point-to-multipoint tunnel - and all other objects in this table entry are not valid." - DEFVAL { true } - ::= { mplsTeP2mpTunnelEntry 1 } - mplsTeP2mpTunnelP2mpIntegrity OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not P2MP Integrity is required for this tunnel. If P2MP integrity is operational on a P2MP tunnel then the failure of the path to any of the tunnel destinations should cause the teardown of the entire P2MP tunnel." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." DEFVAL { false } ::= { mplsTeP2mpTunnelEntry 2 } + mplsTeP2mpTunnelBranchRole OBJECT-TYPE SYNTAX INTEGER { notBranch(1), branch(2), bud(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This value supplements the value in the object mplsTunnelRole in MPLS-TE-STD-MIB that indicates the role of this LSR in the tunnel represented by this entry in @@ -1145,67 +1142,69 @@ Since the object mplsTeP2mpTunnelSubGroupOrigin must conform to the protocol specification, this object must return either ipv4(1) or ipv6(2) at a transit or egress LSR. At an ingress LSR, mplsTeP2mpTunnelSubGroupOrigin should not be used, and this object should return the value unknown(0)." ::= { mplsTeP2mpTunnelEntry 4 } mplsTeP2mpTunnelSubGroupOrigin OBJECT-TYPE - SYNTAX InetAddress (SIZE (1..16)) + SYNTAX InetAddress (SIZE (0..16)) MAX-ACCESS read-only STATUS current DESCRIPTION "The TE Router ID (reachable and stable IP address) of the originator of the P2MP sub-group as received on a Path message by a transit or egress LSR. This object is interpreted in the context of mplsTeP2mpTunnelSubGroupOriginType. The value of the sub-group originator used on outgoing Path messages is found in mplsTeP2mpTunnelDestSubGroupOrigin and is copied from this object unless this LSR is responsible for changing the sub-group ID. At an ingress LSR this object is not used because there is no received Path message. mplsTeP2mpTunnelSubGroupOriginType - should return unknown(0), and this object should return the - value 0x00, or should be absent." + should return unknown(0), and this object should return a + zero-length string, or should be absent." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelEntry 5 } mplsTeP2mpTunnelSubGroupID OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "The unique identifier assigned by the sub-group originator for this sub-group of this P2MP tunnel as received on a Path message by a transit or egress LSR. The value of the sub-group identifier used on outgoing Path messages is found in mplsTeP2mpTunnelDestSubGroupID and is copied from this object unless this LSR is responsible for changing the sub-group ID. At an ingress LSR this object is not used because there is no received Path message, and the object should be absent or should return zero." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelEntry 6 } mplsTeP2mpTunnelRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table is in active(1) state, no objects in that row can be modified by the agent @@ -1238,21 +1236,21 @@ Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { volatile } ::= { mplsTeP2mpTunnelEntry 8 } -- End of mplsTeP2mpTunnelTable -- MPLS P2MP tunnel destination table. mplsTeP2mpTunnelSubGroupIDNext OBJECT-TYPE - SYNTAX IndexIntegerNextFree (0..4294967295) + SYNTAX IndexIntegerNextFree MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for mplsTeP2mpTunnelDestSubGroupID, or a zero to indicate that none exists. Negative values are not allowed, as they do not correspond to valid values of mplsTeP2mpTunnelDestSubGroupID. Note that this object offers an unused value for an @@ -1255,42 +1253,34 @@ correspond to valid values of mplsTeP2mpTunnelDestSubGroupID. Note that this object offers an unused value for an mplsTeP2mpTunnelDestSubGroupID value at the local LSR when it is a sub-group originator. In other cases, the value of mplsTeP2mpTunnelDestSubGroupID SHOULD be taken from the received value signaled by the signaling protocol and corresponds to the value in mplsTeP2mpTunnelSubGroupID." ::= { mplsTeP2mpObjects 2 } + mplsTeP2mpTunnelDestTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTeP2mpTunnelDestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The mplsTeP2mpTunnelDestTable allows new destinations of P2MP MPLS tunnels to be added to and removed from P2MP - tunnels. - - Entries in this table share some index fields with the - mplsTeP2mpTunnelTable and the mplsTunnelTable in - MPLS-TE-STD-MIB. Entries in this table have no meaning - unless there is a corresponding entry in - mplsTeP2mpTunnelTable (which, itself, depends on a - corresponding entry in mplsTunnelTable) and that entry has - mpl2P2mpTunnelIsP2mp set to true(1)." + tunnels." REFERENCE "RFC 3812 - Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB), Srinivasan, C., Viswanathan, A., and T. Nadeau, June 2004." ::= { mplsTeP2mpObjects 3 } - mplsTeP2mpTunnelDestEntry OBJECT-TYPE SYNTAX MplsTeP2mpTunnelDestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a destination of a P2MP MPLS tunnel. An entry can be created by a network administrator or by an SNMP agent as instructed by an MPLS signaling protocol. @@ -1292,22 +1282,21 @@ "An entry in this table represents a destination of a P2MP MPLS tunnel. An entry can be created by a network administrator or by an SNMP agent as instructed by an MPLS signaling protocol. Entries in this table share some index fields with the mplsTeP2mpTunnelTable and the mplsTunnelTable in MPLS-TE-STD-MIB. Entries in this table have no meaning unless there is a corresponding entry in mplsTeP2mpTunnelTable (which, itself, depends on a - corresponding entry in mplsTunnelTable) and that entry has - mpl2P2mpTunnelIsP2mp set to true(1). + corresponding entry in mplsTunnelTable). Note that the same destination may be present more than once if it is in more than one sub-group as reflected by the mplsTeP2mpTunnelDestSubGroupOriginType, mplsTeP2mpTunnelDestSubGroupOrigin, and mplsTeP2mpTunnelDestSubGroupID, index objects. Entries in this table may be created at any time. If created before an entry in the mplsTeP2mpTunnelTable the entries have no meaning, but may be kept ready for the creation of @@ -1324,25 +1313,24 @@ mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId, mplsTeP2mpTunnelDestSubGroupOriginType, mplsTeP2mpTunnelDestSubGroupOrigin, mplsTeP2mpTunnelDestSubGroupID, mplsTeP2mpTunnelDestDestinationType, mplsTeP2mpTunnelDestDestination } ::= { mplsTeP2mpTunnelDestTable 1 } - MplsTeP2mpTunnelDestEntry ::= SEQUENCE { mplsTeP2mpTunnelDestSubGroupOriginType InetAddressType, mplsTeP2mpTunnelDestSubGroupOrigin InetAddress, - mplsTeP2mpTunnelDestSubGroupID Unsigned32, + mplsTeP2mpTunnelDestSubGroupID IndexInteger, mplsTeP2mpTunnelDestDestinationType InetAddressType, mplsTeP2mpTunnelDestDestination InetAddress, mplsTeP2mpTunnelDestBranchOutSegment MplsIndexType, mplsTeP2mpTunnelDestHopTableIndex MplsPathIndexOrZero, mplsTeP2mpTunnelDestPathInUse MplsPathIndexOrZero, mplsTeP2mpTunnelDestCHopTableIndex MplsPathIndexOrZero, mplsTeP2mpTunnelDestARHopTableIndex MplsPathIndexOrZero, mplsTeP2mpTunnelDestTotalUpTime TimeTicks, mplsTeP2mpTunnelDestInstanceUpTime TimeTicks, mplsTeP2mpTunnelDestPathChanges Counter32, @@ -1381,41 +1370,43 @@ received signaled value as available in mplsTeP2mpTunnelSubGroupOrigin. When a signaling protocol is used, this object corresponds to the Sub-Group Originator field in the SENDER_TEMPLATE object. This object is interpreted in the context of mplsTeP2mpTunnelDestSubGroupOriginType." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelDestEntry 2 } mplsTeP2mpTunnelDestSubGroupID OBJECT-TYPE - SYNTAX Unsigned32 (1..4294967295) + SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "The unique identifier assigned by the sub-group originator for this sub-group of this P2MP tunnel. An appropriate value for this object during row creation when the sub-group origin in mplsTeP2mpTunnelDestSubGroupOrigin is the local LSR can be obtained by reading mplsTeP2mpTunnelSubGroupIDNext." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelDestEntry 3 } mplsTeP2mpTunnelDestDestinationType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the type of address carried in mplsTeP2mpTunnelDestDestination. @@ -1435,24 +1425,26 @@ routable TE address of a leaf. This will often be the TE Router ID of the leaf, but can be any interface address. When a signaling protocol is used, this object corresponds to the S2L Sub-LSP destination address field in the S2L_SUB_LSP object. This object is interpreted in the context of mplsTeP2mpTunnelDestDestinationType." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelDestEntry 5 } + mplsTeP2mpTunnelDestBranchOutSegment OBJECT-TYPE SYNTAX MplsIndexType MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the outgoing branch from this LSR towards the destination represented by this table entry. It must be a unique identifier within the scope of this tunnel. If MPLS-LSR-STD-MIB is implemented, this object should @@ -1521,45 +1513,47 @@ mplsTeP2mpTunnelDestPathInUse, but may have been modified and automatically updated by the agent when computed hops become available or when computed hops get modified. If this destination is the destination of the 'first S2L sub-LSP' then this path will be signaled in the Explicit Route Object. If this destination is the destination of a 'subsequent S2L sub-LSP' then this path will be signaled in a Secondary Explicit Route Object." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelDestEntry 9 } mplsTeP2mpTunnelDestARHopTableIndex OBJECT-TYPE SYNTAX MplsPathIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Index into the mplsTunnelARHopTable that identifies the actual hops traversed to this destination of the P2MP tunnel. This is automatically updated by the agent when the actual hops becomes available. If this destination is the destination of the 'first S2L sub-LSP' then this path will be signaled in the Recorded Route Object. If this destination is the destination of a 'subsequent S2L sub-LSP' then this path will be signaled in a Secondary Recorded Route Object." REFERENCE - "Extensions to RSVP-TE for Point to Multipoint TE LSPs, - R. Aggarwal, S. Yasukawa, and D. Papadimitriou, work in - progress." + "RFC 4875 - Extensions to Resource Reservation Protocol - + Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs), R. Aggarwal, D. Papadimitriou, + and S. Yasukawa, May 2007." ::= { mplsTeP2mpTunnelDestEntry 10 } mplsTeP2mpTunnelDestTotalUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the aggregate up time for all instances of this tunnel to this destination, if this information is available. @@ -1653,23 +1648,22 @@ down(2), -- out of service testing(3), -- in some test mode unknown(4), -- status cannot be determined lowerLayerDown(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the actual operational status of this destination - of this P2MP tunnel. - This object may be compared to mplsTunnelOperStatus that - includes two other values: + of this P2MP tunnel. This object may be compared to + mplsTunnelOperStatus that includes two other values: dormant(5) -- some component is missing notPresent(6) -- down due to the state of -- lower layer interfaces. These states do not aply to an individual destinaton of a P2MP MPLS-TE LSP and so are not included in this object." REFERENCE "RFC 3812 - Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB), Srinivasan, C., Viswanathan, A., and T. Nadeau, June 2004." ::= { mplsTeP2mpTunnelDestEntry 19 } @@ -1732,43 +1726,47 @@ of the P2MP tunnel, and the out-segment that identifies the outgoing branch." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId, mplsTeP2mpTunnelBranchPerfBranch } ::= { mplsTeP2mpTunnelBranchPerfTable 1 } - mplsTeP2mpTunnelBranchPerfEntry ::= SEQUENCE { + MplsTeP2mpTunnelBranchPerfEntry ::= SEQUENCE { mplsTeP2mpTunnelBranchPerfBranch MplsIndexType, mplsTeP2mpTunnelBranchPerfPackets Counter32, mplsTeP2mpTunnelBranchPerfHCPackets Counter64, mplsTeP2mpTunnelBranchPerfErrors Counter32, mplsTeP2mpTunnelBranchPerfBytes Counter32, mplsTeP2mpTunnelBranchPerfHCBytes Counter64, mplsTeP2mpTunnelBranchDiscontinuityTime TimeStamp } mplsTeP2mpTunnelBranchPerfBranch OBJECT-TYPE - SYNTAX MplsIndexType + SYNTAX MplsIndexType fish MAX-ACCESS not-accessible STATUS current DESCRIPTION - "This object identifies the outgoing branch from this LSR + "This object identifies an outgoing branch from this LSR for this tunnel. Its value is unique within the context of - the tunnel. If MPLS-LSR-STD-MIB is implemented, this object - should contain a row pointer to the out-segment for this - branch. Under all circumstances, this object should contain + the tunnel. + + If MPLS-LSR-STD-MIB is implemented, this object should + contain an index into mplsOutSegmentTable. + + Under all circumstances, this object should contain the same value as mplsTeP2mpTunnelDestBranchOutSegment for destinations reached on this branch." ::= { mplsTeP2mpTunnelBranchPerfEntry 1 } + mplsTeP2mpTunnelBranchPerfPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets forwarded by the tunnel onto this branch. This object should represents the 32-bit value of the least significant part of the 64-bit value if both mplsTeP2mpTunnelBranchPerfHCPackets is returned. This object should be read in conjunction with @@ -1786,23 +1784,22 @@ mplsTeP2mpTunnelBranchDiscontinuityTime." ::= { mplsTeP2mpTunnelBranchPerfEntry 3 } mplsTeP2mpTunnelBranchPerfErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets dropped because of errors or for other reasons, that were supposed to be forwarded onto this - branch for this tunnel. - This object should be read in conjunction with - mplsTeP2mpTunnelBranchDiscontinuityTime." + branch for this tunnel. This object should be read in + conjunction with mplsTeP2mpTunnelBranchDiscontinuityTime." ::= { mplsTeP2mpTunnelBranchPerfEntry 4 } mplsTeP2mpTunnelBranchPerfBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes forwarded by the tunnel onto this branch. This object should represents the 32-bit value of the least significant part of the 64-bit value if both @@ -1839,21 +1836,25 @@ -- Notifications. mplsTeP2mpTunnelNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is true(1), then it enables the generation of mplsTeP2mpTunnelDestUp and mplsTeP2mpTunnelDestDown notifications. Otherwise these notifications are not - emitted." + emitted. + + Note that whn tunnels have large numbers of destinations, + setting this object to true(1) may result in the generation + of large numbers of notifications." DEFVAL { false } ::= { mplsTeP2mpObjects 5 } mplsTeP2mpTunnelDestUp NOTIFICATION-TYPE OBJECTS { mplsTeP2mpTunnelDestAdminStatus, mplsTeP2mpTunnelDestOperStatus } STATUS current DESCRIPTION @@ -1894,47 +1895,69 @@ -- End of notifications. -- Module compliance. mplsTeP2mpGroups OBJECT IDENTIFIER ::= { mplsTeP2mpConformance 1 } mplsTeP2mpCompliances OBJECT IDENTIFIER ::= { mplsTeP2mpConformance 2 } - -- Compliance requirement for fully compliant implementations. mplsTeP2mpModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for MPLS-TE-P2MP-STD-MIB. Such devices can be monitored and also be configured using this MIB module." + MODULE -- This module. MANDATORY-GROUPS { mplsTeP2mpGroup, mplsTeP2mpNotifGroup } + + -- mplsTeP2mpTunnelTable + + OBJECT mplsTeP2mpTunnelSubGroupOriginType + SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2)} + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + -- mplsTeP2mpTunnelDestTable + + OBJECT mplsTeP2mpTunnelDestSubGroupOriginType + SYNTAX InetAddressType {unknown(0), ipv4(1), ipv6(2)} + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + + OBJECT mplsTeP2mpTunnelDestDestinationType + SYNTAX InetAddressType {ipv4(1), ipv6(2)} + MIN-ACCESS read-only + DESCRIPTION "Write access is not required." + ::= { mplsTeP2mpCompliances 1 } -- Units of conformance. mplsTeP2mpGroup OBJECT-GROUP OBJECTS { mplsTeP2mpTunnelConfigured, mplsTeP2mpTunnelActive, mplsTeP2mpTunnelTotalMaxHops, - mplsTeP2mpTunnelIsP2MP, mplsTeP2mpTunnelP2mpIntegrity, mplsTeP2mpTunnelBranchRole, + mplsTeP2mpTunnelSubGroupOriginType, + mplsTeP2mpTunnelSubGroupOrigin, + mplsTeP2mpTunnelSubGroupID, mplsTeP2mpTunnelRowStatus, mplsTeP2mpTunnelStorageType, mplsTeP2mpTunnelSubGroupIDNext, mplsTeP2mpTunnelDestBranchOutSegment, mplsTeP2mpTunnelDestHopTableIndex, mplsTeP2mpTunnelDestPathInUse, mplsTeP2mpTunnelDestCHopTableIndex, mplsTeP2mpTunnelDestARHopTableIndex, mplsTeP2mpTunnelDestTotalUpTime, mplsTeP2mpTunnelDestInstanceUpTime, @@ -2060,21 +2084,24 @@ RECOMMENDED. Instead, it is RECOMMENDED that SNMPv3 be deployed and cryptographic security enabled. 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 only those principals (users) that have legitimate rights to those objects. 9. Acknowledgments The authors wish to thank Tom Petch and Ben Niven-Jenkins for their - input to this work. + input to this work. Thanks to Zafar Ali for discussions. + + Joan Cucchiara provided a very thorough and helpful early MIB Doctor + review which caught a lot of issues. Comments should be made directly to the MPLS mailing list at mpls@lists.ietf.org 10. IANA Considerations As requested in MPLS-TC-STD-MIB [RFC3811], MPLS-related standards track MIB modules should be rooted under the mplsStdMIB subtree. There is one new MPLS MIB module contained in this document, and the @@ -2116,44 +2143,45 @@ Label Switching Architecture", RFC 3031, January 2001. [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001. [RFC3289] Baker, F., Chan, K., and A. Smith, "Management Information Base for the Differentiated Services Architecture", RFC 3289, May 2002. - [RFC3291] Daniele, M., Haberman, B., Routhier, S., and J. - Schoenwaelder, "TextualConventions for Internet Network - Addresses", RFC 3291, May 2002. - [RFC3811] Nadeau, T. and J. Cucchiara, "Definition of Textual Conventions and for Multiprotocol Label Switching (MPLS) Management", RFC 3811, June 2004. [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. [RFC3945] Mannie, E., Ed., "Generalized Multiprotocol Label Switching (GMPLS) Architecture", RFC 3945, October 2004. - [P2MP-TE] Aggarwal, R., Papadimitriou, D., and Yasukawa, S., - "Extensions to RSVP-TE for Point to Multipoint TE - LSPs", draft-ietf-mpls-rsvp-te-p2mp, work in progress. + [RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. + Schoenwaelder, "TextualConventions for Internet Network + Addresses", RFC 3291, May 2002. + + [RFC4875] Aggarwal, R., Papadimitriou, D., and Yasukawa, S., + "Extensions to Resource Reservation Protocol - Traffic + Engineering (RSVP-TE) for Point-to-Multipoint TE Label + Switched Paths (LSPs)", RFC 4875, May 2007. 11.2. Informative References [RFC2434] Narten, T. and H. Alvestrand., "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statement for Internet Standard Management Framework", RFC 3410, December 2002.