<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="no"?>
<?rfc tocdepth="6"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="yes" ?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902" docName="draft-ietf-lsr-ospf-transport-instance-07"
     obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="6" symRefs="true"
     sortRefs="true" consensus="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.3 -->
  <!-- ***** FRONT MATTER ***** -->
  <front>
    <title abbrev="OSPF-GT">OSPF-GT (Generalized Transport)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-ospf-transport-instance-07"/>
    <author initials="A" surname="Lindem" fullname="Acee Lindem">
      <organization>LabN Consulting, L.L.C.</organization>
      <address>
        <postal>
          <street>301 Midenhall Way</street>
          <region>CARY, NC 27513</region>
          <country>UNITED STATES</country>
        </postal>
        <phone/>
        <email>acee.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Yingzhen Qu" initials="Y" surname="Qu">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street>2330 Central Expressway</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95050</code>
          <country>USA</country>
        </postal>
        <phone/>
        <email>yingzhen.qu@futurewei.com</email>
      </address>
    </author>
    <author fullname="Abhay Roy" initials="A" surname="Roy">
      <organization>Arrcus, Inc.</organization>
      <address>
        <email>abhay@arrcus.com</email>
      </address>
    </author>
    <author fullname="Sina Mirtorabi" initials="S" surname="Mirtorabi">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>170 West Tasman Drive</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>USA</country>
        </postal>
        <phone/>
        <email>smirtora@cisco.com</email>
      </address>
    </author>
    <date/>
    <area>Routing</area>
    <workgroup>LSR Workgroup</workgroup>
    <abstract>
      <t>
        OSPFv2 and OSPFv3 include a reliable flooding mechanism to
        disseminate routing topology and Traffic Engineering (TE) information
        within a routing domain.  Given the effectiveness of these
        mechanisms, it is advantageous to use the same mechanism for
        dissemination of other types of information within the domain.
        However, burdening OSPF with this additional information will impact
        intra-domain routing convergence and possibly jeopardize the
        stability of the OSPF routing domain. This document presents mechanisms
        to advertise this non-routing information in separate
        OSPF Generalized Transport (OSPF-GT) instances.
      </t>
      <t>
        OSPF-GT is not constrained to the semantics as traditional OSPF. OSPF-GT
        neighbors are not required to be directly attached since they are never
        used to compute hop-by-hop routing. Consequently, independent sparse topologies
        can be defined to dissemenate non-routing information only to those OSPF-GT
        routers requiring it.
      </t>
    </abstract>
  </front>
  <!-- ***** MIDDLE MATTER ***** -->

  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>
	OSPFv2 <xref target="RFC2328" format="default"/>  and
        OSPFv3 <xref target="RFC5340" format="default"/>
	include a reliable flooding mechanism to disseminate routing topology
        and Traffic Engineering
	(TE) information within a routing domain.  Given the effectiveness of
        mechanisms, it is advantageous to use the same mechanism for
        dissemination of other types of information within the domain.
        However, burdening OSPF with this additional information will impact
        intra-domain routing convergence and possibly jeopardize the
        stability of the OSPF routing domain. This document presents mechanisms
        to advertise this non-routing information in separate
        OSPF Generalized Transport (OSPF-GT) instances.
      </t>
      <t>
        OSPF-GT is not constrained to the semantics as traditional OSPF. OSPF-GT
        neighbors are not required to be directly attached since they are never
        used to compute hop-by-hop routing. Consequently, independent sparse topologies
        can be defined to dissemenate non-routing information only to those OSPF-GT
        routers requiring it. 
      </t>
      <t>
        OSPF-GT is independent of any traditional OSPF instance. However,
        it does rely on the reachbility calculated by routing protocls,
        e.g. OSPF and IS-IS.
      </t>
      <t>
	This OSPF protocol extension provides functionality similar to
	"Advertising Generic Information in IS-IS" <xref target="RFC6823" format="default"/>.
	Additionally, OSPF is extended to support sparse non-routing overlay
	topologies <xref target="sparse" format="default"/>. The usage of the OSPF-like
        flooding and synchronization mechanisms were originally standardized for general
        information advertisement in the Server Cache Synchronization Protocol (SCSP)
        <xref target="RFC2334"/>. However, SCSP never experienced significant adoption due
        to its association with the waning Asynchronous Transfer Mode (ATM) technology.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Requirements Language</name>
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
        NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
        "MAY", and "OPTIONAL" in this document are to be interpreted as
        described in BCP 14 <xref target="RFC2119" format="default"/>
        <xref target="RFC8174" format="default"/>
        when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Possible Use Cases</name>
      <section numbered="true" toc="default">
        <name>MEC Service Discovery</name>
        <t>
          Multi-Access Edge Computing (MEC) plays an important role in
          5G architecture. MEC optimizes the performance for ultra-low
          latency and high bandwidth services by providing networking
          and computing at the edge of the network <xref target="ETSI-WP28-MEC"/>.
          To achieve this goal, it's important to expose the network
          capabilities and services of a MEC device to 5G User Equipment (UE),
          i.e., UEs.
        </t>
        <t>
          The followings are an incomplete list of the kind of
          information that OSPF-GT can be used to advertise:
        </t>
        <ul spacing="normal">
          <li>
            A network service is realized using one or more physical or
            virtualized hosts in MEC, and the locations of these service
            points might change. The auto-discovery of these service
            locations can be achieved using an OSPF-GT.
          </li>
          <li>
            UEs might be mobile, and MEC should support service
            continuity and application mobility. This may require service
            state transferring and synchronization. OSPF-GT
            can be used to synchronize these states.
          </li>
          <li>Network resources are limited, such as computing power,
            storage. The availability of such resources is dynamic, and
            OSPF-GT can be used to populate such information, so
            applications can pick the right location of
            such resources, hence improve user experience and resource
            utilization.
          </li>
        </ul>
      </section>
      <section numbered="true" toc="default">
        <name>Application Data Dissemination</name>
        <t>
          Typically a network consists of routers from different
          vendors with different capabilities, and some applications may
          want to know whether a router supports certain functionality
          or where to find a router supports a functionality, so it will
          be ideal if such kind of information is known to all routers
          or a group of routers in the network. For example, an ingress
          router needs to find an egress router that supports In-situ
          Flow Information Telemetry (IFIT)
          <xref target="I-D.wang-lsr-igp-extensions-ifit"/> and obtain
	  IFIT parameters.
        </t>
        <t>
          OSPF-GT can be used to populate such router
          capabilities/functionalities without impacting the performance
          or convergence of the base OSPF protocol.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Intra-Area Topology for BGP-LS Distribution</name>
        <t>
          In some cases, it is desirable to limit the number of
	  BGP-LS  <xref target="RFC5572" format="default"/> sessions
	  with a controller to the a one or two routers in an OSPF domain.
	  However, many times those router(s) do not have full visibility to the
	  complete topology of all the areas. To solve this problem without
          extending the BGP-LS domain, the OSPF LSAs for non-local areas could
          be flooded over the OSPF-GT topology using
	  remote neighbors <xref target="remote-neighbor" format="default"/>.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>BGP-LS Replacement</name>
        <t>
          This mechansism could also be used to replace BGP-LS
          <xref target="RFC5572" format="default"/> completely by advertising
          the entire Link State Database (LSDB) using an OSPF-GT topology with
          the controller(s) as remote neighbors <xref target="remote-neighbor"/>.
          The mechanism could also be extended to advertise IS-IS LSPs within
          OSPF-GT Information LSAs as described in <xref target="gti-encoding"/>.
          However, the details of BGP-LS replacement are beyond the scope of
          this document.
        </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>OSPF-GT Instance</name>
      <t>
        In order to isolate the effects of flooding and processing of
        non-routing information, OSPF-GT will be relegated to protocol
        instances sepearate from the traditional OSPF routing instances.
        These instance(s) should be given lower priority when
        contending for router resources including processing, backplane
        bandwidth, and line card bandwidth.  How that is realized is an
        implementation issue and is beyond the scope of this document.
      </t>
      <t>
        Throughout the document, non-routing refers to routing information
        that is not used for IP or IPv6 routing calculations.  The OSPF-GT
        instances area ideally suited for generalized dissemination of
        other types of networking and applicaiton information for other
        protocols and layers.
      </t>
      <section numbered="true" toc="default">
        <name>OSPFv2 Generalized Transport Packet Differentiation</name>
        <t>
          OSPFv2 currently does not offer a mechanism to differentiate OSPF packets
          from multiple OSPF instances (including OSPF-GT instances) sent and received on
          the same interface.  However, the <xref target="RFC6549" format="default"/>
          provides the necessary packet encoding to support multiple OSPF
          protocol instances.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>OSPFv3 Generalized Transport Packet Differentiation</name>
        <t>
          Fortunately, OSPFv3 already supports separate instances within the
          packet encodings.  The existing OSPFv3 packet header instance ID
          field will be used to differentiate packets received on the same link
          (refer to section 2.4 in <xref target="RFC5340" format="default"/>).
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>OSPF-GT Relationship to Traditional OSPF</name>
        <t>
          In OSPF, we must guarantee that any information
          we've received is treated as valid if and only if the router
          sending it is reachable.  We'll refer to this as the "condition of
          reachability" in this document.
        </t>
        <t>
          OSPF-GT is not dependent on any other OSPF instance.
          It does, however, have much of the same as
          topology information must be advertised to satisfy the "condition of
          reachability".
        </t>
        <t>
          Further optimizations and coupling between OSPF-GT
          and a traditional OSPF instance are beyond the scope of this document.
          This is an area for future study.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Network Prioritization</name>
        <t>
          While OSPFv2 (section 4.3 in <xref target="RFC2328" format="default"/>) are normally sent with IP
          precedence Internetwork Control, any packets sent using OSPF-GT
          transport instance will be sent with IP precedence Flash (B'011').
          This is only appropriate given that this is a pretty flashy
          mechanism.
        </t>
        <t>
          Similarly, OSPFv3 GT  instance packets will be sent with the
          traffic class mapped to flash (B'011') as specified in (<xref target="RFC5340"/>).
        </t>
        <t>
          By setting the IP/IPv6 precedence differently for OSPF-GT
          instance packets, traditional OSPF routing instances can be given
          priority during both packet transmission and reception.  In fact, some router
          implementations map the IP precedence directly to their internal
          packet priority.  However, internal router implementation decisions
          are beyond the scope of this document.
        </t>
      </section>
      <section anchor="routing-omission" numbered="true" toc="default">
        <name>OSPF-GT Omission of Routing Calculation</name>
        <t>
          Since one of the primary advantages of the OSPF-GT is to separate the
          routing and non-routing processing and fate sharing, a OSPF-GT
          instance SHOULD NOT install any IP or IPv6 routes.  OSPF routers
          SHOULD NOT advertise any OSPF-GT LSAs containing IP or
          IPv6 prefixes and OSPF routers receiving LSAs advertising IP or IPv6
          prefixes SHOULD ignore them.  This implies that an OSPF-GT
          instance Link State Database should not include any of the LSAs as
          shown in Table 1.
        </t>
                <figure>
          <name>LSAs not included in OSPF-GT</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   OSPFv2            |  summary-LSAs (type 3)                  |
  |                     |  AS-external-LSAs (type 5)              |
  |                     |  NSSA-LSAs (type 7)                     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   OSPFv3            |  inter-area-prefix-LSAs (type 2003)     |
  |                     |  AS-external-LSAs (type 0x4005)         |
  |                     |  NSSA-LSAs (type 0x2007)                |
  |                     |  intra-area-prefix-LSAs (type 0x2009)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | OSPFv3 Extended LSA |  E-inter-area-prefix-LSAs (type 0xA023) |
  |                     |  E-as-external-LSAs (type 0xC025)       |
  |                     |  E-Type-7-NSSA (type 0xA027)            |
  |                     |  E-intra-area-prefix-LSA (type 0xA029)  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]></artwork>
        </figure>
        <t>
          If these LSAs are erroneously advertised, they will be flooded
          as per standard OSPF but MUST be ignored by OSPF routers supporting
          this specification.
        </t>
      </section>
      <section numbered="true" toc="default">
       <name>Non-routing Instance Separation</name>
        <t>
          It has been suggested that an implementation could obtain the same
          level of separation between IP routing information and non-routing
          information in a single instance with slight modifications to the
          OSPF protocol.  The authors refute this contention for the following
          reasons:
        </t>
        <ul spacing="normal">
          <li>
            Adding internal and external mechanisms to prioritize routing
            information over non-routing information are much more complex
            than simply relegating the non-routing information to a separate
            instance as proposed in this specification.
          </li>
          <li>
            The instance boundary offers much better separation for allocation
            of finite resources such as buffers, memory, processor cores,
            sockets, and bandwidth.
          </li>
          <li>
            The instance boundary decreases the level of fate sharing for
            failures.  Each instance may be implemented as a separate process
            or task.
          </li>
          <li>
            With non-routing information, many times not every router in the
            OSPF routing domain requires knowledge of every piece of
            non-routing information.  In these cases, groups of routers which need
            to share information can be segregated into sparse topologies
            greatly reducing the amount of non-routing information any single
            router needs to maintain.
        </li>
        </ul>
      </section>
      <section anchor="sparse" numbered="true" toc="default">
        <name>Non-Routing Sparse Topologies</name>
        <t>
          With non-routing information, many times not every router in the OSPF
          routing domain requires knowledge of every piece of non-routing
          information.  In these cases, groups of routers which need to share
          information can be segregated into sparse topologies.  This will
          greatly reduce the amount of information any single router needs to
          maintain with the core routers possibly not requiring any non-routing
          information at all.
        </t>
        <t>
          With traditional OSPF, every router in an OSPF area must have every piece
          of topological information and every intra-area IP or IPv6 prefix.
          With non-routing information, only the routers needing to share a set
          of information need be part of the corresponding sparse topology.
          For directly attached routers, one only needs to configure the
          desired topologies on the interfaces with routers requiring the
          non-routing information.  When the routers making up the sparse
          topology are not part of a uniconnected graph, two alternatives exist.
          The first alternative is configuring tunnels to form a fully connected
          graph including only those routers in the sparse topology.  The
          second alternative is use remote neighbors as described in
          <xref target="remote-neighbor" format="default"/>.
        </t>
        <section anchor="remote-neighbor" numbered="true" toc="default">
          <name>Remote Neighbor</name>
          <t>
            With sparse topologies, OSPF-GT routers sharing non-routing information
            may not be directly connected.  OSPF-GT adjacencies with remote
            neighbors are formed exactly as they are with regular OSPF neighbors.
            The main difference is that a remote OSPF-GT neighbor's address is
            configured and IP routing is used to deliver OSPF-GT protocol packets to
            the remote neighbor.  Other salient feature of the remote neighbor
            include:
          </t>
          <ul spacing="normal">
            <li>
              All OSPF-GT packets have the remote neighbor's configured IP address
              as the IP destination address. This address has be to reachable
              using the unicast topology.
            </li>
            <li>
              The adjacency is represented in the router Router-LSA as a router
              (type-1) link with the link data set to the remote neighbor's
              configured IP address.
            </li>
            <li>
              Similar to NBMA networks, a poll-interval is configured to
              determine if the remote neighbor is reachable.  This value is
              normally much higher than the hello interval with 40 seconds
              RECOMMENDED as the default.
            </li>
          </ul>
        </section>
      </section>
      <section anchor="mtr" numbered="true" toc="default">
        <name>Multiple Topologies</name>
        <t>
          For some applications, the information need to be flooded only to
          a topology which is a subset of routers of the OSPF-GT instance.
          This allows the application specific information only to be flooded
          to routers that support the application. An OSPF-GT instance
          may support multiple topologies as defined in <xref target="RFC4915"/>.
          But as pointed out in <xref target="routing-omission" format="default"/>,
          an OSPF-GT instance or topology SHOULD NOT install any IP or IPv6 routes.
        </t>
        <t>
          Each topology associated with the OSPF-GT instance MUST be
          fully connected in order for the LSAs to be successfully flooded
          to all routers in the topology.
         </t>
      </section>
    </section>
    <section anchor="gti-encoding" numbered="true" toc="default">
      <name>OSPF Generialized Transport Information (GTI) Encoding</name>
      <section numbered="true" toc="default">
        <name>OSPFv2-GT Information Encoding</name>
        <t>
          Application specific information will be flooded in opaque LSAs as
          specified in <xref target="RFC5250" format="default"/>. An Opaque LSA option code will be
          reserved for Generalized Transport Information (GTI) as described
          in <xref target="IANA" format="default"/>. The GTI LSA can be advertised at any of
          the defined flooding scopes (link, area, or autonomous system (AS)).
        </t>
        <figure>
          <name>OSPFv2-GT Information Opaque LSA</name>
          <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            LS age             |     Options   |  9, 10, or 11 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       TBD1    |     Opaque ID (Instance ID)                   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Advertising Router                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     LS sequence number                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         LS checksum           |             length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +-                            TLVs                             -+
  |                             ...                               |

g    ]]></artwork>
        </figure>
        <t>
          The format of the TLVs within the body of an GTI LSA is as defined in
          <xref target="GTI-TLVS" format="default"/>.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>OSPFv3-GT Information Encoding</name>
        <t>
          Application specific information will be flooded in separate LSAs
          with a separate function code.
          Refer to section A.4.2.1 of <xref target="RFC5340" format="default"/>.
          for information on the LS Type encoding in OSPFv3, and section 2 of
          <xref target="RFC8362" format="default"/> for OSPFv3 extended LSA types. An OSPFv3 function
          code will be reserved for Generalized Transport  Information (GTI) as described in
          <xref target="IANA" format="default"/>. Same as
          OSPFv2-GT, the GTI LSA can be advertised at any of the defined flooding scopes
          (link, area, or autonomous system (AS)).  The U bit will be set indicating
          that OSPFv3 GTI LSAs should be flooded even if it is not understood.
        </t>
        <figure>
          <name>OSPFv3-GT Information LSA</name>
          <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            LS age             |1|S12|          TBD2           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Link State ID (Instance ID)             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Advertising Router                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       LS sequence number                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        LS checksum            |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +-                            TLVs                             -+
  |                             ...                               |

  ]]></artwork>
        </figure>
        <t>
          The format of the TLVs within the body of an GTI LSA is as defined in
          <xref target="GTI-TLVS" format="default"/>.
        </t>
      </section>
      <section anchor="GTI-TLVS" numbered="true" toc="default">
        <name>Generalized Transport Information (GTI) TLV Encoding</name>
        <t>
          The format of the TLVs within the body of the LSAs
          containing non-routing information is the same as the format used by the Traffic
          Engineering Extensions to OSPF <xref target="RFC3630" format="default"/>. The LSA payload
          consists of one or more nested Type/Length/Value (TLV) triplets.
          The format of each TLV is:
        </t>
        <figure>
          <name>TLV Format</name>
          <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |              Type             |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            Value...                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    ]]></artwork>
</figure>
<section anchor="GTIA-TLV" numbered="true" toc="default">
          <name>Top-Level GTI Application TLV</name>
          <t>
            An Application top-level TLV will be used to encapsulate application
            data advertised within GTI LSAs.
            This top-level TLV may be used to handle the local publication/subscription
            for application specific data. The details of such a publication/subscription
            mechanism are beyond the scope of this document.
            An Application ID is used in the top-level application TLV and shares
            the same code point with IS-IS as defined in <xref target="RFC6823" format="default"/>.
          </t>
          <figure>
            <name>Top-Level TLV</name>
            <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |              Type (1)         |      Length - Variable        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Application ID             |       Reserved                |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  .                                                               .
  .                            Sub-TLVs                           .
  .                                                               .
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


  Application ID:
    An identifier assigned to this application via the IANA registry,
    as defined in RFC 6823 [RFC6823]. Each unique application will
    have a unique ID.

  Additional Application-Specific Sub-TLVs:
    Additional information defined by applications can be encoded as
    Sub-TLVs. Definition of such information is beyond the scope of
    this document.
     ]]></artwork>
     </figure>
          <t>
            The specific TLVs and sub-TLVs relating to a given application and
            the corresponding IANA considerations MUST be specified in the
            document corresponding to that application.
          </t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Manageability Considerations</name>
      <t>
        Since OSPF-GT is partioned into one of more separate instances, all the
        existing OSPF management information will be available for that instance.
        This will enabled ease in managing individual applications. Additionally,
        an the operational data for OSPF-GT LSAs should include an indication of
        whether or not the "condition of reachability" is met for the application.
      </t>
      <t>
        It is RECOMMENDED that reachability for remote neighors 
        <xref target="remote-neighbor" format="default"/>
        through the unicast topology be reported as part of the operational data.
      </t>   
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
        The security considerations for OSPF-GT will be similar to
        those for OSPFv2 <xref target="RFC2328" format="default"/> and
        OSPFv3 <xref target="RFC5340" format="default"/>. However, since OSPF-GT is
        not used to update OSPF routing, the consequences of attacks will be
        dependent on advertised non-routing information. Document availing OSPF-GT for
        non-routing information dissemination MUST documents the Security Considerations
        pertaining to this information.
      </t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section numbered="true" toc="default">
        <name>OSPFv2 Opaque LSA Type Assignment</name>
        <t>
          IANA is requested to assign an option type, TBD1, for Generalized Transport
          Information (GTI) LSA from the "Opaque Link-State Advertisements (LSA)
          Option Types" registry.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>OSPFv3 LSA Function Code Assignment</name>
        <t>
          IANA is requested to assign a function code, TBD2, for Generalized Transport
          Information (GTI) LSAs from the "OSPFv3 LSA Function Codes" registry.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>OSPF-GT Instance Information Top-Level TLV Registry</name>
        <t>
       IANA is requested to create a registry for OSPF Generalized Transport Information (GTI)
       Top-Level TLVs. The first available TLV (1) is assigned to the
       Application TLV <xref target="GTI-TLVS" format="default"/>. The allocation of the unsigned 16-bit
       TLV type are defined in the table below.
        </t>
        <figure>
          <name>GTI Top-Level TLV Registry Assignments</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
          +-------------+-----------------------------------+
          | Range       | Assignment Policy                 |
          +-------------+-----------------------------------+
          | 0           | Reserved (Not to be assigned)     |
          |             |                                   |
          | 1           | Application TLV                   |
          |             |                                   |
          | 2-16383     | Unassigned (IETF Review)          |
          |             |                                   |
          | 16383-32767 | Unassigned (FCFS)                 |
          |             |                                   |
          | 32768-32777 | Experimentation (No assignements) |
          |             |                                   |
          | 32778-65535 | Reserved (Not to be assigned)     |
          +-----------+-------------------------------------+
          ]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Acknowledgement</name>
      <t>
        The authors would like to thank Les Ginsberg for review and comments.
      </t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3630.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4915.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5250.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6549.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6823.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8362.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2334.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5572.xml"/>
        <reference anchor="I-D.wang-lsr-igp-extensions-ifit" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.draft-wang-lsr-igp-extensions-ifit-01.xml" target="http://www.ietf.org/internet-drafts/draft-wang-lsr-igp-extensions-ifit-01.txt">
          <front>
            <title>IGP Extensions for In-situ Flow Information Telemetry (IFIT) Capability Advertisement</title>
            <author initials="Y" surname="Wang" fullname="Yali Wang">
              <organization/>
            </author>
            <author initials="T" surname="Zhou" fullname="Tianran Zhou">
              <organization/>
            </author>
            <author initials="F" surname="Qin" fullname="Fengwei Qin">
              <organization/>
            </author>
            <author initials="H" surname="Chen" fullname="Huanan Chen">
              <organization/>
            </author>
            <author initials="R" surname="Pang" fullname="Ran Pang">
              <organization/>
            </author>
            <date month="July" day="28" year="2020"/>
            <abstract>
              <t>
                This document extends Node and Link Attribute TLVs to Interior Gateway Protocols (IGP) to advertise
                supported In-situ Flow Information Telemetry (IFIT) capabilities at node and/or link granularity.
                An ingress router cannot insert IFIT-Data-Fields for packets going into a path unless an egress router has
                indicated via signaling that it has the capability to process IFIT-Data-Fields.  In addition,
                such advertisements would be useful for ingress routers to gather each router's IFIT capability for achieving the computation
                of Traffic Engineering (TE) paths or loose TE paths that be able to fulfill the visibility of on-path OAM data.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wang-lsr-igp-extensions-ifit-01"/>
        </reference>
        <reference anchor="ETSI-WP28-MEC" target="https://www.etsi.org/images/files/ETSIWhitePapers/etsi_wp28_mec_in_5G_FINAL.pdf">
          <front>
            <title>MEC in 5G Networks</title>
            <author>
              <organization>Sami Kekki, etc.</organization>
            </author>
            <date year="2018"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
</rfc>
