When we learn a route for example 10.1.44.0/23 via both an l3vpn table L3vpn-test.inet.0 & from the IBGP RR and then we remove/deactivate the vrf neighbor and/or the the protocols for the VRF:
deactivate routing-instances L3vpn-test.inet.0
We still see the route in the table (even after waiting for a few mins):
user@lab> show route 10.1.44.0/23 table L3vpn-test.inet.0
L3vpn-test.inet.0: 20 destinations, 160 routes (81 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.1.44.0/23 [BGP/170] 00:59:54, localpref 100, from 1.1.1.1
AS path: 1111 2222 3333 4444 I, validation-state: unverified
> to 3.3.3.3 via ae2.0, Push 34, Push 523350(top)
We behavior might be seen if BGP sharding is enabled:
set system processes routing bgp rib-sharding number-of-shards 2set system processes routing bgp update-threading number-of-threads 2
Fixed in PR1849202:
https://prsearch.juniper.net/PR1849202