MVPN RT communities are not stripped off at PE-CE link between ASBRs in Inter-AS Option-A
By default, in Inter-AS option-A deployment, routes communities are not stripped before advertising. If this is desired, a route-policy can be applied to achieve this.
Topology [S, G - 10.1.11.1, 232.252.5.5]:
Source ------ PE1 ------ P1 ------- ASBR1 [AS64514] ----- Option A with MVPN & PIM ------ [AS64515] ASBR2 --- P2 --- PE5 ------- Receiver
Lo0 addresses:
PE1 - 172.31.11.11
P1 - 10.1.1.1
ASBR1 - 10.10.10.10
ASBR2 - 172.31.20.0
P2 - 10.2.2.2
PE5 - 172.31.55.55
user@PE5_RE# run show route table CUST.mvpn.0 match-prefix "7:*" extensive
CUST.mvpn.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden)7:20.20.20.20:20:64514:32:10.1.11.1:32:232.252.5.5/240 (1 entry, 1 announced) *PIM Preference: 105 Next hop type: Multicast (IPv4) Composite, Next hop index: 1048579 Address: 0x7a9b7c4 Next-hop reference count: 12 Kernel Table Id: 0 State: <Active Int Ext> Age: 57:49 Metric: 0 Validation State: unverified Task: PIM.CUST Announcement bits (3): 0-PIM.CUST 1-mvpn global task 2-rt-export AS path: I Communities: target:172.31.20.0:8 Thread: junos-main
Mcast source extended community details for source route 10.1.11.1:
user@PE1_RE# run show route advertising-protocol bgp 10.1.1.1 extensive 10.1.11.1 | match communi Communities: target:64514:64515 src-as:64514:0 rt-import:172.31.11.11:8
user@ASBR1_RE# run show route 10.1.11.1 extensive | match communit Communities: target:64514:64515 src-as:64514:0 rt-import:172.31.11.11:8 Communities: target:64514:64515 src-as:64514:0 rt-import:172.31.11.11:8
user@ASBR2_RE# run show route advertising-protocol bgp 10.2.2.2 extensive 10.1.11.1 | match communit Communities: target:64514:64515 src-as:64514:0 src-as:64515:0 rt-import:172.31.20.0:8 rt-import:172.31.11.11:8
user@PE5_RE# run show route extensive 10.1.11.1 | match communit Communities: target:64514:64515 src-as:64514:0 src-as:64515:0 rt-import:172.31.20.0:8 rt-import:172.31.11.11:8 Communities: target:64514:64515 src-as:64514:0 src-as:64515:0 rt-import:172.31.20.0:8 rt-import:172.31.11.11:8
rt-import is a VRF route import extended community auto-generated for internal use, specifically for importing c-multicast [c - Customer] in NG-MVPN. Please check out the document below for more details.
https://www.juniper.net/documentation/us/en/software/junos/multicast/topics/concept/src-as-rt-import-communities-generating.html
PR609303 outlines the default behaviour. In NG-MVPN, there is rt-import selection, and community honouring will be based on the order in which it was received
[i.e. whichever is received first will be selected/honoured]. This may sometimes result in incorrect source_PE rt-import community selection, leaving receivers unable to receive multicast flows. For more details, refer KB108167 [juniper.net]If this is not desired, a route-policy such as below can be applied to strip it:
set policy-options policy-statement import_lt_route term 1 from protocol bgp
set policy-options policy-statement import_lt_route term 1 then community delete rt-import-delete
set policy-options community rt-import-delete members rt-import:*:*
set routing-instances Default_VPN_Export protocols bgp group lt-ebgp import import_lt_route
The policy shared above strips the internal rt-import community it receives from its EBGP neighbour, then affixes its own rt-import and advertises the routes within its autonomous system, so it only targets and strips all communities that start with "rt-import:anything:anything" when importing routes.
After the above route-policy config application on ASBR2, it now advertises the Mcast source without PE1's rt-import community:
user@ASBR2_RE# show | display set | match "import_lt_route|rt-import-delete"
set groups OPT_A policy-options policy-statement import_lt_route term 1 from protocol bgp
set groups OPT_A policy-options policy-statement import_lt_route term 1 then community delete rt-import-delete
set groups OPT_A policy-options community rt-import-delete members rt-import:*:*
set groups OPT_A routing-instances OPT_A protocols bgp group ASBR import import_lt_route
user@ASBR2_RE# run show route advertising-protocol bgp 10.2.2.2 extensive 10.1.11.1 | match communit
Communities: target:64514:64515 src-as:64514:0 src-as:64515:0 rt-import:172.31.20.0:8