<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std"
     docName="draft-ietf-sidrops-ov-egress-04" number="8893" updates="6811"
     ipr="trust200902" obsoletes="" submissionType="IETF" xml:lang="en"
     sortRefs="true" symRefs="true" tocInclude="true" tocDepth="3"
     version="3" consensus="true"> 
  <!-- xml2rfc v2v3 conversion 2.44.0 -->
  <front>
    <title abbrev="RPKI Origin Validation for BGP Export">Resource Public Key Infrastructure (RPKI) Origin Validation for BGP Export</title> 

    <seriesInfo name="RFC" value="8893"/>
    <author fullname="Randy Bush" initials="R." surname="Bush">
      <organization>Internet Initiative Japan &amp; Arrcus</organization>
      <address>
        <postal>
          <street>5147 Crystal Springs</street>
          <city>Bainbridge Island</city>
          <region>WA</region>
          <code>98110</code>
          <country>United States of America</country>
        </postal>
        <email>randy@psg.com</email>
      </address>
    </author>
    <author fullname="Rüdiger Volk" initials="R." surname="Volk">
      <organization></organization>
      <address>
        <email>ietf@rewvolk.de</email>
      </address>
    </author>
    <author fullname="Jakob Heitz" initials="J. " surname="Heitz">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street>170 West Tasman Drive</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>United States of America</country>
        </postal>
        <email>jheitz@cisco.com</email>
      </address>
    </author>
    <date month="September" year="2020"/>

<keyword>routing</keyword>
<keyword>security</keyword>
<keyword>RPKI</keyword>

    <abstract>
      <t>A BGP speaker may perform Resource Public Key Infrastructure (RPKI)
      origin validation not only on 
    routes received from BGP neighbors and routes that are redistributed
    from other routing protocols, but also on routes it sends to BGP
    neighbors.  For egress policy, it is important that the
    classification use the 'effective origin AS' of the processed
    route, which may specifically be altered by the commonly available
    knobs, such as removing private ASes, confederation handling, and
    other modifications of the origin AS.  This document updates RFC 6811.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>This document does not change the protocol or semantics of <xref target="RFC6811" format="default"/>, BGP prefix origin validation.  It highlights an
    important use case of origin validation in external BGP (eBGP) egress policies,
    explaining specifics of correct implementation in this context.</t>
      <t>The term 'effective origin AS' as used in this document refers to
    the Route Origin Autonomous System Number (ASN) <xref target="RFC6811"
    format="default"/> of the UPDATE to be 
    sent to neighboring BGP speakers.</t>
      <t>The effective origin AS of a BGP UPDATE is decided by
    configuration and outbound policy of the BGP speaker.  A validating
    BGP speaker <bcp14>MUST</bcp14> apply Route Origin Validation policy semantics (see
    <xref target="RFC6811" sectionFormat="of" section="2"/> and <xref
    target="RFC8481" sectionFormat="of" section="4"/>)
    after applying any egress configuration and policy.</t>
      <t>This effective origin AS of the announcement might be affected by
    removal of private ASes, confederation <xref target="RFC5065" format="default"/>,
    migration <xref target="RFC7705" format="default"/>, etc.  Any AS_PATH modifications
    resulting in effective origin AS change <bcp14>MUST</bcp14> be taken into
    account.</t>
      <t>This document updates <xref target="RFC6811" format="default"/> by clarifying that
    implementations must use the effective origin AS to determine the
    Origin Validation state when applying egress policy.</t>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL 
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", 
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as 
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
    </section>

    <section anchor="reading" numbered="true" toc="default">
      <name>Suggested Reading</name>
      <t>It is assumed that the reader understands BGP <xref target="RFC4271"
      format="default"/>, the RPKI <xref target="RFC6480" format="default"/>,
      Route Origin Authorizations (ROAs) <xref target="RFC6482"
      format="default"/>, RPKI-based Prefix Validation <xref target="RFC6811"
      format="default"/>, and Origin Validation
    Clarifications <xref target="RFC8481" format="default"/>.</t>
    </section>

    <section anchor="all" numbered="true" toc="default">
      <name>Egress Processing</name>
      <t>BGP implementations supporting RPKI-based origin validation <bcp14>MUST</bcp14>
    provide the same policy configuration primitives for decisions based
    on the validation state available for use in ingress, redistribution,
    and egress policies.  When applied to egress policy, validation
    state <bcp14>MUST</bcp14> be determined using the effective origin AS of
    the route
    as it will (or would) be announced to the peer.  The effective
    origin AS may differ from that of the route in the RIB due to
    commonly available knobs, such as removal of private ASes, AS path
    manipulation, confederation handling, etc.</t>

      <t>Egress policy handling can provide more robust protection for
    outbound eBGP than relying solely on ingress (iBGP, eBGP, connected,
    static, etc.) redistribution being configured and working correctly
    -- i.e., better support for the robustness principle.</t>
    </section>
    <section anchor="impl" numbered="true" toc="default">
      <name>Operational Considerations</name>
      <t>Configurations may have a complex policy where the effective
    origin AS may not be easily determined before the outbound policies
    have been run.  It <bcp14>SHOULD</bcp14> be possible to specify a selective origin
    validation policy to be applied after any existing non-validating
    outbound policies.</t>
      <t>An implementation <bcp14>SHOULD</bcp14> be able to list announcements that were
    not sent to a peer, e.g., because they were marked Invalid, as long
    as the router still has them in memory.</t>
    </section>
    <section anchor="seccons" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document does not create security considerations beyond
    those of <xref target="RFC6811" format="default"/> and <xref
    target="RFC8481" format="default"/>.  By
    facilitating more correct validation, it attempts to improve BGP
    reliability.</t>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5065.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6482.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7705.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8481.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6480.xml"/>
      </references>
    </references>
    <section anchor="acks" numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>Thanks to reviews and comments from <contact fullname="Linda
      Dunbar"/>, <contact fullname="Nick Hilliard"/>,
    <contact fullname="Benjamin Kaduk"/>, <contact fullname="Chris Morrow"/>,
    <contact fullname="Keyur Patel"/>,
    <contact fullname="Alvaro Retana"/>, <contact fullname="Job Snijders"/>,
    <contact fullname="Robert Sparks"/>, and <contact fullname="Robert
    Wilton"/>.</t> 
    </section>
  </back>
</rfc>
