Description

MVPN RT communities are not stripped off at PE-CE link between ASBRs in Inter-AS Option-A

Symptoms

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

 

 

 

Solution

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

Modification History

2026-04-03 : Article Created