Internet DRAFT - draft-chen-i2rs-mpls-te-info-model
draft-chen-i2rs-mpls-te-info-model
Network Working Group X. Chen
Internet-Draft Z. Li
Intended status: Standards Track S. Hares
Expires: April 30, 2015 Huawei Technologies
R. White
J. Tantsura
Ericsson
October 27, 2014
I2RS Information Model for MPLS TE
draft-chen-i2rs-mpls-te-info-model-00
Abstract
Traditionally MPLS TE networks may be managed via CLI, SNMP or
NETCONF. There are two types of TE LSP: static CR-LSP and dynamic TE
LSP created by protocol of RSVP-TE. Static CR-LSP is configured with
forwarding items such as interface, label and bandwidth, etc. node by
node. Dynamic TE LSP is configured with MPLS TE parameters which are
used to calculate path and set up TE LSP by protocol. Both
configurations are complex.
The Interface to the Routing System's (I2RS) Programmatic interface
(draft-ietf-i2rs-architecture) provides an alternate way to control
the configuration and diagnose the operation of MPLS TE. These
interactions to control MPLS TE links and diagnose their operation
include: MPLS TE configuration, MPLS TE protection, traffic
switching-over, traffic detection, and fault detection.
This document specifies an information model for MPLS TE to
facilitate the definition of a standardized data model which can be
used to define interfaces to the MPLS TE from an entity that may even
be external to the routing system. Based on standardized data model
and interfaces, use cases of MPLS TE defined by draft-huang-i2rs-
mpls-te-usecases can be supported.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Chen, et al. Expires April 30, 2015 [Page 1]
Internet-Draft I2RS Information Model for MPLS TE October 2014
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 30, 2015.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. MPLS TE Data . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. MPLS TE . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1. Explicit Path . . . . . . . . . . . . . . . . . . . . 4
2.1.2. RSVP-TE Tunnel . . . . . . . . . . . . . . . . . . . 5
2.1.3. RSVP-TE LSP . . . . . . . . . . . . . . . . . . . . . 9
2.1.4. Static Tunnel . . . . . . . . . . . . . . . . . . . . 12
2.1.5. Static CR-LSP . . . . . . . . . . . . . . . . . . . . 14
3. I2RS YANG model of MPLS TE . . . . . . . . . . . . . . . . . 15
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
5. Security Considerations . . . . . . . . . . . . . . . . . . . 18
6. Normative References . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction
Traditionally MPLS TE networks may be managed via CLI, SNMP or
NETCONF. There are two types of TE LSP: static CR-LSP and dynamic TE
LSP created by protocol of RSVP-TE. Static CR-LSP is configured with
Chen, et al. Expires April 30, 2015 [Page 2]
Internet-Draft I2RS Information Model for MPLS TE October 2014
forwarding items such as interface, label and bandwidth, etc. node by
node. Dynamic TE LSP is configured with MPLS TE parameters which are
used to calculate path and set up TE LSP by protocol. Both
configurations are complex.
With the expansion and complication of modern networks, the necessity
for rapid and dynamic control has been increased. The Interface to
the Routing System's (I2RS) Programmatic interface
([I-D.ietf-i2rs-architecture]) provides an alternate way to control
the configuration and diagnose the operation of MPLS TE and achieve
this goal. These interactions to control MPLS TE links and diagnose
their operation include: MPLS TE configuration, MPLS TE protection,
traffic switching-over, traffic detection, and fault detection.
This document specifies an information model for MPLS TE to
facilitate the definition of a standardized data model, which can be
used to define interfaces to the MPLS TE from an entity that may even
be external to the routing system. Based on standardized data model
and interfaces, use cases and requirements for an interface to MPLS
TE defined by [I-D.huang-i2rs-mpls-te-usecases] and
[I-D.hares-i2rs-usecase-reqs-summary] can be supported.
Please note I2RS utilizes ephemeral configuration plus status
information. This draft proposes needs of this ephemeral
configuration, and the authors of this draft intend to collaborate
with related work on yang configuration for MPLS TE.
2. MPLS TE Data
This section describes the data involved in the MPLS TE information
model in detail. MPLS TE data includes information related to Static
CR LSPs, dynamic RSVP-TE LSPs and explicit path constraints for
setting up RSVP-TE LSPs.
A high-level architecture of the MPLS TE contents is shown as below.
MPLS TE
|
|
+---------------+---------------+------------+----------------+
|0..N |0..N |0..N |0..N |0..N
| | | | |
explicit path rsvp te tunnel rsvp te lsp static tunnel static cr lsp
Figure 1: Architecture of MPLS TE information model
Chen, et al. Expires April 30, 2015 [Page 3]
Internet-Draft I2RS Information Model for MPLS TE October 2014
2.1. MPLS TE
MPLS TE information model includes information related to Static CR
LSPs, dynamic RSVP-TE LSPs and explicit path constraints for setting
up RSVP-TE LSPs.
The corresponding YANG description of the top level is below.
module: i2rs-mplste
+--rw mplsTe
+--rw explicitPaths
| ...
+--rw rsvpTeTunnels
| ...
+--rw rsvpTeLsps
| ...
+--rw staticTunnels
| ...
+--rw staticCRLsps
...
2.1.1. Explicit Path
The I2RS client should be able to manually calculate a re-
optimization of the MPLS TE network and send the new constraints
including the calculated path to each node via the I2RS agent with an
indication to re-signal the TE LSPs with make-before-break method.
This section describes the information model related to explicit path
which is shown in the Yang high-level description and interprets the
meaning of each element.
+--rw explicitPaths
| +--rw explicitPath* [explicitPathName]
| +--rw explicitPathName string
| +--rw explicitPathHops
| +--rw explicitPathHop* [mplsTunnelHopIndex]
| +--rw mplsTunnelHopIndex uint32
| +--rw mplsTunnelHopIpAddr inet:ipv4-address
| +--rw mplsTunnelHopType? enumeration
| +--rw mplsTunnelHopAddrType? enumeration
o explicitPathName: the name of an explicit path.
o mplsTunnelHopIndex: hop index of an explicit path.
o mplsTunnelHopIpAddr: IP address of one hop.
Chen, et al. Expires April 30, 2015 [Page 4]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o mplsTunnelHopType: an LSP route selection types based on the local
hop which can be strict, loose and excluding. Strict type: Only an
LSP route that includes the local hop can be selected. Loose type:
An LSP route that includes the local node is selected preferentially.
If the local hop does not meet path limits, it will be not included
in the selected route. Excluding type: Only an LSP route that does
not include the local hop can be selected.
o mplsTunnelHopAddrType: address type.
2.1.2. RSVP-TE Tunnel
When the network uses dynamic RSVP-TE tunnel the I2RS client can
configure the explicit path and other constraints of multiple tunnel
paths to the I2RS agent. And the RSVP-TE tunnel information includes
the state of the tunnel and the protection-related information.
This section describes the information model related to RSVP-TE
tunnel which is shown in the Yang high-level description and
interprets the meaning of each element.
Chen, et al. Expires April 30, 2015 [Page 5]
Internet-Draft I2RS Information Model for MPLS TE October 2014
+--rw rsvpTeTunnels
| +--rw rsvpTeTunnel* [tunnelName]
| +--rw tunnelName string
| +--ro mplsTunnelIngressLSRId? inet:ipv4-address
| +--rw mplsTunnelEgressLSRId? inet:ipv4-address
| +--rw mplsTunnelIndex? uint16
| +--rw mplsTunnelBandwidth? uint32
| +--rw mplsTeTunnelSetupPriority? uint8
| +--rw holdPriority? uint8
| +--rw hotStandbyEnable? boolean
| +--rw hsbRevertiveMode? enumeration
| +--rw hotStandbyWtr? uint32
| +--rw ordinaryEnable? boolean
| +--rw bestEffortEnable? boolean
| +--rw disableCspf? boolean
| +--rw tunnelPaths
| | +--rw tunnelPath* [pathType]
| | +--rw pathType enumeration
| | +--rw explicitPathName? string
| | +--ro includeAll? string
| | +--rw includeAny? string
| | +--rw excludeAny? string
| | +--rw hopLimit? uint32
| | +--ro lspId? uint32
| | +--ro lspState? enumeration
| | +--ro modifyLspId? uint32
| +--rw resvStyle? enumeration
| +--rw tieBreaking? enumeration
| +--rw pathMetricType? enumeration
| +--ro hotStandbySwitchReason? enumeration
| +--ro adminStatus? enumeration
| +--ro operStatus? enumeration
| +--ro workingLspType? enumeration
| +--ro workingLspId? uint32
| +--rw frrAttr
| | +--rw frrEnable? boolean
| | +--rw bwProtEnable? boolean
| | +--rw frrBandwidth? uint32
| | +--rw frrSetupPriority? uint32
| | +--rw frrHoldPriority? uint32
| +--rw bypassAttr
| +--rw bypassEnable? boolean
| +--rw bypassProtectIFs
| +--rw bypassProtectIF* [bypassProtectIFName]
| +--rw bypassProtectIFName ifName
o tunnelName: a tunnel name is unique among all tunnels established
on a network node.
Chen, et al. Expires April 30, 2015 [Page 6]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o mplsTunnelIngressLSRId: ingress LSR ID of the tunnel.
o mplsTunnelEgressLSRId: egress LSR ID of the tunnel.
o mplsTunnelIndex: Session ID of a tunnel.
o mplsTunnelBandwidth: tunnel bandwidth.
o mplsTeTunnelSetupPriority: tunnel setup priority.
o holdPriority: tunnel holding priority.
o hotStandbyEnable: specifies hot standby capability for protecting
TE tunnels.
o hsbRevertiveMode: hot standby revertive mode. There are two revert
modes which are revertive or non-revertive.
o hotStandbyWtr: time of waiting recovering back to primary LSP.
When hot-standby backup is in use, after primary LSP restores, the
traffic will switch to primary LSP after waiting some time instead of
switching to primary LSP immediately. This is to avoid frequent
switching between primary LSP and backup LSP caused by network
flapping.
o ordinaryEnable: specifies tunnel ordinary backup protection
capability. When it is enabled and the primary LSP fails, a backup
LSP that meets certain limits will be set up. Then the traffic on
the primary LSP will be switched to the backup LSP.
o bestEffortEnable: specifies best-effort path protection of tunnels.
When best-effort path is enabled for a TE tunnel, and both active and
standby LSP fail, an LSP will be set up in the best effort method.
o disableCspf: disable CSPF of a tunnel.
o tunnelPath: information of tunnel paths belong to specified tunnel.
There can be maximum four tunnel paths with different path type
coexisting. Every tunnel path has independent path constraint and is
associated with one set up LSP.
o pathType: path type of a tunnel path. The available options are
primary(used by primary LSP), hot-standby(used by hot-standby backup
LSP), ordinary(used by ordinary backup LSP), and best-effort(used by
best-effort LSP).
o explicitPathName: name of an explicit path which is used for the
tunnel path.
Chen, et al. Expires April 30, 2015 [Page 7]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o includeAll: Administrative group attribute of an LSP (IncludeAll).
o includeAny: Administrative group attribute of an LSP (IncludeAny).
o excludeAny: Administrative group attribute of an LSP (ExcludeAny).
o hopLimit: number of limit of hops in a tunnel path.
o lspId: LSP ID of a tunnel path.
o lspState: the state of LSP.
o modifyLspId: modified LSP ID of a tunnel path.
o resvStyle: Tunnel reservation styles. SE style: shared explicit
style; FF: fixed filter style.
o tieBreaking: routing rules for a tunnel with multiple equal-cost
routes which can be random, least fill and most fill. Random: Select
a link randomly. Least fill: Select the link with smallest bandwidth
usage. Most fill: Select the link with biggest bandwidth usage. By
default, routing rules are inherited from the global MPLS TE routing
rules. If multiple paths meet certain limits, a path will be
selected based on the preceding rules.
o pathMetricType: referenced metric type of one link for calculating
path when creating TE tunnels. The available options are DEFAULT,
IGP and TE.
o hotStandbySwitchReason: the reason of hot-standby LSP switch.
o adminStatus: administrative state of a tunnel which is UP or Down.
o operStatus: operation status of a tunnel which is UP or Down.
o workingLspType: type of working LSP which is primary, hot-standby,
ordinary or best-effort.
o workingLspId: LSP ID of working LSP.
o frrEnable: specifies fast reroute capability.
o bwProtEnable: The tunnel with fast reroute capability requests
bandwidth protection.
o frrBandwidth: FRR-protection bandwidth requested by an active
tunnel.
Chen, et al. Expires April 30, 2015 [Page 8]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o frrSetupPriority: Setup priority of FRR protection tunnels.
o frrHoldPriority: holding priority of FRR protection tunnels.
o bypassEnable: bypass tunnel enabling or disabling.
o bypassProtectIFName: Specifies the name of an interface that can be
protected by a tunnel enabled with the bypass function.
2.1.3. RSVP-TE LSP
By collecting the LSP information of RSVP-TE protocol from the I2RS
agent I2RS client can monitor the RSVP-TE LSP.
This section describes the information model related to RSVP-TE LSP
which is shown in the Yang high-level description and interprets the
meaning of each element.
+--ro rsvpTeLsps
| +--ro rsvpTeLsp* [mplsTunnelIngressLSRId mplsTunnelEgressLSRId mplsSessionID mplsLSPID]
| +--ro mplsTunnelIngressLSRId inet:ipv4-address
| +--ro mplsTunnelEgressLSRId inet:ipv4-address
| +--ro mplsSessionID uint16
| +--ro mplsLSPID uint16
| +--ro tunnelName? string
| +--ro mplsTunnelRole? enumeration
| +--ro incomingIfName? string
| +--ro outgoingIfName? string
| +--ro mplsTunnelSetupPrio? uint8
| +--ro mplsTunnelHoldingPrio? uint8
| +--ro mplsTunnelBandwidth? uint32
| +--ro mplsTunnelEHops
| | +--ro mplsTunnelEHop* [mplsTunnelEHopIndex]
| | +--rw mplsTunnelEHopIndex uint32
| | +--rw mplsTunnelEHopIpAddr inet:ipv4-address
| | +--rw mplsTunnelEHopType? enumeration
| | +--rw mplsTunnelEHopAddrType? enumeration
| +--ro mplsTunnelARHops
| | +--ro mplsTunnelARHop* [mplsTunnelARHopIndex]
| | +--ro mplsTunnelARHopIndex uint32
| | +--ro incommingType? boolean
| | +--ro mplsTunnelARHopIpAddr? inet:ipv4-address
| | +--ro mplsTunnelARHopLabel? uint32
| | +--ro mplsTunnelLocalProtectInUse? boolean
| | +--ro mplsTunnelARHopLocalProtectType? enumeration
| | +--ro mplsTunnelARHopBwProt? boolean
| +--ro mplsTunnelHopTableName? string
| +--ro mplsCHops
Chen, et al. Expires April 30, 2015 [Page 9]
Internet-Draft I2RS Information Model for MPLS TE October 2014
| | +--ro mplsCHop* [mplsTunnelCRPathIndex mplsTunnelCRHopIndex]
| | +--ro mplsTunnelCRPathIndex uint32
| | +--ro mplsTunnelCRHopIndex uint32
| | +--ro mplsTunnelCRHopIsInclude? boolean
| | +--ro mplsTunnelCRHopType? enumeration
| | +--ro mplsTunnelLocalProtectInUse? boolean
| | +--ro mplsTunnelCRHopAddrType? enumeration
| | +--ro mplsTunnelCRHopIpAddr? inet:ipv4-address
| +--ro mplsTunnelLocalProtectEnable? boolean
| +--ro mplsTunnelLocalProtectInUse? enumeration
| +--ro bypassTunnelName? string
| +--ro mplsTunnelMergingPermitted? boolean
| +--ro mplsTunnelIncludeAllAffinity? string
| +--ro mplsTunnelIncludeAnyAffinity? string
| +--ro mplsTunnelExcludeAnyAffinity? string
| +--ro lspMTU? uint32
| +--ro mplsTunnelOperStatus? enumeration
| +--ro inLabel? uint32
| +--ro outLabel? uint32
| +--ro nextHop? inet:ipv4-address
| +--ro xcindex? uint32
o mplsTunnelIngressLSRId: ingress LSR ID of the tunnel.
o mplsTunnelEgressLSRId: egress LSR ID of the tunnel.
o mplsSessionID: session ID of a tunnel.
o mplsLSPID: LSP ID of a tunnel path.
o tunnelName: a tunnel name is unique among all tunnels established
on a network node.
o mplsTunnelRole: the types of the LSP nodes, including ingress,
transit, and egress nodes.
o incomingIfName: the name of incoming interface.
o outgoingIfName: the name of outgoing interface.
o mplsTunnelSetupPrio: setup priority of an LSP.
o mplsTunnelHoldingPrio: hold priority of an LSP.
o mplsTunnelBandwidth: bandwidth of a tunnel.
o mplsTunnelEHop: explicit path information included in Explicit
Route Object.
Chen, et al. Expires April 30, 2015 [Page 10]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o mplsTunnelEHopIndex: hop index of an explicit path.
o mplsTunnelEHopIpAddr: IP address of one hop.
o mplsTunnelEHopType: an LSP route selection types based on the local
hop which can be strict, loose and excluding. Strict type: Only an
LSP route that includes the local hop can be selected. Loose type:
An LSP route that includes the local node is selected preferentially.
If the local hop does not meet path limits, it will be not included
in the selected route. Excluding type: Only an LSP route that does
not include the local hop can be selected.
o mplsTunnelEHopAddrType: address type.
o mplsTunnelARHop: actual path of an LSP.
o mplsTunnelARHopIndex: hop index of actual path.
o incommingType: specify whether the hop is an inbound interface.
o mplsTunnelARHopIpAddr: IP address of the actual hop.
o mplsTunnelARHopLabel: Label of the actual hop.
o mplsTunnelLocalProtectInUse: FRR protection state.
o mplsTunnelARHopLocalProtectType: FRR protection type.
o mplsTunnelARHopBwProt: FRR bandwidth protection.
o mplsTunnelHopTableName: explicit path name of an LSP.
o mplsCHop: path calculated by CSPF according to LSP constraints.
o mplsTunnelCRPathIndex: index of path calculated by CSPF.
o mplsTunnelCRHopIndex: index of hop of path calculated by CSPF.
o mplsTunnelCRHopIsInclude: specify if it is this hop a include hop.
o mplsTunnelCRHopType: hop type calculated by CSPF. The available
options are strict and loose.
o mplsTunnelLocalProtectInUse: FRR protection state.
o mplsTunnelCRHopAddrType: address type of hop of path calculated by
CSPF. The available options are IPv4 and IPv6.
Chen, et al. Expires April 30, 2015 [Page 11]
Internet-Draft I2RS Information Model for MPLS TE October 2014
o mplsTunnelCRHopIpAddr: IP address of hop of path calculated by
CSPF.
o mplsTunnelLocalProtectEnable: specifies the enabling or disabling
state of FRR for an LSP.
o mplsTunnelLocalProtectInUse: specifies the FRR protection state of
this LSP.
o bypassTunnelName: name of the bypass tunnel that protects the LSP.
o mplsTunnelMergingPermitted: specify whether the LSP permits
bandwidth sharing.
o mplsTunnelIncludeAllAffinity: specifies the Include-all
(administrative group attribute) of an LSP.
o mplsTunnelIncludeAnyAffinity: specifies the Include-any
(administrative group attribute) of an LSP.
o mplsTunnelExcludeAnyAffinity: specifies the Exclude-any
(administrative group attribute) of an LSP.
o lspMTU: specifies an LSP MTU.
o mplsTunnelOperStatus: operation status of an LSP.
o inLabel: incoming label of the transit or egress LSP.
o outLabel: out label of the ingress or transit LSP.
o nextHop: next hop address of the ingress or transit LSP.
o xcindex: LSP index of the LSP.
2.1.4. Static Tunnel
Network programming software managing the static CR-LSP devices may
incorporate an I2RS Client along with a path calculation entity, a
label management entity, and a bandwidth management entity. The I2RS
Client should be able to communicate the static configuration to the
network nodes, and monitor the status of the CR-LSPs. The static
tunnel supports primary LSP and standby LSP.
This section describes the information model related to information
of static tunnel which is shown in the Yang high-level description
and interprets the meaning of each element.
Chen, et al. Expires April 30, 2015 [Page 12]
Internet-Draft I2RS Information Model for MPLS TE October 2014
+--rw staticTunnels
| +--rw staticTunnel* [tunnelName]
| +--rw tunnelName string
| +--rw tunnelIngressLSRId? inet:ipv4-address
| +--rw tunnelEgressLSRId? inet:ipv4-address
| +--rw tunnelIndex? uint16
| +--rw tunnelBandwidth? uint32
| +--rw staticCRLSPs
| | +--rw staticCRLSP* [lspName]
| | +--rw lspType enumeration
| | +--rw lspName string
| | +--ro lspState enumeration
| +--rw revertMode? uint32
| +--rw wtrValue? uint32
| +--rw holdoffValue? uint32
o tunnelName: a static tunnel name is unique among all tunnels
established on a network node.
o tunnelIngressLSRId: ingress LSR ID of the static tunnel.
o tunnelEgressLSRId: egress LSR ID of the static tunnel.
o tunnelIndex: session ID of the static tunnel.
o tunnelBandwidth: bandwidth of the static tunnel.
o staticCRLSP: static CR-LSP belonging to the same static tunnel
o lspType: type of static CR-LSP, working LSP or protection LSP.
o lspName: name of static CR-LSP.
o lspState: state of static CR-LSP.
o revertMode: two modes, one is non-revertive that traffic do not
switch to primary LSP when primary LSP is up and the other is
revertive that traffic switch to primary LSP when primary LSP is up.
o wtrValue: wait-to-restore time of traffic switch to primary LSP
when primary LSP is up.
o holdoffValue: hold off time of traffic switch to standby LSP when
the primary LSP is down.
Chen, et al. Expires April 30, 2015 [Page 13]
Internet-Draft I2RS Information Model for MPLS TE October 2014
2.1.5. Static CR-LSP
The static CR-LSP includes the information configured statically of
the label, bandwidth, out interface etc. The LSP information
downloaded to i2rs agent is different according to different role.
This section describes the information model related to static CR-LSP
which is shown in the Yang high-level description and interprets the
meaning of each element.
+--rw staticCRLsps
| +--rw staticCRLsp* [lspName]
| +--rw lspName string
| +--rw lsrRole enumeration
| +--ro destinationAddress? inet:ipv4-address
| +--rw bandwitdh uint32
| +--ro incomingIfName? ifName
| +--rw inLabel? uint32
| +--rw outgoingIfName? ifName
| +--rw nextHop? inet:ipv4-address
| +--rw outLabel? uint32
| +--rw mtu? uint32
o lspName: name of static CR-LSP.
o lsrRole: role of LSP which is ingress, transit and egress.
o destinationAddress: address of destination tunnel.
o bandwitdh: bandwidth of the static CR-LSP.
o incomingIfName: name of incoming interface for transit or egress
LSP.
o inLabel: incoming label of transit or egress LSP.
o outgoingIfName: name of outgoing interface for ingress or transit
LSP.
o nextHop: next hop of ingress or transit LSP.
o outLabel: out label of ingress or transit LSP.
o mtu: mtu of static LSP.
Chen, et al. Expires April 30, 2015 [Page 14]
Internet-Draft I2RS Information Model for MPLS TE October 2014
3. I2RS YANG model of MPLS TE
module: i2rs-mplste
+--rw mplsTe
+--rw explicitPaths
| +--rw explicitPath* [explicitPathName]
| +--rw explicitPathName string
| +--rw explicitPathHops
| +--rw explicitPathHop* [mplsTunnelHopIndex]
| +--rw mplsTunnelHopIndex uint32
| +--rw mplsTunnelHopIpAddr inet:ipv4-address
| +--rw mplsTunnelHopType? enumeration
| +--rw mplsTunnelHopAddrType? enumeration
+--rw rsvpTeTunnels
| +--rw rsvpTeTunnel* [tunnelName]
| +--rw tunnelName string
| +--ro mplsTunnelIngressLSRId? inet:ipv4-address
| +--rw mplsTunnelEgressLSRId? inet:ipv4-address
| +--rw mplsTunnelIndex? uint16
| +--rw mplsTunnelBandwidth? uint32
| +--rw mplsTeTunnelSetupPriority? uint8
| +--rw holdPriority? uint8
| +--rw hotStandbyEnable? boolean
| +--rw hsbRevertiveMode? enumeration
| +--rw hotStandbyWtr? uint32
| +--rw ordinaryEnable? boolean
| +--rw bestEffortEnable? boolean
| +--rw disableCspf? boolean
| +--rw tunnelPaths
| | +--rw tunnelPath* [pathType]
| | +--rw pathType enumeration
| | +--rw explicitPathName? string
| | +--ro includeAll? string
| | +--rw includeAny? string
| | +--rw excludeAny? string
| | +--rw hopLimit? uint32
| | +--ro lspId? uint32
| | +--ro lspState? enumeration
| | +--ro modifyLspId? uint32
| +--rw resvStyle? enumeration
| +--rw tieBreaking? enumeration
| +--rw pathMetricType? enumeration
| +--ro hotStandbySwitchReason? enumeration
| +--ro adminStatus? enumeration
| +--ro operStatus? enumeration
| +--ro workingLspType? enumeration
| +--ro workingLspId? uint32
| +--rw frrAttr
Chen, et al. Expires April 30, 2015 [Page 15]
Internet-Draft I2RS Information Model for MPLS TE October 2014
| | +--rw frrEnable? boolean
| | +--rw bwProtEnable? boolean
| | +--rw frrBandwidth? uint32
| | +--rw frrSetupPriority? uint32
| | +--rw frrHoldPriority? uint32
| +--rw bypassAttr
| +--rw bypassEnable? boolean
| +--rw bypassProtectIFs
| +--rw bypassProtectIF* [bypassProtectIFName]
| +--rw bypassProtectIFName ifName
+--ro rsvpTeLsps
| +--ro rsvpTeLsp* [mplsTunnelIngressLSRId mplsTunnelEgressLSRId mplsSessionID mplsLSPID]
| +--ro mplsTunnelIngressLSRId inet:ipv4-address
| +--ro mplsTunnelEgressLSRId inet:ipv4-address
| +--ro mplsSessionID uint16
| +--ro mplsLSPID uint16
| +--ro tunnelName? string
| +--ro mplsTunnelRole? enumeration
| +--ro incomingIfName? string
| +--ro outgoingIfName? string
| +--ro mplsTunnelSetupPrio? uint8
| +--ro mplsTunnelHoldingPrio? uint8
| +--ro mplsTunnelBandwidth? uint32
| +--ro mplsTunnelEHops
| | +--ro mplsTunnelEHop* [mplsTunnelEHopIndex]
| | +--rw mplsTunnelEHopIndex uint32
| | +--rw mplsTunnelEHopIpAddr inet:ipv4-address
| | +--rw mplsTunnelEHopType? enumeration
| | +--rw mplsTunnelEHopAddrType? enumeration
| +--ro mplsTunnelARHops
| | +--ro mplsTunnelARHop* [mplsTunnelARHopIndex]
| | +--ro mplsTunnelARHopIndex uint32
| | +--ro incommingType? boolean
| | +--ro mplsTunnelARHopIpAddr? inet:ipv4-address
| | +--ro mplsTunnelARHopLabel? uint32
| | +--ro mplsTunnelLocalProtectInUse? boolean
| | +--ro mplsTunnelARHopLocalProtectType? enumeration
| | +--ro mplsTunnelARHopBwProt? boolean
| +--ro mplsTunnelHopTableName? string
| +--ro mplsCHops
| | +--ro mplsCHop* [mplsTunnelCRPathIndex mplsTunnelCRHopIndex]
| | +--ro mplsTunnelCRPathIndex uint32
| | +--ro mplsTunnelCRHopIndex uint32
| | +--ro mplsTunnelCRHopIsInclude? boolean
| | +--ro mplsTunnelCRHopType? enumeration
| | +--ro mplsTunnelLocalProtectInUse? boolean
| | +--ro mplsTunnelCRHopAddrType? enumeration
| | +--ro mplsTunnelCRHopIpAddr? inet:ipv4-address
Chen, et al. Expires April 30, 2015 [Page 16]
Internet-Draft I2RS Information Model for MPLS TE October 2014
| +--ro mplsTunnelLocalProtectEnable? boolean
| +--ro mplsTunnelLocalProtectInUse? enumeration
| +--ro bypassTunnelName? string
| +--ro mplsTunnelMergingPermitted? boolean
| +--ro mplsTunnelIncludeAllAffinity? string
| +--ro mplsTunnelIncludeAnyAffinity? string
| +--ro mplsTunnelExcludeAnyAffinity? string
| +--ro lspMTU? uint32
| +--ro mplsTunnelOperStatus? enumeration
| +--ro inLabel? uint32
| +--ro outLabel? uint32
| +--ro nextHop? inet:ipv4-address
| +--ro xcindex? uint32
+--rw staticTunnels
| +--rw staticTunnel* [tunnelName]
| +--rw tunnelName string
| +--rw tunnelIngressLSRId? inet:ipv4-address
| +--rw tunnelEgressLSRId? inet:ipv4-address
| +--rw tunnelIndex? uint16
| +--rw tunnelBandwidth? uint32
| +--rw staticCRLSPs
| | +--rw staticCRLSP* [lspName]
| | +--rw lspType enumeration
| | +--rw lspName string
| | +--ro lspState enumeration
| +--rw revertMode? uint32
| +--rw wtrValue? uint32
| +--rw holdoffValue? uint32
+--rw staticCRLsps
| +--rw staticCRLsp* [lspName]
| +--rw lspName string
| +--rw lsrRole enumeration
| +--ro destinationAddress? inet:ipv4-address
| +--rw bandwitdh uint32
| +--ro incomingIfName? ifName
| +--rw inLabel? uint32
| +--rw outgoingIfName? ifName
| +--rw nextHop? inet:ipv4-address
| +--rw outLabel? uint32
| +--rw mtu? uint32
Figure 2 The I2RS YANG model of MPLS TE
4. IANA Considerations
This draft includes no request to IANA.
Chen, et al. Expires April 30, 2015 [Page 17]
Internet-Draft I2RS Information Model for MPLS TE October 2014
5. Security Considerations
This document introduces no new security threat and SHOULD follow the
security requirements as stated in [I-D.ietf-i2rs-architecture].
6. Normative References
[I-D.hares-i2rs-usecase-reqs-summary]
Hares, S., "Summary of I2RS Use Case Requirements", draft-
hares-i2rs-usecase-reqs-summary-00 (work in progress),
July 2014.
[I-D.huang-i2rs-mpls-te-usecases]
Huang, T., Li, Z., and S. Hares, "Use Cases for an
Interface to MPLS TE", draft-huang-i2rs-mpls-te-
usecases-02 (work in progress), July 2014.
[I-D.ietf-i2rs-architecture]
Atlas, A., Halpern, J., Hares, S., Ward, D., and T.
Nadeau, "An Architecture for the Interface to the Routing
System", draft-ietf-i2rs-architecture-05 (work in
progress), July 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Authors' Addresses
Xia Chen
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: jescia.chenxia@huawei.com
Zhenbin Li
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: lizhenbin@huawei.com
Chen, et al. Expires April 30, 2015 [Page 18]
Internet-Draft I2RS Information Model for MPLS TE October 2014
Susan Hares
Huawei Technologies
Saline, MI 48176
US
Email: shares@ndzh.com
Russ White
Ericsson
US
Email: russ.white@ericsson.com
Jeff Tantsura
Ericsson
Email: jeff.tantsura@ericsson.com
Chen, et al. Expires April 30, 2015 [Page 19]