One document matched: draft-dhodylee-pce-pcep-ls-05.xml
<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc compact="yes" ?>
<?rfc iprnotified="Yes" ?>
<?rfc strict="no" ?>
<rfc ipr="trust200902" category="std" docName="draft-dhodylee-pce-pcep-ls-05" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
<front>
<title abbrev="PCEP-LS">PCEP Extension for Distribution of Link-State and TE Information.</title>
<author initials="D" surname="Dhody" fullname="Dhruv Dhody">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>Divyashree Techno Park, Whitefield</street>
<city>Bangalore</city>
<region>Karnataka</region>
<code>560066</code>
<country>India</country>
</postal>
<email>dhruv.ietf@gmail.com</email>
</address>
</author>
<author fullname="Young Lee" initials="Y" surname="Lee">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>5340 Legacy Drive, Building 3</street>
<city>Plano</city>
<region>TX</region>
<code>75023</code>
<country>USA</country>
</postal>
<email>leeyoung@huawei.com</email>
</address>
</author>
<author initials="D" fullname="Daniele Ceccarelli" surname="Ceccarelli">
<organization>Ericsson</organization>
<address>
<postal>
<street>Torshamnsgatan,48</street>
<city>Stockholm</city>
<region></region>
<code></code>
<country>Sweden</country>
</postal>
<email>daniele.ceccarelli@ericsson.com</email>
</address>
</author>
<date month="August" year="2016" />
<area>Routing</area>
<workgroup>PCE Working Group</workgroup>
<abstract>
<t>In order to compute and provide optimal paths, Path Computation
Elements (PCEs) require an accurate and timely Traffic Engineering
Database (TED). Traditionally this TED has been obtained from a link
state (LS) routing protocol supporting traffic engineering extensions.</t>
<t>This document extends the Path Computation Element Communication
Protocol (PCEP) with Link-State and TE Information. </t>
</abstract>
</front>
<middle>
<section title="Introduction" toc="default">
<t>In Multiprotocol Label Switching (MPLS) and Generalized MPLS
(GMPLS), a Traffic Engineering Database (TED) is used in computing
paths for connection oriented packet services and for circuits. The
TED contains all relevant information that a Path Computation
Element (PCE) needs to perform its computations. It is important
that the TED be complete and accurate each time, the PCE performs a
path computation.</t>
<t>In MPLS and GMPLS, interior gateway routing protocols (IGPs) have
been used to create and maintain a copy of the TED at each node
running the IGP. One of the benefits of the PCE architecture
<xref target="RFC4655"/> is the use of computationally more sophisticated path
computation algorithms and the realization that these may need
enhanced processing power not necessarily available at each node
participating in an IGP.</t>
<t>Section 4.3 of <xref target="RFC4655"/> describes the potential load of the TED on
a network node and proposes an architecture where the TED is
maintained by the PCE rather than the network nodes. However, it
does not describe how a PCE would obtain the information needed to
populate its TED. PCE may construct its TED by participating in the
IGP (<xref target="RFC3630"/> and <xref target="RFC5305"/> for MPLS-TE; <xref target="RFC4203"/> and <xref target="RFC5307"/>
for GMPLS). An alternative is offered by BGP-LS <xref target="RFC7752"/> .</t>
<t><xref target="I-D.ietf-pce-stateful-pce"/> describes a set of extensions to PCEP to provide
stateful control. A stateful PCE has access to not only the
information carried by the network's Interior Gateway Protocol
(IGP), but also the set of active paths and their reserved resources
for its computations. PCC can delegate the rights to modify the LSP
parameters to an Active Stateful PCE. This requires PCE to quickly
be updated on any changes in the Topology and TEDB, so that PCE can
meet the need for updating LSPs effectively and in a timely manner.
The fastest way for a PCE to be updated on TED changes is via a
direct interface with each network node and with incremental update
from each network node with only the attribute that is modified.</t>
<t><xref target="I-D.ietf-pce-pce-initiated-lsp"/> describes the setup, maintenance and teardown of
PCE-initiated LSPs under the stateful PCE model, without the need
for local configuration on the PCC, thus allowing for a dynamic
network that is centrally controlled and deployed. This model
requires timely topology and TED update at the PCE. </t>
<t><xref target="I-D.leedhody-teas-pcep-ls"/> proposes some other approaches for learning and maintaining
the Link-State and TE information directly on a PCE as an alternative to IGPs and BGP flooding
and investigate the impact from the PCE, routing protocol, and node
perspectives.</t>
<t><xref target="RFC5440"/> describes the specifications for the Path Computation
Element Communication Protocol (PCEP). PCEP specifies the
communication between a Path Computation Client (PCC) and a Path
Computation Element (PCE), or between two PCEs based on the PCE
architecture <xref target="RFC4655"/>.</t>
<t>This document describes a mechanism by which Link State and TE
information can be collected from networks and shared with PCE
using the PCEP itself. This is achieved using a new PCEP message format.
The mechanism is applicable to physical and virtual links as well as
further subjected to various policies.</t>
<t>A network node maintains one or more databases for storing link-state
and TE information about nodes and links in any given area. Link attributes
stored in these databases include: local/remote IP addresses, local/
remote interface identifiers, link metric and TE metric, link
bandwidth, reservable bandwidth, per CoS class reservation state,
preemption and Shared Risk Link Groups (SRLG). The node's PCEP
process can retrieve topology from these databases and distribute
it to a PCE, either directly or via another PCEP Speaker, using
the encoding specified in this document.</t>
<t>Further <xref target="RFC6805"/> describes Hierarchical-PCE architecture,
where a parent PCE maintains a domain
topology map. To build this domain topology map, the child PCE MAY carry
the border nodes and inter-domain link information to the parent PCE using
the mechanism described in this document. Further as described in
<xref target="I-D.dhody-pce-applicability-actn"/>, the
child PCE MAY also transport abstract Link-State and
TE information from child PCE to a Parent PCE using the mechanism
described in this document to build an abstract topology at the parent PCE.</t>
<t><xref target="I-D.ietf-pce-stateful-pce"/> describe LSP
state synchronization between PCCs and PCEs in case of stateful PCE. This
document does not make any change to the LSP state synchronization process.
The mechanism described in this document are on top of the existing LSP
state synchronization.</t>
<section title="Requirements Language" toc="default">
<t>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 <xref target="RFC2119"/>.</t>
</section>
</section>
<section title="Terminology" toc="default">
<t>The terminology is as per <xref target="RFC4655"/> and <xref target="RFC5440"/>.</t>
</section>
<section title="Applicability" toc="default">
<t>As per <xref target="I-D.leedhody-teas-pcep-ls"/>, the
mechanism specified in this draft is applicable to:
<list style="symbols">
<t>Where there is no IGP or BGP-LS running in the network. </t>
<t>Where there is no IGP or BGP-LS running at the PCE to learn link-state and TE information. </t>
<t>Where there is IGP or BGP-LS running but with a need for a faster TE and link-state population and convergence at the PCE.
<list style="symbols">
<t>A PCE may receive partial information (say basic TE, link-state) from IGP and other information (optical and impairment) from PCEP.</t>
<t>A PCE may receive an incremental update (as opposed to the entire information of the node/link).</t>
<t>A PCE may receive full information from both existing mechanism (IGP or BGP) and PCEP.</t>
</list>
</t>
<t>Where there is a need for transporting (abstract) Link-State
and TE information from child PCE to a Parent PCE in H-PCE <xref target="RFC6805"/>;
as well as for Physical Network Controller (PNC) to Multi-Domain Service Coordinator
(MDSC) in Abstraction and Control of TE Networks (ACTN) <xref target="I-D.ietf-teas-actn-framework"/>.
</t>
</list>
</t>
<t>A PCC may further choose to send only local information or both local and remote learned information. </t>
<t>How a PCE manages the link-state (and TE) information is implementation specific and thus out of scope of this document.</t>
<t>The prefix information in PCEP-LS can also help in determining the domain of the endpoints in H-PCE (and ACTN).
Section 4.5 of <xref target="RFC6805"/> describe various mechanism and procedures that might be used, PCEP-LS provides a simple mechanism
to exchange this information. </t>
</section>
<section title="Requirements for PCEP extension" toc="default" anchor="sec_req">
<t>Following key requirements associated with link-state (and TE) distribution are identified for PCEP:
<list style="numbers">
<t>The PCEP speaker supporting this draft MUST be a mechanism to advertise the Link-State (and TE) distribution capability.</t>
<t>PCC supporting this draft MUST have the capability to report the link-state (and TE) information to
the PCE. This includes self originated information and remote information
learned via routing protocols. PCC MUST be capable to do the initial bulk sync at
the time of session initialization as well as changes after.</t>
<t>A PCE MAY learn link-state (and TE) from PCEP as well as from existing mechanism like
IGP/BGP-LS. PCEP extension MUST have a mechanism to link the information
learned via other means. There MUST NOT be any changes to the existing link-state (and TE)
population mechanism
via IGP/BGP-LS. PCEP extension SHOULD keep the properties in a
protocol (IGP or BGP-LS) neutral way, such that an implementation
may not need to know about any OSPF or IS-IS or BGP protocol specifics.</t>
<t>It SHOULD be possible to encode only the changes in link-state (and TE) properties
(after the initial sync) in PCEP messages.</t>
<t>The same mechanism should be used for both MPLS TE as well as GMPLS,
optical and impairment aware properties.</t>
<t>The same mechanism should be used for PCE to PCE Link-state (and TE) synchronization.</t>
<t>The extension in this draft SHOULD be extensible to support various
architecture options listed in <xref target="I-D.leedhody-teas-pcep-ls"/>.</t>
</list>
</t>
</section>
<section title="New Functions to distribute link-state (and TE) via PCEP">
<t>Several new functions are required in PCEP to support distribution
of link-state (and TE) information. A function can be initiated
either from a PCC towards a PCE (C-E) or from a PCE towards a PCC (E-C).
The new functions are:
<list style="symbols">
<t>Capability advertisement (E-C,C-E): both the PCC and the PCE must announce during PCEP session establishment that they support PCEP extensions for distribution of link-state (and TE) information defined in this document.</t>
<t>Link-State (and TE) synchronization (C-E): after the session between the PCC and a PCE is initialized, the PCE must learn Link-State (and TE) information before it can perform path computations. In case of stateful PCE it is RECOMENDED that this operation be done before LSP state synchronization.</t>
<t>Link-State (and TE) Report (C-E): a PCC sends a LS (and TE) report to a PCE whenever the Link-State and TE information changes.</t>
</list> </t>
</section>
<section title="Overview of Extension to PCEP" toc="default" anchor="sec_overview">
<section title="New Messages">
<t>In this document, we define a new PCEP messages called LS Report (LSRpt),
a PCEP message sent by a PCC
to a PCE to report link-state (and TE) information. Each LS Report in a LSRpt message can contain
the node or link properties. An unique PCEP specific LS identifier (LS-ID) is
also carried in the message to identify a node or link and that remains constant for the
lifetime of a PCEP session. This identifier on its own is sufficient
when no IGP or BGP-LS running in the network for PCE to learn link-state (and TE) information.
Incase PCE learns some information from PCEP and some
from the existing mechanism, the PCC SHOULD include the mapping of IGP or BGP-LS
identifier to map the information populated via PCEP with IGP/BGP-LS.
See <xref target="sec_lsrpt"/> for details.</t>
</section>
<section title="Capability Advertisement">
<t>During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
advertise their support of LS (and TE) distribution via PCEP extensions. A PCEP Speaker
includes the "LS Capability" TLV, described in <xref target="sec_ls_tlv"/>,
in the OPEN Object to advertise its support for PCEP-LS extensions.
The presence of the LS Capability TLV in PCC's OPEN Object
indicates that the PCC is willing to send LS Reports whenever
local link-state (and TE) information changes. The presence of the
LS Capability TLV in PCE's OPEN message
indicates that the PCE is interested in receiving LS Reports
whenever local link-state (and TE) information changes.</t>
<t>The PCEP protocol extensions for LS (and TE) distribution MUST NOT be used if
one or both PCEP Speakers have not included the LS
Capability TLV in their respective OPEN message. If the PCE that
supports the extensions of this draft but did not advertise this
capability, then upon receipt of a LSRpt message from the PCC, it
SHOULD generate a PCErr with error-type 19 (Invalid Operation),
error-value TBD1 (Attempted LS Report if LS
capability was not advertised) and it will
terminate the PCEP session.</t>
<t>The LS reports sent by PCC MAY carry the remote link-state (and TE) information
learned via existing means like IGP and BGP-LS
only if both PCEP Speakers set the R (remote) Flag in the
"LS Capability" TLV to 'Remote Allowed (R Flag = 1)'. If this
is not the case and LS reports carry remote link-state (and TE) information, then a
PCErr with error-type 19 (Invalid Operation) and
error-value TBD1 (Attempted LS Report if LS
remote capability was not advertised) and it will
terminate the PCEP session.</t>
</section>
<section title="Initial Link-State (and TE) Synchronization">
<t>The purpose of LS Synchronization is to provide a checkpoint-in-
time state replica of a PCC's link-state (and TE) data base in a PCE. State
Synchronization is performed immediately after the Initialization
phase (see <xref target="RFC5440"/>]). In case of stateful PCE
(<xref target="I-D.ietf-pce-stateful-pce"/>)
it is RECOMENDED that the LS synchronization should be done
before LSP state synchronization.</t>
<t>During LS Synchronization, a PCC first takes a snapshot of the
state of its database, then sends the snapshot to a PCE in a
sequence of LS Reports. Each LS Report sent during
LS Synchronization has the SYNC Flag in the LS Object set to 1.
The end of synchronization marker is a LSRpt message with the SYNC
Flag set to 0 for an LS Object with LS-ID equal to the reserved
value 0. If the
PCC has no link-state to synchronize, it will only send the end of
synchronization marker.</t>
<t>Either the PCE or the PCC MAY terminate the session using the PCEP
session termination procedures during the synchronization phase. If
the session is terminated, the PCE MUST clean up state it received
from this PCC. The session re-establishment MUST be re-attempted per
the procedures defined in <xref target="RFC5440"/>, including use of a back-off
timer.</t>
<t>If the PCC encounters a problem which prevents it from completing the
LS synchronization, it MUST send a PCErr message with error-type TBD2 (LS
Synchronization Error) and error-value 2 (indicating an
internal PCC error) to the PCE and terminate the session.</t>
<t>The PCE does not send positive acknowledgements for properly received
LS synchronization messages. It MUST respond with a PCErr message with
error-type TBD2 (LS Synchronization Error) and error-value 1
(indicating an error in processing the LSRpt) if it
encounters a problem with the LS Report it received from the
PCC and it MUST terminate the session.</t>
<t>The LS reports can carry local as well as remote link-state (and TE) information depending on the R flag in LS capability
TLV.</t>
<t>The successful LS Synchronization sequences is shown in <xref target="F1"/>.</t>
<figure title="Successful LS synchronization"
suppress-title="false" align="center" alt="" width="" height="" anchor="F1">
<artwork><![CDATA[
+-+-+ +-+-+
|PCC| |PCE|
+-+-+ +-+-+
| |
|-----LSRpt, SYNC=1----->| (Sync start)
| |
|-----LSRpt, SYNC=1----->|
| . |
| . |
| . |
|-----LSRpt, SYNC=1----->|
| . |
| . |
| . |
| |
|-----LSRpt, SYNC=0----->| (End of sync marker
| | LS Report
| | for LS-ID=0)
| | (Sync done)
]]></artwork>
</figure>
<t>The sequence where the PCE fails during the LS Synchronization
phase is shown in <xref target="F2"/>.</t>
<figure title="Failed LS synchronization (PCE failure)"
suppress-title="false" align="center" alt="" width="" height="" anchor="F2">
<artwork><![CDATA[
+-+-+ +-+-+
|PCC| |PCE|
+-+-+ +-+-+
| |
|-----LSRpt, SYNC=1----->|
| |
|-----LSRpt, SYNC=1----->|
| . |
| . |
| . |
|-----LSRpt, SYNC=1----->|
| |
|---LSRpt,SYNC=1 |
| \ ,-PCErr---|
| \ / |
| \/ |
| /\ |
| / `-------->| (Ignored)
|<--------` |
]]></artwork>
</figure>
<t>The sequence where the PCC fails during the LS Synchronization
phase is shown in <xref target="F3"/>.</t>
<figure title="Failed LS synchronization (PCC failure)"
suppress-title="false" align="center" alt="" width="" height="" anchor="F3">
<artwork><![CDATA[
+-+-+ +-+-+
|PCC| |PCE|
+-+-+ +-+-+
| |
|-----LSRpt, SYNC=1----->|
| |
|-----LSRpt, SYNC=1----->|
| . |
| . |
| . |
|-------- PCErr--------->|
| |
]]></artwork>
</figure>
<section title="Optimizations for LS Synchronization">
<t>These optimizations are described in <xref target="I-D.kondreddy-pce-pcep-ls-sync-optimizations"/>.</t>
</section>
</section>
<section title="LS Report">
<t>The PCC MUST report any changes in the link-state (and TE) information to the PCE by sending a
LS Report carried on a LSRpt message to the PCE.
Each node and Link would be uniquely identified by a
PCEP LS identifier (LS-ID). The LS reports may carry local as well as
remote link-state (and TE) information depending on the R flag in LS capability
TLV.
In case R flag is set, It MAY also include the mapping of IGP or BGP-LS
identifier to map the information populated via PCEP with IGP/BGP-LS.</t>
<t>More details about LSRpt message are in <xref target="sec_lsrpt"/>.</t>
</section>
</section>
<section title="Transport" toc="default">
<t>A permanent PCEP session MUST be established between a PCE
and PCC supporting link-state (and TE) distribution via PCEP. In the case of session failure,
session re-establishment
MUST be re-attempted per the procedures defined in
<xref target="RFC5440"/>.</t>
</section>
<section title="PCEP Messages" toc="default" anchor="sec_msg">
<t>As defined in <xref target="RFC5440"/>, a PCEP message consists of a common header
followed by a variable-length body made of a set of objects that can
be either mandatory or optional. An object is said to be mandatory
in a PCEP message when the object must be included for the message to
be considered valid. For each PCEP message type, a set of rules is
defined that specify the set of objects that the message can carry.
An implementation MUST form the PCEP messages using the object
ordering specified in this document.</t>
<section title="LS Report Message" anchor="sec_lsrpt">
<t>A PCEP LS Report message (also referred to as
LSRpt message) is a PCEP message sent by a PCC to a PCE to report the
link-state (and TE) information. A LSRpt message can carry more than one LS
Reports. The Message-Type field of the PCEP common header
for the LSRpt message is set to [TBD3].</t>
<t>The format of the LSRpt message is as follows:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork><![CDATA[
<LSRpt Message> ::= <Common Header>
<ls-report-list>
Where:
<ls-report-list> ::= <LS>[<ls-report-list>]
]]></artwork>
</figure>
<t>The LS object is a mandatory object which carries LS information of
a node or a link. Each LS object has an unique LS-ID as described
in <xref target="sec_ls_obj"/>. If the LS
object is missing, the receiving PCE MUST send a PCErr message with
Error-type=6 (Mandatory Object missing) and Error-value=[TBD4] (LS
object missing).</t>
<t>A PCE may choose to implement a limit on the LS information a single PCC
can populate. If a LSRpt is received that causes the PCE to exceed
this limit, it MUST send a PCErr message with error-type 19 (invalid
operation) and error-value 4 (indicating resource limit exceeded) in
response to the LSRpt message triggering this condition and SHOULD
terminate the session.</t>
</section>
<section title="The PCErr Message" anchor="sec_pcerr">
<t>If a PCEP speaker has advertised the LS capability on the PCEP
session, the PCErr message MAY include the LS object. If the error
reported is the result of an LS report, then the LS-ID
number MUST be the one from the LSRpt that triggered the error.</t>
<t>The format of a PCErr message from <xref target="RFC5440"/> is
extended as follows:</t>
<t>The format of the PCErr message is as follows:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork><![CDATA[
<PCErr Message> ::= <Common Header>
( <error-obj-list> [<Open>] ) | <error>
[<error-list>]
<error-obj-list>::=<PCEP-ERROR>[<error-obj-list>]
<error>::=[<request-id-list> | <ls-id-list>]
<error-obj-list>
<request-id-list>::=<RP>[<request-id-list>]
<ls-id-list>::=<LS>[<ls-id-list>]
<error-list>::=<error>[<error-list>]
]]></artwork>
</figure>
</section>
</section>
<section title="Objects and TLV" toc="default" anchor="sec_obj">
<t>The PCEP objects defined in this document are compliant with the PCEP
object format defined in <xref target="RFC5440"/>. The P flag and the I flag of the
PCEP objects defined in this document MUST always be set to 0 on
transmission and MUST be ignored on receipt since these flags are
exclusively related to path computation requests.</t>
<section title="Open Object">
<t>This document defines a new optional TLV for use in the OPEN
Object.</t>
<section title="LS Capability TLV" anchor="sec_ls_tlv">
<t>The LS-CAPABILITY TLV is an optional TLV for use in the
OPEN Object for link-state (and TE) distribution via PCEP capability
advertisement. Its format is shown in the following figure:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork><![CDATA[
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=[TBD5] | Length=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The type of the TLV is [TBD5] and it has a fixed length of 4 octets.</t>
<t>The value comprises a single field - Flags (32 bits):
<list style="symbols">
<t>R (remote - 1 bit): if set to 1 by a PCC, the R Flag
indicates that the PCC allows reporting of remote LS information
learned via other means like IGP and BGP-LS; if
set to 1 by a PCE, the R Flag indicates that the PCE is capable of
receiving remote LS information (from the PCC point of view).
The R Flag must be
advertised by both a PCC and a PCE for LSRpt messages to report
remote as well as local LS information on a PCEP session. The
TLVs related to IGP/BGP-LS identifier MUST be encoded when
both PCEP speakers have the R Flag set.</t>
</list>
</t>
<t>Unassigned bits are considered reserved. They MUST be set to 0 on
transmission and MUST be ignored on receipt.</t>
<t>Advertisement of the LS capability implies support of local link-state (and TE)
distribution, as well as the objects, TLVs and
procedures defined in this document.</t>
</section>
</section>
<section title="LS Object" anchor="sec_ls_obj">
<t>The LS (link-state) object MUST be carried
within LSRpt messages and MAY be carried within PCErr
messages. The LS object contains a set of fields used to specify
the target node or link. It also
contains a flag indicating to a PCE that the LS
synchronization is in progress. The TLVs used with the LS object
correlate with the IGP/BGP-LS encodings.</t>
<t>LS Object-Class is [TBD6].</t>
<t>Four Object-Type values are defined for the LS object so far:
<list style="symbols">
<t>LS Node: LS Object-Type is 1. </t>
<t>LS Link: LS Object-Type is 2.</t>
<t>LS IPv4 Topology Prefix: LS Object-Type is 3.</t>
<t>LS IPv6 Topology Prefix: LS Object-Type is 4.</t>
</list>
</t>
<t>The format of all types of LS object is as follows:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol-ID | Flag |R|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS-ID |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// TLVs //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>Protocol-ID (8-bit): The field provide the source information.
The protocol could be an IGP, BGP-LS or an abstraction algorithm.
Incase PCC only provides local information of the PCC,
it MUST use Protocol-ID
as Direct. The following values are defined (some of them are same as
<xref target="RFC7752"/>):</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+-------------+----------------------------------+
| Protocol-ID | Source protocol |
+-------------+----------------------------------+
| 1 | IS-IS Level 1 |
| 2 | IS-IS Level 2 |
| 3 | OSPFv2 |
| 4 | Direct |
| 5 | Static configuration |
| 6 | OSPFv3 |
| 7 | BGP-LS |
| 8 | Abstraction |
+-------------+----------------------------------+
]]></artwork>
</figure>
<t>Flags (24-bit):
<list style="symbols">
<t>S (SYNC - 1 bit): the S Flag MUST be set to 1 on each LSRpt sent
from a PCC during LS Synchronization. The S Flag MUST be set
to 0 in other LSRpt messages sent from the PCC.</t>
<t>R (Remove - 1 bit): On LSRpt messages the R Flag indicates that the
node/link/prefix has been removed from the PCC and the PCE SHOULD remove
from its database. Upon receiving an LS Report with
the R Flag set to 1, the PCE SHOULD
remove all state for the node/link/prefix identified by the LS Identifiers
from its database.</t>
</list>
</t>
<t>LS-ID(64-bit): A PCEP-specific identifier for the node or
link or prefix information. A PCC creates an unique LS-ID for
each node/link/prefix that is
constant for the lifetime of a PCEP session. The PCC will
advertise the same LS-ID on all PCEP sessions it maintains at a
given times. All
subsequent PCEP messages then address the node/link/prefix by the LS-ID.
The
values of 0 and 0xFFFFFFFFFFFFFFFF are reserved.</t>
<t>Unassigned bits are considered reserved. They MUST be set to 0 on
transmission and MUST be ignored on receipt.</t>
<t>TLVs that may be included in the LS Object are described in the
following sections.</t>
<section title="Routing Universe TLV">
<t>In case of remote link-state (and TE) population when existing IGP/BGP-LS are
also used, OSPF and IS-IS may run multiple routing protocol instances over
the same link as described in <xref target="RFC7752"/>.
See <xref target="RFC6822"/> and <xref target="RFC6549"/> for more information.
These instances define
independent "routing universes". The 64-Bit 'Identifier' field is
used to identify the "routing universe" where the LS object belongs.
The
LS objects representing IGP objects (nodes or links or prefix) from the
same routing universe MUST have the same 'Identifier' value; LS objects
with different 'Identifier' values MUST be considered to be from
different routing universes. </t>
<t>The format of the optional ROUTING-UNIVERSE TLV is shown in the following
figure:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD7] | Length=8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>Below table lists the 'Identifier'
values that are defined as well-known in this draft (same as
<xref target="RFC7752"/>).</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+------------+-----------------------------------+
| Identifier | Routing Universe |
+------------+-----------------------------------+
| 0 | Default Layer 3 Routing topology |
| 1-31 | Reserved |
+------------+-----------------------------------+
]]></artwork>
</figure>
<t>If this TLV is not present the default value 0 is assumed.</t>
</section>
<section title="Route Distinguisher TLV">
<t>Tho allow identification of VPN link, node and prefix information
in PCEP-LS, a Route Distinguisher (RD) <xref target="RFC4364"/> is used.
The
LS objects from the
same VPN MUST have the same RD; LS objects
with different RD values MUST be considered to be from
different VPNs. </t>
<t>The format of the optional ROUTE-DISTINGUISHER TLV is shown in the following
figure:
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD15] | Length=8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Distinguisher |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</t>
<t>The format of RD is as per <xref target="RFC4364"/>.</t>
</section>
<section title="Virtual Network TLV">
<t>To realize ACTN, the MDSC needs to build an multi-domain topology.
This topology is best served, if this is an abstracted view of the
underlying network resources of each domain. It is also important
to provide a customer view of network slice for each customer.
There is a need to control the level of abstraction based on
the deployment scenario and business relationship between the controllers.
</t>
<t>Virtual service coordination function in ACTN incorporates customer
service-related knowledge into the virtual network operations in
order to seamlessly operate virtual networks while meeting customer's
service requirements. <xref target="I-D.ietf-teas-actn-requirements"/> describes various VN operations
initiated by a customer/application. In this context, there is a
need for associating the abstracted link state and TE topology with a VN "construct" to
facilitate VN operations in PCE architecture.</t>
<t>VIRTUAL-NETWORK-TLV as per <xref target="I-D.leedhody-pce-vn-association"/>
can be included in LS object to identify the link, node and prefix information
belongs to a particular VN.</t>
</section>
<section title="Local Node Descriptors TLV">
<t>As described in <xref target="RFC7752"/>,
each link is anchored by a pair of Router-IDs that are used by the
underlying IGP, namely, 48 Bit ISO System-ID for IS-IS and 32 bit
Router-ID for OSPFv2 and OSPFv3. Incase of additional auxiliary
Router-IDs used for TE, these MUST also be included in the link
attribute TLV (see <xref target="link_attr"/>).</t>
<t>It is desirable that the Router-ID assignments inside the Node
Descriptor are globally unique. Some considerations for globally
unique Node/Link/Prefix identifiers are described in
<xref target="RFC7752"/>.</t>
<t>The Local Node Descriptors TLV contains Node Descriptors for the node
anchoring the local end of the link. This TLV MUST be included in the LS Report
when during a given PCEP session a node/link/prefix is first reported to a PCE.
A PCC sends to a PCE the first LS Report either during State
Synchronization, or when a new node/link/prefix is learned at the PCC.
The value
contains one or more Node Descriptor Sub-TLVs, which
allows specification of a flexible key for any given node/link/prefix
information such that global uniqueness of the node/link/prefix is ensured.</t>
<t>This TLV is applicable for all LS Object-Type.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD8] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Node Descriptor Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The value contains
one or more Node Descriptor Sub-TLVs defined in
<xref target="node_subtlv"/>.</t>
</section>
<section title="Remote Node Descriptors TLV">
<t>The Remote Node Descriptors contains Node Descriptors for the node
anchoring the remote end of the link. This TLV MUST be included in the LS Report
when during a given PCEP session a link is first reported to a PCE.
A PCC sends to a PCE the first LS Report either during State
Synchronization, or when a new link is learned at the PCC. The length of this TLV is
variable. The value contains
one or more Node Descriptor Sub-TLVs defined in <xref target="node_subtlv"/>.</t>
<t>This TLV is applicable for LS Link Object-Type.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD9] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Node Descriptor Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
</section>
<section title="Node Descriptors Sub-TLVs" anchor="node_subtlv">
<t>The Node Descriptor Sub-TLV type Type and lengths are listed in
the following table:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+----------+-------------------+----------+----------------+
| Sub-TLV | Description | Length |Value defined in|
+----------+-------------------+----------+----------------+
| 0 | Reserved | - | - |
| 1 | Autonomous System | 4 | [RFC7752] |
| 2 | BGP-LS Identifier | 4 | / section |
| 3 | OSPF Area-ID | 4 | 3.2.1.4 |
| 4 | IGP Router-ID | Variable | |
+----------+-------------------+----------+----------------+
]]></artwork>
</figure>
<t>The sub-TLV values in Node Descriptor TLVs are defined
as follows (similar to <xref target="RFC7752"/>):
<list style="symbols">
<t>Autonomous System: opaque value (32 Bit AS Number)</t>
<t>BGP-LS Identifier: opaque value (32 Bit ID). In conjunction with
ASN, uniquely identifies the BGP-LS domain as described in <xref target="RFC7752"/>.
This sub-TLV is present only if the node implements BGP-LS and the ID is set by the operator.
</t>
<t>OSPF Area ID: It is used to identify the 32 Bit area to which the LS object
belongs. Area Identifier allows the different LS objects of the same
node to be discriminated.</t>
<t>IGP Router ID: opaque value. Usage is
described in <xref target="RFC7752"/> for IGP Router ID. In case only
local information is transported and PCE learns link-state (and TE) information only from PCEP, it contain the unique local TE IPv4 or IPv6 router ID.</t>
</list>
</t>
</section>
<section title="Link Descriptors TLV">
<t>The Link Descriptors TLV contains Link Descriptors for each link.
This TLV MUST be included in the LS Report
when during a given PCEP session a link is first reported to a PCE.
A PCC sends to a PCE the first LS Report either during State
Synchronization, or when a new link is learned at the PCC. The length of this
TLV is variable. The value contains one or more Link Descriptor Sub-TLVs.</t>
<t>The 'Link descriptor' TLVs uniquely identify a link among
multiple parallel
links between a pair of anchor routers similar to
<xref target="RFC7752"/>. </t>
<t>This TLV is applicable for LS Link Object-Type.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD10] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Link Descriptor Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The Link Descriptor Sub-TLV type and lengths are listed in
the following table:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+-----------+---------------------+---------------+-----------------+
| Sub-TLV | Description | IS-IS TLV | Value defined |
| | | /Sub-TLV | in: |
+-----------+---------------------+---------------+-----------------+
| 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 |
| | Identifiers | | |
| 7 | IPv4 interface | 22/6 | [RFC5305]/3.2 |
| | address | | |
| 8 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 |
| | address | | |
| 9 | IPv6 interface | 22/12 | [RFC6119]/4.2 |
| | address | | |
| 10 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 |
| | address | | |
| 5 | Multi-Topology | - | [RFC7752]/ |
| | identifier | | 3.2.1.5 |
+-----------+---------------------+---------------+-----------------+
]]></artwork>
</figure>
<t>The format and semantics of the 'value' fields in most 'Link
Descriptor' sub-TLVs correspond to the format and semantics of value
fields in IS-IS Extended IS Reachability sub-TLVs, defined in
<xref target="RFC5305"/>, <xref target="RFC5307"/> and <xref target="RFC6119"/>. Although the encodings for 'Link
Descriptor' TLVs were originally defined for IS-IS, the TLVs can
carry data sourced either by IS-IS or OSPF or direct.</t>
<t>The information about a link present in the LSA/LSP originated by the
local node of the link determines the set of sub-TLVs in the Link
Descriptor of the link as described in
<xref target="RFC7752"/>.</t>
</section>
<section title="Prefix Descriptors TLV">
<t>The Prefix Descriptors TLV contains Prefix Descriptors uniquely identify an IPv4 or IPv6
Prefix originated by a Node. This TLV MUST be included in the LS Report
when during a given PCEP session a prefix is first reported to a PCE.
A PCC sends to a PCE the first LS Report either during State
Synchronization, or when a new prefix is learned at the PCC. The length of this TLV is
variable. </t>
<t>This TLV is applicable for LS Prefix Object-Types for both IPv4 and IPv6.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD11] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Prefix Descriptor Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The value contains
one or more Prefix Descriptor Sub-TLVs defined below - </t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+--------------+-----------------------+----------+-----------------+
| TLV Code | Description | Length | Value defined |
| Point | | | in: |
+--------------+-----------------------+----------+-----------------+
| 5 | Multi-Topology | variable | [RFC7752] |
| | Identifier | | /3.2.1.5 |
| 11 | OSPF Route Type | 1 | [RFC7752] |
| | | | /3.2.3.1 |
| 12 | IP Reachability | variable | [RFC7752] |
| | Information | | /3.2.3.2 |
+--------------+-----------------------+----------+-----------------+
]]></artwork>
</figure>
</section>
<section title="PCEP-LS Attributes">
<section title="Node Attributes TLV" anchor="node_attr">
<t>This is an optional attribute that is used to
carry node attributes. This TLV is applicable for LS Node Object-Type.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD12] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Node Attributes Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The Node Attributes Sub-TLV type and lengths are listed in
the following table:</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+--------------+-----------------------+----------+-----------------+
| Sub TLV | Description | Length | Value defined |
| | | | in: |
+--------------+-----------------------+----------+-----------------+
| 5 | Multi-Topology | variable | [RFC7752] |
| | Identifier | | /3.2.1.5 |
| 13 | Node Flag Bits | 1 | [RFC7752] |
| | | | /3.3.1.1 |
| 14 | Opaque Node | variable | [RFC7752] |
| | Properties | | /3.3.1.5 |
| 15 | Node Name | variable | [RFC7752] |
| | | | /3.3.1.3 |
| 16 | IS-IS Area Identifier | variable | [RFC7752] |
| | | | /3.3.1.2 |
| 17 | IPv4 Router-ID of | 4 | [RFC5305]/4.3 |
| | Local Node | | |
| 18 | IPv6 Router-ID of | 16 | [RFC6119]/4.1 |
| | Local Node | | |
+--------------+-----------------------+----------+-----------------+
]]></artwork>
</figure>
</section>
<section title="Link Attributes TLV" anchor="link_attr">
<t>This TLV is applicable for LS Link Object-Type. The format
and semantics of the 'value' fields in some 'Link Attribute' sub-TLVs
correspond to the format and semantics of value fields in IS-IS
Extended IS Reachability sub-TLVs, defined in <xref target="RFC5305"/>,
<xref target="RFC5307"/> and <xref target="RFC7752"/>.
Although the encodings for 'Link Attribute' TLVs were originally
defined for IS-IS, the TLVs can carry data sourced either by IS-IS or
OSPF or direct.</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD13] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Link Attributes Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The following 'Link Attribute' sub-TLVs are valid :</t>
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+-----------+---------------------+--------------+------------------+
| Sub-TLV | Description | IS-IS TLV | Defined in: |
| | | /Sub-TLV | |
| | | BGP-LS TLV | |
+-----------+---------------------+--------------+------------------+
| 17 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Local Node | | |
| 18 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Local Node | | |
| 19 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Remote Node | | |
| 20 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Remote Node | | |
| 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 |
| | Identifiers | | |
| 22 | Administrative | 22/3 | [RFC5305]/3.1 |
| | group (color) | | |
| 23 | Maximum link | 22/9 | [RFC5305]/3.3 |
| | bandwidth | | |
| 24 | Max. reservable | 22/10 | [RFC5305]/3.5 |
| | link bandwidth | | |
| 25 | Unreserved | 22/11 | [RFC5305]/3.6 |
| | bandwidth | | |
| 26 | TE Default Metric | 22/18 | [RFC7752] |
| | | | /3.3.2.3 |
| 27 | Link Protection | 22/20 | [RFC5307]/1.2 |
| | Type | | |
| 28 | MPLS Protocol Mask | 1094 | [RFC7752] |
| | | | /3.3.2.2 |
| 29 | IGP Metric | 1095 | [RFC7752] |
| | | | /3.3.2.4 |
| 30 | Shared Risk Link | 1096 | [RFC7752] |
| | Group | | /3.3.2.5 |
| 31 | Opaque link | 1097 | [RFC7752] |
| | attributes | | /3.3.2.6 |
| 32 | Link Name attribute | 1098 | [RFC7752] |
| | | | /3.3.2.7 |
| 33 | Unidirectional | 22/33 | [RFC7810]/4.1 |
| | Link Delay | | |
| 34 | Min/Max | 22/34 | [RFC7810]/4.2 |
| | Unidirectional Link | | |
| | Delay | | |
| 35 | Unidirectional | 22/35 | [RFC7810]/4.3 |
| | Delay Variation | | |
| 36 | Unidirectional | 22/36 | [RFC7810]/4.4 |
| | Link Loss | | |
| 37 | Unidirectional | 22/37 | [RFC7810]/4.5 |
| | Residual Bandwidth | | |
| 38 | Unidirectional | 22/38 | [RFC7810]/4.6 |
| | Available Bandwidth | | |
| 39 | Unidirectional | 22/39 | [RFC7810]/4.7 |
| | Bandwidth | | |
| | Utilization | | |
| 40 | Extended Admin | 22/14 | [RFC7308]/2.1 |
| | Group (EAG) | | |
+-----------+---------------------+--------------+------------------+
]]></artwork>
</figure>
</section>
<section title="Prefix Attributes TLV" >
<t>This TLV is applicable for LS Prefix Object-Types for both IPv4 and IPv6.
Prefixes are learned from the IGP (IS-IS or OSPF) or BGP topology with a set
of IGP attributes (such as metric, route tags, etc.). This section describes the
different attributes related to the IPv4/IPv6 prefixes. Prefix
Attributes TLVs SHOULD be encoded in the LS Prefix Object.
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
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=[TBD14] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Prefix Attributes Sub-TLVs (variable) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
The following 'Prefix Attribute' sub-TLVs are valid :
<figure title=""
suppress-title="true" align="center" alt="" width="" height="" >
<artwork align="center"><![CDATA[
+-----------+---------------------+--------------+------------------+
| Sub-TLV | Description | BGP-LS TLV | Defined in: |
+-----------+---------------------+--------------+------------------+
| 41 | IGP Flags | 1152 | [RFC7752] |
| | | | /3.3.3.1 |
| 42 | Route Tag | 1153 | [RFC7752] |
| | | | /3.3.3.2 |
| 43 | Extended Tag | 1154 | [RFC7752] |
| | | | /3.3.3.3 |
| 44 | Prefix Metric | 1155 | [RFC7752] |
| | | | /3.3.3.4 |
| 45 | OSPF Forwarding | 1156 | [RFC7752] |
| | Address | | /3.3.3.5 |
| 46 | Opaque Prefix | 1157 | [RFC7752] |
| | Attribute | | /3.3.3.6 |
+-----------+---------------------+--------------+------------------+
]]></artwork>
</figure> </t>
</section>
</section>
<section title="Removal of an Attribute" toc="default">
<t>One of a key objective of PCEP-LS is to encode
and carry only the impacted attributes of a Node, a Link or a Prefix.
To accommodate this requirement, incase of a removal of an attribute,
the sub-TLV MUST be included with no 'value' field and length=0
to indicate that the attribute is removed. On receiving a sub-TLV
with zero length, the receiver removes the attribute from the database.</t>
</section>
</section>
</section>
<section title="Other Considerations" toc="default">
<section title="Inter-AS Links" toc="default">
<t>The main source of LS (and TE) information is the IGP, which is not active on
inter-AS links. In some cases, the IGP may have information of
inter-AS links (<xref target="RFC5392"/>, <xref target="RFC5316"/>). In other cases, an
implementation SHOULD provide a means to inject inter-AS links into
PCEP. The exact mechanism used to provision the inter-AS links is
outside the scope of this document.</t>
</section>
</section>
<section title="Processing Rules" toc="default">
</section>
<section title="Security Considerations" toc="default">
<t>This document extends PCEP for LS (and TE) distribution including a new
LSRpt message with new object and TLVs. Procedures and protocol extensions
defined in this document do not effect the overall PCEP security model.
See <xref target="RFC5440"/>, <xref target="I-D.ietf-pce-pceps"/>.
Tampering with the LSRpt message
may have an effect on path computations at PCE. It also provides adversaries
an opportunity to eavesdrop and learn sensitive information and plan
sophisticated attacks on the network infrastructure. The PCE implementation
SHOULD provide mechanisms to prevent strains created by network flaps and
amount of LS (and TE) information. Thus it is suggested
that any mechanism used for securing the transmission of other PCEP
message be applied here as well. As a general precaution, it is
RECOMMENDED that these PCEP extensions only be activated on
authenticated and encrypted sessions belonging to the same
administrative authority.</t>
</section>
<section title="Manageability Considerations" toc="default">
<section title="Control of Function and Policy" toc="default">
<t>TBD.</t>
</section>
<section title="Information and Data Models" toc="default">
<t>TBD.</t>
</section>
<section title="Liveness Detection and Monitoring" toc="default">
<t>TBD.</t>
</section>
<section title="Verify Correct Operations" toc="default">
<t>TBD.</t>
</section>
<section title="Requirements On Other Protocols" toc="default">
<t>TBD.</t>
</section>
<section title="Impact On Network Operations" toc="default">
<t>TBD.</t>
</section>
</section>
<section title="IANA Considerations" toc="default">
<t> This document requests IANA actions to allocate code points for the
protocol elements defined in this document.</t>
<section title="PCEP Messages">
<t> IANA created a registry for PCEP messages. Each PCEP message has a
message type value. This document defines a new PCEP message value.</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Value Meaning Reference
TBD3 LSRpt [This I-D]
]]></artwork>
</figure>
</t>
</section>
<section title="PCEP Objects">
<t>This document defines the following new PCEP Object-classes and
Object-values:</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Object-Class Value Name Reference
TBD6 LS Object [This I-D]
Object-Type=1
(LS Node)
Object-Type=2
(LS Link)
Object-Type=3
(LS IPv4 Prefix)
Object-Type=4
(LS IPv6 Prefix)
]]></artwork>
</figure>
</t>
</section>
<section title="LS Object">
<t>This document requests that a new sub-registry, named "LS Object
Protocol-ID Field", is created within the "Path Computation Element Protocol
(PCEP) Numbers" registry to manage the Flag field of the LSP
object. New values are to be assigned by Standards Action <xref target="RFC5226"/>.
</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Value Meaning Reference
1 IS-IS Level 1 [This I-D]
2 IS-IS Level 2 [This I-D]
3 OSPFv2 [This I-D]
4 Direct [This I-D]
5 Static configuration [This I-D]
6 OSPFv3 [This I-D]
7 BGP-LS [This I-D]
8 Abstraction [This I-D]
]]></artwork>
</figure>
</t>
<t>Further, this document also requests that a new sub-registry, named "LS Object
Flag Field", is created within the "Path Computation Element Protocol
(PCEP) Numbers" registry to manage the Flag field of the LSP
object.New values are to be assigned by Standards Action <xref target="RFC5226"/>.
Each bit should be tracked with the following qualities:
<list style="symbols">
<t>Bit number (counting from bit 0 as the most significant bit)</t>
<t>Capability description</t>
<t>Defining RFC</t>
</list></t>
<t>The following values are defined in this document:</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Bit Description Reference
0-21 Unassigned
22 R (Remove bit) [This I-D]
23 S (Sync bit) [This I-D]
]]></artwork>
</figure>
</t>
</section>
<section title="PCEP-Error Object">
<t>IANA is requested to make the following allocation in the "PCEP-ERROR
Object Error Types and Values" registry.</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Error-Type Meaning Reference
6 Mandatory Object missing [RFC5440]
Error-Value=TBD4 [This I-D]
(LS object missing)
19 Invalid Operation [I-D.ietf-pce-stateful-pce]
Error-Value=TBD1 [This I-D]
(Attempted LS Report if LS
remote capability was not
advertised)
TBD2 LS Synchronization Error [This I-D]
Error-Value=1
(An error in processing the
LSRpt)
Error-Value=2
(An internal PCC error)
]]></artwork>
</figure>
</t>
</section>
<section title="PCEP TLV Type Indicators">
<t>This document defines the following new PCEP TLVs.</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
Value Meaning Reference
TBD5 LS-CAPABILITY TLV [This I-D]
TBD7 ROUTING-UNIVERSE TLV [This I-D]
TBD15 ROUTE-DISTINGUISHER TLV [This I-D]
TBD8 Local Node Descriptors TLV [This I-D]
TBD9 Remote Node Descriptors TLV [This I-D]
TBD10 Link Descriptors TLV [This I-D]
TBD11 Prefix Descriptors TLV [This I-D]
TBD12 Node Attributes TLV [This I-D]
TBD13 Link Attributes TLV [This I-D]
TBD14 Prefix Attributes TLV [This I-D]
]]></artwork>
</figure>
</t>
</section>
<section title="PCEP-LS Sub-TLV Type Indicators" anchor="subtlv">
<t>This document specifies the PCEP-LS Sub-TLVs. IANA
is requested to create an "PCEP-LS Sub-TLV Types"
sub-registry in the "PCEP TLV Type Indicators" for the sub-TLVs
carried in the PCEP-LS TLV (Local and Remote Node Descriptors TLV,
Link Descriptors TLV, Prefix Descriptors TLV, Node Attributes TLV,
Link Attributes TLV and Prefix Attributes TLV. This document defines
the following types: </t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
+-----------+---------------------+---------------+-----------------+
| Sub-TLV | Description | Ref | Value defined |
| | | Sub-TLV | in: |
+-----------+---------------------+---------------+-----------------+
| 1 | Autonomous System | 512 | [RFC7752] |
| | | | /3.2.1.4 |
| 2 | BGP-LS Identifier | 513 | [RFC7752] |
| | | | /3.2.1.4 |
| 3 | OSPF Area-ID | 514 | [RFC7752] |
| | | | /3.2.1.4 |
| 4 | IGP Router-ID | 515 | [RFC7752] |
| | | | /3.2.1.4 |
| 5 | Multi-Topology-ID | 263 | [RFC7752] |
| | | | /3.2.1.5 |
| 6 | Link Local/Remote | 22/4 | [RFC5307]/1.1 |
| | Identifiers | | |
| 7 | IPv4 interface | 22/6 | [RFC5305]/3.2 |
| | address | | |
| 8 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 |
| | address | | |
| 9 | IPv6 interface | 22/12 | [RFC6119]/4.2 |
| | address | | |
| 10 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 |
| | address | | |
| 11 | OSPF Route Type | 264 | [RFC7752] |
| | | | /3.2.3.1 |
| 12 | IP Reachability | 265 | [RFC7752] |
| | Information | | /3.2.3.2 |
| 13 | Node Flag Bits | 1024 | [RFC7752] |
| | | | /3.3.1.1 |
| 14 | Opaque Node | 1025 | [RFC7752] |
| | Properties | | /3.3.1.5 |
| 15 | Node Name | 1026 | [RFC7752] |
| | | | /3.3.1.3 |
| 16 | IS-IS Area | 1027 | [RFC7752] |
| | Identifier | | /3.3.1.2 |
| 17 | IPv4 Router-ID of | 134/-- | [RFC5305]/4.3 |
| | Local Node | | |
| 18 | IPv6 Router-ID of | 140/-- | [RFC6119]/4.1 |
| | Local Node | | |
| 19 | IPv4 Router-ID of | 134/-- | [RFC5305]/4.3 |
| | Remote Node | | |
| 20 | IPv6 Router-ID of | 140/-- | [RFC6119]/4.1 |
| | Remote Node | | |
| 22 | Administrative | 22/3 | [RFC5305]/3.1 |
| | group (color) | | |
| 23 | Maximum link | 22/9 | [RFC5305]/3.3 |
| | bandwidth | | |
| 24 | Max. reservable | 22/10 | [RFC5305]/3.5 |
| | link bandwidth | | |
| 25 | Unreserved | 22/11 | [RFC5305]/3.6 |
| | bandwidth | | |
| 26 | TE Default Metric | 22/18 | [RFC7752] |
| | | | /3.3.2.3 |
| 27 | Link Protection | 22/20 | [RFC5307]/1.2 |
| | Type | | |
| 28 | MPLS Protocol Mask | 1094 | [RFC7752] |
| | | | /3.3.2.2 |
| 29 | IGP Metric | 1095 | [RFC7752] |
| | | | /3.3.2.4 |
| 30 | Shared Risk Link | 1096 | [RFC7752] |
| | Group | | /3.3.2.5 |
| 31 | Opaque link | 1097 | [RFC7752] |
| | attributes | | /3.3.2.6 |
| 32 | Link Name attribute | 1098 | [RFC7752] |
| | | | /3.3.2.7 |
| 33 | Unidirectional | 22/33 | [RFC7810]/4.1 |
| | Link Delay | | |
| 34 | Min/Max | 22/34 | [RFC7810]/4.2 |
| | Unidirectional Link | | |
| | Delay | | |
| 35 | Unidirectional | 22/35 | [RFC7810]/4.3 |
| | Delay Variation | | |
| 36 | Unidirectional | 22/36 | [RFC7810]/4.4 |
| | Link Loss | | |
| 37 | Unidirectional | 22/37 | [RFC7810]/4.5 |
| | Residual Bandwidth | | |
| 38 | Unidirectional | 22/38 | [RFC7810]/4.6 |
| | Available Bandwidth | | |
| 39 | Unidirectional | 22/39 | [RFC7810]/4.7 |
| | Bandwidth | | |
| | Utilization | | |
| 40 | Extended Admin | 22/14 | [RFC7308]/2.1 |
| | Group (EAG) | | |
| 41 | IGP Flags | 1152 | [RFC7752] |
| | | | /3.3.3.1 |
| 42 | Route Tag | 1153 | [RFC7752] |
| | | | /3.3.3.2 |
| 43 | Extended Tag | 1154 | [RFC7752] |
| | | | /3.3.3.3 |
| 44 | Prefix Metric | 1155 | [RFC7752] |
| | | | /3.3.3.4 |
| 45 | OSPF Forwarding | 1156 | [RFC7752] |
| | Address | | /3.3.3.5 |
| 46 | Opaque Prefix | 1157 | [RFC7752] |
| | Attribute | | /3.3.3.6 |
+-----------+---------------------+---------------+-----------------+
]]></artwork>
</figure>
</t>
<t>New values are to be assigned by Standards Action <xref target="RFC5226"/>.</t>
</section>
</section>
<section title="TLV/Sub-TLV Code Points Summary">
<t>This section contains the global table of all TLVs/Sub-TLVs in LS object defined
in this document.</t>
<figure title="TLV Table" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
+-----------+---------------------+---------------+-----------------+
| TLV | Description | Ref TLV | Value defined |
| | | | in: |
+-----------+---------------------+---------------+-----------------+
| TBD7 | Routing Universe | -- | Sec 9.2.1 |
| TBD15 | Route | -- | Sec 9.2.2 |
| | Distinguisher | | |
| * | Virtual Network | -- | [leedhody-pce- |
| | | | vn-association] |
| TBD8 | Local Node | 256 | [RFC7752] |
| | Descriptors | | /3.2.1.2 |
| TBD9 | Remote Node | 257 | [RFC7752] |
| | Descriptors | | /3.2.1.3 |
| TBD10 | Link Descriptors | -- | Sec 9.2.8 |
| TBD11 | Prefix Descriptors | -- | Sec 9.2.9 |
| TBD12 | Node Attributes | -- | Sec 9.2.10.1 |
| TBD13 | Link Attributes | -- | Sec 9.2.10.2 |
| TBD14 | Prefix Attributes | -- | Sec 9.2.10.3 |
+-----------+---------------------+---------------+-----------------+
* this TLV is defined in a different PCEP document
]]></artwork>
</figure>
<t>Refer <xref target="subtlv"/> for the table of Sub-TLVs.</t>
</section>
<section title="Acknowledgments" toc="default">
<t>This document borrows some of the structure and text from the
<xref target="RFC7752"/>.
</t>
<t>Thanks to Eric Wu, Venugopal Kondreddy, Mahendra Singh Negi,
Avantika, and Zhengbin Li for the reviews.</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119.xml" ?>
<?rfc include="reference.RFC.5305.xml" ?>
<?rfc include="reference.RFC.5307.xml" ?>
<?rfc include="reference.RFC.5440.xml" ?>
<?rfc include="reference.RFC.6119.xml" ?>
<?rfc include="reference.RFC.7752"?>
<?rfc include="reference.RFC.7810"?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.3630.xml" ?>
<?rfc include="reference.RFC.4203.xml" ?>
<?rfc include="reference.RFC.4364.xml" ?>
<?rfc include="reference.RFC.4655.xml" ?>
<?rfc include="reference.RFC.5120.xml" ?>
<?rfc include="reference.RFC.5226.xml" ?>
<?rfc include="reference.RFC.5316.xml" ?>
<?rfc include="reference.RFC.5392.xml" ?>
<?rfc include="reference.RFC.6549.xml" ?>
<?rfc include="reference.RFC.6805.xml" ?>
<?rfc include="reference.RFC.6822.xml" ?>
<?rfc include="reference.I-D.ietf-pce-stateful-pce"?>
<?rfc include="reference.I-D.ietf-pce-pce-initiated-lsp"?>
<?rfc include="reference.I-D.ietf-pce-pceps"?>
<?rfc include="reference.I-D.kondreddy-pce-pcep-ls-sync-optimizations"?>
<?rfc include="reference.I-D.leedhody-teas-pcep-ls"?>
<?rfc include="reference.I-D.ietf-teas-actn-framework"?>
<?rfc include="reference.I-D.ietf-teas-actn-requirements"?>
<?rfc include="reference.I-D.leedhody-pce-vn-association"?>
<?rfc include="reference.I-D.dhody-pce-applicability-actn"?>
</references>
<section title="Relevant OSPF TLV and sub-TLV" toc="default">
<t>This section list the relevant TLVs and sub-TLVs defined for
OSPF.</t>
<t>
<figure title="" suppress-title="false" align="center" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[
+-----------+---------------------+---------------+-----------------+
| Sub-TLV | Description | OSPF-TE | Value defined |
| | | Sub-TLV | in: |
+-----------+---------------------+---------------+-----------------+
| 6 | Link Local/Remote | 11 | [RFC4203]/1.1 |
| | Identifiers | | |
| 7 | IPv4 interface | 3 | [RFC3630]/2.5.3 |
| | address | | |
| 8 | IPv4 neighbor | 4 | [RFC3630]/2.5.4 |
| | address | | |
| 9 | IPv6 interface | 19 | [RFC5329]/4.3 |
| | address | | |
| 10 | IPv6 neighbor | 20 | [RFC5329]/4.4 |
| | address | | |
| 17 | IPv4 Router-ID of | 1 | [RFC3630]/2.4.1 |
| | Local Node | | |
| 18 | IPv6 Router-ID of | 3 | [RFC5329]/3 |
| | Local Node | | |
| 19 | IPv4 Router-ID of | 1 | [RFC3630]/2.4.1 |
| | Remote Node | | |
| 20 | IPv6 Router-ID of | 3 | [RFC5329]/3 |
| | Remote Node | | |
| 22 | Administrative | 9 | [RFC3630]/2.5.9 |
| | group (color) | | |
| 23 | Maximum link | 6 | [RFC3630]/2.5.6 |
| | bandwidth | | |
| 24 | Max. reservable | 7 | [RFC3630]/2.5.7 |
| | link bandwidth | | |
| 25 | Unreserved | 8 | [RFC3630]/2.5.8 |
| | bandwidth | | |
| 27 | Link Protection | 14 | [RFC4203]/1.2 |
| | Type | | |
| 30 | Shared Risk Link | 16 | [RFC4203]/1.3 |
| | Group | | |
| 33 | Unidirectional | 27 | [RFC7471]/4.1 |
| | Link Delay | | |
| 34 | Min/Max | 28 | [RFC7471]/4.2 |
| | Unidirectional Link | | |
| | Delay | | |
| 35 | Unidirectional | 29 | [RFC7471]/4.3 |
| | Delay Variation | | |
| 36 | Unidirectional | 30 | [RFC7471]/4.4 |
| | Link Loss | | |
| 37 | Unidirectional | 31 | [RFC7471]/4.5 |
| | Residual Bandwidth | | |
| 38 | Unidirectional | 32 | [RFC7471]/4.6 |
| | Available Bandwidth | | |
| 39 | Unidirectional | 33 | [RFC7471]/4.7 |
| | Bandwidth | | |
| | Utilization | | |
| 40 | Extended Admin | 26 | [RFC7308]/2.1 |
| | Group (EAG) | | |
+-----------+---------------------+---------------+-----------------+
]]></artwork>
</figure>
</t>
</section>
<section title="Contributor Addresses" toc="default">
<t>
<figure title="" suppress-title="false" align="left" alt="" width="" height="">
<artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
Udayasree Palle
Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066
India
EMail: udayasree.palle@huawei.com
Sergio Belotti
Alcatel-Lucent
Italy
EMail: sergio.belotti@alcatel-lucent.com
Veerendranatha Reddy Vallem
Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066
India
Email: veerendranatharv@huawei.com
]]></artwork>
</figure>
</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 07:28:43 |