Receive/export route limit behaviour?

Guillaume LUCAS glucas+bird at glucas.fr
Sun Apr 8 19:55:11 CEST 2018


Le 06/04/2018 à 00:23, Jonathan Stewart a écrit :
> I'm not sure the BIRD logic, but it sounds like you're saying:
> 
> - send static
> *and*
> - send all provider A routes
> *and*
> - send all provider B routes

I understand: send my static and send all provider A *best* routes and
send all provider B *best* routes. For me, the BGP path selection should
take place before the redistribution to my peers (iBGP and downstreams).
 Maybe I'm wrong?


> These would total more than a million routes.

If you were right, why does it work when I set "export limit 770000
action disable" but not when I set "export limit 700000" or "export
limit 750000"? "It works" means that the BGP session has not been
disabled for a week.


> (alternately, you're getting different routes from each of your providers,
> so if you add them together and remove the duplicates, you have more than
> 700k routes.  I have more than 700k routes in my default-free zone)

It seems not:

  # birdc sh route protocol bgp_upstream1 | grep -Po "[0-9./]+(?=[
]+via)" > bgp_upstream1

  # birdc sh route protocol bgp_upstream2 | grep -Po "[0-9./]+(?=[
]+via)" > bgp_upstream2

  # birdc sh route export bgp_downstream | wc -l
683219

  # wc -l bgp_upstream1 bgp_upstream2
  679509 bgp_upstream1
  682975 bgp_upstream2
 1362484 total

  # sort -n bgp_upstream1 bgp_upstream2 | uniq | wc -l
683218
  ^ gap is the static route.


As I have said in my first mail, I have a gap of approximately 3500-4000
different routes between my two upstreams (add routes and remove
duplicates routes), less than my filter:

  # sort -n bgp_upstream1 bgp_upstream2 | uniq -c | grep -E "^[ ]+1 " |
wc -l
3952


How is it possible that the sum of routes received from my upstreams
minus duplicates ones exceeds 750k when I use "receive limit 700000" on
each upstream? This would mean that an upstream sometimes removes
correct routes before inserting rogue or disaggregated ones. If not, the
"receive limit" on upstreams would be effective. I'm stuck on this point.


More information about the Bird-users mailing list