<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ 
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC3392 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4360.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6480.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6482.xml">
<!ENTITY RFC6811 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6811.xml">
<!ENTITY RFC7606 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7606.xml">
<!ENTITY I-D.ietf-sidr-route-server-rpki-light SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sidr-route-server-rpki-light.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
 <?rfc toc="yes" ?>
 <?rfc symrefs="yes" ?>
 <?rfc sortrefs="yes"?> 
 <?rfc compact="yes" ?>
 <?rfc subcompact="no" ?>  
 <?rfc iprnotified="no" ?>
 <?rfc strict="no" ?>
  
 <rfc category="std" docName="draft-ietf-sidr-origin-validation-signaling-09" ipr="trust200902">

<front>
  <title abbrev="Prefix Origin Validation State Ext. Comm.">
  BGP Prefix Origin Validation State Extended Community</title>

  <author fullname="Pradosh Mohapatra" initials="P" surname="Mohapatra">
    <organization>Sproute Networks</organization>
    <address>
      <postal> 
        <street></street>
        <!-- Reorder these if your country does things differently -->
        <city></city>
        <region></region>
        <code></code>
        <country></country>
      </postal>
      <email>mpradosh@yahoo.com</email>
    </address>
  </author>

  <author fullname="Keyur Patel" initials="K" surname="Patel">
    <organization>Cisco</organization>
    <address>
      <postal> 
	<street>170 W. Tasman Drive </street>
	<city>San Jose</city>
	<region>CA</region>
	<code>95124</code> 
      </postal>
      <email>keyupate@cisco.com</email>
    </address>
  </author>

  <author fullname="John Scudder" initials="J" surname="Scudder">
    <organization>Juniper Networks</organization>
    <address>
      <postal> 
	<street>1194 N. Mathilda Ave </street>
	<city>Sunnyvale</city>
	<region>CA</region>
	<code>94089</code> 
      </postal>
      <email>jgs@juniper.net</email>
    </address>
    </author>

  <author fullname="Dave Ward" initials="D" surname="Ward">
    <organization>Cisco</organization>
    <address>
      <postal> 
	<street>170 W. Tasman Drive </street>
	<city>San Jose</city>
	<region>CA</region>
	<code>95124</code> 
      </postal>
      <email>dward@cisco.com</email>
    </address>
  </author>

  <author fullname="Randy Bush" initials="R" surname="Bush">
    <organization>Internet Initiative Japan, Inc.</organization>
    <address>
      <postal> 
	<street>5147 Crystal Springs </street>
	<city>Bainbridge Island</city>
	<region>Washington</region>
	<code>98110</code> 
      </postal>
      <email>randy@psg.com</email>
    </address>
  </author>


<date/>
   <area>Routing Area</area>
   <workgroup>SIDR</workgroup>
    <keyword>RFC</keyword>
     <keyword>Request for Comments</keyword>
     <keyword>I-D</keyword>
     <keyword>Internet-Draft</keyword>

<abstract>
  <t>
    This document defines a new BGP opaque 
    extended community to carry the origination AS validation state inside 
    an autonomous system. IBGP speakers that receive this validation state 
    can configure local policies allowing it to influence their decision process.
   </t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
    This document defines a new BGP opaque 
    extended community to carry the origination AS validation state inside 
    an autonomous system. IBGP speakers that receive this validation state 
    can configure local policies allowing it to influence their decision process.
</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 title="Origin Validation State Extended Community">
<t> 
  The origin validation state extended community is an opaque extended
  community <xref target="RFC4360"></xref>  with the following encoding:
</t>

<t>
<figure>
<artwork>
      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       0x43    |      0x00     |             Reserved          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    Reserved                   |validationstate|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

</artwork>
</figure>
 </t>

<t>
  The value of the high-order octet of the extended Type Field is 0x43,
  which indicates it is non-transitive.  The value of the low-order
  octet of the extended type field as assigned by IANA is 0x00.  The Reserved
  field MUST be set to 0 and ignored upon the receipt of this community. The last
  octet of the extended community encodes the route's validation
  state <xref target="RFC6811"></xref>.  It can assume the following values:
</t>

<t>
<figure>
<artwork>
                  +-------+-----------------------------+
                  | Value | Meaning                     |
                  +-------+-----------------------------+
                  |   0   | Lookup result = "valid"     |
                  |   1   | Lookup result = "not found" |
                  |   2   | Lookup result = "invalid"   |
                  +-------+-----------------------------+
</artwork>
</figure>
 </t>

<t>
  If the router is configured to support the extensions defined in this
  draft, it SHOULD attach the origin validation state extended
  community to BGP UPDATE messages sent to IBGP peers by mapping the
  computed validation state in the last octet of the extended
  community.  Similarly on the receiving IBGP speakers, the validation
  state of an IBGP route SHOULD be derived directly from the last octet
   of the extended community, if present.
</t>
<t>
  An implementation SHOULD NOT send more than one instance of the
  origin validation state extended community. However, if more than 
  one instance is received, an implementation MUST disregard all 
  instances other than the one with the numerically-greatest validation state value.
  If the value received is greater than the largest specified value
  (2), the implementation MUST apply a strategy similar to attribute
  discard <xref target="RFC7606"/> by discarding the erroneous community
  and logging the error for further analysis.
</t>
<t>
  By default, implementations SHOULD drop the origin validation state
  extended community if received from an EBGP peer, without further
  processing it. Similarly, by default an implementation SHOULD NOT send
  the community to EBGP peers. However it SHOULD be possible to
  configure an implementation to send or accept the community when
  warranted. An example of a case where the community would reasonably
  be received from, or sent to, an EBGP peer is when two adjacent ASes
  are under control of the same administration. A second example is
  documented in <xref target="I-D.ietf-sidr-route-server-rpki-light"></xref>.
</t>

</section>


<section title="Deployment Considerations">
<t>
  In deployment scenarios where not all the speakers in an autonomous
  system are upgraded to support the extensions defined in this
  document, it is necessary to define policies that match on the origin
  validation extended community and set another BGP attribute <xref target="RFC6811"></xref>
  that influences the best path selection the same way as what would
  have been enabled by an implementation of this extension.
</t>
</section>

<section title="Acknowledgements">
<t>   
  The authors would like to acknowledge the valuable review and
  suggestions from Wesley George, Roque Gagliano and Bruno Decraene 
  on this document.
</t>
</section>

<section anchor="IANA" title="IANA Considerations">
  <t>
	IANA has assigned the value 0x00 from the "Non-Transitive Opaque
	Extended Community Sub-Types" registry.  The value is called
	"BGP Origin Validation State Extended Community".
  </t>
</section>

<section title="Security Considerations">
<t>
This document introduces no new security concerns beyond what is
   described in <xref target="RFC6811"></xref>.
</t>
</section>

</middle>
<back>
   <references title="Normative References">
     &RFC2119;
     &RFC3392;
     &RFC4271;
     &RFC6811;
     &RFC7606;
   </references>
   
   <references title="Informative References">
 	 &I-D.ietf-sidr-route-server-rpki-light;
   </references>
</back>
</rfc>
