summaryrefslogtreecommitdiff
path: root/doc/code/conf.py
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2017-11-10 16:42:49 -0500
committerQuentin Young <qlyoung@cumulusnetworks.com>2017-11-30 16:18:06 -0500
commit9773a576bdb86b81a1190a515bf90cccfc3c3067 (patch)
tree77ab578f4bd5342d938acedfa21a0800f0c90eda /doc/code/conf.py
parent4af766600a3dc8779f09070c500ba0465eed74de (diff)
bgpd: restore packet input limit
Unfortunately, batching input processing severely impacts BGP initial convergence times. As a consequence of the way update-groups were implemented, advancing the state of the routing table based on prefixes learned from one peer prior to all (or at least most) peers establishing connections will cause us to start generating outbound UPDATEs, which is a very expensive operation at present. This intensive processing starves out bgp_accept(), delaying connection of additional peers. When additional peers do connect the problem gets worse and worse, yielding approximately exponential growth in convergence time dependent on both peering and prefix counts. This behavior is present pre-multithreading as well, but batched input exacerbates it. Round-robin input processing marginally harms convergence times for small topologies but should allow much larger topologies to function within reasonable performance thresholds. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'doc/code/conf.py')
0 files changed, 0 insertions, 0 deletions