Internet DRAFT - draft-chen-pce-h-sdns
draft-chen-pce-h-sdns
PCE Working Group H. Chen
Internet-Draft Huawei Technologies
Intended status: Standards Track M. Toy
Expires: May 3, 2018 Verizon
L. Liu
Fujitsu
V. Liu
China Mobile
October 30, 2017
PCE Hierarchical SDNs
draft-chen-pce-h-sdns-03
Abstract
This document presents extensions to the Path Computation Element
Communication Protocol (PCEP) for supporting a hierarchical SDN
control system, which comprises multiple SDN controllers controlling
a network with a number of domains.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
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 May 3, 2018.
Copyright Notice
Copyright (c) 2017 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
Chen, et al. Expires May 3, 2018 [Page 1]
Internet-Draft PCE-H-SDNs October 2017
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 . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Conventions Used in This Document . . . . . . . . . . . . . . 6
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Overview of Hierarchical SDN Control System . . . . . . . . . 6
6. Extensions to PCEP . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Capability Discovery . . . . . . . . . . . . . . . . . . . 9
6.2. New Messages for Hierarchical SDN Control System . . . . . 10
6.2.1. Contents of Messages . . . . . . . . . . . . . . . . . 12
6.2.2. Individual Encoding of Messages . . . . . . . . . . . 24
6.2.3. Group Encoding of Messages . . . . . . . . . . . . . . 25
6.2.4. Embedded Encoding of Messages . . . . . . . . . . . . 26
6.2.5. Mixed Encoding of Messages . . . . . . . . . . . . . . 27
6.3. Controller Relation Discovery . . . . . . . . . . . . . . 27
6.3.1. Using Open Message . . . . . . . . . . . . . . . . . . 27
6.3.2. Using Discovery Message . . . . . . . . . . . . . . . 29
6.4. Connections and Accesses Advertisement . . . . . . . . . . 30
6.5. Tunnel Creation . . . . . . . . . . . . . . . . . . . . . 30
6.5.1. Computing Path in Two Rounds . . . . . . . . . . . . . 31
6.5.2. Computing Path in One Round . . . . . . . . . . . . . 32
6.5.3. Creating Tunnel along Path . . . . . . . . . . . . . . 34
6.6. Objects and TLVs . . . . . . . . . . . . . . . . . . . . . 36
6.6.1. CRP Objects . . . . . . . . . . . . . . . . . . . . . 36
6.6.2. LOCAL-CONTROLLER Object . . . . . . . . . . . . . . . 37
6.6.3. REMOTE-CONTROLLER Object . . . . . . . . . . . . . . . 38
6.6.4. CONNECTION and ACCESS Object . . . . . . . . . . . . . 40
6.6.5. NODE Object . . . . . . . . . . . . . . . . . . . . . 47
6.6.6. TUNNEL Object . . . . . . . . . . . . . . . . . . . . 53
6.6.7. STATUS Object . . . . . . . . . . . . . . . . . . . . 54
6.6.8. LABEL Object . . . . . . . . . . . . . . . . . . . . . 54
6.6.9. INTERFACE Object . . . . . . . . . . . . . . . . . . . 55
7. Security Considerations . . . . . . . . . . . . . . . . . . . 56
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56
9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 56
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.1. Normative References . . . . . . . . . . . . . . . . . . . 56
10.2. Informative References . . . . . . . . . . . . . . . . . . 57
Appendix A. Details on Embedded Encoding of Messages . . . . . . 58
A.1. Message for Controller Relation Discovery . . . . . . . . 58
A.2. Message for Connections and Accesses Advertisement . . . . 60
A.3. Request for Computing Path Segments . . . . . . . . . . . 60
Chen, et al. Expires May 3, 2018 [Page 2]
Internet-Draft PCE-H-SDNs October 2017
A.4. Reply for Computing Path Segments . . . . . . . . . . . . 61
A.5. Request for Removing Path Segments . . . . . . . . . . . . 61
A.6. Reply for Removing Path Segments . . . . . . . . . . . . . 62
A.7. Request for Keeping Path Segments . . . . . . . . . . . . 62
A.8. Reply for Keeping Path Segments . . . . . . . . . . . . . 63
A.9. Request for Creating Tunnel Segment . . . . . . . . . . . 63
A.10. Reply for Creating Tunnel Segment . . . . . . . . . . . . 64
A.11. Request for Removing Tunnel Segment . . . . . . . . . . . 64
A.12. Reply for Removing Tunnel Segment . . . . . . . . . . . . 65
Chen, et al. Expires May 3, 2018 [Page 3]
Internet-Draft PCE-H-SDNs October 2017
1. Introduction
A domain is a collection of network elements within a common sphere
of address management or routing procedure which are operated by a
single organization or administrative authority. Examples of such
domains include IGP (OSPF or IS-IS) areas and Autonomous Systems.
For scalability, security, interoperability and manageability, a big
network is organized as a number of domains. For example, a big
network running OSPF as routing protocol is organized as a number of
OSPF areas. A network running BGP is organized as multiple
Autonomous Systems, each of which has a number of IGP areas.
The concepts of Software Defined Networks (SDN) have been shown to
reduce the overall network CapEx and OpEx, whilst facilitating the
deployment of services and enabling new features. The core
principles of SDN include: centralized control to allow optimized
usage of network resources and provisioning of network elements
across domains.
For a network with a number of domains, it is natural to have
multiple SDN controllers, each of which controls a domain in the
network. To achieve a centralized control on the network, a
hierarchical architecture of controllers is a good fit. At top level
of the hierarchy, it is a parent controller that is not a child
controller. The parent controller controls a number of child
controllers. Some of these child controllers are not parent
controllers. Each of them controls a domain. Some other child
controllers are also parent controllers, each of which controls
multiple child controllers, and so on.
This document presents extensions to the Path Computation Element
Communication Protocol (PCEP) for supporting a hierarchical SDN
control system, which comprises multiple SDN controllers controlling
a network with a number of domains.
2. Terminology
The following terminology is used in this document.
ABR: Area Border Router. Router used to connect two IGP areas
(Areas in OSPF or levels in IS-IS).
ASBR: Autonomous System Border Router. Router used to connect
together ASes of the same or different service providers via one
or more inter-AS links.
Chen, et al. Expires May 3, 2018 [Page 4]
Internet-Draft PCE-H-SDNs October 2017
BN: Boundary Node. A boundary node is either an ABR in the context
of inter-area Traffic Engineering or an ASBR in the context of
inter-AS Traffic Engineering. A Boundary Node is also called an
Edge Node.
Entry BN of domain(n): a BN connecting domain(n-1) to domain(n)
along the path found from the source node to the BN, where
domain(n-1) is the previous hop (or upstream) domain of domain(n).
An Entry BN is also called an in-BN or in-edge node.
Exit BN of domain(n): a BN connecting domain(n) to domain(n+1) along
the path found from the source node to the BN, where domain(n+1)
is the next hop (or downstream) domain of domain(n). An Exit BN
is also called a out-BN or out-edge node.
Source Domain: For a tunnel from a source to a destination, the
domain containing the source is the source domain for the tunnel.
Destination Domain: For a tunnel from a source to a destination, the
domain containing the destination is the destination domain for
the tunnel.
Source Controller: A controller controlling the source domain.
Destination Controller: A controller controlling the destination
domain.
Parent Controller: A parent controller is a controller that
communicates with a number of child controllers and controls a
network with multiple domains through the child controllers. A
PCE can be enhanced to be a parent controller.
Child Controller: A child controller is a controller that
communicates with one parent controller and controls a domain in a
network. A PCE can be enhanced to be a child controller.
Exception list: An exception list for a domain contains the nodes in
the domain and its adjacent domains that are on the shortest path
tree (SPT) that the parent controller is building.
GTID: Global Tunnel Identifier. It is used to identify a tunnel in
a network.
PID: Path Identifier. It is used to identify a path for a tunnel in
a network.
Chen, et al. Expires May 3, 2018 [Page 5]
Internet-Draft PCE-H-SDNs October 2017
Inter-area TE LSP: a TE LSP that crosses an IGP area boundary.
Inter-AS TE LSP: a TE LSP that crosses an AS boundary.
LSP: Label Switched Path
LSR: Label Switching Router
PCC: Path Computation Client. Any client application requesting a
path computation to be performed by a Path Computation Element.
PCE: Path Computation Element. An entity (component, application,
or network node) that is capable of computing a network path or
route based on a network graph and applying computational
constraints.
PCE(i): a PCE with the scope of domain(i).
TED: Traffic Engineering Database.
This document uses terminology defined in [RFC5440].
3. Conventions Used in This Document
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 [RFC2119].
4. Requirements
This section summarizes the requirements for Hierarchical SDN Control
System (need more text here).
5. Overview of Hierarchical SDN Control System
The Figure below illustrates a hierarchical SDN control system.
There is one Parent Controller and four Child Controllers: Child
Controller 1, Child Controller 2, Child Controller 3 and Child
Controller 4.
Chen, et al. Expires May 3, 2018 [Page 6]
Internet-Draft PCE-H-SDNs October 2017
+-------------------+
| Parent Controller |
+--+---------+----+-+
_/| \ \____
_/ | \ \____
_/ | \ \__
__/ | +---------+---------+ \
__/ | |Child Controller 3 | |
/ | +-------------------+ |
+---------+---------+ | / \ |
|Child Controller 1 | | .---. .---,\ |
+-------------------+ | ( ' ') |
/ \ | ( Domain 3 ) |
.---. .---,\ | ( ) +---------+---------+
( ' ') | '-o-.--o) |Child Controller 4 |
( Domain 1 ) | | +-------------------+
( ) | | / \____
'-o-.---) +--------+----------+ \ / \ \____
| |Child Controller 2 | \ /\ .---. .---+ \
| +-------------------+ \ | \( ' |'.---. |
| / \____ \_ |---\ Domain 4 | '+,
\ / \ \____ (o \ | | )
\ /\ .---. .---+ \ ( | | o)
\ | \( ' |'.---. | ( | | )
\ |---\ Domain 2 | '+. ( o o .-'
\____(o \ | | ) ' )
( | | o)-------o---._.-.-----)
( | | )
( o o .-'
' )
'---._.-.-----)
The parent controller communicates with these four child controllers
and controls them, each of which controls (or is responsible for) a
domain. Child controller 1 controls domain 1, Child controller 2
controls domain 2, Child controller 3 controls domain 3, and Child
controller 4 controls domain 4.
One level of hierarchy of controllers is illustrated in the figure
above. There is one parent controller at top level, which is not a
child controller. Under the parent controller, there are four child
controllers, which are not parent controllers.
In a general case, at top level there is one parent controller that
is not a child controller, there are some controllers that are both
parent controllers and child controllers, and there are a number of
child controllers that are not parent controllers. This is a system
Chen, et al. Expires May 3, 2018 [Page 7]
Internet-Draft PCE-H-SDNs October 2017
of multiple levels of hierarchies, in which one parent controller
controls or communicates with a first number of child controllers,
some of which are also parent controllers, each of which controls or
communicates with a second number of child controllers, and so on.
Considering one parent controller and its child controllers, each of
the child controllers controls a domain and has the topology
information on the domain, the parent controller does not have the
topology information on any domain controlled by a child controller
normally. This is called parent without domain topology.
In some special cases, the parent controller has the topology
information on a region consisting of the domains controlled by its
child controllers. In other words, the parent controller has the
topology information on the domains controlled by its child
controllers and the topology/inter-connections among these domains.
This is called parent with domain topology.
The parent controller receives requests for creating end to end
tunnels from users or applications. For each request, the parent
controller is responsible for obtaining a path for the tunnel and
creating the tunnel along the path.
For parent without domain topology, the parent controller asks each
of its related child controllers to compute path segments from an
entry boundary node to exit boundary nodes in the domain it controls
or path segments from an exit boundary node in its domain to entry
boundary nodes of other adjacent domains just using the inter-domain
links attached to the exit boundary node. The details of the
segments are hidden from the parent, which sees each of the segments
as a link from a boundary node to another boundary node with a cost.
The parent controller builds a shortest path tree (SPT) using the
path segments computed as links to get the end to end path and then
creates the tunnel along the path by asking its related child
controllers.
The end to end path does not have any details from the parent's point
of view. It can be considered as a sequence of domains containing
the shortest path. Along this sequence of domains, the details of
the end to end path can be obtained. And then the tunnel along the
path with details can be created.
For parent with domain topology, the parent controller computes a
path for the tunnel using the topology information on the domains
controlled by its child controllers. And then it creates the tunnel
along the path computed through asking its related child controllers.
Chen, et al. Expires May 3, 2018 [Page 8]
Internet-Draft PCE-H-SDNs October 2017
6. Extensions to PCEP
This section describes the extensions to PCEP for a Hierarchical SDN
Control System (HSCS). The extensions include the definition of a
new flag in the RP object, a global tunnel identifier (GTID), a path
identifier (PID), a list of path segments and an exception list in
the PCReq and PCRep message.
6.1. Capability Discovery
During a PCEP session establishment between two PCEP speakers (PCE or
PCC), each of them advertises its capabilities for HSCS through the
Open Message with the Open Object containing a new TLV to indicate
its capabilities for HSCS. This new TLV is called HSCS capability
TLV. It has the following format.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = TBD1 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Capability Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Optional Sub-TLVs) |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The type of the TLV is TBD1. It has a length of 4 octets plus the
size of optional Sub-TLVs. The value of the TLV comprises a
capability flags field of 32 bits, which are numbered from the most
significant as bit zero. Each bit represents a capability.
o PC (Parent Controller - 1 bit): Bit 0 is used as PC flag. It is
set to 1 indicating a parent controller.
o CC (Child Controller - 1 bit): Bit 1 is used as PC flag. It is
set to 1 indicating a child controller.
o PS (Path Segments - 1 bit): Bit 2 is used as PS flag. It is set
to 1 indicating support for computing path segments for HSCS
o TS (Tunnel Segment - 1 bit): Bit 3 is used as TS flag. It is set
to 1 indicating support for creating tunnel segment for HSCS
Chen, et al. Expires May 3, 2018 [Page 9]
Internet-Draft PCE-H-SDNs October 2017
o ET (End to end Tunnel - 1 bit): Bit 4 is used as ET flag. It is
set to 1 indicating support for creation and maintenance of end to
end LSP tunnels
6.2. New Messages for Hierarchical SDN Control System
This section describes the contents and semantics of the new
messages, and presents a few of different encodings for the messages.
There are a number of new messages for supporting HSCS. These new
messages can be encoded in a few of ways as follows:
o To use a new type at top level for each of the new messages. This
is called individual encoding.
o To use a new type at top level for each group of the new messages
and a option/operation/sub-type value for every message in the
group. This is called group encoding.
o To use/re-use existing messages and a value of options/operations
for each new message in an existing message. This is called
embedded encoding.
o To combine the ways above. This is called mixed encoding.
Various types of messages for supporting HSCS are listed below. Note
that many new messages may not be needed for some procedures/options.
For example, four messages Request and Reply for Removing Path
Segments and Request and Reply for Keeping Path Segments are not
needed if path segments computed are not stored/remembered by a child
controller. But in this case, the path segment in each domain along
the end to end path computed needs to be re-computed when a tunnel
along the path is set up.
Message for Controller Relation Discovery: It is a message exchanged
between a parent controller and a child controller for discovering
their parent-child relation.
Message for Connections and Accesses Advertisement: It is a message
that a child controller sends its parent controller to describe
the connections from the domain it controls to its adjacent
domains and the access points in the domain to be accessible
outside of the domain.
Request for Computing Path Segments: It is a message that a parent
controller sends a child controller to request the child
controller for computing path segments in the domain the child
controller controls.
Chen, et al. Expires May 3, 2018 [Page 10]
Internet-Draft PCE-H-SDNs October 2017
Reply for Computing Path Segments: It is a message that a child
controller sends a parent controller to reply the parent
controller for a request message for computing path segments after
receiving the request message from the parent controller for
computing path segments and computing path segments as requested,
which normally contains the path segments computed.
Request for Removing Path Segments: It is a message that a parent
controller sends a child controller to request the child
controller for removing the path segments computed by the child
controller and stored in the child controller.
Reply for Removing Path Segments: It is a message that a child
controller sends a parent controller to reply the parent
controller for a request message for removing a set of path
segments after receiving the request message from the parent
controller for removing path segments and removing the path
segments as requested, which normally contains a status of
removing path segments.
Request for Keeping Path Segments: It is a message that a parent
controller sends a child controller to request the child
controller for keeping a set of path segments computed by the
child controller and stored in the child controller.
Reply for Keeping Path Segments: It is a message that a child
controller sends a parent controller to reply the parent
controller for a request message for keeping path segments after
receiving the request message from the parent controller for
keeping path segments and keeping the path segments as requested,
which normally contains a status of keeping path segments.
Request for Creating Tunnel Segment: It is a message that a parent
controller sends a child controller to request the child
controller for creating tunnel segments related to the domain the
child controller controls.
Reply for Creating Tunnel Segment: It is a message that a child
controller sends a parent controller to reply the parent
controller for a request message for creating tunnel segment after
receiving the request message from the parent controller for
creating tunnel segment and creating tunnel segment as requested,
which normally contains a status of creating tunnel segment and a
label and an interface.
Chen, et al. Expires May 3, 2018 [Page 11]
Internet-Draft PCE-H-SDNs October 2017
Request for Removing Tunnel Segment: It is a message that a parent
controller sends a child controller to request the child
controller for removing the tunnel segment created by the child
controller.
Reply for Removing Tunnel Segment: It is a message that a child
controller sends a parent controller to reply the parent
controller for a request message for removing tunnel segment after
receiving the request message from the parent controller for
removing tunnel segment and removing the tunnel segment as
requested, which normally contains a status of removing tunnel
segment.
6.2.1. Contents of Messages
This section describes the contents in each of the messages and gives
the format of each of messages in individual encoding, which is the
same as in group encoding. Some of the objects in the messages are
defined in the following sections.
6.2.1.1. Message for Controller Relation Discovery
A message for controller relation discovery is exchanged between a
parent controller and a child controller for discovering their
parent-child relation.
A message for controller relation discovery (CRDis message for short)
sent from a local controller to a remote controller comprises:
o Local controller attributes
o Remote controller attributes after the local controller receives
the remote controller attributes from a remote end and determines
that the relation between the local controller and the remote
controller can be formed.
The format of the CRDis message is as follows:
<CRDis Message> ::= <Common Header>
<CRP>
<Local-Controller>
[<Remote-Controller>]
where CRP (Controller Request Parameters) object is defined in
section Objects and TLVs.
Chen, et al. Expires May 3, 2018 [Page 12]
Internet-Draft PCE-H-SDNs October 2017
6.2.1.2. Message for Connections and Accesses Advertisement
After a child controller discovers its parent controller, it sends
its parent controller a message for connections and accesses
advertisement.
A message for connections and accesses advertisement (CAAdv message
for short) from a child controller comprises:
o Inter-domain links from the domain the child controller controls
to its adjacent domains.
o The addresses in the domain to be accessible to the outside of the
domain.
o Attributes of each of the boundary nodes of the domain.
The format of the CAAdv message is as follows:
<CAAdv Message> ::= <Common Header>
<CRP>
<Inter-Domain-Link-List>
[<Access-Address-List>]
where:
<Inter-Domain-Link-List> ::= <Inter-Domain-Link>
[<Inter-Domain-Link-List>]
<Access-Address-List> ::= <Access-Address>
[<Access-Address-List>]
6.2.1.3. Request for Computing Path Segments
After receiving a request for creating an end to end tunnel from
source A to destination Z for a given set of constraints, a parent
controller allocates a global tunnel identifier (GTID) for the end to
end tunnel crossing domains and a path identifier (PID) for an end to
end path to be computed for the tunnel. The parent controller sends
a request message to each of its related child controllers for
computing a set of path segments in the domain the child controller
controls in a special order. The parent controller builds a shortest
path tree (SPT) using these path segments and obtains a shortest path
from source A to destination Z that satisfies the constraints.
Note: The details of the path segments are hidden from the parent,
which sees each of the segments as a link from one (boundary) node to
another (boundary) node with a cost. The end to end path does not
have any details from the parent's point of view, which may be
considered as a domain path.
Chen, et al. Expires May 3, 2018 [Page 13]
Internet-Draft PCE-H-SDNs October 2017
A request message for computing path segments (PSReq message for
short) from a parent controller to a child controller comprises:
o The address or identifier of the start-node (saying X) in the
domain controlled by the child controller. From this node, a
number of path segments are to be computed.
o The global tunnel identifier (GTID) and the path identifier (PID).
For the path of the tunnel, a number of path segments are to be
computed.
o An exception list containing the nodes that are on the SPT and in
the domain controlled by the child controller or its adjacent
domains.
o The constraints for the path such as bandwidth constraints and
color constraints.
o A destination node Z. If Z is in the domain controlled by the
child controller, the child controller computes a shortest path
segment satisfying the constraints from node X to node Z within
the domain.
o Options for computing path segments:
E: E set to 1 indicating computing a shortest path segment
satisfying the constraints from node X to each of the edge
nodes of the domain controlled by the child controller except
for the nodes in the exception list. E is set to 1 if there is
not any previous hop of node X in the domain.
After receiving the request message, the child controller computes a
shortest path segment satisfying the constraints from node X to each
of the edge nodes of the domain controlled by the child controller
except for the nodes in the exception list if E is 1. In addition,
it computes a shortest path segment satisfying the constraints from
node X to each of the edge nodes of the adjacent domains except for
the edge nodes in the exception list just using the inter-domain
links attached to node X if node X is an edge node of the domain and
an end point of an inter-domain link.
The format of the PSReq message is as follows:
Chen, et al. Expires May 3, 2018 [Page 14]
Internet-Draft PCE-H-SDNs October 2017
<PSReq Message> ::= <Common Header>
[<svec-list>]
<path-segment-request-list>
where:
<svec-list>::=<SVEC>[<svec-list>]
<path-segment-request-list> ::=
<path-segment-request>
[<path-segment-request-list>]
<path-segment-request> ::=
<CRP>
<Start-Node> <Tunnel-ID> <Path-ID>
[<Destination>]
[<OF>] [<LSPA>] [<BANDWIDTH>]
[<metric-list>] [<RRO>[<BANDWIDTH>]] [<IRO>]
[<LOAD-BALANCING>]
<exception-list>
6.2.1.4. Reply for Computing Path Segments
After receiving a request message from a parent controller for
computing path segments, a child controller computes the path
segments as requested in the message and sends the parent controller
a reply message to reply the request message, which contains the path
segments computed. The details of the path segments are hidden from
the parent, which sees each of the path segments as a link with a
cost.
A reply message for computing path segments (PSRep message for short)
comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
For the path of the tunnel, the path segments are computed.
o The address or identifier of the start-node (saying X) in the
domain controlled by the child controller. From this node, the
path segments are computed.
o For each shortest path segment from node X to node Y computed, the
address or identifier of node Y and the cost of the shortest path
segment from node X to node Y.
The child controller stores the details about every shortest path
segment computed under the global tunnel identifier (GTID) and the
path identifier (PID) when it sends the reply message containing the
path segments to the parent controller.
Chen, et al. Expires May 3, 2018 [Page 15]
Internet-Draft PCE-H-SDNs October 2017
The child controller may delete the path segments computed for the
global tunnel identifier (GTID) and the path identifier (PID) if it
does not receive any request for keeping them from the parent
controller for a given period of time.
The format of the PSRep message is as follows:
<PSRep Message> ::= <Common Header>
<path-segment-reply-list>
where:
<path-segment-reply-list> ::=
<path-segment-reply>
[<path-segment-reply-list>]
<path-segment-reply> ::=
<CRP>
<Tunnel-ID> <Path-ID>
<Start-Node>
[ <NO-PATH> | <segment-end-List> ]
[<metric-list>]
6.2.1.5. Request for Removing Path Segments
After a shortest path satisfying a set of constraints from source A
to destination Z is computed, a parent controller may delete the path
segments computed and stored in the related child controllers, which
are not any part of the shortest path. A parent controller may send
a child controller a request message for removing the path segments
computed by the child controller and stored in the child controller.
1). A request message for removing path segments (RPSReq message for
short) comprises:
o The global tunnel identifier (GTID).
All the path segments stored under GTID in the child controller are
to be removed.
2). A request message for removing path segments comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
All the path segments stored under GTID and PID in the child
controller are to be removed.
3). A request message for removing path segments comprises:
Chen, et al. Expires May 3, 2018 [Page 16]
Internet-Draft PCE-H-SDNs October 2017
o The global tunnel identifier (GTID) and the path identifier (PID)
o A list of start point (or node) addresses or identifiers.
All the path segments stored in the child controller under GTID and
PID and with a start point or node from the list of start point (or
node) addresses or identifiers are to be removed.
4). A request message for removing path segments comprises:
o The global tunnel identifier (GTID) and the path identifier (PID)
o A list of start point (or node) addresses or identifiers
o A list of pairs (start point, a list of end points), which
identifies the path segments from start point of each pair to each
of the end points in the list of the pairs.
In addition to the path segments as described in the previous
message, the path segments stored in the child controller under GTID
and PID and identified by the list of pairs are to be removed.
The format of the RPSReq message is as follows:
<RPSReq Message> ::= <Common Header>
<remove-path-segment-request-list>
where:
<remove-path-segment-request-list> :: =
<remove-path-segment-request>
[<remove-path-segment-request-list>]
<remove-path-segment-request> ::=
<CRP>
<Tunnel-ID> [<Path-ID>]
[<start-node-list>]
[<branch-List>]
<start-node-list> ::= <Start-Node> [<start-node-list>]
<branch-list> ::= <Branch> [<branch-list>]
<Branch> ::= <Start-Node> <branch-end-list>
<branch-end-list> ::= <Branch-End> [<branch-end-list>]
Chen, et al. Expires May 3, 2018 [Page 17]
Internet-Draft PCE-H-SDNs October 2017
6.2.1.6. Reply for Removing Path Segments
After removing the path segments as requested by a request message
for removing path segments from a parent controller, a child
controller sends the parent controller a reply message for removing
path segments.
A reply message for removing path segments (RPSRep message for short)
comprises:
o The global tunnel identifier (GTID) and the path identifier (PID)
o Status of the path segments removal:
Success: The path segments requested for removal are removed
successfully.
Fail: The path segments requested for removal can not be
removed.
o Error code and reasons for failure if the status is Fail.
The format of the RPSRep message is as follows:
<RPSRep Message> ::= <Common Header>
<remove-path-segment-reply-list>
where:
<remove-path-segment-reply-list> ::=
<remove-path-segment-reply>
[<remove-path-segment-reply-list>]
<remove-path-segment-reply> ::=
<CRP>
<Tunnel-ID> [<Path-ID>]
<Status>
[<Reasons>]
6.2.1.7. Request for Keeping Path Segments
After a shortest path satisfying a set of constraints from source A
to destination Z is computed, a parent controller may send a request
message for keeping path segments to each of the related child
controllers to keep the path segments on the shortest path.
A request message for keeping path segments (KPSReq message for
short) comprises:
Chen, et al. Expires May 3, 2018 [Page 18]
Internet-Draft PCE-H-SDNs October 2017
o The global tunnel identifier (GTID) and the path identifier (PID).
o A list of pairs (start point, end point), each of which identifies
the path segment from the start point of the pair to the end point
of the pair.
The child controller will keep the path segments given by the list of
pairs (start point, end point) stored under GTID and PID. It will
remove all the other path segments stored under GTID and PID.
The format of the KPSReq message is as follows:
<KPSReq Message> ::= <Common Header>
<keep-path-segment-request-list>
where:
<keep-path-segment-request-list> :: =
<keep-path-segment-request>
[<keep-path-segment-request-list>]
<keep-path-segment-request> ::=
<CRP>
<Tunnel-ID> <Path-ID>
<segment-list>
<segment-list> ::= <Segment> [<segment-list>]
<Segment> ::= <Segment-Start> <Segment-End>
6.2.1.8. Reply for Keeping Path Segments
After keeping path segments as requested by a request message for
keeping path segments from a parent controller, a child controller
sends the parent controller a reply message for keeping path
segments.
A reply message for keeping path segments (KPSRep message for short)
comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
o Status of the path segment retention:
Success: The path segments requested for retention are retained
successfully.
Chen, et al. Expires May 3, 2018 [Page 19]
Internet-Draft PCE-H-SDNs October 2017
Fail: The path segments requested for retention can not be
retained.
o Error code and reasons for failure if the status is Fail.
The format of the KPSRep message is as follows:
<KPSRep Message> ::= <Common Header>
<keep-path-segment-reply-list>
where:
<keep-path-segment-reply-list> ::=
<keep-path-segment-reply>
[<keep-path-segment-reply-list>]
<keep-path-segment-reply> ::=
<CRP>
<Tunnel-ID> <Path-ID>
<Status>
[<Reasons>]
6.2.1.9. Request for Creating Tunnel Segment
After obtaining the end to end shortest point to point (P2P) path, a
parent controller creates a tunnel along the path crossing multiple
domains through sending a request message for creating tunnel segment
to each of the child controllers along the path in a reverse
direction to create a tunnel segment.
A request message for creating tunnel segment (CTSReq message for
short) comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
o A path segment from a start point to an end point for parent
without domain topology or a path segment details/ERO for parent
with domain topology.
o A label and an interface if the domain controlled by the child
control is not a destination domain.
For parent without domain topology, the child controller allocates
and reserves link bandwidth along the path segment identified by the
start point and end point, assigns labels along the path segment, and
writes cross connects on each of the nodes along the path segment.
For parent with domain topology, the child controller assigns labels
along the path segment ERO and writes cross connects on each of the
Chen, et al. Expires May 3, 2018 [Page 20]
Internet-Draft PCE-H-SDNs October 2017
nodes along the path segment. The link bandwidth along the path
segment is allocated and reserved by the parent controller.
For the non destination domain, the child controller writes the cross
connect on the edge node to the downstream domain using the label and
the interface from the downstream domain in the message.
For the non source domain, the child controller will include a label
and an interface in a message to be sent to the parent controller.
The interface connects the edge node of the upstream domain along the
path. The label is allocated for the interface on the node that is
the next hop of the edge node.
The format of the CTSReq message is as follows:
<CTSReq Message> ::= <Common Header>
<create-tunnel-segment-request-list>
where:
<create-tunnel-segment-request-list> ::=
<create-tunnel-segment-request>
[<create-tunnel-segment-request-list>]
<create-tunnel-segment-request> ::=
<CRP>
<Tunnel-ID> <Path-ID>
<Path-Segment>
[<Label> <Interface>]
<Path-Segment> ::= [<Segment-Start> <Segment-End> | <ERO> ]
6.2.1.10. Reply for Creating Tunnel Segment
After creating tunnel segment as requested by a request message for
creating tunnel segment from a parent controller, a child controller
sends the parent controller a reply message for creating tunnel
segment.
A reply message for creating tunnel segment (CTSRep message for
short) comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
o Status of the tunnel segment creation:
Chen, et al. Expires May 3, 2018 [Page 21]
Internet-Draft PCE-H-SDNs October 2017
Success: The tunnel segment requested is created successfully.
Fail: The tunnel segments requested can not be created.
o A label and an interface if the domain controlled by the child
controller is not source domain and the status is Success.
o Error code and reasons for failure if the status is Fail.
For the non source domain controlled by the child controller, the
interface in the message connects the edge node of the upstream
domain along the path, the label is allocated for the interface on
the node that is the next hop of the edge node.
The format of the CTSRep message is as follows:
<CTSRep Message> ::= <Common Header>
<create-tunnel-segment-reply-list>
where:
<create-tunnel-segment-reply-list> ::=
<create-tunnel-segment-reply>
[<create-tunnel-segment-reply-list>]
<create-tunnel-segment-reply> ::=
<CRP>
<Tunnel-ID> <Path-ID>
<Status> [<Label> <Interface>]
[<Reasons>]
6.2.1.11. Request for Removing Tunnel Segment
When a parent controller receives a request for deleting a tunnel
from a user or an application, or receives a reply message for
creating tunnel segment with status of Fail from a child controller,
the parent controller will delete the tunnel through sending a
request message for removing tunnel segment to each of the related
child controllers.
A request message for removing tunnel segment (RTSReq message for
short) comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
The child controller releases the labels assigned along the path
segments under GTID and PID, and removes the cross connects on each
of the nodes along the path segments. If the child controller
reserved the link bandwidth along the path segments under GTID and
Chen, et al. Expires May 3, 2018 [Page 22]
Internet-Draft PCE-H-SDNs October 2017
PID, it releases the link bandwidth reserved.
The format of the RTSReq message is as follows:
<RTSReq Message> ::= <Common Header>
<remove-tunnel-segment-request-list>
where:
<remove-tunnel-segment-request-list> ::=
<remove-tunnel-segment-request>
[<remove-tunnel-segment-request-list>]
<remove-tunnel-segment-request> ::
<CRP>
<Tunnel-ID> [<Path-ID>]
6.2.1.12. Reply for Removing Tunnel Segment
After removing the tunnel segment as requested by a request message
for removing tunnel segment from a parent controller, a child
controller sends the parent controller a reply message for removing
tunnel segment.
A reply message for removing tunnel segment (RTSRep message for
short) comprises:
o The global tunnel identifier (GTID) and the path identifier (PID).
o Status of the tunnel segment removal:
Success: The tunnel segment requested is removed successfully.
Fail: The tunnel segment requested can not be removed.
o Error code and reasons for failure if the status is Fail.
The format of the RTSRep message is as follows:
Chen, et al. Expires May 3, 2018 [Page 23]
Internet-Draft PCE-H-SDNs October 2017
<RTSRep Message> ::= <Common Header>
<remove-tunnel-segment-reply-list>
where:
<reply-tunnel-segment-reply-list> ::=
<remove-tunnel-segment-reply>
[<remove-tunnel-segment-reply-list>]
<remove-tunnel-segment-reply> ::=
<CRP>
<Tunnel-ID> [<Path-ID>]
<Status>
[<Reasons>]
6.2.2. Individual Encoding of Messages
The format of PCEP Message Common Header is as follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver | Flags | Message-Type | Message-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message-Type (8 bits): The following message types are currently
defined (refer to RFC 5440):
Message-Type Meaning
1 Open
2 Keepalive
3 Path Computation Request
4 Path Computation Reply
5 Notification
6 Error
7 Close
The new message types are defined as follows:
Chen, et al. Expires May 3, 2018 [Page 24]
Internet-Draft PCE-H-SDNs October 2017
Message-Type Meaning
mTBD1 Controller Relation Discovery
mTBD2 Connections and Accesses Advertisement
mTBD3 Path Segment Computation Request
mTBD4 Path Segment Computation Reply
mTBD5 Remove Path Segment Request
mTBD6 Remove Path Segment Reply
mTBD7 Keep Path Segment Request
mTBD8 Keep Path Segment Reply
mTBD9 Create Tunnel Segment Request
mTBD10 Create Tunnel Segment Reply
mTBD11 Remove Tunnel Segment Request
mTBD12 Remove Tunnel Segment Reply
Ver, Flags and Message-Length are defined as RFC 5440.
6.2.3. Group Encoding of Messages
We can encode the tunnel related messages into two groups: one group
comprises the request messages related to tunnel and the other
comprises the reply messages related to tunnel. Thus we can have
four new message types, which are defined in PCEP Message Common
Header as follows:
Message-Type Meaning
mTBD1 Controller Relation Discovery
mTBD2 Connections and Accesses Advertisement
mTBD3 Tunnel Segment Operation Request
mTBD4 Tunnel Segment Operation Reply
Ver, Flags, other message types and Message-Length in PCEP Message
Common Header are defined as RFC 5440.
The Tunnel Segment Operation can be one of the followings:
Create Tunnel Segment: Create a segment of an end to end tunnel.
Remove Tunnel Segment: Remove a segment of an end to end tunnel.
Compute Path Segments: Compute some path segments to find an end to
end path for an end to end tunnel.
Remove Path Segments: Remove some path segments.
Chen, et al. Expires May 3, 2018 [Page 25]
Internet-Draft PCE-H-SDNs October 2017
Keep Path Segment: Keep path segments on an end to end path for an
end to end tunnel.
Each of these operations can be indicated by a value of options field
of an object such as CRP object following PCEP Message Common Header
in a message.
6.2.4. Embedded Encoding of Messages
Each of the request messages can be encoded as a Path Computation
Request message with a value of options/operations in an existing
object. Each of the reply messages can be encoded as a Path
Computation Reply message with a value of options/operations in an
existing object.
A new options/operations field of 3 bits may be defined in the
existing RP object. Thus each of the five request messages for
supporting HSCS can be represented by a Path Computation Request
message with a corresponding Options value in the RP object listed
below. Each of the five reply messages for supporting HSCS can be
represented by a Path Computation Reply message with a corresponding
Options value in the RP object listed below.
Options Value Meaning
oTBD1 Path Segment Computation Request/Reply
oTBD2 Remove Path Segment Request/Reply
oTBD3 Keep Path Segment Request/Reply
oTBD4 Create Tunnel Segment Request/Reply
oTBD5 Remove Tunnel Segment Request/Reply
Each request/reply message contains the contents for the message
described in the previous section.
The Controller Relation Discovery message may be encoded as a Open
message with a flag or a value of options/operations in an existing
object. The Open message as a Controller Relation Discovery message
contains the contents for the Discovery message described in the
previous section.
The Connections and Accesses Advertisement message may be encoded as
a Report message with a flag or a value of options/operations in an
existing object such as SRP object. The Report message as a
Connections and Accesses Advertisement message contains the contents
of the Connections and Accesses Advertisement message described in
the previous section.
Chen, et al. Expires May 3, 2018 [Page 26]
Internet-Draft PCE-H-SDNs October 2017
6.2.5. Mixed Encoding of Messages
Some of the above encodings can be combined to form a mixed encoding
of the messages for supporting HSCS. For example, one mixed encoding
of the messages is as follows:
o Using Individual Encoding for Connections and Accesses
Advertisement message and
o Using Embedded Encoding for Controller Relation Discovery, all the
request and reply messages for supporting HSCS.
Another mixed encoding of messages is below:
o Using Embedded Encoding for Controller Relation Discovery;
o Using Individual Encoding for Connections and Accesses
Advertisement message and
o Using Group Encoding for all the request and reply messages for
supporting HSCS.
6.3. Controller Relation Discovery
This section presents two approaches for discovering controller
relation. One uses the Open Message with some simple extensions.
The other uses a new message for Controller Relation Discovery,
called a discovery message.
6.3.1. Using Open Message
For a parent controller P and a child controller C connected by a PCE
session and having a normal PCE peer adjacency, their parent-child
relation is discovered through Open Messages exchanged between the
parent controller and the child controller. The following is a
sequence of events related to a controller relation discovery.
Controller P sends controller C an Open Message containing a
capability TLV with parent flag PC set to 1 after controller C is
configured as a child controller over the PCE session between P and
C.
Chen, et al. Expires May 3, 2018 [Page 27]
Internet-Draft PCE-H-SDNs October 2017
P C
Configure C as Configure P as
Child Controller Parent Controller
Open Message (PC=1)
---------------------> Remote P is Parent and
is same as configured
Form Child-Parent relation
Open Message (CC=1)
<---------------------
Remote C is Child and
is same as configured
Form Parent-Child relation
When C receives the Open Message from P and determines that PC=1 in
the message is consistent with the parent controller configured
locally, it forms Child-Parent relation between C and P. It sends
controller P an Open Message containing a capability TLV with child
controller flag CC set to 1 after controller P is configured as a
parent controller over the PCE session between C and P.
When P receives the Open Message from C and determines that CC=1 in
the message is consistent with the Child controller configured
locally, it forms Parent-Child relation between P and C.
After the Parent-Child relation between P and C is formed, this
relation is broken if the configuration "C as Child Controller" on
parent controller P is deleted or "P as Parent Controller" on child
controller C is removed.
When the configuration "C as Child Controller" is deleted from parent
controller P, P breaks/removes the Parent-Child relation between P
and C and sends C an Open Message with PC = 0. When child controller
C receives the Open Message with PC = 0 from P, it determines that
the remote end P is no longer its parent controller as configured
locally and breaks/removes the Child-Parent relation between C and P.
When the configuration "P as Parent Controller" is deleted from child
controller C, C breaks/removes the Child-Parent relation between C
and P and sends P an Open Message with CC = 0. When parent
controller P receives the Open Message with CC = 0 from C, it
determines that the remote end C is no longer its child controller as
configured locally and breaks/removes the Parent-Child relation
between P and C.
Chen, et al. Expires May 3, 2018 [Page 28]
Internet-Draft PCE-H-SDNs October 2017
6.3.2. Using Discovery Message
For a parent controller P and a child controller C connected by a PCE
session and having a normal PCE peer adjacency, their parent-child
relation is discovered through messages for controller relation
discovery exchanged between the parent controller and the child
controller. The following is a sequence of events related to a
controller relation discovery.
Controller P sends controller C a message containing a local
controller (LC=) P with a parent flag set to 1 after controller C is
configured as a child controller over a PCE session between P and C.
P C
Configure C as child Configure P as parent
message (LC=P)
-------------------------> LC in Msg same as configured
Add P as remote controller
message (LC=C, RC=P)
<-------------------------
Remote see me and same as configured
Form Parent-Child relation
Add C as remote controller
message (LC=P, RC=C)
-------------------------> Remote see me
Form Child-Parent relation
When C receives the message from P and determines that the local
controller (LC=) P in the message is the same as the parent
controller configured locally, it sends controller P a message
containing local controller (LC=) C and remote controller (RC=) P.
When P receives the message from C and determines that the local
controller (LC=) C in the message is the same as the child controller
configured locally and the remote controller C sees me controller P
(RC=P in the message), it forms a parent-child relation between P and
C and sends controller C another message containing local controller
(LC=) P and remote controller (RC=) C.
When C receives the message from P and determines that the local
controller (LC=) P in the message is the same as the parent
controller configured locally and the remote controller P sees me
controller C (RC=C in the message), it forms a child-parent relation
between C and P.
Chen, et al. Expires May 3, 2018 [Page 29]
Internet-Draft PCE-H-SDNs October 2017
6.4. Connections and Accesses Advertisement
A child controller sends its parent controller a message for
connections and accesses, which contains the connections (i.e.,
inter-domain links) connecting the domain that the child controller
controls to other adjacent domains, and the addresses/prefixes (i.e.,
the access points) in the domain to be accessible from outside of the
domain.
When there is a change on the connections and the accesses of the
domain, the child controller sends its parent controller a updated
message for the connections and accesses, which contains the latest
connections and accesses of the domain.
A parent controller stores the connections and accesses for each of
its child controllers according to the messages for connections and
accesses received from the child controllers. For a updated message,
it updates the connections and accesses accordingly.
When a child controller is down, its parent controller may remove the
connections and accesses of the domain controlled by the child
controller.
After connections and accesses advertisement, a parent controller has
the exterior information about all the domains controlled by its
child controllers. In other words, a parent controller has the
connections among the domains (i.e., the inter-domain links
connecting the domains) controlled by its child controllers and the
addresses/prefixes (i.e., access points) in the domains to be
accessible.
A connection comprises: the attributes for a link connecting domains
and the attributes for the end points of the link. The attributes
for an end point of a link comprises the type of the end point node
such as ABR or ASBR, and the domain of the end point such AS number
and area number.
An access point comprises an address or a prefix of a domain to be
accessible outside of the domain.
6.5. Tunnel Creation
This section describes a couple of procedures for computing a
shortest end to end path for a tunnel, and then a procedure for
creating the tunnel along the path. One procedure for computing a
end to end path takes two rounds of computations. The first round
obtains an end to end path without any details on any of the path
segments along the path. This path can be considered as a domain
Chen, et al. Expires May 3, 2018 [Page 30]
Internet-Draft PCE-H-SDNs October 2017
path. In the second round, the details on each of the path segments
along the domain path are computed. The other procedure is to get an
end to end path in one round.
6.5.1. Computing Path in Two Rounds
After a parent controller receives a request for creating an end to
end tunnel from source A to destination Z for a given set of
constraints, it computes an end to end path in two rounds as follows:
Round 1: Obtain a domain path
Roughly speaking, obtaining a domain path consists of the
following three steps:
Step 1: The parent controller sends a request message to each of
its related child controllers for computing a set of path
segments in the domain the child controller controls in a
special order.
Step 2: After a child controller receives the request message, it
computes the path segments as requested and sends the parent
controller a reply message with the path segments computed as
links. It does not store any details about the path segments
it computes. The details of the path segments are hidden from
the parent controller, which sees each of the segments as a
link from one (boundary) node to another (boundary) node with a
cost.
Step 3: The parent controller builds a shortest path tree (SPT)
using these path segments and obtains a shortest path from
source A to destination Z that satisfies the constraints.
Details for obtaining a domain path are described below:
Step 1: The parent controller selects the node just added to the
SPT (Initially, it selects the source).
Step 2: After selecting the node just added into the SPT, the
parent controller chooses the child controller controlling the
domain containing the node, and determines whether the node is
destination.
For destination node, the parent controller stops computing
path since the end to end (domain) path from source to
destination is in the SPT, which is from the root of the SPT
to the node (destination node) in the SPT.
Chen, et al. Expires May 3, 2018 [Page 31]
Internet-Draft PCE-H-SDNs October 2017
For non-destination node X, the parent controller sends the
child controller a request message for computing path
segments in the domain controlled by the child controller.
o After receiving the request message, the child controller
computes the path segments as requested and sends the
parent controller a reply message with the path segments
computed as links. It does not store any details about
the path segments it computes. The details of the path
segments are hidden from the parent controller, which
sees each of the segments as a link from one (boundary)
node to another (boundary) node with a cost.
Step 3: After receiving the reply message from the child
controller, the parent controller updates the candidate list
with the links, picks up a node in the candidate list with the
minimum cost and adds it into the SPT. Repeat step 1.
Round 2: Obtain the path details
After obtaining a domain path, the parent controller may
initiate a BRPC procedure along the domain path to get the end
to end path. Each of the child controllers controlling the
domains along the domain path may store the details of the path
segment it computes using a path key.
6.5.2. Computing Path in One Round
For a top level parent without domain topology, the parent controller
computes a shortest point to point (P2P) path for a tunnel from a
source to a destination satisfying a set of constraints given to the
tunnel through building a shortest path tree (SPT). The SPT is built
from the source as the root of the SPT with an empty candidate list
in the following steps.
Step 1: The parent controller selects the node just added to the SPT
(Initially, it selects the source).
Step 2: After selecting the node just added into the SPT, the parent
controller chooses the child controller controlling the domain
containing the node, and determines whether the node is
destination.
For destination node, the parent controller stops computing path
since the end to end path from source to destination is in the
SPT, which is from the root of the SPT to the node (destination
node) in the SPT.
Chen, et al. Expires May 3, 2018 [Page 32]
Internet-Draft PCE-H-SDNs October 2017
For non-destination node X, the parent controller sends the child
controller a request message for computing path segments
related to the domain controlled by the child controller. The
request contains the exception list for the domain and flag E.
o After receiving the request message, the child controller
computes a shortest path segment from node X to each of the
edge nodes of the domain not in the exception list if E is
1.
o In addition, it computes a shortest path segment from node X
to each of the edge nodes of the adjacent domains not in the
exception list just using the inter-domain links attached to
node X if node X is an edge node and there is an inter-
domain link attached to it.
o If node X is in the destination domain, it computes a
shortest path segment from node X to the destination.
o It sends the parent controller a reply message with the path
segments computed as links and stores the details of the
path segments temporarily.
Step 3: After receiving the reply message from the child controller,
the parent controller updates the candidate list with the links,
picks up a node in the candidate list with the minimum cost and
adds it into the SPT. Repeat step 1.
For a parent without domain topology, if the parent controller is
also a child controller of another upper level parent controller,
after receiving a request for computing path segments from the upper
level parent controller, the parent controller computes each of the
path segments as requested in the same way as described above. It
records and maintains the path segments computed under the GTID and
PID in the request message received from the upper level parent
controller.
In addition, for each path segment to be computed, it allocates a new
GTID and PID for the path segment and computes the path segment
through sending a request message for computing path segments to each
of its related child controllers using the new GTID and PID.
When the parent as a child controller receives a request message for
removing path segments from the upper level parent controller, it
removes the path segments computed by each of its related child
controllers through sending a request message for removing path
segments to each of the related child controllers, and then it
removes the path segments crossing multiple domains controlled by its
Chen, et al. Expires May 3, 2018 [Page 33]
Internet-Draft PCE-H-SDNs October 2017
child controllers.
6.5.3. Creating Tunnel along Path
After obtaining the end to end shortest point to point (P2P) path,
the parent controller creates a tunnel along the path crossing
multiple domains through requesting the child controllers along the
path in a reverse direction.
For a parent without domain topology, the following is the procedure
for creating the tunnel along the path, which is initiated by the
parent controller starting from domain X = destination domain.
Step 1: The parent controller sends the child controller controlling
domain X a request message for creating tunnel segment in domain
X.
o After receiving the request message from the parent controller,
the child controller creates the tunnel segment in domain X it
controls through reserving the resources such as link
bandwidth, allocating labels along the path segment and writing
a cross connect on every node in the domain along the path.
o If the child controller is not destination controller, the
request message contains an label and interface for the next
hop of the edge node of domain X. The label is allocated by the
controller that controls the downstream domain of domain X. The
child controller uses this label and an incoming label
allocated for the incoming interface on the edge node to write
a cross connect on the edge node.
o The child controller sends the parent controller a reply
message with the status of the tunnel segment creation. The
reply message contains an incoming label and interface for the
next hop of the edge node of the upstream domain of domain X if
domain X is not source domain.
Step 2: The parent controller receives the reply message from child
controller C. If the status in the message is Fail, then it
removes the tunnel segments created for the tunnel and return with
failure for creating the tunnel.
Step 3: If child controller C is the source controller, then the end
to end tunnel is created, and the parent controller and the child
controllers along the tunnel maintain the information of the
tunnel with the GTID and PID. The parent controller returns with
success for creating the tunnel.
Chen, et al. Expires May 3, 2018 [Page 34]
Internet-Draft PCE-H-SDNs October 2017
Step 4: Child controller C is not source controller. The reply
message contains the label and interface, the parent controller
repeats step 1 with domain X = the upstream domain of domain X.
(In other words, it sends a request message to the child
controller that controls the domain which is the upstream domain
of the domain in which a tunnel segment is just created. The
request contains the label and interface.)
For a parent with domain topology, the procedure for creating the
tunnel along the path initiated by the parent controller is similar
to the one described above, but has a few of changes to it, which are
listed as follows:
o The request message for creating tunnel segment sent to a child
controller from the parent controller contains the detailed
information about the path segment (such as ERO comprising every
hop of the path segment) along which the tunnel segment to be
created.
o The child controller does not check or reserve resources such as
link bandwidth along the path segment if the parent controller is
responsible for allocating and reserving the resources along the
path for the tunnel.
o The child controller does not assign any labels along the path
segment if the parent controller is responsible for assigning
labels along the path for the tunnel. In this case, the request
message for creating tunnel segment contains an label for every
hop of the path segment. The reply message from the child
controller to the parent controller does not contain any label or
interface.
When the parent as a child controller receives a request message for
creating tunnel segment along a path segment from the upper level
parent controller, it gets the path segments for its related child
controllers from the path segment in the message.
For the parent with domain topology, it obtains the detailed hop to
hop information crossing multiple domains about the path segment
stored by the parent controller using the GTID, PID and start point
and end point of the path segment in the message received. The
parent controller creates the tunnel segments in the multiple domains
through sending a request message for creating tunnel to each of its
related child controllers along the path in a reverse direction.
For the parent without domain topology, it obtains the detailed
information about the path segment stored by the parent controller
using the GTID, PID and start point and end point of the path segment
Chen, et al. Expires May 3, 2018 [Page 35]
Internet-Draft PCE-H-SDNs October 2017
in the message received. The detailed information includes multiple
path segments, each of which crosses a domain controlled by one of
its related child controllers. These multiple path segments
constitute the path segment in the message, which crosses multiple
domains. The parent controller creates the tunnel segments in the
multiple domains through sending a request message for creating
tunnel to each of its related child controllers along the path in a
reverse direction. For each of the path segments crossing a domain,
the parent controller creates a tunnel segment along the path segment
through sending a request message for creating tunnel to its child
controller controlling the domain.
6.6. Objects and TLVs
6.6.1. CRP Objects
A Controller Request Parameters (CRP) object carried within each of
the new messages for supporting HSCS is used to specify various
parameters of a tunnel related operation request. The CRP object has
Object-Class ocTBD1 and CRP Object-Type = 1. The format of the CRP
body is as follows
Object-Class = ocTBD1 (CRP) Object-Type = 1
0 1 C 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |E|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Request-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The following flags are currently defined:
o E (Edges of Domain): E set to 1 indicating computing a shortest
path segment satisfying a given set of constraints from a start
node to each of the edge nodes of the domain controlled by a child
controller except for the nodes in a given exception list.
For Group Encoding of messages, a new Options field of 3 bits is
defined in the flags field of the CRP object to tell the receiver of
a message that the request/reply is for one of the five request/reply
messages for supporting HSCS as follows:
Chen, et al. Expires May 3, 2018 [Page 36]
Internet-Draft PCE-H-SDNs October 2017
Options Meaning
1 Path Segment Computation Request/Reply
2 Remove Path Segment Request/Reply
3 Keep Path Segment Request/Reply
4 Create Tunnel Segment Request/Reply
5 Remove Tunnel Segment Request/Reply
6.6.2. LOCAL-CONTROLLER Object
A LOCAL-CONTROLLER (LC) Object is carried within a Controller
Relation Discovery message. Two LC objects are defined: one for IPv4
and the other for IPv6. These two objects have the same Object-Class
ocTBD2 but have different Object-Types.
6.6.2.1. LOCAL-CONTROLLER Object for IPv4
The LOCAL-CONTROLLER Object for IPv4 (LC-IPv4 for short) has Object-
Class ocTBD2 and Object-Type otTBD21. The format of the LC-IPv4 body
is as follows:
Object-Class = ocTBD2 Object-Type = otTBD21
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The LC-IPv4 object body has a 32-bit Flags field and a 32-bit
Controller IPv4 Address. It may contain additional TLVs. No TLVs
are currently defined.
The following flags are currently defined:
o P (Parent Controller): P set to 1 indicating that the local
controller is a Parent controller.
o Level (Level as Parent): Level indicates the level of a controller
as a parent controller. Level 0 means the highest (i.e., top)
level as a parent controller. Level i (i > 0) for a parent
controller C means that C as a child controller has a parent
controller of level (i - 1).
Chen, et al. Expires May 3, 2018 [Page 37]
Internet-Draft PCE-H-SDNs October 2017
Unassigned bits in the Flags field are considered reserved. They
MUST be set to zero on transmission and MUST be ignored on receipt.
The Controller IPv4 Address indicates an IPv4 address of the local
controller.
6.6.2.2. LOCAL-CONTROLLER Object for IPv6
The LOCAL-CONTROLLER Object for IPv6 (LC-IPv6 for short) has Object-
Class ocTBD2 and Object-Type otTBD22. The format of the LC-IPv6 body
is as follows:
Object-Class = ocTBD2 Object-Type = otTBD22
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The LC-IPv6 object body has a 32-bit Flags field and a 128-bit
Controller IPv6 Address. It may contain additional TLVs. No TLVs
are currently defined.
The flag P (1 bit) and Level (4 bits) in the 32-bit Flags are the
same as those defined in the LOCAL-CONTROLLER Object for IPv4.
The Controller IPv6 Address indicates an IPv6 address of the local
controller.
6.6.3. REMOTE-CONTROLLER Object
When a local controller receives a Controller Relation Discovery
message from a remote controller, the local controller MUST include a
REMOTE-CONTROLLER (RC) Object with the remote controller in a
Controller Relation Discovery message to be sent to the remote
controller. Two RC objects are defined: one for IPv4 and the other
for IPv6. These two objects have the same Object-Class ocTBD3 but
have different Object-Types.
Chen, et al. Expires May 3, 2018 [Page 38]
Internet-Draft PCE-H-SDNs October 2017
6.6.3.1. REMOTE-CONTROLLER Object for IPv4
The REMOTE-CONTROLLER Object for IPv4 (RC-IPv4 for short) has Object-
Class ocTBD3 and Object-Type otTBD31. The format of the RC-IPv4 body
is as follows:
Object-Class = ocTBD3 Object-Type = otTBD31
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The RC-IPv4 object body has a 32-bit Flags field and a 32-bit
Controller IPv4 Address. It may contain additional TLVs. No TLVs
are currently defined.
The following flags are currently defined:
o P (Parent Controller): P set to 1 indicating that the remote
controller is a Parent controller.
o Level (Level as Parent): Level indicates the level of a controller
as a parent controller. Level 0 means the highest (i.e., top)
level as a parent controller. Level i (i > 0) for a parent
controller C means that C as a child controller has a parent
controller of level (i - 1).
Unassigned bits in the Flags field are considered reserved. They
MUST be set to zero on transmission and MUST be ignored on receipt.
The Controller IPv4 Address indicates an IPv4 address of the remote
controller.
6.6.3.2. REMOTE-CONTROLLER Object for IPv6
The REMOTE-CONTROLLER Object for IPv6 (RC-IPv6 for short) has Object-
Class ocTBD3 and Object-Type otTBD32. The format of the RC-IPv6 body
is as follows:
Chen, et al. Expires May 3, 2018 [Page 39]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD3 Object-Type = otTBD32
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The LC-IPv6 object body has a 32-bit Flags field and a 128-bit
Controller IPv6 Address. It may contain additional TLVs. No TLVs
are currently defined.
The flag P (1 bit) and Level (4 bits) in the 32-bit Flags are the
same as those defined in the REMOTE-CONTROLLER Object for IPv4.
The Controller IPv6 Address indicates an IPv6 address of the remote
controller.
6.6.4. CONNECTION and ACCESS Object
The CONNECTION and ACCESS Object (CA for short) has Object-Class
ocTBD4. Three Object-Types are defined under CA object:
o CA Inter-Domain Link: CA Object-Type is 1.
o CA Access IPv4 Prefix: CA Object-Type is 2.
o CA Access IPv6 Prefix: CA Object-Type is 3.
The format of each of these object bodies is as follows:
Chen, et al. Expires May 3, 2018 [Page 40]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD4 (Connection and Access)
Object-Type = 1 (CA Inter-Domain Link)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area-ID TLV |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IGP Router-ID TLV |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inter-Domain Link TLVs |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Each of the Inter-Domain Link TLVs describes an inter-domain link and
comprises a number of inter-domain link Sub-TLVs.
Object-Class = ocTBD4 (Connection and Access)
Object-Type = 2 (CA Access IPv4 Prefix)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area-ID TLV |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Access IPv4 Prefix TLVs |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chen, et al. Expires May 3, 2018 [Page 41]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD4 (Connection and Access)
Object-Type = 3 (CA Access IPv6 Prefix)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area-ID TLV |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Access IPv6 Prefix TLVs |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Area-ID TLV is shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD1) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the OSPF Router-ID TLV is shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD2) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OSPF Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the ISIS Router-ID TLV is shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD3) | Length (6) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ISO Node-ID ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chen, et al. Expires May 3, 2018 [Page 42]
Internet-Draft PCE-H-SDNs October 2017
The format of the Access IPv4 Prefix TLV is shown as follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD4) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length | IPv4 Prefix (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Access IPv6 Prefix TLV is illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD5) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length | IPv6 Prefix (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Inter-Domain link TLV is illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (tTBD6) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inter-Domain Link Sub-TLVs |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Inter-Domain Link Type Sub-TLV is illustrated
below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (1) | Length (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inter-Domain Link Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Inter-Domain Link Type sub-TLV defines the type of the inter-
domain link:
Chen, et al. Expires May 3, 2018 [Page 43]
Internet-Draft PCE-H-SDNs October 2017
1 - Point-to-point
2 - Multi-access
The Inter-Domain Link Type sub-TLV is TLV type 1, and is one octet in
length.
The format of the Remote AS Number ID Sub-TLV is illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (2) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Remote AS Number field has 4 octets. When only two octets are
used for the AS number, as in current deployments, the left (high-
order) two octets MUST be set to zero.
The format of the Remote Area-ID Sub-TLV is shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (3) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Remote OSPF Router-ID Sub-TLV is shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (4) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OSPF Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the Remote ISIS Router-ID Sub-TLV is shown below:
Chen, et al. Expires May 3, 2018 [Page 44]
Internet-Draft PCE-H-SDNs October 2017
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (5) | Length (6) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ISO Node-ID ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The format of the IPv4 Remote ASBR ID Sub-TLV is illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (6) | Length (4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Remote ASBR ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv4 Remote ASBR ID sub-TLV MUST be included if the neighboring
ASBR has an IPv4 address.
The format of the IPv6 Remote ASBR ID Sub-TLV is illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (7) | Length (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Remote ASBR ID |
~ (16 Bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv6 Remote ASBR ID sub-TLV MUST be included if the neighboring
ASBR has an IPv6 address.
The format of the Local Interface IPv4 Address Sub-TLV is shown
below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (8) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface IPv4 Address(es) |
~ ~
Chen, et al. Expires May 3, 2018 [Page 45]
Internet-Draft PCE-H-SDNs October 2017
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Local Interface IPv4 Address sub-TLV specifies the IPv4
address(es) of the interface corresponding to the inter-domain link.
If there are multiple local addresses on the link, they are all
listed in this sub-TLV.
The Local Interface IPv4 Address sub-TLV is TLV type 8, and is 4N
octets in length, where N is the number of local IPv4 addresses.
The format of the Local Interface IPv6 Address Sub-TLV is illustrated
below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (9) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface IPv6 Address(es) |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Local Interface IPv6 Address sub-TLV specifies the IPv6
address(es) of the interface corresponding to the inter-domain link.
If there are multiple local addresses on the link, they are all
listed in this sub-TLV.
The Local Interface IPv6 Address sub-TLV is TLV type 9, and is 16N
octets in length, where N is the number of local IPv6 addresses.
The format of the Remote Interface IPv4 Address Sub-TLV is
illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (10) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor Interface IPv4 Address(es) |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Remote Interface IPv4 Address sub-TLV specifies the IPv4
address(es) of the neighbor's interface corresponding to the inter-
domain link. This and the local address are used to discern multiple
Chen, et al. Expires May 3, 2018 [Page 46]
Internet-Draft PCE-H-SDNs October 2017
parallel links between systems. If there are multiple remote
addresses on the link, they are all listed in this sub-TLV.
The Remote Interface IPv4 Address sub-TLV is TLV type 10, and is 4N
octets in length, where N is the number of neighbor IPv4 addresses.
The format of the Remote Interface IPv6 Address Sub-TLV is
illustrated below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (11) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor Interface IPv6 Address(es) |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Remote Interface IPv6 Address sub-TLV specifies the IPv6
address(es) of the neighbor's interface corresponding to the inter-
domain link. If there are multiple neighbor addresses on the link,
they are all listed in this sub-TLV.
The Remote Interface IPv6 Address sub-TLV is TLV type 11, and is 16N
octets in length, where N is the number of neighbor IPv6 addresses.
6.6.5. NODE Object
The NODE Object has Object-Class ocTBD5. A nuber of Object-Types are
defined under NODE object below:
1. IPv4 START-NODE: NODE Object-Type is 1.
2. IPv6 START-NODE: NODE Object-Type is 2.
3. IPv4 DESTINATION-NODE-LIST: NODE Object-Type is 3.
4. IPv6 DESTINATION-NODE-LIST: NODE Object-Type is 4.
5. IPv4 SEGMENT-END-NODE-LIST: NODE Object-Type is 5.
6. IPv6 SEGMENT-END-NODE-LIST: NODE Object-Type is 6.
7. IPv4 EXCEPTION-NODE-LIST: NODE Object-Type is 7.
Chen, et al. Expires May 3, 2018 [Page 47]
Internet-Draft PCE-H-SDNs October 2017
8. IPv6 EXCEPTION-NODE-LIST: NODE Object-Type is 8.
9. NODE-IGP-METRIC-LIST: NODE Object-Type is 9.
10. NODE-TE-METRIC-LIST: NODE Object-Type is 10.
11. NODE-HOP-COUNT-LIST: NODE Object-Type is 11.
The format of NODE object body for IPv4 START-NODE is as follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 1 (IPv4 START-NODE)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Start Node IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Start Node IPv4 Address is the IPv4 address of a start node.
The format of NODE object body for IPv6 START-NODE is as follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 2 (IPv6 START-NODE)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Start Node IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Start Node IPv6 Address is the IPv6 address of a start node.
The format of NODE object body for IPv4 DESTINATION-NODE-LIST is as
follows:
Chen, et al. Expires May 3, 2018 [Page 48]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD5 (NODE)
Object-Type = 3 (IPv4 DESTINATION-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node 1 IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node n IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv4 DESTINATION-NODE-LIST contains n destination node IPv4
addresses. An IPv4 DESTINATION-NODE-LIST is also called an IPv4
DESTINATION-NODES.
The format of NODE object body for IPv6 DESTINATION-NODE-LIST is as
follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 4 (IPv6 DESTINATION-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node 1 IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Node n IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv6 DESTINATION-NODE-LIST contains n destination node IPv6
addresses. An IPv6 DESTINATION-NODE-LIST is also called an IPv6
DESTINATION-NODES.
The format of NODE object body for IPv4 SEGMENT-END-NODE-LIST is as
follows:
Chen, et al. Expires May 3, 2018 [Page 49]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD5 (NODE)
Object-Type = 5 (IPv4 SEGMENT-END-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node 1 IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node n IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv4 SEGMENT-END-NODE-LIST contains n segment node IPv4
addresses. An IPv4 SEGMENT-END-NODE-LIST is also called an IPv4
SEGMENT-END-NODES.
The format of NODE object body for IPv6 SEGMENT-END-NODE-LIST is as
follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 6 (IPv6 SEGMENT-END-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node 1 IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node n IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv6 SEGMENT-END-NODE-LIST contains n segment end node IPv6
addresses. An IPv6 SEGMENT-END-NODE-LIST is also called an IPv6
SEGMENT-END-NODES.
The format of NODE object body for IPv4 EXCEPTION-NODE-LIST is as
follows:
Chen, et al. Expires May 3, 2018 [Page 50]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD5 (NODE)
Object-Type = 7 (IPv4 EXCEPTION-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exception Node 1 IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exception Node n IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv4 SEGMENT-END-NODE-LIST contains n node IPv4 addresses in an
exception list. An IPv4 EXCEPTION-NODE-LIST is also called an IPv4
EXCEPTION-LIST.
The format of NODE object body for IPv6 EXCEPTION-NODE-LIST is as
follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 8 (IPv6 EXCEPTION-NODE-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exception Node 1 IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exception Node n IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv6 EXCEPTION-NODE-LIST contains n node IPv6 addresses in an
exception list. An IPv6 EXCEPTION-NODE-LIST is also called an IPv6
EXCEPTION-LIST.
The format of NODE object body for NODE-IGP-METRIC-LIST is as
follows:
Chen, et al. Expires May 3, 2018 [Page 51]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD5 (NODE)
Object-Type = 9 (NODE-IGP-METRIC-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node 1 IGP Metric Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node n IGP Metric Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The NODE-IGP-METRIC-LIST contains n IGP metrics for n segment end
nodes.
The format of NODE object body for NODE-TE-METRIC-LIST is as follows:
Object-Class = ocTBD5 (NODE)
Object-Type = 10 (NODE-TE-METRIC-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node 1 TE Metric Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node n TE Metric Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The NODE-TE-METRIC-LIST contains n TE metrics for n segment end
nodes.
The format of NODE object body for NODE-HOP-COUNT-LIST is as follows:
Chen, et al. Expires May 3, 2018 [Page 52]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD5 (NODE)
Object-Type = 11 (NODE-HOP-COUNT-LIST)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node 1 Hop Counts Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . . . |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment End Node n Hop Counts Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The NODE-HOP-COUNT-LIST contains n hop counts values for n segment
end nodes.
6.6.6. TUNNEL Object
The TUNNEL Object has Object-Class ocTBD6. Two Object-Types are
defined under TUNNEL object:
1. TUNNEL-ID: TUNNEL Object-Type is 1.
2. TUNNEL-PATH-ID: TUNNEL Object-Type is 2.
The format of TUNNEL object body for TUNNEL-ID is as follows:
Object-Class = ocTBD6 (TUNNEL)
Object-Type = 1 (TUNNEL-ID)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Tunnel ID in the body is a 32-bit unique number for identifying a
tunnel globally.
The format of TUNNEL object body for TUNNEL-PATH-ID is as follows:
Object-Class = ocTBD6 (TUNNEL) Object-Type = 2 (PATH-ID)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Path ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chen, et al. Expires May 3, 2018 [Page 53]
Internet-Draft PCE-H-SDNs October 2017
The Path ID in the body is a 16-bit number for uniquely identifying a
path under a tunnel.
6.6.7. STATUS Object
The STATUS Object has Object-Class ocTBD7. The format of STATUS
object body has following format:
Object-Class = ocTBD7 (STATUS)
Object-Type = 1
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status Code | Reason | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The status code (or status for short) in a STATUS may be one of the
followings:
1 (SUCCESS): Indicating a request is successfully finished.
2 (FAIL): Indicating a request can not be finished.
When the status is FAIL, the Reason gives a reason for the failure
and the Optional TLVs give some more details about failure.
6.6.8. LABEL Object
The LABEL Object has Object-Class ocTBD8. The format of LABEL object
body has following format:
Object-Class = ocTBD8 (LABEL)
Object-Type = 1
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (top label) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The contents of a LABEL is a single label, encoded in 4 octets.
Chen, et al. Expires May 3, 2018 [Page 54]
Internet-Draft PCE-H-SDNs October 2017
6.6.9. INTERFACE Object
The INTERFACE Object has Object-Class ocTBD9. Three Object-Types are
defined under INTERFACE object:
1. Index: Object-Type is 1.
2. IPv4 Address: Object-Type is 2.
3. IPv6 Address: Object-Type is 3.
The format of INTERFACE object body for interface index has following
format:
Object-Class = ocTBD9 (INTERFACE)
Object-Type = 1 (Index)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Interface Index is a single interface index, encoded in 4 octets.
The format of INTERFACE object body for interface IPv4 address has
following format:
Object-Class = ocTBD9 (INTERFACE)
Object-Type = 2 (IPv4 Address)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Interface IPv4 Address is a single interface IPv4 address,
encoded in 4 octets.
The format of INTERFACE object body for interface IPv6 address has
following format:
Chen, et al. Expires May 3, 2018 [Page 55]
Internet-Draft PCE-H-SDNs October 2017
Object-Class = ocTBD9 (INTERFACE)
Object-Type = 3 (IPv6 Address)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Interface IPv6 Address is a single interface IPv6 address,
encoded in 16 octets.
7. Security Considerations
The mechanism described in this document does not raise any new
security issues for the PCEP protocols.
8. IANA Considerations
This section specifies requests for IANA allocation.
9. Acknowledgement
The authors would like to thank people for their valuable comments on
this draft.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/
RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>.
[RFC5441] Vasseur, JP., Ed., Zhang, R., Bitar, N., and JL. Le Roux,
"A Backward-Recursive PCE-Based Computation (BRPC)
Chen, et al. Expires May 3, 2018 [Page 56]
Internet-Draft PCE-H-SDNs October 2017
Procedure to Compute Shortest Constrained Inter-Domain
Traffic Engineering Label Switched Paths", RFC 5441,
DOI 10.17487/RFC5441, April 2009,
<https://www.rfc-editor.org/info/rfc5441>.
[RFC5392] Chen, M., Zhang, R., and X. Duan, "OSPF Extensions in
Support of Inter-Autonomous System (AS) MPLS and GMPLS
Traffic Engineering", RFC 5392, DOI 10.17487/RFC5392,
January 2009, <https://www.rfc-editor.org/info/rfc5392>.
[RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in
Support of Inter-Autonomous System (AS) MPLS and GMPLS
Traffic Engineering", RFC 5316, DOI 10.17487/RFC5316,
December 2008, <https://www.rfc-editor.org/info/rfc5316>.
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
Engineering", RFC 5305, DOI 10.17487/RFC5305,
October 2008, <https://www.rfc-editor.org/info/rfc5305>.
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
(TE) Extensions to OSPF Version 2", RFC 3630,
DOI 10.17487/RFC3630, September 2003,
<https://www.rfc-editor.org/info/rfc3630>.
10.2. Informative References
[RFC1136] Hares, S. and D. Katz, "Administrative Domains and Routing
Domains: A model for routing in the Internet", RFC 1136,
DOI 10.17487/RFC1136, December 1989,
<https://www.rfc-editor.org/info/rfc1136>.
[RFC4105] Le Roux, J., Ed., Vasseur, J., Ed., and J. Boyle, Ed.,
"Requirements for Inter-Area MPLS Traffic Engineering",
RFC 4105, DOI 10.17487/RFC4105, June 2005,
<https://www.rfc-editor.org/info/rfc4105>.
[RFC4216] Zhang, R., Ed. and J. Vasseur, Ed., "MPLS Inter-Autonomous
System (AS) Traffic Engineering (TE) Requirements",
RFC 4216, DOI 10.17487/RFC4216, November 2005,
<https://www.rfc-editor.org/info/rfc4216>.
[RFC6006] Zhao, Q., Ed., King, D., Ed., Verhaeghe, F., Takeda, T.,
Ali, Z., and J. Meuric, "Extensions to the Path
Computation Element Communication Protocol (PCEP) for
Point-to-Multipoint Traffic Engineering Label Switched
Paths", RFC 6006, DOI 10.17487/RFC6006, September 2010,
<https://www.rfc-editor.org/info/rfc6006>.
Chen, et al. Expires May 3, 2018 [Page 57]
Internet-Draft PCE-H-SDNs October 2017
[RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the
Path Computation Element Architecture to the Determination
of a Sequence of Domains in MPLS and GMPLS", RFC 6805,
DOI 10.17487/RFC6805, November 2012,
<https://www.rfc-editor.org/info/rfc6805>.
Appendix A. Details on Embedded Encoding of Messages
A new options field of 3 bits is defined in the flags field of the RP
object to tell the receiver of the message that the request/reply is
for one of the five request/reply messages for supporting HSCS as
follows:
Options Meaning
1 Path Segment Computation Request/Reply
2 Remove Path Segment Request/Reply
3 Keep Path Segment Request/Reply
4 Create Tunnel Segment Request/Reply
5 Remove Tunnel Segment Request/Reply
A new flag E of 1 bit is defined in the flags field of the RP object.
Flag E set to 1 indicating computing a shortest path segment
satisfying a given set of constraints from a start node to each of
the edge nodes of the domain controlled by a child controller except
for the nodes in a given exception list.
A.1. Message for Controller Relation Discovery
The new TLV defined in the Open Object in section Capability
Discovery is extended to contain Sub-TLVs for local controller and
remote controller. Thus Open Message with the Open Object containing
the new TLV can be used as Message for Controller Relation Discovery.
Four optional Sub-TLVs are defined as follows:
1. Local Controller IPv4 Sub-TLV
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (1) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ (Optional Sub-TLVs) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Chen, et al. Expires May 3, 2018 [Page 58]
Internet-Draft PCE-H-SDNs October 2017
The meanings of each field in the Sub-TLV is the same as described in
section LOCAL-CONTROLLER Object for IPv4.
2. Local Controller IPv6 Sub-TLV
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (2) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ (Optional Sub-TLVs) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meanings of each field in the Sub-TLV is the same as described in
section LOCAL-CONTROLLER Object for IPv6.
3. Remote Controller IPv4 Sub-TLV
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (3) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ (Optional Sub-TLVs) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meanings of each field in the Sub-TLV is the same as described in
section REMOTE-CONTROLLER Object for IPv4.
4. Remote Controller IPv6 Sub-TLV
Chen, et al. Expires May 3, 2018 [Page 59]
Internet-Draft PCE-H-SDNs October 2017
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (4) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |P| Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Controller IPv6 Address |
~ (16 bytes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ (Optional Sub-TLVs) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meanings of each field in the Sub-TLV is the same as described in
section REMOTE-CONTROLLER Object for IPv6.
A.2. Message for Connections and Accesses Advertisement
The format of the CAAdv message is as follows:
<CAAdv Message> ::= <Common Header>
<SRP>
<Inter-Domain-Link-List>
[<Access-Address-List>]
where:
<Inter-Domain-Link-List> ::= <Inter-Domain-Link>
[<Inter-Domain-Link-List>]
<Access-Address-List> ::= <Access-Address>
[<Access-Address-List>]
A.3. Request for Computing Path Segments
The format of the PSReq message is as follows:
Chen, et al. Expires May 3, 2018 [Page 60]
Internet-Draft PCE-H-SDNs October 2017
<PSReq Message> ::= <Common Header>
[<svec-list>]
<path-segment-request-list>
where:
<svec-list>::=<SVEC>[<svec-list>]
<path-segment-request-list> ::=
<path-segment-request>
[<path-segment-request-list>]
<path-segment-request> ::=
<RP> <END-POINTS> [<OF>] [<LSPA>] [<BANDWIDTH>]
<Tunnel-ID> <Path-ID>
[<metric-list>] [<RRO>[<BANDWIDTH>]] [<IRO>]
[<LOAD-BALANCING>]
<exception-list>
A.4. Reply for Computing Path Segments
The format of the PSRep message is as follows:
<PSRep Message> ::= <Common Header>
<path-segment-reply-list>
where:
<path-segment-reply-list> ::=
<path-segment-reply>
[<path-segment-reply-list>]
<path-segment-reply> ::=
<RP> [<NO-PATH>] [<attribute-list>]
<Tunnel-ID> <Path-ID>
<Start-Node>
[ <NO-PATH> | <segment-end-List> ]
[<attribute-list>]
A.5. Request for Removing Path Segments
The format of the RPSReq message is as follows:
Chen, et al. Expires May 3, 2018 [Page 61]
Internet-Draft PCE-H-SDNs October 2017
<RPSReq Message> ::= <Common Header>
<remove-path-segment-request-list>
where:
<remove-path-segment-request-list> :: =
<remove-path-segment-request>
[<remove-path-segment-request-list>]
<remove-path-segment-request> ::=
<RP>
<Tunnel-ID> [<Path-ID>]
[<start-node-list>]
[<branch-List>]
<start-node-list> ::= <Start-Node> [<start-node-list>]
<branch-list> ::= <Branch> [<branch-list>]
<Branch> ::= <Start-Node> <branch-end-list>
<branch-end-list> ::= <Branch-End> [<branch-end-list>]
A.6. Reply for Removing Path Segments
The format of the RPSRep message is as follows:
<RPSRep Message> ::= <Common Header>
<remove-path-segment-reply-list>
where:
<remove-path-segment-reply-list> ::=
<remove-path-segment-reply>
[<remove-path-segment-reply-list>]
<remove-path-segment-reply> ::=
<RP>
<Tunnel-ID> [<Path-ID>]
<Status>
[<Reasons>]
A.7. Request for Keeping Path Segments
The format of the KPSReq message is as follows:
Chen, et al. Expires May 3, 2018 [Page 62]
Internet-Draft PCE-H-SDNs October 2017
<KPSReq Message> ::= <Common Header>
<keep-path-segment-request-list>
where:
<keep-path-segment-request-list> :: =
<keep-path-segment-request>
[<keep-path-segment-request-list>]
<keep-path-segment-request> ::=
<RP>
<Tunnel-ID> <Path-ID>
<segment-list>
<segment-list> ::= <Segment> [<segment-list>]
<Segment> ::= <Segment-Start> <Segment-End>
A.8. Reply for Keeping Path Segments
The format of the KPSRep message is as follows:
<KPSRep Message> ::= <Common Header>
<keep-path-segment-reply-list>
where:
<keep-path-segment-reply-list> ::=
<keep-path-segment-reply>
[<keep-path-segment-reply-list>]
<keep-path-segment-reply> ::=
<RP>
<Tunnel-ID> <Path-ID>
<Status>
[<Reasons>]
A.9. Request for Creating Tunnel Segment
The format of the CTSReq message is as follows:
Chen, et al. Expires May 3, 2018 [Page 63]
Internet-Draft PCE-H-SDNs October 2017
<CTSReq Message> ::= <Common Header>
<create-tunnel-segment-request-list>
where:
<create-tunnel-segment-request-list> ::=
<create-tunnel-segment-request>
[<create-tunnel-segment-request-list>]
<create-tunnel-segment-request> ::=
<RP>
<Tunnel-ID> <Path-ID>
<Path-Segment>
[<Label> <Interface>]
<Path-Segment> ::= [<Segment-Start> <Segment-End> | <ERO> ]
A.10. Reply for Creating Tunnel Segment
The format of the CTSRep message is as follows:
<CTSRep Message> ::= <Common Header>
<create-tunnel-segment-reply-list>
where:
<create-tunnel-segment-reply-list> ::=
<create-tunnel-segment-reply>
[<create-tunnel-segment-reply-list>]
<create-tunnel-segment-reply> ::=
<RP>
<Tunnel-ID> <Path-ID>
<Status> [<Label> <Interface>]
[<Reasons>]
A.11. Request for Removing Tunnel Segment
The format of the RTSReq message is as follows:
<RTSReq Message> ::= <Common Header>
<remove-tunnel-segment-request-list>
where:
<remove-tunnel-segment-request-list> ::=
<remove-tunnel-segment-request>
[<remove-tunnel-segment-request-list>]
<remove-tunnel-segment-request> ::
<RP>
<Tunnel-ID> [<Path-ID>]
Chen, et al. Expires May 3, 2018 [Page 64]
Internet-Draft PCE-H-SDNs October 2017
A.12. Reply for Removing Tunnel Segment
The format of the RTSRep message is as follows:
<RTSRep Message> ::= <Common Header>
<remove-tunnel-segment-reply-list>
where:
<reply-tunnel-segment-reply-list> ::=
<remove-tunnel-segment-reply>
[<remove-tunnel-segment-reply-list>]
<remove-tunnel-segment-reply> ::=
<RP>
<Tunnel-ID> [<Path-ID>]
<Status>
[<Reasons>]
Authors' Addresses
Huaimo Chen
Huawei Technologies
Boston, MA,
USA
EMail: Huaimo.chen@huawei.com
Mehmet Toy
Verizon
USA
EMail: mehmet.toy@verizon.com
Lei Liu
Fujitsu
USA
EMail: lliu@us.fujitsu.com
Chen, et al. Expires May 3, 2018 [Page 65]
Internet-Draft PCE-H-SDNs October 2017
Vic Liu
China Mobile
No.32 Xuanwumen West Street, Xicheng District
Beijing, 100053
China
EMail: liu.cmri@gmail.com
Chen, et al. Expires May 3, 2018 [Page 66]