<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc number="8703" consensus="true" xmlns:xi="http://www.w3.org/2001/XInclude"
     category="std" ipr="trust200902"
     docName="draft-ietf-manet-dlep-lid-extension-06" obsoletes="" updates=""
     submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true"
     sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.35.0 -->
  <front>
    <title abbrev="DLEP Link Identifier Extension">
     Dynamic Link Exchange Protocol (DLEP) Link Identifier Extension</title>
    <seriesInfo name="RFC" value="8703"/>
    <author initials="R." surname="Taylor" fullname="Rick Taylor">
      <organization>Airbus Defence &amp; Space</organization>
      <address>
        <postal>
          <extaddr>Quadrant House</extaddr>
          <extaddr>Celtic Springs</extaddr>
          <extaddr>Coedkernew</extaddr>
          <city>Newport</city>
          <code>NP10 8FZ</code>
          <country>United Kingdom</country>
        </postal>
        <email>rick.taylor@airbus.com</email>
      </address>
    </author>

    <author fullname="Stan Ratliff" initials="S." surname="Ratliff">
  </author>

    <date month="February" year="2020"/>

    <area>Routing</area>
    <workgroup>Mobile Ad hoc Networks Working Group</workgroup>

    <keyword>DLEP</keyword>
    <keyword>MANET</keyword>
    <keyword>Link-Aware</keyword>
    <keyword>Radio-Aware</keyword>

    <abstract>

      <t>The Dynamic Link Exchange Protocol (DLEP) is a protocol for modems to
      advertise the status of wireless links between reachable destinations to
      attached routers. The core specification of the protocol (RFC 8175)
      assumes that every modem in the radio network has an attached DLEP
      router and requires that the Media Access Control (MAC) address of the
      DLEP interface on the attached router be used to identify the
      destination in the network, for purposes of reporting the state and
      quality of the link to that destination.  </t>
      <t>This document describes a DLEP extension that allows modems that do not
      meet the strict requirement above to use DLEP to describe link
      availability and quality to one or more destinations reachable beyond a
      device on the Layer 2 domain.  </t>
    </abstract>
  </front>
  <middle>

    <section anchor="introduction" toc="default" numbered="true">
      <name>Introduction</name>
      <t>The Dynamic Link Exchange Protocol (DLEP) is a
      protocol for modems to advertise the status of wireless links between
      reachable destinations to attached routers. The core specification of
      the protocol <xref target="RFC8175"/> assumes that every modem in the radio network has an
      attached DLEP router and requires that the MAC address of the DLEP
      interface on the attached router be used to identify the destination in
      the network, for purposes of reporting the state and quality of the link
      to that destination.  </t>
      <t>This document describes a DLEP extension that allows modems that do not
      meet the strict requirement above to use DLEP to describe link
      availability and quality to one or more destinations reachable beyond a
      device on the Layer 2 domain.  </t>
      <t>As with core DLEP <xref target="RFC8175"/>, a router can use this
      knowledge to influence any routing or flow-control decisions regarding
      traffic to this destination, understanding that such traffic flows via
      Layer 3.  </t>
      <section anchor="terminology" toc="default" numbered="true">
        <name>Terminology</name>
        <dl newline="false" spacing="normal">
          <dt>Local Layer 2 domain:</dt>
          <dd>The Layer 2 domain that links the router and modem participants
	  of the current DLEP session.  </dd>
          <dt>Layer 3 DLEP Destination:</dt>
          <dd>A DLEP Destination that is not directly addressable within the
	  local Layer 2 domain but is reachable via a node addressable within
	  the local Layer 2 domain.  </dd>
          <dt>Gateway Node:</dt>
          <dd>The last device with a MAC address reachable in the local Layer
	  2 domain on the path from the DLEP router participant towards the
	  Layer 3 DLEP Destination. This device is commonly the DLEP peer
	  modem but could be another DLEP Destination in the Layer 2 domain.
	  </dd>
        </dl>
      </section>
      <section anchor="applicability" toc="default" numbered="true">
        <name>Applicability</name>
        <t>This extension was designed primarily to address the following use
	cases: </t>
        <ol spacing="normal" type="1">
          <li>A radio system that does not operate in Layer 2 bridge mode but
	  instead provides Layer 3 connectivity between destinations, often
	  using its own embedded Layer 3 routing function.  </li>
          <li>A point-to-multipoint tunnel system, such as a software-defined
	  wide-area network (SD-WAN)
	  deployment, where the tunnel provider acts as a modem that has
	  knowledge of the characteristics of the underlay network and
	  provides that information as availability and metrics between
	  tunnel endpoints in the overlay network.  </li>
          <li>A modem that provides connectivity to a remote wide-area network
	  via a wireless link, but the concept of a Layer 2 reachable remote
	  router does not apply. An example of such a modem would be an LTE
	  device or 802.11 station that provides variable connectivity to the
	  Internet.  </li>
        </ol>
        <t>This list of use cases is not exhaustive, and this extension may
	well be applicable to future, currently unforeseen, use cases.  </t>
      </section>
      <section anchor="requirements" toc="default" numbered="true">
        <name>Requirements Language</name>
     <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
     </t>
      </section>
    </section>
    <section anchor="operation" toc="default" numbered="true">
      <name>Operation</name>
      <t>To refer to a Layer 3 DLEP Destination, the DLEP session participant
      adds a Link Identifier Data Item (<xref target="lid_di"
      format="default"></xref>) to the relevant
      Destination Message and (as usual) includes
      a MAC Address Data Item. When paired with a Link Identifier Data Item,
      the MAC Address Data Item <bcp14>MUST</bcp14> contain the MAC address of the Gateway
      Node.  </t>
      <t>As only modems are initially aware of Layer 3 DLEP Destinations, Link
      Identifier Data Items referring to a new link <bcp14>MUST</bcp14> first appear in a
      DLEP Destination Up Message from the modem to the router. Once a link
      has been identified in this way, Link Identifier Data Items may be used
      by either DLEP participant during the lifetime of a DLEP
      session. Because of this, a router <bcp14>MUST NOT</bcp14> send a DLEP Destination
      Announce Message containing a Link Identifier Data Item referring to a
      link that has not been mentioned in a prior DLEP Destination Up
      Message. If a modem receives such a message, it <bcp14>MUST</bcp14> terminate the
      session by issuing a Session Termination Message containing a Status
      Data Item with status code set to 131 ('Invalid Destination') and
      transition to the Session Termination state. If a router receives a
      Destination Up Message specifying a Link Identifier that has already
      been used, the router <bcp14>MUST</bcp14> respond with a Destination Up Response
      Message containing a Status Data Item with status code set to 130
      ('Invalid Data') and transition to the Session Termination state.  </t>
      <t>Because the MAC address associated with any DLEP Destination Message
      containing a Link Identifier Data Item is not the Layer 2 address of the
      final destination, all DLEP Destination Up Messages containing a Link
      Identifier Data Item <bcp14>MUST</bcp14> contain Layer 3 information.
      In the case of
      modems that provide Layer 3 wide area network connectivity between
      devices, this means one or more IPv4 or IPv6 Address Data Items
      providing the Layer 3 address of the final destination.
      When referring to
      some upstream backbone network infrastructures, this means one or more
      IPv4 or IPv6 Attached Subnet Data Items, for example: '0.0.0.0/0' or
      '::/0'. This mechanism allows the DLEP peer router to understand the properties of
      the link to those routes. The address or addresses in the IPv4 or IPv6
      Address Data Items <bcp14>MUST</bcp14> be the addresses in use on the public side of
      any Network Address Translation.  </t>
      <t>When the DLEP peer router wishes to route packets to the Layer 3 DLEP
      Destination, the MAC address associated with the Gateway Node <bcp14>MUST</bcp14> be
      used as the Layer 2 destination of the packet if it wishes to use the
      modem network to forward the packet.  </t>
      <t>As routers populate their Routing Information Base with the IP
      address of the next-hop router towards a destination, implementations
      supporting this extension <bcp14>SHOULD</bcp14> announce at least one valid IPv4 or
      IPv6 addresses of the Gateway Node; this removes the need for the router
      to use an additional IP address resolution protocol before adding the
      route to its Routing Information Base.  </t>
      <section anchor="identifier-restrictions" toc="default" numbered="true">
        <name>Identifier Restrictions</name>
        <t>A Link Identifier is, by default, 4 octets in length. If a modem
	wishes to use a Link Identifier of a different length, it <bcp14>MUST</bcp14> be
	announced using the Link
	Identifier Length Data Item (<xref target="lid_len_di"
	format="default"></xref>) contained in the DLEP Session
	Initialization Response Message sent by the modem to the router.</t>
        <t>During the lifetime of a DLEP session, the length of Link
	Identifiers <bcp14>MUST</bcp14> remain constant, i.e., the Length field of the Link
	Identifier Data Item <bcp14>MUST NOT</bcp14> differ between destinations.  </t>
        <t>The method for generating Link Identifiers is a modem
	implementation matter and out of scope of this document. Routers must
	not make any assumptions about the meaning of Link Identifiers or how
	Link Identifiers are generated.  </t>
        <t>Within a single DLEP session, all Link Identifiers <bcp14>MUST</bcp14> be unique
	per MAC address. This means that a Layer 3 DLEP Destination is
	uniquely identified by the pair: {MAC Address,Link Identifier}.  </t>
        <t>Link Identifiers <bcp14>MUST NOT</bcp14> be reused, i.e., a {MAC Address,Link
	Identifier} pair that has been used to refer to one Layer 3 DLEP
	Destination <bcp14>MUST NOT</bcp14> be used again within the lifetime of a single
	DLEP peer-to-peer session.  </t>
      </section>
      <section anchor="negotiation" toc="default" numbered="true">
        <name>Negotiation</name>
        <t>To use this extension, as with all DLEP extensions, the extension
	<bcp14>MUST</bcp14> be announced during DLEP session initialization. A router
	advertises support by including the value 3 ('Link Identifiers') (<xref
	target="tbd" format="default"></xref>), in the Extension Data Item
	within the Session Initialization Message. A modem advertises support
	by including the value 3 ('Link Identifiers') in the Extension Data Item
	within the Session Initialization Response Message. If both DLEP peers
	advertise support for this extension, then Link Identifier Data Items
	can be included in DLEP Messages.  </t>
        <t>If a modem requires support for this extension in order to describe
	destinations and the router does not advertise support, then the
	modem <bcp14>MUST NOT</bcp14> include a Link Identifier Data Item in any DLEP
	Message. However, the modem <bcp14>SHOULD NOT</bcp14> immediately terminate the DLEP
	session; rather, it <bcp14>SHOULD</bcp14> use a combination of DLEP Session Messages
	and DLEP Attached Subnet Data Items to provide general information.
	</t>
      </section>
    </section>
    <section anchor="new-data-items" toc="default" numbered="true">
      <name>New Data Items</name>
      <t>This extension introduces two new DLEP Data Items: 1) the Link
      Identifier Length Data Item (<xref target="lid_len_di"
      format="default"></xref>) used to announce the length of Link
      Identifiers at session initialization and 2) the Link
      Identifier Data Item (<xref target="lid_di" format="default"></xref>)
      used to identify a Layer 3 link at or beyond a destination.  </t>
      <section anchor="lid_len_di" toc="default" numbered="true">
        <name>Link Identifier Length Data Item</name>
        <t>The Link Identifier Length Data Item is used by a DLEP modem
	implementation to specify the length of Link Identifier Data Items. If
	the router advertised support by including the value 3 ('Link
	Identifiers') in the Extension Data Item inside the Session
	Initialization Message, this Data Item <bcp14>MAY</bcp14> be used in the Session
	Initialization Response Message if the specified length is not the
	default value of 4 octets. If the router did not specify support by
	including the value 3 ('Link Identifiers') in the Extension Data Item,
	this Data Item <bcp14>MUST NOT</bcp14> be sent.  </t>
        <artwork name="" type="" align="left" alt=""><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type                | Length                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Identifier Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <dl newline="false" spacing="normal">
          <dt>Data Item Type:</dt>
          <dd>
          26 (see <xref target="tbd"></xref>) </dd>
          <dt>Length:</dt>
          <dd>2 </dd>
          <dt>Link Identifier Length:</dt>
          <dd>The length, in octets, of Link Identifiers used by the DLEP
	  modem for this session.  </dd>
        </dl>
        <t>A Link Identifier Length Data Item that specifies a Link Identifier
	Length of 4 octets (the default) is valid, even if it has no effect.
	</t>
      </section>
      <section anchor="lid_di" toc="default" numbered="true">
        <name>Link Identifier Data Item</name>
        <t>The Link Identifier Data Item <bcp14>MAY</bcp14> be used wherever a MAC Address
	Data Item is defined as usable in core DLEP <xref target="RFC8175"/>.  </t>
        <artwork name="" type="" align="left" alt=""><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type                | Length                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Link Identifier...                          :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <dl newline="false" spacing="normal">
          <dt>Data Item Type:</dt>
          <dd>
            27 (see <xref target="tbd"></xref>) </dd>
          <dt>Length:</dt>
          <dd>The length of the Data Item, by default 4, but may be different
	  if a Link Identifier Length Data Item (<xref
	  target="lid_len_di"></xref>) has been announced during session
	  initialization.</dd>
          <dt>Link Identifier:</dt>
          <dd>The unique identifier of the Layer 3 DLEP Destination. This Link
	  Identifier has no implicit meaning and is only used to discriminate
	  between multiple links.  </dd>
        </dl>
      </section>
    </section>
    <section anchor="security-considerations" toc="default" numbered="true">
      <name>Security Considerations</name>

      <t>As an extension to core DLEP <xref target="RFC8175"/>, the security
      considerations of that protocol apply to this extension. This extension
      adds no additional security mechanisms or features.  </t>
      <t>None of the features introduced by this extension require extra
      security considerations by an implementation.  </t>
    </section>
    <section anchor="tbd" toc="default" numbered="true">
      <name>IANA Considerations</name>

      <t>IANA has assigned the following value to the "Extension Type Values" registry
      within the "Dynamic Link Exchange Protocol (DLEP) Parameters"
      registry. This new value is
      in the range with the "Specification Required" <xref target="RFC8126"/>
      policy.
      </t>
<table anchor="iana1" align="left">
  <name>Addition to the Extension Type Values Registry</name>
  <thead>
    <tr>
      <th>Code</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>3</td>
      <td>Link Identifiers</td>
    </tr>
  </tbody>
</table>

<t>IANA has assigned two new values to the "Data Item Type Values" registry
within the "Dynamic Link Exchange Protocol (DLEP) Parameters" registry. These
new values are in the range with the "Specification Required" <xref
target="RFC8126"/> policy.
</t>

<table anchor="iana2" align="left">
  <name>Additions to the Data Item Type Values Registry</name>
  <thead>
    <tr>
      <th>Type Code</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>26</td>
      <td>Link Identifier Length</td>
    </tr>
    <tr>
      <td>27</td>
      <td>Link Identifier</td>
    </tr>
  </tbody>
</table>

    </section>
  </middle>
  <back>

    <references>
      <name>References</name>

    <references>
      <name>Normative References</name>
      <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8175.xml"/>
    </references>

    <references>
      <name>Informative References</name>
      <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
    </references>
    </references>

  </back>
</rfc>