When a VRF reached configured maximum number of route prefixes, it will reject new prefixes from peer/RR, this is expected behavior.
But after the VRF prefixes drops below configured maximum number of route prefixes (In this sample max# 15,000 routes for the VRF), But client mx960 still did not accept new routes which were rejected before.
$zgrep l3vpn-vrf messages*.gz | sort -k2
messages.19.gz:Jun 17 10:00:00.021 mx960 rpd[13077]: %DAEMON-3-RPD_RT_PREFIX_LIMIT_REACHED: Number of prefixes (15000) in table l3vpn-vrf.inet.0 reached configured maximum (15000)
messages.19.gz:Jun 17 10:00:00.021 mx960. rpd[13077]: %DAEMON-4-RPD_RT_PREFIX_LIMIT_BELOW: Number of prefixes (14999) in table l3vpn-vrf.inet.0 is now less than the configured maximum (15000)
..
For this KB sample, Later customer changed VRF max# prefixes from 15000 to 20000 with routes below 15000, But mx960 side did not accept them.
On RR01 we can see it advertised 2 routes 10.183.246.44/30 and 10.194.177.0/28 to mx960.
/// RR advertised those 2 prefixes (not hidden) with correct community to be accepted on PE/mx960 peer 10.105.236.196.
user@RR01> show route advertising-protocol bgp 10.105.236.196 | match 65000:1234567
65000:1234567:10.183.246.44/30
65000:1234567:10.194.177.0/28
/// PE did not accept those 2 prefixes from peer RR01 10.24.196.81
{master}
user@mx960> show route receive-protocol bgp 10.24.196.81 rd-prefix 65000:1234567:10.183.246.44/30
Jun 26 21:53:33
user@mx960> show route receive-protocol bgp 10.24.196.81 rd-prefix 65000:1234567:10.194.177.0/28
Jun 26 21:57:55
user@mx960>
We found this behavior is also expected behavior, when the limit is reached and routes are rejected, BGP may not reinstall the rejected routes after the number of routes drops back below the limit and BGP sessions may need to be cleared.
For this VRF scenario bounced the affected L3VPN VRF (deactivate then activate the affected VRF in configure) solved the issue.
/// From below Juniper document - if max# prefix-limit reached, any additional routes are rejected.
https://www.juniper.net/documentation/us/en/software/junos/cli-reference/topics/ref/statement/maximum-prefixes-edit-routing-options.html
"prefix-limit—Maximum number of route prefixes. If this limit is reached, a warning is triggered and any additional routes are rejected."
/// From below document, When the limit is reached and routes are rejected, BGP may not reinstall the rejected routes after the number of routes drops back below the limit.
https://www.juniper.net/documentation/us/en/software/junos/vpn-l3/topics/topic-map/l3-vpns-limiting-route-resolution.html
"
There are two modes for route limits: advisory and mandatory. An advisory limit triggers warnings. A mandatory limit rejects additional routes after the limit is reached.
Note:
Application of a route limit may result in unpredictable dynamic routing protocol behavior.
For example, when the limit is reached and routes are rejected, BGP may not reinstall the rejected routes after the number of routes drops back below the limit.
BGP sessions may need to be cleared."