<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
    There has to be one entity for each item to be referenced. 
    An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std" docName="draft-xu-isis-nvo-cp-00" ipr="trust200902">
  <front>
    <title abbrev="NVO CP using IS-IS">NVO Control Plane Protocol Using
    IS-IS</title>

    <author fullname="Xiaohu Xu" initials="X.X." surname="Xu">
      <organization>Huawei</organization>

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

    <author fullname="Saumya Dikshit" initials="S.D" surname="Dikshit">
      <organization>Cisco</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>sadikshi@cisco.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Himanshu Shah" initials="H.S." surname="Shah">
      <organization>Ciena Corp</organization>

      <address>
        <!--
       <postal>
         <street></street>
-->

        <!-- Reorder these if your country does things differently -->

        <!--
         <city>Soham</city>

         <region></region>

         <code></code>

         <country>UK</country>
       </postal>

       <phone>+44 7889 488 335</phone>
-->

        <email>hshah@ciena.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Yongbing Fan" initials="Y.F." surname="Fan">
      <organization>China Telecom</organization>

      <address>
        <!--
       <postal>
         <street></street>
-->

        <!-- Reorder these if your country does things differently -->

        <!--
         <city>Soham</city>

         <region></region>

         <code></code>

         <country>UK</country>
       </postal>

       <phone>+44 7889 488 335</phone>
-->

        <email>fanyb@gsta.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <date year="2016"/>

    <abstract>
      <t>This document describes the use of IS-IS as a light-weight control
      plane protocol for Network Virtualization Overlays. This light-weight
      control plane protocol is intended for small and even medium sized
      enterprise campus networks where the NVO date encapsulation technology
      is to be used.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t><xref target="RFC7364"/> discusses the need of an overlay-based
      network virtualization approach, referred to as Network Virtualization
      Overlays (NVO), for providing multi-tenancy capabilities in large data
      centers networks and outlines the needs for a control plane protocol to
      facilitate running NVO. <xref target="RFC7365"/> provides a framework
      for NVO and meanwhile describes the needs for a control plane protocol
      to provide the following capabilities such as auto-provisioning/service
      discovery, address mapping advertisement and tunnel management.</t>

      <t>Due to the success of the NVO technology in data center networks,
      more and more enterprises are considering the deployment of this
      technology in their campus networks so as to replace the old spanning
      tree protocols. Although BGP or Software Defined Network (SDN)
      controller could still be used as the control plane protocol in campus
      networks, both of them seem a bit heavyweight, especially for small and
      even medium sized campus networks.</t>

      <t>IS-IS protocol <xref target="IS-IS"/> is a much proven and well-known
      routing protocol which has been widely deployed in campus networks for
      many years. Due to its extendibility, IS-IS protocol now is not only
      used for propagating IP reachability information in Layer3 networks (see
      <xref target="RFC1195"/>), but also used for propagating MAC
      reachability information in Layer2 networks or Layer2 overlay networks
      <xref target="RFC6165"/>.</t>

      <t>By using IS-IS as a lightweight control plane protocol for NVO, the
      network provisioning is greatly simplified ((e.g., only a single
      protocol to be deployed)), which is much significant to campus
      networks.</t>

      <t>This IS-IS based NVO control plane protocol could support any
      specific NVO data encapsulation formats such as VXLAN <xref
      target="RFC7348"/>, VXLAN-GPE <xref target="I-D.ietf-nvo3-vxlan-gpe"/> ,
      and NVGRE <xref target="RFC7637"/>.</t>

      <section title="Requirements Language">
        <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">RFC 2119</xref>.</t>
      </section>
    </section>

    <section anchor="Terminology" title="Terminology">
      <t>This memo makes use of the terms defined in <xref target="RFC7365"/>
      and <xref target="I-D.ietf-bier-architecture"/>.</t>
    </section>

    <section anchor="Capability" title="VN Membership Auto-discovery">
      <t>By propagating the VN membership info among Network Virtualization
      Edges (NVEs), NVEs belonging to the same VN instance could discover one
      another automatically. The VN membership info is carried in a VN
      Membership Info sub-TLV (as shown in Section 3.1) of the following TLVs
      originated by that NVE:</t>

      <t>1. TLV-135 (IPv4) defined in <xref target="RFC5305"/>.</t>

      <t>2. TLV-236 (IPv6) defined in <xref target="RFC5308"/></t>

      <t>When the above TLV is propagated across level boundaries, the VN
      Membership Info sub-TLV contained in that TLV SHOULD be kept.</t>

      <section title="VN Membership Info Sub-TLV">
        <t>The VN Membership Info sub-TLV has the following format:</t>

        <t><figure align="center">
            <preamble/>

            <artwork align="center"><![CDATA[  
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Type=TBD   |     Length    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  VN ID                        |S|   Reserved  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Sub-domain ID |                     Reserved                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                                                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  VN ID                        |S|   Reserved  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Sub-domain ID |                     Reserved                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       
]]></artwork>
          </figure></t>

        <t/>

        <t><list style="empty">
            <t>Type: TBD;</t>

            <t>Length: Variable;</t>

            <t>VN ID: This field is filled with a 24-bit globally significant
            VN ID for a particular attached VN instance.</t>

            <t>S-Flag: This field indicates the existence of the Sub-domain ID
            field. When the S-Flag is set, the Sub-domain ID field MUST be
            filled with a valid sub-domain ID. Otherwise, it SHOULD be set to
            zero.</t>

            <t>Sub-domain ID: This field is filled with a 8-bit BIER
            sub-domain ID to which the VN has been associated <xref
            target="I-D.ietf-bier-architecture"/>. The field is only useful in
            the case where the Broadcast, Unknown-unicast and Multicast (BUM)
            packets within a VN are transported across the underlay by using
            the BIER forwarding mode.</t>
          </list></t>
      </section>
    </section>

    <section anchor="Encapsulation"
             title="Tunnel Encapsulation Capability Advertisement">
      <t>To reach a consensus on what specific tunnel encapsulation format to
      be used between ingress and egress NVE pairs automatically, egress NVEs
      SHOULD advertise their own tunnel encapsulation capabilities by using
      the Encapsulation Capability sub-TLV as defined in <xref
      target="I-D.xu-isis-encapsulation-cap"/></t>
    </section>

    <section title="MAC Address Learning">
      <t>For Layer2 overlays, MAC addresses of local CE hosts would still be
      learnt by NVEs as normal bridges. As for learning MAC addresses of
      remote CE hosts, there are two options: 1) data-plane based MAC learning
      and 2) control- plane based MAC learning. If unknown unicast flood
      suppression is strongly required even at the cost of consuming more
      forwarding table resources, the control-plane based MAC learning option
      could be considered. Otherwise, the data-plane based MAC learning option
      is RECOMMENDED.</t>

      <section anchor="Attribute"
               title="Control-plane based MAC Learning for Remote CE Hosts">
        <t>In the control-plane based MAC address learning mechanism, MAC
        reachability information of a given VN instance would be exchanged
        across NVEs of that VN instance via IS-IS as well. Upon learning MAC
        addresses of their local TES's somehow, NVEs SHOULD immediately
        advertise these MAC addresses to remote NVEs of the same VN instance
        by using the MAC-Reachability TLV as defined in <xref
        target="RFC6165"/>. One or more MAC-Reachability TLVs are carried in
        an LSP which in turn is encapsulated with an Ethernet header. The
        source MAC address is the originating NVE's MAC address whereas the
        destination MAC address is a to-be-defined multicast MAC address
        specifically identifying all NVEs. Although in Ingress Replication
        case for networks not supporting multicast, the remote NVE unicast
        addresses can be pre-learned via configuration, and used as
        destination MAC address instead of multicast MAC address. Such
        Ethernet frames containing IS-IS LSPs are forwarded towards remote
        NVEs as if they were customer multicast Ethernet frames. Egress NVEs
        receiving the above frames SHOULD intercept them and accordingly
        process them. The routable IP address of the NVE originating these MAC
        routes could be derived either from the "IP Interface Address" field
        contained in the corresponding LSPs (Note that the IP address here
        SHOULD be identical to the routable IP address associated with the VN
        membership Info) or from the tunnel source IP address of the NVO
        encapsulated packet containing such MAC routes. Since these LSPs are
        fully transparent to core routers of the underlying networks (i.e.,
        non-NVE routers), there is no impact on the control plane of core
        routers at all.</t>
      </section>
    </section>

    <section title="MAC/IP Binding Info Advertisement">
      <t>To refrain from flooding ARP/ND messages generated by end-hosts,
      across all NVEs for a given VN, IP/MAC bindings for these end-hosts can
      be potentially exchanged between NVEs through IS-IS. ARP/ND caching can
      be enabled on NVEs to allow local NVE to respond for an ARP/ND requests
      on behalf of remote hosts. Thus there is no need to flood ARP/ND
      messages to all other NVEs of a given VN. This potential extension is
      for further study </t>
    </section>

    <section title="IP Reachability Info Advertisement">
      <t>For Layer3 overlays, IP reachability information of a given VN
      instance, including both host routes and/or subnet routes, SHOULD be
      exchanged across NVEs of that VN instance. The IP-Reachability TLV
      defined in <xref target="RFC1195"/> could be used directly here. One or
      more IP-Reachability TLVs are carried in a LSP which in turn is
      encapsulated with an Ethernet header. The source MAC address is the
      originating NVE's MAC address whereas the destination MAC address is a
      to-be-defined multicast MAC address specifically identifying all NVEs.
      Such Ethernet frames containing IS-IS LSPs are forwarded towards remote
      NVEs as if they were customer multicast Ethernet frames. Egress NVEs
      receiving the above frames SHOULD intercept them and accordingly process
      them. Similarly, since these LSPs are fully transparent to core routers
      of the underlying networks (i.e., non-NVE routers), there is no impact
      on the control plane of core routers at all.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>The type code for VN Membership Info sub-TLV is required to be
      allocated by IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This document doesn't introduce additional security risk to IS-IS,
      nor does it provide any additional security feature for IS-IS.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &RFC2119;

      <?rfc include="reference.RFC.5305"?>

      <?rfc include="reference.RFC.5308"?>

      <?rfc include="reference.RFC.4971"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.7348"?>

      <?rfc include="reference.RFC.7637"?>

      <?rfc include="reference.RFC.7364"?>

      <?rfc include="reference.RFC.7365"?>

      <?rfc include="reference.RFC.1195"?>

      <?rfc include="reference.RFC.6165"?>

      <?rfc include="reference.I-D.ietf-bier-architecture"?>

      <?rfc include="reference.I-D.xu-isis-encapsulation-cap"?>

      <?rfc include="reference.I-D.ietf-nvo3-vxlan-gpe"?>

      <reference anchor="IS-IS">
        <front>
          <title>ISO/IEC 10589, "Intermediate System to Intermediate System
          Intra-Domain Routing Exchange Protocol for use in Conjunction with
          the Protocol for Providing the Connectionless-mode Network Service
          (ISO 8473)", 2005.</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
