[j-nsp] BGP output queue priorities between RIBs/NLRIs
Rob Foehl
rwf at loonybin.net
Mon Jul 27 23:05:44 EDT 2020
Anyone know the secret to getting BGP output queue priorities working
across multiple NLRIs?
Had trouble with EVPN routes getting stuck behind full refreshes of the v4
RIB, often for minutes at a time, which causes havoc with the default DF
election hold timer of 3 seconds. Bumping those timers up to tens of
minutes solves this, but... poorly.
The documentation[1] says:
"In the default configuration, that is, when no output-queue-priority
configuration or policy that overrides priority exists, the routing
protocol process (rpd) enqueues BGP routes into the output queue per
routing information base (RIB). [...] While processing output queues, the
BGP update code flushes the output queue for the current RIB before moving
on to the next RIB that has a non-empty output queue."
I've tried about a dozen combinations of options, and cannot get any other
result with inet/evpn routes in the same session -- inet.0 routes always
arrive ahead of *.evpn.0. Am I missing something[2], or is that text not
quite accurate?
-Rob
[1] https://www.juniper.net/documentation/en_US/junos/topics/topic-map/bgp-route-prioritization.html
[2] Highlight reel of failed attempts, all on 19.2R2 thus far:
- "show bgp output-scheduler" is empty without top-level "protocols bgp
output-queue-priority" config, regardless of anything else
- Top-level "protocols bgp family evpn signaling" priority config -- and
nothing else within that stanza -- broke every v6 session on the box,
even with family inet6 explicitly configured under those groups
- Per-group family evpn priority config would show up under "show bgp
group output-queues" and similar, but adding family inet would cause the
NLRI evpn priority output to disappear
- Policy-level adjustments to any of the above had no effect between NLRIs
- "show bgp neighbor output-queue" output always looks like this:
Peer: x.x.x.x+179 AS 20021 Local: y.y.y.y+52199 AS n
Output Queue[1]: 0 (inet.0, inet-unicast)
Peer: x.x.x.x+179 AS 20021 Local: y.y.y.y+52199 AS n
Output Queue[2]: 0 (bgp.evpn.0, evpn)
...which seems to fit the default per-RIB behavior as described.
More information about the juniper-nsp
mailing list