<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<?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" number="7884" ipr="trust200902"
  submissionType="IETF" consensus="yes">

  <front>
    <title abbrev="S-BFD Discriminators in OSPF">
    OSPF Extensions to Advertise Seamless Bidirectional Forwarding Detection
(S-BFD) Target Discriminators</title>

    <author fullname="Carlos Pignataro" initials="C."
            surname="Pignataro">
      <organization abbrev="Cisco">Cisco Systems, Inc.</organization>
      <address>
        <email>cpignata@cisco.com</email>
      </address>
    </author>

    <author fullname="Manav Bhatia" initials="M."
            surname="Bhatia">
      <organization>Ionos Networks</organization>
      <address>
        <email>manav@ionosnetworks.com</email>
      </address>
    </author>

    <author fullname="Sam Aldrin" initials="S."
            surname="Aldrin">
      <organization>Huawei Technologies </organization>
      <address>
        <email>aldrin.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Trilok Ranganath" initials="T."
            surname="Ranganath">
      <organization>Nokia</organization>
      <address>
        <email>trilok.ranganatha@nokia.com</email>
      </address>
    </author>

     <date month="July" year="2016"/>

    <keyword>BFD</keyword>
    <keyword>seamless BFD</keyword>
    <keyword>negotiation free</keyword>
    <keyword>label verification</keyword>
    <keyword>segment routing</keyword>
    <keyword>IP</keyword>

    <abstract>
    <t>This document defines a new OSPF Router Information (RI) TLV that
    allows OSPF routers to flood the Seamless Bidirectional Forwarding
    Detection (S-BFD) Discriminator values associated with a target network
    identifier. This mechanism is applicable to both OSPFv2 and OSPFv3.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction" anchor="Intro">

<t>
Seamless Bidirectional Forwarding Detection (S-BFD), specified in 
<xref target="RFC7880"/>, is a simplified mechanism for using BFD
with many negotiations eliminated. This is achieved by using
4&nbhy;octet discriminators, unique within an administrative domain,
to identify the network targets. These S-BFD Discriminators can be
advertised by the IGPs, and this document concerns itself with OSPF.
Specifically, this document defines a new TLV (named the S-BFD
Discriminator TLV) to be carried within the OSPF Router Information (RI)
Link State Advertisement (LSA) <xref target="RFC7770"/>.
</t>

    <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 title="Relationship between OSPF and S-BFD">
<t>
This document implicitly defines a relationship between OSPF and S-BFD.
S-BFD assigns one or more discriminators to each S-BFD reflector node.
OSPF, in turn, learns about these from S-BFD and floods them in the newly
defined TLV. After this information is flooded, it is stored in all the OSPF
nodes such that S-BFD initiators can map out target nodes to target
discriminators and can therefore construct the S-BFD probe.
</t>
<t>
When multiple S-BFD Discriminators are advertised, how a given discriminator
is mapped to a specific use case is out of scope for this document.
</t>
    </section>
    </section>


    <section title="Implementation">
 
<t>This extension makes use of the Router Information (RI) Opaque LSA,
   defined in <xref target="RFC7770" />, for both OSPFv2
   <xref target="RFC2328" /> and OSPFv3 <xref target="RFC5340" /> by
   defining a new OSPF Router Information (RI) TLV: the S-BFD Discriminator
   TLV.
</t>
<t>
   The S-BFD Discriminator TLV is OPTIONAL. Upon receipt
   of the TLV, a router may decide to install the
   S-BFD Discriminator in the BFD target identifier table.
</t>
<t>
   In the presence of multiple instances of the OSPFv2/OSPFv3
   Router Information LSA, the S-BFD Discriminators for an OSPF router
   are the union of all discriminators advertised in all instances of
   the S-BFD Discriminator TLV (see <xref target="TLV" />) in all
   advertised non-MaxAge OSPF Router Information LSAs.
</t>

    <section anchor="TLV" title="S-BFD Discriminator TLV">

<t>The format of the S-BFD Discriminator TLV is as follows: </t>

<figure align="left"><preamble></preamble><artwork align="left">
   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            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         Discriminator 1                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Discriminator 2 (Optional)                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               ...                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Discriminator n (Optional)                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork></figure>

<t>Type - S-BFD Discriminator TLV Type (11)</t>

<t><list style="hanging">
<t hangText ="Length -">This field represents the total length of the
discriminator(s) that appears in the Value field, in octets. Each
discriminator is 4&nbsp;octets, so the Length is four times the number
of discriminators included in the TLV. There is no optional padding for
this field.
</t>

<t hangText="Discriminator(s) -">The Value field of the TLV includes
the S-BFD network target Discriminator value or values.</t> 
</list></t>

<t>Routers that do not recognize the S-BFD Discriminator TLV Type will ignore
the TLV <xref target="RFC7770" /> and therefore will not learn S-BFD
Discriminators via OSPF.</t>
</section>

 
    <section title="Flooding Scope">
<t>The S-BFD Discriminator  TLV is advertised within OSPFv2 Router Information
   LSAs (Opaque type of 4 and Opaque ID of 0) or OSPFv3 Router Information
   LSAs (function code of 12), which are defined in <xref target="RFC7770"/>.
   As such, elements of this procedure are inherited from those defined
   in <xref target="RFC7770" />.
</t>

<t>The flooding scope is controlled by the Opaque LSA type (as defined
   in <xref target="RFC5250"/>) in OSPFv2 and by the S1/S2 bits (as
   defined in <xref target="RFC5340"/>) in OSPFv3.  If the flooding scope
   is area local, then the S-BFD Discriminator TLV MUST be carried within an
   OSPFv2 type 10 Router Information LSA or an OSPFV3 Router Information LSA
   with the S1 bit set and the S2 bit clear.  If the flooding scope is the
   entire IGP domain, then the S-BFD Discriminator TLV MUST be carried
   within an OSPFv2 type 11 Router Information LSA or OSPFv3 Router
   Information LSA with the S1 bit clear and the S2 bit set.  
</t>

<t>When the S-BFD reflector is deactivated, the OSPF speaker advertising
   a particular S-BFD Discriminator MUST originate a new Router Information
   LSA that no longer includes the corresponding S-BFD Discriminator TLV,
   provided there are other TLVs in the LSA.  If there are no other TLVs in
   the LSA, it MUST either send an empty Router Information LSA or purge it by
   prematurely aging it.
</t>

<t>For intra-area reachability, the S-BFD Discriminator TLV information
   regarding a specific target identifier is only considered current and
   usable when the router advertising that information is itself reachable
   via OSPF calculated paths in the same area of the LSA in which the
   S-BFD Discriminator TLV appears. In the case of domain&nbhy;wide
   flooding, i.e., where the originator is sitting in a remote area, the
   mechanism described in Section&nbsp;5 of <xref target="RFC5250" /> should
   be used.
</t>

<t>Although the S-BFD Discriminators may change when enabling the S-BFD
   functionality or via an explicit configuration event, such changes are
   expected to occur very rarely.  Such changes in information will
   require that the S-BFD Discriminator TLV in OSPF be advertised.
</t>

<t>A change in information in the S-BFD Discriminator TLV MUST NOT trigger
   any SPF computations at a receiving router.
</t>
</section>
</section>
    <section anchor="backward" title="Backward Compatibility">
<t>The S-BFD Discriminator TLV defined in this document does not introduce
   any interoperability issues. </t>

  <t>A router not supporting the S-BFD Discriminator TLV will just silently
  ignore the TLV, as specified in <xref target="RFC7770" />.
</t>
        </section>
    <section anchor="Security" title="Security Considerations">

<t>This document defines OSPF extensions to distribute the S-BFD Discriminator
   within an administrative domain.  Hence, the security of S-BFD
   Discriminator distribution relies on the security of OSPF.
</t>
<t>OSPF provides no encryption mechanism for protecting the privacy of
   LSAs and, in particular, the privacy of the S-BFD Discriminator
   advertisement information. However, this is not a concern, as there
   isn't any need to hide the Discriminator value that can be used to
   reach the reflectors.
</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
<t>IANA has defined a registry for TLVs carried in the Router Information LSA
   defined in <xref target="RFC7770" />.  IANA has assigned a new TLV
   codepoint (11) for the S-BFD Discriminator TLV in the "OSPF Router
   Information (RI) TLVs" registry.

<figure align="left"><preamble></preamble><artwork align="left">
     Value      TLV Name                 Reference
     -----      --------                 ----------
     11         S-BFD                    RFC 7884 
                Discriminator
</artwork></figure>
      </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">

<!-- draft-ietf-bfd-seamless-base (RFC 7880) -->
   <reference anchor="RFC7880"
	      target="http://www.rfc-editor.org/info/rfc7880">
     <front>
     <title>Seamless Bidirectional Forwarding Detection (S-BFD)</title>
     <author initials='C' surname='Pignataro' fullname='Carlos Pignataro'>
       <organization />
     </author>
     <author initials='D' surname='Ward' fullname='David Ward'>
       <organization />
     </author>
     <author initials='N' surname='Akiya' fullname='Nobo Akiya'>
       <organization />
     </author>
     <author initials='M' surname='Bhatia' fullname='Manav Bhatia'>
       <organization />
     </author>
     <author initials='S' surname='Pallagatti' fullname='Santosh Pallagatti'>
       <organization />
     </author>
     <date month='July' year='2016' />
     </front>
     <seriesInfo name='RFC' value='7880'/>
     <seriesInfo name="DOI" value="10.17487/RFC7880"/>
   </reference>

          <?rfc include="reference.RFC.2119"?>
          <?rfc include="reference.RFC.2328"?>
          <?rfc include="reference.RFC.5340"?>
          <?rfc include="reference.RFC.7770"?>
    </references>
    
    <references title="Informative References">
          <?rfc include="reference.RFC.5250"?>
    </references>

    <section title="Acknowledgements" numbered="no">
    <t>
    The authors would like to thank Nobo Akiya, Les Ginsberg, Mach Chen,
    and Peter Psenak for insightful comments and useful suggestions.
    </t>
    </section>
  </back>
</rfc>
