<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?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-chen-pce-pcc-ted-08" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="PCE-TED">Static PCEP Link State</title>
    <author initials="H" surname="Chen" fullname="Huaimo Chen">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street> </street>
          <city>Boston, MA</city>
          <region></region>
          <code></code>
          <country>USA</country>
        </postal>
        <email>Huaimo.chen@futurewei.com</email>
      </address>
    </author>

 <author initials="M" fullname="Mehmet Toy" 
            surname="Toy">
      <organization>Verizon</organization>
      <address>
        <postal>
          <street> </street>
          <city> </city>
          <country>USA</country>
        </postal>
        <email>mehmet.toy@verizon.com</email>
      </address>
 </author>

 <author initials="X" fullname="Xufeng Liu" 
            surname="Liu">
      <organization>Volta Networks</organization>
      <address>
        <postal>
          <street> </street>
          <city>McLean</city>
          <region>VA</region>
          <code></code>
          <country>USA</country>
        </postal>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>

 <author initials="L" fullname="Lei Liu" 
            surname="Liu">
      <organization>Fujitsu</organization>
      <address>
        <postal>
          <street> </street>
          <city> </city>
          <region></region>
          <code></code>
          <country>USA</country>
        </postal>
        <email>liulei.kddi@gmail.com</email>
      </address>
    </author>

  <author fullname="Zhenqiang Li" initials="Z" surname="Li">
    	<organization>China Mobile</organization>
    	<address>
        <postal>
          <street>No.32 Xuanwumenxi Ave., Xicheng District</street>
          <city>Beijing</city>
          <code>100032</code>
          <country>P.R. China</country>
        </postal>
        <email>li_zhenqiang@hotmail.com</email>
      </address>
    </author>

<!--
 <author initials="V" fullname="Vic Liu" 
            surname="Liu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street>No.32 Xuanwumen West Street, Xicheng District</street>
          <city>Beijing</city>
          <region></region>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>liuzhiheng@chinamobile.com</email>
      </address>
 </author>
-->

    <date year="2021" />
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup> 

<abstract>
<t>
This document presents extensions to 
the Path Computation Element Communication Protocol (PCEP) 
for a PCC to advertise the information about the links 
without running IGP
and for a PCE to build a TED based on the information received.
</t>
</abstract>

  </front>
  <middle>

    <section title="Introduction" toc="default">


    <t>A PCE architecture is described in RFC 4655, 
in which a Traffic Engineering Database (TED) for a PCE 
is constructed based on the link information 
from IGP (OSPF or IS-IS) running in the domain 
for which the PCE is responsible.  
</t>

    <t>For a domain without running IGP,
the PCE responsible for the domain may obtain the link information 
from a PCC running on each node in the domain.  
</t>

    <t>This document presents extensions to 
the Path Computation Element Communication Protocol (PCEP) 
for a PCC to advertise the information about the links 
attached to the node running the PCC 
and for a PCE to build the TED 
based on the information received from the PCC.
</t>

    </section>


    <section title="Terminology" toc="default">
    <t>
    <list style="hanging">
       <t hangText="ABR:">Area Border Router. Router used to connect two IGP areas (Areas in OSPF or levels in IS-IS).</t>

       <t hangText="ASBR:">Autonomous System (AS) Border Router. 
Router used to connect together ASes via inter-AS links.</t>

     </list>
   </t>
   <t>This document uses terminology defined in <xref target="RFC5440"/>.</t>

    </section>


    <section title="Conventions Used in This Document" 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 title="Link Information" toc="default"> 

    <t>Since no IGP runs over any link, 
we may not obtain any link information via IGP. 
But links are configured. 
</t>

    <t>For a point-to-point (P2P) link between nodes A and B, 
from A's point of view, we have the following link information:
<figure>
  <artwork> <![CDATA[ 
  1)  Link Type: P2P
  2)  Local IP address
  3)  Remote IP address
  4)  Traffic engineering metric
  5)  Maximum bandwidth
  6)  Maximum reservable bandwidth
  7)  Unreserved bandwidth
  8)  Administrative group
  9)  SRLG
  ]]>
  </artwork>
</figure>
A link ID for the link is obtained if a user configures it;
otherwise, no link ID (i.e., the Router ID of A's neighbor) may 
be obtained since no IGP adjacency over the link is formed. 
</t>

    <t>For a broadcast link connecting multiple nodes, 
on each of the nodes X, we have the same link information as above 
except for:
<figure>
  <artwork> <![CDATA[ 
  a)  Link Type: Multi-access,
  b)  Local IP address with mask length, and
  c)  No Remote IP address.
  ]]>
  </artwork>
</figure>
In other words, 
the information about the broadcast link obtained by node X
comprises a), b), 4) to 9), 
but does not include any remote IP address or link ID.

A link ID for the link is obtained if a user configures it;
otherwise, no link ID (i.e., the interface address of the designated
   router for the link) may be obtained since no IGP selects it.
</t>

    <t>A PCE constructs a TED for its responsible domain 
after receiving the link information 
from the PCC running on every node in the domain.
</t>

    </section>



    <section title="Extensions to PCEP" toc="default"> 


    <section title="Extension to Existing Message" toc="default">
 
    <t>An existing Notification message may be extended 
to advertise the information about links. 
Alternatively, a new message can be used (refer to Appendix A).
</t>

<t>
The following new Notification-type (NT) and Notification-value (NV) 
of a NOTIFICATION object in a Notification message are defined:

<list style="hanging">
  <t hangText="o"> NT=8 (TBD): Links 

  <list style="hanging">
    <t hangText="*"> NV=1: Update Links. 
NT=8 and NV=1 indicates that the
PCC requests the PCE to update the link information based on 
the TLVs in the object, which are described below.</t>

    <t hangText="*"> NV=2: Withdraw Links.
NT=8 and NV=2 indicates that the PCC asks the PCE to remove the Links 
indicated by the TLVs in the object.</t>
  </list> </t>
</list>
</t> 


    <section title="TLVs" toc="default">

    <t>A link TLV and a Router-ID TLV are defined.
The format of the link TLV is illustrated below.
The Type=tTBD1 indicates a link TLV Type.
The Length indicates the size of the Link Sub-TLVs.
<figure>
  <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 (tTBD1)          |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Link Sub-TLVs                         |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
A link TLV describes a single link. 
It comprises a number of link sub-TLVs 
for the information described in section 4, 
which are the sub-TLVs defined in RFC 3630 or their equivalents
except for the local IP address with mask length defined below.  
</t>

    <t>The format of the Router-ID TLV is shown below.
The Type=tTBD2 indicates a Router-ID TLV Type.
The Length indicates the size of the ID and flags field.
<figure>
  <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 (tTBD2)          |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |B|E|I|      Flags              |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  |                          32-bit/48-bit ID                     ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Flag B:     Set to 1 indicating ABR (B is for Border)
  Flag E:     Set to 1 indicating ASBR (E is for External)
  Flag I:     Set to 1 indicating ID of local router (I is for ID)
  ]]>
  </artwork>
</figure>
Undefined flags MUST be set to zero. 
The ID indicates the ID of a router.
For a router not running IGP, 
the ID may be the 32-bit or 48-bit ID of the router configured.
</t>

</section>


    <section title="Sub-TLVs" toc="default">

    <t>The format of the Sub-TLV for a local IPv4 address with
mask length is shown below.
The Type=stTBD1 indicates a local IPv4 Address with mask length.
The Length indicates the size of the IPv4 address and Mask Length.
The IPv4 Address indicates the local IPv4 address of a link.
The Mask Length indicates the length of the IPv4 address mask.
<figure>
  <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 (stTBD1)         |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          IPv4 Address                         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Mask Length  |
  +-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>
    <t>The format of the Sub-TLV for a local IPv6 address with
mask length is illustrated below.
The Type=stTBD2 indicates a local IPv6 Address with mask length.
The Length indicates the size of the IPv6 address and Mask Length.
The IPv6 Address indicates the local IPv6 address of a link.
The Mask Length indicates the length of the IPv6 address mask.
<figure>
  <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 (stTBD2)         |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        IPv6 Address (16 bytes)                |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Mask Length  |
  +-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>
</section>
</section>


    <section title="Procedures" toc="default"> 

    <section title="PCC Procedures" toc="default"> 

    <t>1. New or Changed Links</t>

    <t>After the session between a PCC and a PCE is established, 
the PCC sends the PCE 
a message containing the information about the links attached 
to the node running the PCC.
</t>

    <t>For any new or changed links, 
the PCC sends the PCE a message containing the information 
about these links
with indication of Update Links.
</t>

    <t>For example, for a new P2P link from node A,
the PCC running on A sends the PCE a Notification message having 
a NOTIFICATION object with 
NT=8 and NV=1 (indicating Update Links),
which contains a Router-ID TLV, followed by a link TLV.
The former comprises A's ID and flag I set to 1.
The latter comprises the Sub-TLVs for the information 
described in section 4.
</t>

    <t>For multiple new or changed links from node A, 
the PCC running on A sends the PCE a Notification message having 
a NOTIFICATION object with NT=8 and NV=1, 
which contains a Router-ID TLV for A's ID, 
followed by multiple link TLVs for the links.
</t>


    <t>2. Links Down</t>

    <t>For links down,
the PCC sends the PCE a message containing the information 
about these links with indication of Withdraw Links.
</t>

<!--
<t>For example, for the P2P link from node A down,
the PCC running on A sends the PCE a Notification message having 
a NOTIFICATION object with NT=8 and NV=2 (indicating Withdraw Links),
which contains a Router-ID TLV, followed by a link TLV.
The former comprises A's ID and flag I set to 1.
The latter comprises the Sub-TLVs for the information 
on 1), 2) and 3) described in section 4.
</t>
-->

<t>For example, for multiple links from node A down, 
the PCC running on A sends the PCE a Notification message having 
a NOTIFICATION object with NT=8 and NV=2 (indicating Withdraw Links), 
which contains a Router-ID TLV for A's ID, 
followed by multiple link TLVs for the links.
The TLV for a P2P link comprises the Sub-TLVs 
for the information on 1), 2) and 3) described in section 4.
The TLV for a broadcast link comprises the Sub-TLVs 
for the information on a) and b) described in section 4. 
</t>


    <t>3. Simplified Message</t>

<t>
Alternatively, the messages may be simplified.
For each node,
the source IP address of the PCC running on the node may be 
used as the ID of the node. 
The PCE knows the address 
after the session between the PCE and the PCC is up.

Thus, a message containing the information about links does not
need include any router-ID TLV.
</t>

<t>
For example, for a new P2P link attached to node A, 
the PCC running on A sends the PCE 
a Notification message having a NOTIFICATION object with
NT=8 and NV=1 (indicating Update Links), which
contains a link TLV comprising the Sub-TLVs for the information
on 1) to 9) described in section 4. 
The object does not contain any Router-ID TLV for node A.
</t>

<!--
<t>
In another example, for multiple links attached to node A down,
the PCC running on A sends the PCE
a Notification message having a NOTIFICATION object with
NT=8 and NV=2 (indicating Withdraw Links), which
contains multiple link TLVs for the links, but
does not contain any Router-ID TLV for node A.
The TLV for a P2P link comprises the Sub-TLVs for the
information on 1), 2) and 3) described in section 4.  
The TLV for a broadcast link comprises the Sub-TLVs 
for the information on a) and b) described in section 4.
</t>
-->

</section>

    <section title="PCE Procedures" toc="default"> 

    <t>A PCE stores into its TED the links for each node
according to the messages for the links received 
from the PCC running on the node. 
For a message containing Update Links, 
it updates the links accordingly.
For a message containing Withdraw Links, it removes the links.

When a node is down, the PCE removes the links attached to the node.
</t>

    <t>For a new P2P link between node A and B with no link ID configured,
when receiving a message containing the link from the PCC running on A, 
the PCE stores the link for A (i.e., the link from A) into its TED. 
It will find the link's remote end B using the remote IP address of the link.
After finding B, it associates the link for A with B and 
the link for B with A. 
This creates a bidirectional connection between A and B.
</t>

    <t>For a new broadcast link connecting multiple nodes 
with no link ID configured,
when receiving a message containing the link from the PCC 
running on each of the nodes X, 
the PCE stores the link for X (i.e., the link from X) into its TED.
 
It will find the link's remote end P 
using the link's local IP address with network mask.

P is a Pseudo node identified by the local IP address of 
the designated node selected from the nodes connected to the link.

After finding P, it associates the link for X with P and 
the link for P with X. 
This creates a bidirectional connection between X and P. 
</t>

    <t>The first node and second node from which the PCE receives 
a message containing the link is selected as 
the designed node and backup designed node respectively.
After the designed node is down, 
the backup designed node becomes the designed node and 
the node other than the designed node 
with the largest local IP address connecting to the link
is selected as the backup designed node.
</t>

    <t>When the old designed node is down and 
the backup designed node becomes the new designed node,
the PCE updates its TED through 
removing the link between each of nodes X and old P 
(the Pseudo node corresponding to the old designed node) and
adding a link between each of nodes X 
(still connecting to the broadcast link) and new P 
(the Pseudo node corresponding to the new designed node).
</t>


</section>

</section>


</section>  
 


    <section title="Security Considerations" toc="default">
    <t> The mechanism described in this document does not raise any new security issues for the PCEP protocols.</t>
    </section>


    <section title="IANA Considerations" toc="default">
      <t>This section specifies requests for IANA allocation.</t>
    </section>
    
    
    <section title="Acknowledgement" toc="default">
      <t>The authors would like to thank Jescia Chen, and Eric Wu 
for their valuable comments on this draft.</t>
    </section>


  </middle>
  <back>
    <references title="Normative References">
    <?rfc include="reference.RFC.2119.xml" ?>
    <?rfc include="reference.RFC.4655.xml" ?>
    <?rfc include="reference.RFC.5440.xml" ?>
    <?rfc include="reference.RFC.3630.xml" ?>

    </references>
    <references title="Informative References">
<!--
      <?rfc include="reference.RFC.4105.xml" ?>
      <?rfc include="reference.RFC.4216.xml" ?>
      <?rfc include="reference.RFC.4655.xml" ?>

      <?rfc include="reference.RFC.5305.xml" ?>
      <?rfc include="reference.RFC.5392.xml" ?>

      <?rfc include="reference.RFC.5316.xml" ?>
-->
      <?rfc include="reference.RFC.7752.xml" ?>

       
    </references>


    <section title="New Message" toc="default"> 

    <t>A new message may be defined to advertise 
the information on links. 

The format of the message for the information on Links (IL for short) is as follows:
<figure>
  <artwork> <![CDATA[ 
  <IL Message> ::= <Common Header> <NRP> <Link-List>
  where:
    <Link-List> ::= <LINK> [<Link-List>]
  ]]>
  </artwork>
</figure>
Where the value of the Message-Type in the Common Header 
indicates the new message type. 
The exact value is to be assigned by IANA. 
A new RP (NRP) object will be defined, 
which follows the Common Header. 
</t>

    <t>A new flag W (Withdraw) in the NRP object is defined 
to indicate whether the links are withdrawn. 
When flag W is set to one, the PCE removes the links
in the message after receiving it from the PCC. 
When flag W is set to zero, the PCE adds/updates 
the links in the message. 
</t>

    <t>An alternative to flag W in the NRP object is a similar flag W 
in each LINK object. 
For example, when the flag is set to one in the LINK object, 
the PCE removes the links in the object. 
When the flag is set to zero,
the PCE adds/updates the links in the object.
</t>

<!--
    <t>In another option, one byte in a LINK Object
is defined as flags field and one bit is used as flag W. 
The other undefined bits in the flags field MUST be set to zero.
</t>
    <section title="LINK Object" toc="default"> 
-->

    <t> 
The format of a LINK object body is as follows:
<figure>
  <artwork> <![CDATA[
     Object-Class = ocTBD1 (LINK)   Object-Type = 1 (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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |W|    Flags    |             (Router-ID TLV)                   |
  +-+-+-+-+-+-+-+-+                                               +
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            Link TLVs                          |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
Flag W=1 indicates Withdraw links. W=0 indicates Updated links.
Router-ID TLV is optional. Link TLVs are mandatory.
They are the same as described in section 5.
</t>


</section>

<!--
    <section title="TLVs in LINK Object" toc="default"> 

    <t>The format of the Router-ID TLV is illustrated below:
<figure>
  <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 (tTBD1)          |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          32-bit/48-bit ID                     ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>


    <t>The format of the link TLV is shown below:
<figure>
  <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 (tTBD2)          |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Link Sub-TLVs                         |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>

<t>
The link sub-TLVs are for the 
information on a link described in section 4, 
which are the sub-TLVs defined in RFC 3630 or their equivalents
except for local IP address with mask length.  
</t>


    <t>A PCEP object carried within a PCEP message consists of one or more
32-bit words with a common header that has the following format:
<figure>
  <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Object-Class |   OT  |Res|P|I|     Object Length (bytes)     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  ~                           (Object body)                       ~
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>


    <t>The format of the Inter-Domain Link Type Sub-TLV is illustrated below:
<figure>
  <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 (1)           |             Length (1)        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Inter-Domain Link Type                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
  The Inter-Domain Link Type sub-TLV defines the type of 
the inter-domain link:
    <list style="hanging">
        <t hangText="  1 -">P2P</t>
        <t hangText="  2 -">Multi-access</t>
    </list>
The Inter-Domain Link Type sub-TLV is TLV type 1, and is one octet in length.</t>

    <t>The format of the Remote AS Number ID Sub-TLV is illustrated below:
<figure>
  <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 (2)           |             Length (4)        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Remote AS Number                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
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.</t>


    <t>The format of the Remote Area-ID Sub-TLV is shown below:
<figure>
  <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 (3)          |           Length (4)          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          Area Number                          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>

    <t>The format of the Remote OSPF Router-ID Sub-TLV is shown below:
<figure>
  <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 (4)          |           Length (4)          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          OSPF Router ID                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>

    <t>The format of the Remote ISIS Router-ID Sub-TLV is shown below:
<figure>
  <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 (5)          |           Length (6)          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                           ISO Node-ID                         ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
</t>

    <t>The format of the IPv4 Remote ASBR ID Sub-TLV is illustrated below:
<figure>
  <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 (6)           |             Length (4)        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     IPv4 Remote ASBR ID                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
The IPv4 Remote ASBR ID sub-TLV MUST be included 
if the neighboring ASBR has an IPv4 address.</t>

    <t>The format of the IPv6 Remote ASBR ID Sub-TLV is illustrated below:
<figure>
  <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 (7)           |            Length (16)        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     IPv6 Remote ASBR ID                       |
  ~                          (16 Bytes)                           ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
The IPv6 Remote ASBR ID sub-TLV MUST be included 
if the neighboring ASBR has an IPv6 address.</t>

    <t>The format of the Local Interface IPv4 Address Sub-TLV 
is shown below:
<figure>
  <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 (8)           |              Length           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                 Local Interface IPv4 Address(es)              |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
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.</t>

   <t>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.</t>

    <t>The format of the Local Interface IPv6 Address Sub-TLV 
is illustrated below:
<figure>
  <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 (9)           |              Length           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                 Local Interface IPv6 Address(es)              |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
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.</t>

   <t>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.</t>


    <t>The format of the Remote Interface IPv4 Address Sub-TLV 
is illustrated below:
<figure>
  <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 (10)           |              Length           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                Remote Interface IPv4 Address(es)              |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
The Remote Interface IPv4 Address sub-TLV specifies the IPv4 address(es)
of the remote interface corresponding to the inter-domain link. 
This and the local address are used to discern multiple parallel links 
between systems.
If there are multiple remote addresses on the link, 
they are all listed in this sub-TLV.</t>

   <t>The Remote Interface IPv4 Address sub-TLV is TLV type 10, and is 4N
octets in length, where N is the number of remote IPv4 addresses.</t>

    <t>The format of the Remote Interface IPv6 Address Sub-TLV 
is illustrated below:
<figure>
  <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 (11)           |              Length           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                Remote Interface IPv6 Address(es)              |
  ~                                                               ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]>
  </artwork>
</figure>
The Remote Interface IPv6 Address sub-TLV specifies the IPv6 address(es)
of the remote interface corresponding to the inter-domain link. 
If there are multiple remote addresses on the link, 
they are all listed in this sub-TLV.</t>

   <t>The Remote Interface IPv6 Address sub-TLV is TLV type 11, and is 16N
octets in length, where N is the number of remote IPv6 addresses.</t>

</section> 

</section> 
-->

  </back>
</rfc>