<?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="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-xie-bier-ipv6-isis-extension-00"
     ipr="trust200902">
  <front>
    <title abbrev="BIERv6 Via IS-IS">BIER IPv6 Encapsulation (BIERv6) Support
    via IS-IS</title>

    <author fullname="Jingrong Xie" initials="J." surname="Xie">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

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

    <author fullname="Aijun Wang" initials="A." surname="Wang">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>wangaj.bri@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Gang Yan" initials="G." surname="Yan">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

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

    <author fullname="Senthil Dhanaraj" initials="S." surname="Dhanaraj">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>senthil.dhanaraj@huawei.com</email>
      </address>
    </author>

    <date day="1" month="July" year="2019"/>

    <abstract>
      <t>This document defines IS-IS extensions to support multicast
      forwarding using the Bit Index Explicit Replication (BIER) with IPv6
      encapsulation (BIERv6).</t>
    </abstract>

    <note 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"/>
      and <xref target="RFC8174"/>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document defines IS-IS extensions to support multicast
      forwarding using the Bit Index Explicit Replication (BIER) with IPv6
      encapsulation (BIERv6).</t>

      <t>Familiarity with the concept of "BIER specific" IPv6 address
      introduced in <xref target="I-D.xie-bier-ipv6-encapsulation"/> is
      necessary to understand the extensions specified in this document.</t>

      <t>The <xref target="I-D.ietf-spring-srv6-network-programming"/>
      describes how a function can be bound to a special "IPv6 Address" within
      a special "IPv6 Address Block". The function bound to a special "IPv6
      Address" can be used to indicate a special forwarding process in
      data-plane.</t>

      <t>The BIER IPv6 encapsulation <xref
      target="I-D.xie-bier-ipv6-encapsulation"/> uses a "BIER specific" IPv6
      unicast address configured locally on a BIER Forwarding Router (BFR) to
      indicate a "BIER specific handling" in Forwarding Information Base
      (FIB). This BIER specific IPv6 address is also required to use as the
      BFR prefix as defined in [RFC8279].</t>

      <t>The indication of BFR prefix is a BIER Sub-TLV within the extended IP
      reachability TLV as specified by in [RFC8401].</t>

      <t>The indication of BIER specific function is a "Function Sub-TLV"
      within the extended IP reachability as specified by in this
      document.</t>

      <t>Note the extended IP reachability only includes the TLV 236 (IPv6 IP
      Reach TLV) [RFC5308] and TLV 237 (MT IPv6 IP Reach TLVs) [RFC5120] in
      this document.</t>

      <t>The following restrictions defined for BIER Sub-TLV in section 4.2 of
      [RFC8401] apply equally to Function Sub-TLV:<list style="symbols">
          <t>Prefix length MUST be 128 for an IPv6 prefix.</t>

          <t>When the Prefix Attributes Flags sub-TLV [RFC7794] is present,
          the N flag MUST be set and the R flag MUST NOT be set.</t>

          <t>BIER sub-TLVs and Function Sub-TLVs MUST be included when a
          prefix reachability advertisement is leaked between levels.</t>
        </list></t>

      <t/>
    </section>

    <section title="Terminology">
      <t>Readers of this document are assumed to be familiar with the
      terminology and concepts of the documents listed as Normative
      References.</t>

      <t/>
    </section>

    <section title="Specification">
      <t/>

      <section title="Function sub-TLV for BIERv6">
        <t/>

        <t>The Function sub-TLV is introduced to advertise a specified
        function bound to an IPv6 prefix with 128 bit prefix length. This new
        sub-TLV is advertised in the TLV 236 or TLV 237. The sub-TLV has the
        following format:</t>

        <t><figure align="left">
            <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       |     Length    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Function                   |     Flags                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ]]></artwork>
          </figure></t>

        <t>Type: 1 octet value indicating "Function Information" this IPv6
        prefix bound to. To be assigned by IANA.</t>

        <t>Length: 1 octet length in octets. Value 4 is set to this field.</t>

        <t>Function: 2 octets value indicating function. A BIER function value
        called End.BIER defined in <xref
        target="I-D.xie-bier-ipv6-encapsulation"/> is expected to be the only
        function in the TLV.</t>

        <t>Flags: 1 octet value indicating the Flags for the function
        preceding this field. No flags are currently defined and 0 should be
        set for this field.</t>

        <t/>
      </section>

      <section title="Encapsulation sub-sub-TLV for BIERv6">
        <t/>

        <t>The Encapsulation sub-sub-TLV carries the information for the BIER
        IPv6 encapsulation of a specific BitString length. It is advertised
        within the BIER Info sub-TLV defined in [RFC8401] which in-turn is
        carried within the TLVs 236 or 237. This sub-sub-TLV MAY appear
        multiple times within a single BIER Info sub-TLV. If the same
        BitString length is repeated in multiple sub-sub-TLVs inside the same
        BIER Info sub- TLV, the BIER Info sub-TLV MUST be ignored.</t>

        <t><figure align="left">
            <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       |   Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Max SI      |BS Len |                  BIFT-id              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ]]></artwork>
          </figure></t>

        <t>The Type field is a 1 octet value indicating BIER IPv6
        encapsulation. To be assigned by IANA.</t>

        <t>The Length field is a 1 octet length in octets. Value 4 is set to
        this field.</t>

        <t>Other fields can be referred to [RFC8401] for MPLS encapsulation,
        or <xref target="I-D.ietf-bier-lsr-ethernet-extensions"/> for Ethernet
        encapsulation.</t>

        <t/>
      </section>
    </section>

    <section title="Security Considerations">
      <t>The procedures of this document do not, in themselves, provide
      privacy, integrity, or authentication for the control plane or the data
      plane.</t>

      <t/>
    </section>

    <section title="IANA Considerations">
      <t/>

      <section title="Function sub-TLV Type Code">
        <t>Allocation is expected from IANA for a IS-IS Sub-TLV Type codepoint
        from the "Sub-TLVs for TLVs 135, 235, 236, and 237" sub-registry.</t>

        <t>Type: To be assigned by IANA.</t>

        <t>Description: Function Info.</t>

        <t>Reference: This document.</t>

        <t><figure align="left">
            <artwork><![CDATA[
      Type  135 235 236 237 Reference
      32     y   y   y   y  RFC8401
      TBD    n   n   y   y  This document
      ]]></artwork>
          </figure></t>
      </section>

      <section title="Encapsulation sub-sub-TLV Type Code">
        <t>Allocation is expected from IANA for a BIER IPv6 encapsulation
        sub-sub-TLV codepoint from the "sub-sub-TLVs for BIER Info sub-TLV"
        sub-registry.</t>

        <t>Type: To be assigned by IANA.</t>

        <t>Name: BIER IPv6 Encapsulation.</t>

        <t>Reference: This document.</t>
      </section>
    </section>

    <section title="Acknowledgements">
      <t>TBD.</t>

      <t/>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.8279'?>

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

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

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

      <?rfc include='reference.I-D.ietf-spring-srv6-network-programming'?>

      <?rfc include='reference.I-D.ietf-bier-lsr-ethernet-extensions'?>

      <?rfc include='reference.I-D.xie-bier-ipv6-encapsulation'?>
    </references>

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

      <?rfc include='reference.RFC.8174'?>
    </references>
  </back>
</rfc>
