<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC6514 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6514.xml">
<!ENTITY RFC7611 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7611.xml">
<!ENTITY RFC7761 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7761.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bess-bgp-mvpn-source-active-route-00" category="std" consensus="true" updates="6514" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BGP-MVPN Source Active Route Enhancement">BGP-MVPN Source Active Route Enhancement</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="R." surname="Parekh" fullname="Rishabh Parekh">
      <organization>Cisco</organization>
      <address>
        <email>riparekh@cisco.com</email>
      </address>
    </author>

    <date year="2024" month="February" day="29"/>

    <area>Routing</area>
    <workgroup>bess</workgroup>
    <keyword>extension header</keyword>

    <abstract>


<t>RFC6514 specifies the protocol and procedures for multicast in MPLS/BGP IP VPNs.
In the Any-Source Multicast (ASM) case, the section "14.  Supporting PIM-SM
without Inter-Site Shared C-Trees" specifies that the Provider Edge that
serves as a customer Rendezvous Point or runs Multicast Source Discovery
Protocol advertises Source Active (SA) routes for ASM flows
when it discovers those flows. This document describes a situation where an
optional enhancement to the advertisement of SA routes is desired and
specifies the procedures. It updates RFC6514.</t>



    </abstract>



  </front>

  <middle>


<section anchor="background"><name>Background</name>

<t>Section "14. Supporting PIM-SM without Inter-Site Shared C-Trees" of
<xref target="RFC6514"/> specifies one way of supporting Any-Source Multicast (ASM)
for Multicast Virtual Private VPN (MVPN), referred to as SPT-only mode
in this document.</t>

<t>Consider the following topology:</t>

<figure><artwork><![CDATA[
  source
    |
   CE1
    |
   PE1-------PE2 (c-rp)
     \       /
      \     /
        PE3
         |
        CE3
         |
      receiver
]]></artwork></figure>

<t>When a receiver connected to the Last Hop Router (LHR) CE3 joins an ASM
group, CE3 sends a (*, G) Protocol Independent Multicast (PIM) <xref target="RFC7611"/>
Join Messages to PE3, which is the upstream
router towards the Customer-Rendezvous-Point (C-RP) on PE2. PE3 does not
originate a (C-*, C-G) C-Multicast BGP route (an equivalent of the PIM (*, G)
join message). Rather, it only originates (C-S, C-G) C-multicast BGP routes
(equivalent of PIM (S, G) join messages) when different sources for the group
G are discovered.</t>

<t>When the source starts sending multicast traffic for the ASM group G, the First
Hop Router (FHR) CE1 sends a PIM Register message to the C-RP. PE2 then
originates a (C-S, C-G) Source Active (SA) BGP route to be imported by all
PEs for the VPN. As a result, PE3 originates a (C-S, C-G) C-multicast route
targeted at PE1 - the Upstream Multicast Hop (UMH) for the C-S. PE1 then sends
a corresponding (S, G) PIM join message towards CE1.</t>

<t><xref target="RFC6514"/> specifies the following situations where a PE originates SA routes:</t>

<figure><artwork><![CDATA[
"A PE can obtain information about active multicast sources within a
 given MVPN in a variety of ways.  One way is for the PE to act as a
 fully functional customer RP (C-RP) for that MVPN.  Another way is to
 use PIM Anycast RP procedures [PIM-ANYCAST-RP] to convey information
 about active multicast sources from one or more of the MVPN C-RPs to
 the PE.  Yet another way is to use MSDP [MSDP] to convey information
 about active multicast sources from the MVPN C-RPs to the PE."
]]></artwork></figure>

<t>In the above example, only PE2 will originate the SA routes. After the
signaling is done and traffic starts flowing, the LHR CE3 has the option of
sending a PIM (S, G) join message but it may choose not to.
</t>

<t>If PE3 does not have the (S, G) join from CE3, and the SA route from PE2 is
withdrawn/invalidated for whatever reason (e.g. the BGP session with PE2
goes down), PE3 will withdraw its (C-S, C-G) C-Multicast route and PE1
will stop sending traffic. This PE2-related failure should not have caused
traffic loss since it is not in the path at all.</t>

<t>This can be avoided if PE1 also originates the (C-S, C-G) SA route when it
receives the (C-S, C-G) C-multicast route.
When PE1 does not receive the (C-S, C-G) traffic for a while, it withdraws
its corresponding SA route, even though it still has the (C-S, C-G) C-multicast
route (otherwise the SA route and C-multicast route will stay forever).</t>

<t>As long
as there is any (C-S, C-G) SA route from any PE, PE3 will originate its
(C-S, C-G) C-Multicast Route targeting at the UMH PE of its own choice.
In the above example, while PE2 first originates the SA route, PE3 still targets
its C-Multicast route at PE1. When PE2's SA route is invalidated/withdrawn,
PE3 will keep its (C-S, C-G) C-Multicast route if the SA route from PE1
is present.</t>

</section>
<section anchor="specification"><name>Specification</name>

<t>This section specifies an optional enhancement to the origination of SA routes
in the SPT-only mode for supporting ASM.</t>

<t>Any PE that discovers a (C-S, C-G) flow on its PE-CE interfaces MUST originate
a corresponding (C-S, C-G) SA route, and MUST withdraw the route when the flow
is deemed no longer active.</t>

<t>Besides the methods of discovering a flow described in the
section 14 of <xref target="RFC6514"/> (as quoted earlier), a PE MAY use the its (C-S, C-G)
state for this purpose if the Reverse Path Forwarding (RPF) interface is a
PE-CE interface. The state may have been triggered by the arrival of traffic on
the PE-CE interface or by a corresponding (C-S, C-G) C-Multicast route.
when the (C-S, C-G) state is first created, the PE MAY immediately originate a
corresponding Source Active route without waiting for the arrival of the
traffic. When it stops receiving traffic for over the PIM Keepalive_Period
<xref target="RFC7761"/> or if the (C-S, C-G) state is deleted, it MUST withdraws the SA
route.</t>

<t>Note that while the Keepalive_Period value is used here, it does not require
the Keepalive Timer mechanism in <xref target="RFC7761"/>.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document does not introduce any security issues.</t>


</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC6514;
&RFC7611;
&RFC7761;


    </references>




  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA6VY25LbxhF9n6/oSA8hUwSlXSt2wiev6ZW0jqiwyJVdsuxK
gcCAHC+IgWcA0itF/57TPbhxL3ZSUVkWCcx095w+fbqHURSpxKam2M6orrLo
b0pVpsr1jL55tYwW3y/f0trWLtF0kVTmoGll60rTZbGLi0TvdVGpeLNx+vA/
bEhtUsR7uEhdnFXRx494tY022vtosy2j/aEsIi82olhsRI5tRM+fq7pM40r7
GX3517MXKsHnrXW3M/JVqpSv4iKNc1vA9K32qjQz+lDZZELeusrpzOPT7T58
SOyeg/E/K2VKN6PK1b46f/7878/PVex0PJPAgYs6AhoOTt0cZ6R/q3ThjS1o
p+NUO6We0qfZbGNNrl2ZIyDaJOXZi89KxXW1s7CsiCL8JTIFAv9xSj/yeeVJ
gAHf7a42g+fWwed3dWFK7eitro7W3Xh5o/exyWcUMPv6l7BkWuhKnbpZTWmJ
Y9zsBn5Wxu/izW74QhzNjU/s0LozpSz5OuE3U0ClVBRFFG985ZASpVYv55wB
8qVOTGa0p2qnqXQWcNuckAf+kui0dniXWUf7Oq9MEvsK8dFi+Wb9DHyhqyWB
MX6qrgqxcFHcRg19Ft2G0cV6MSZ81BNZ5DVYgQw8OXsxJVrXZYn0IlO0vFpE
64U6GgBfV3RVVNpFa4OcrHc4UErz6Npp7Z+cxB1XYnXp7MEgo3SZbrU8Vl67
A5bE+I8S0MPu8Xqli1R/PNja09KaogKG5OrCDwJuTvAto3fQ7lYtO2BSfK+M
h9XTKhmtL8YkNA9w4ciU5fbo1XGnCzIVpY01Dtl6Hd5O6XpnPKGiamYzpdon
zmw4aPKmqmMBCiacRlKULfl7nJPuy5EqK+fvQpOHNqP1RRsQe9DeMILIrLqX
9CbPU7qqqKlQahgyDczZmzTNNRfLN3Fys4Vd2FHrYSLv5ZH+izzaTH369KfG
1+fPg7xCBegY3/JBfG/5cX4pRr1/9r1xQC8HK8yBi5p1bcTqNp4QBEQ7DgPI
gRvr5XVki/yW9jbVyjCRBykBAHMLxWBmMVyZzZE4jqWypc3t9nampPaIguY1
X4j+3X6aX57df7i8PIvCn+XlOY2SyJXjbhX91Pz7rH/UPBs+YStfnHzv7Tee
f+e104kGdSGBPzBF4+4BtLUokNqAEB/6DUP62pahGTgavXm9GrN1+gUlBLIW
THjFvCgn8tyjypjEo5/+MqFXY+oq6ArVV3IJgqSDFIIyYwpU+OrLs7PPn9V3
loUGuh1vmamWzzpBKZhkx4TmsOoSeqbjvXIhrMoeY5eGd/Om3qO+3qNQ76N5
tFqOQTBYPJ+yWSQbLgpbKevM1hRMmJjXcfDzCOHPoz5W1j1xSCOcW/9ag2F5
U3MiRFeL9tiK4aF9OMR4SqsYC9yE5UAY17nz7G3dOdvfd+bV6NSVuFkLuEMv
fkyiOKnJwHJeG2gZZInjkyypV4RK7ERJp9OGBiLQocLQj13lJZXM9z4oNJEs
M0lnkcVOrNKroPAvjfOVGhLmZSDMWUcMDn+lt8bz6yb2lm6cIE7MOX8r1ACl
eIjTAwrc5wamNprMnpUDRN7cUpznannZ4wAxmNKFF+J7nG0iVHjM2TAp4kEB
na1m22hAqGaKxOq7hpMDcjMOo3eL1+PONcxOZQ+fL0Ci0KIsVMmXNsDd5JZx
Gua3IznARM4eUc9Tpeo6iW9bCZwPT9q1ikbLnlzwggT0tpsqhnNTIPR96Ebx
hkU9THYDUrQ0Y9XHjjgozRaLUMYsv/yQDrEzuhJZh7qj5dA/G6E3fWbgm6U5
qaR1B0NZnaNgsrpImhbYN/RlW9JhP9KxkNyiW1iut9Z8FYYkqn0oUjQTiRwG
BsPOB+5eF2/fzy/W17D6M4cCQTzo2yEKwdIfQJE5u5dGxvOTBe6NQggcHHIf
Uzg2Yn6vYfBu3BLyYv3tkj7w///vmO4F0fp/otpJDmawX/8W78scc5vIFVfk
0eR5Tx1Z2rEH5ZRVoU8qb7bIErNPmmmhZahslaORliwQNIgGeoq0jl0c+BuG
HR4RWgWKHxM92uDIENU9AEt2lscrQIhzTRWG++aq8JmPlgGYiWrcieaTaUTP
cCUgQ4yJBNtCllpZV+jQEDmaYRBebXQSc4YEjOW1bF7hX+aj03tb6c4WvxIH
rLp5XDbejaPcJnGuJAqO+lkXtbrKTpoUADoEX0MkJK9zbpGC8yAt4RXnzniZ
rXFtOxbPTIFeYnjYSyXQIwpHc/eHenngPtLT7VQMsahi4pVbE+9nW2prBZlj
MQ66KbxorSMXdzra4lQ8JUgIoJJtKOSyazMNRZrJGK4ip/MQJS43KFHymCrz
tIdCwE9Vy63cejQtg/GYKWFOklyiAbNeoxdAPMUDqxw6RXywmPFSMpkIc5x7
O1RIgXvQelpsm+leNbPTvYX32sY0tFn20SW02Xx377DNxjz5cCHiSC3KXjHM
p12jDWxC+iDd3NbbHW/yFSPd1tbDEapmrBH1ORp/Wt4Nd++ch5oMovIQJxNo
DGQV+iou8lsV/CFphrl/+yCGwk9+ubwccKnXGJxSPUKm8ONE6MSiEOEuiGYr
HS4TIoKkrAom0dNH1E2wlRLJeHK5m/geVI4uIBl8hhQ8QG8ZCabU5Pr8z32P
ZSQGtfesq8iJ6s5+o3X5xzVksgfr/EzBQwlOhNvLU1qHsSAJTSKwvr2D9yMD
N/vfuV62kARJ7jVfNZV1cosSyg6vbesFIrmQFIcO3d+GT6Ysbgg8mfPZl5fR
/BJQoaNAtRHh4t36uk/N/YHpPrWCGMq+Tpo42EHtyqQEr0ouyTgyC4twF1IY
uihC/0bzDTCwYa9RVam0ivYUoTlJ8O0NPm0kR7VIn73gHSfz2gjV8WttWdt0
7HKD2pmE2Wxx8Z7ajnLKA/6VrNLNqMOJrl3J/a4hw4orkOcbFrqX1vGsKOCs
li/HPZhSjuoOwiy5MvXDPndSEdeNZpAA+pZvCTxHS/04vlfnMtA0KgVqhSHi
xCaPPjx7P56re7yeqi4xg2UhLB4SpUITdCngNmnnRQbMoGGmBo+HNysc845C
ntwaWg0Lv1QcYyN8bQfR4TGRyq41/dD8psONyzfyPehdsp950d0H/4GCRsUf
9L+WYItNm7n9K9x1wQOsbtL30IFTnWs5KhyeULkVJ9XApt7aKvzy1Qgav77r
GRN4XotdbprE2iyWB80I10yn1clmujZ7uaclEAbj90zu4RGCzuikdgbDffuD
SbhzNIrT/8bVegJJnE3rRIv4+3a38b7mGYjoZHh7ymZBRIx61onR4RWn1BZK
zkNxWNL+djF0jGo7amn8T5H+m8Iec51uReVgbzhy/QdN2K0vVhcAAA==

-->

</rfc>

