<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.6 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc category="std" docName="draft-dong-lsvr-bgp-spf-nrp-01" ipr="trust200902">
  <front>
    <title abbrev="BGP SPF for NRP">BGP SPF for Network Resource
    Partitions</title>

    <author fullname="Jie Dong" initials="J." surname="Dong">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Road</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>jie.dong@huawei.com</email>
      </address>
    </author>

    <author fullname="Zhenbin Li" initials="Z." surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Road</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>lizhenbin@huawei.com</email>
      </address>
    </author>

    <author fullname="Haibo Wang" initials="H." surname="Wang">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Road</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>rainsword.wang@huawei.com</email>
      </address>
    </author>

    <date day="16" month="October" year="2022"/>

    <workgroup>LSVR Working Group</workgroup>

    <abstract>
      <t>A VTN is a virtual underlay network which has customized network
      topology and a set of dedicated or shared network resources. Network
      Resource Partition (NRP) refers to a set of network resources that are
      available to carry traffic and meet the SLOs and SLEs. Multiple NRPs can
      be created in a network to provide different Virtual Transport Networks
      (VTN) to meet the requirements of different services or different
      service groups. In the context of network slicing, a VTN can be
      instantiated as a Network Resource Partition (NRP).</t>

      <t>As the number of NRP increases, there can be scalability concerns
      about using Interial Gateway Protocols (IGP) to distribute the NRP
      information in the network. In networks where BGP Shortest Path First
      (SPF) can used as the underlay routing mechanism to distribute the
      link-state information among network nodes, the information of NRPs
      needs to be distributed along with the basic network information. This
      document specifies the BGP SPF mechanisms with necessary extensions to
      distribute the NRP information and perform NRP-specific path
      computation.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>The concept of Virtual Transport Network (VTN) is introduced in <xref
      target="I-D.ietf-teas-enhanced-vpn"/>. A VTN is a virtual underlay
      network which has customized network topology and a set of dedicated or
      shared network resources. In a network, different VTNs may be created to
      meet different service requirements, and services can be mapped to the
      same or different VTNs.</t>

      <t><xref target="I-D.ietf-teas-ietf-network-slices"/> introduces the
      concept Network Resource Partition (NRP) as a set of network resources
      that are available to carry traffic and meet the SLOs and SLEs. In the
      context of network slicing, an NRP can be used to instantiate a VTN for
      one or a group of IETF network slice services.</t>

      <t><xref target="I-D.ietf-spring-sr-for-enhanced-vpn"/> describes the
      use of resource-aware segments <xref
      target="I-D.ietf-spring-resource-aware-segments"/> to build SR based
      NRPs. The SIDs of each NRP and the associated topology and resource
      attributes need to be distributed using the control plane. <xref
      target="I-D.dong-lsr-sr-enhanced-vpn"/> specifies the IGP mechanism and
      extensions to build a relatively large number of SR based NRPs. <xref
      target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/> further specifies the
      BGP-LS mechanisms and extensions to advertise the NRP information within
      each domain and the NRP information on the inter-domain links to the
      network controller, so that the controller could use the collected
      information to obtain the view of the inter-domain SR NRPs .</t>

      <t>As the number of NRP increases, there can be scalability concerns
      about using IGP to distribute the NRP information in the network. In
      networks where BGP SPF is used to distribute the link-state information
      among network nodes, the NRP information needs to be distributed along
      with the basic network link state and TE information. Comparing with the
      Internal Gateway Protocols (IGPs), BGP SPF may have some advantage in
      supporting a relatively large number of NRPs. This document specifies
      the BGP SPF mechanisms with necessary extensions to advertise the
      information of NRPs. The proposed mechanism is applicable to segment
      routing with MPLS data plane (SR-MPLS), segment routing with IPv6 data
      plane (SRv6), and native IPv6 data plane.</t>

      <section title="Requirements Language">
        <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
        BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
      </section>
    </section>

    <section title="Applicability of NRP related BGP-LS Extensions to BGP SPF">
      <t/>

      <section title="Reuse of BGP-LS TLVs for BGP SPF VTN">
        <t>As described in <xref target="I-D.ietf-lsvr-bgp-spf"/>, the NLRI
        and TLVs of BGP-LS can be reused by BGP SPF, this section describes
        the TLVs which are defined in BGP-LS and can be reused in BGP SPF for
        the distribution of NRP related information.</t>

        <t>According to <xref target="I-D.ietf-teas-enhanced-vpn"/>, a virtual
        transport network (VTN) has a customized network topology and a set of
        dedicated or shared network resources. Thus a VTN can be defined as
        the combination of a set of network attributes, including the topology
        attribute and the network resource attribute. As the instantiation of
        VTN, an NRP is associated with a Multi-Topology ID (MT-ID) and/or an
        Algorithm ID which are used to define the NRP topology and path
        computation constraints. In some cases, each NRP can be associated
        with a separate MT-ID or a Flex-Algo ID. When the amount of NRPs in a
        network is large, as described in <xref
        target="I-D.ietf-teas-nrp-scalability"/>, multiple NRPs may be
        associated with the same topology and/or algorithm, so that the amount
        of topology-specific path computation can be shared by a group of
        NRPs, this could help to reduce the computation overhead in the
        control plane.</t>

        <t><xref target="I-D.ietf-lsvr-bgp-spf"/> does not cover the usage of
        Multi-Topology or Flex-Algo with BGP SPF. This document proposes to
        use Multi-Topology <xref target="RFC4915"/><xref target="RFC5120">
        </xref> or Flex-Algo <xref target="I-D.ietf-lsr-flex-algo"/> with BGP
        SPF for topology and/or algorithm -specific link-state information
        distribution and path computation. For this purpose, the
        Multi-topology TLV as defined in <xref
        target="I-D.ietf-idr-rfc7752bis"/>, the SR Algorithm TLV as defined
        <xref target="RFC9085"/>, and the Flex-Algo Definition TLV as defined
        in <xref target="I-D.ietf-idr-bgp-ls-flex-algo"/> are reused for BGP
        SPF.</t>

        <t><xref target="I-D.ietf-lsvr-bgp-spf"/> does not explicitly describe
        the usage with Segment Routing data plane. To build SR based NRPs, the
        SR-MPLS and SRv6 TLVs as defined in <xref target="RFC9085"/> and <xref
        target="I-D.ietf-idr-bgpls-srv6-ext"/> are reused for BGP SPF.</t>

        <t>The NRP extensions to BGP-LS as defined in <xref
        target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/> applies to BGP SPF as
        well. This section lists the TLVs which are reused by BGP SPF, the
        detailed format of the TLVs are described in <xref
        target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/>.</t>

        <t>The BGP-LS Attribute TLVs which are defined in <xref
        target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/> and reused with
        BGP-LS-SPF SAFI are listed as below:</t>

        <t><list style="symbols">
            <t>NRP Definition (NRPD) TLV: This is used to advertise the
            association between the NRP and the topology ID and/or algorithm
            ID. It can be carried in BGP-LS attribute associated with a Node
            NLRI.</t>

            <t>NRP IDs TLV: This is used to describe the identifiers of one or
            more NRPs which are associated with a specific set of network
            resources. It can be carried in BGP-LS attribute which is
            associated with a Link NLRI, or it could be carried as a sub-TLV
            in the L2 Bundle Member Attribute TLV or the NRP-specific TE
            attribute TLV.</t>

            <t>Link Attribute Flags TLV: This is used to specify the
            characteristics of a link, its functionality is similar to the
            IS-IS Link Attribute sub-TLV defined in <xref target="RFC5029"/>.
            It can be carried in BGP-LS attribute which is associated with a
            Link NLRI, or it could be carried as a sub-TLV in the L2 Bundle
            Member Attribute TLV.</t>

            <t>NRP-specific prefix-SID TLV: This is used to advertise the
            prefix-SID and its associated NRP. It can be carried in BGP-LS
            attribute which is associated with a Prefix NLRI.</t>

            <t>NRP-specific Adj-SID TLV: This is used to advertise the adj-SID
            and its associated NRP. It can be carried in BGP-LS attribute of
            the associated Link NLRI.</t>

            <t>NRP Locator-block sub-TLV: This is used to advertise the SRv6
            locator block and its associated NRP. It can be carried in the
            SRv6 Locator TLV of the associated Prefix NLRI.</t>

            <t>NRP ID Sub-TLV. This is used to advertise the relationship
            between SRv6 End.X SIDs and its associated NRP.</t>
          </list></t>

        <t>Further BGP-LS TLVs may be defined in <xref
        target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/>, their usage with BGP
        SPF will be specified in a future version of this document.</t>
      </section>

      <section title="NRP Topology and Resource Distribution ">
        <t>In network scenarios where each NRP is associated with a unique
        MT-ID, The BGP-LS mechanisms used to distribute the NRP topology and
        resource information to the network controller are described in <xref
        target="I-D.ietf-idr-bgpls-sr-vtn-mt"/>. Such mechanism can be reused
        for the distribution of NRP information with BGP SPF.</t>

        <t>In network scenarios where each NRP is associated with a unique
        Flex-Algo ID, The BGP-LS mechanisms used to distribute the NRP
        topology and resource information to the network controller are
        described in <xref target="I-D.zhu-idr-bgpls-sr-vtn-flexalgo"/>. Such
        mechanism can be reused for the distribution of NRP information with
        BGP SPF.</t>

        <t>In network scenarios where multiple NRPs are associated with the
        same &lt;topology, algorithm&gt; tuple, while each NRP has different
        resource attributes, the BGP-LS mechanisms which can be used to
        distribute the NRP topology and resource information to the network
        controller are described in <xref
        target="I-D.dong-idr-bgpls-sr-enhanced-vpn"/>. Such mechanism can be
        reused for the distribution of NRP information with BGP SPF.</t>

        <t>The Sequence Number TLV as defined in <xref
        target="I-D.ietf-lsvr-bgp-spf"/> MUST be carried in the BGP-LS
        attribute associated with the BGP-LS-SPF NLRI. If the Sequence-Number
        TLV is not received then the corresponding Link NLRI is considered as
        malformed and MUST be handled as 'Treat-as-withdraw'. An
        implementation MAY log an error for further analysis.</t>
      </section>
    </section>

    <section title="SPF Calculation for NRPs">
      <t><xref target="I-D.ietf-lsvr-bgp-spf"/> describes the mechanisms of
      using the BGP-LS-SPF Node, Link, and Prefix NLRIs for shortest path
      computation. With the introduction of NRP, the same mechanism is used
      for the shortest path computation of each NRP. The path computation for
      a NRP is based on the topology attributes and the constraints specified
      with the MT-ID and/or Algorithm ID associated with the NRP. When
      multiple NRPs are associated with the same &lt;topology, algorithm&gt;
      tuple, the result of the shortest path computation based on that
      &lt;topology, algorithm&gt; could be shared by these NRPs.</t>
    </section>

    <section anchor="security-considerations" title="Security Considerations">
      <t>This document introduces no additional security vulnerabilities to
      BGP SPF.</t>

      <t>The mechanism proposed in this document is subject to the same
      vulnerabilities as any other protocol that relies on BGP SPF.</t>
    </section>

    <section anchor="iana-considerations" title="IANA Considerations">
      <t>This document request no IANA actions.</t>
    </section>

    <section anchor="acknowledgments" title="Acknowledgments">
      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="RFC2119"
                 target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement
          Levels</title>

          <author fullname="S. Bradner" initials="S." surname="Bradner">
            <organization/>
          </author>

          <date month="March" year="1997"/>

          <abstract>
            <t>In many standards track documents several words are used to
            signify the requirements in the specification. These words are
            often capitalized. This document defines these words as they
            should be interpreted in IETF documents. This document specifies
            an Internet Best Current Practices for the Internet Community, and
            requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="2119"/>

        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.9085'?>

      <?rfc include='reference.I-D.ietf-teas-enhanced-vpn'?>

      <?rfc include='reference.I-D.ietf-teas-ietf-network-slices'?>

      <?rfc include='reference.I-D.ietf-spring-resource-aware-segments'?>

      <?rfc include='reference.I-D.ietf-lsvr-bgp-spf'?>

      <?rfc include='reference.I-D.ietf-idr-rfc7752bis'?>

      <?rfc include='reference.I-D.ietf-idr-bgpls-srv6-ext'?>

      <?rfc include='reference.I-D.ietf-idr-bgp-ls-flex-algo'?>

      <?rfc include='reference.I-D.dong-idr-bgpls-sr-enhanced-vpn'?>
    </references>

    <references title="Informative References">
      <reference anchor="I-D.ietf-spring-sr-for-enhanced-vpn"
                 target="https://tools.ietf.org/html/draft-ietf-spring-sr-for-enhanced-vpn">
        <front>
          <title>Segment Routing based Virtual Transport Network (VTN) for
          Enhanced VPN</title>

          <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei Technologies</organization>
          </author>

          <author fullname="Stewart Bryant" initials="S." surname="Bryant">
            <organization>Futurewei Technologies</organization>
          </author>

          <author fullname="Takuya Miyasaka" initials="T." surname="Miyasaka">
            <organization>KDDI Corporation</organization>
          </author>

          <author fullname="Yongqing Zhu" initials="Y." surname="Zhu">
            <organization>China Telecom</organization>
          </author>

          <author fullname="Fengwei Qin" initials="F." surname="Qin">
            <organization>China Mobile</organization>
          </author>

          <author fullname="Zhenqiang Li" initials="Z." surname="Li">
            <organization>China Mobile</organization>
          </author>

          <author fullname="Francois Clad" initials="F." surname="Clad">
            <organization>Cisco Systems</organization>
          </author>

          <date day="12" month="February" year="2021"/>
        </front>
      </reference>

      <?rfc include='reference.RFC.4915'?>

      <?rfc include='reference.RFC.5120'?>

      <?rfc include='reference.RFC.5029'?>

      <?rfc include='reference.I-D.ietf-teas-nrp-scalability'?>

      <?rfc include='reference.I-D.ietf-lsr-flex-algo'?>

      <?rfc include='reference.I-D.dong-lsr-sr-enhanced-vpn'?>

      <?rfc include='reference.I-D.ietf-idr-bgpls-sr-vtn-mt'?>

      <?rfc include='reference.I-D.zhu-idr-bgpls-sr-vtn-flexalgo'?>
    </references>
  </back>

  <!---->
</rfc>
