diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:58:12 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:58:12 +0200 |
commit | d889623f1ac5e14d761a0cb7896d33cfdc4f3615 (patch) | |
tree | d4c718a71ec390cf20557ccf3e7929ee7f3042b4 /bgpd/bgp_advertise.h | |
parent | Clarify the different permutations of soft clearing a peer (diff) | |
download | frr-d889623f1ac5e14d761a0cb7896d33cfdc4f3615.tar.xz frr-d889623f1ac5e14d761a0cb7896d33cfdc4f3615.zip |
Changes to improve BGP convergence time:
- Schedule write thread for advertisements and withdraws only if corresponding
FIFOs are growing and/or upon work_queue getting fully processed.
- Set non-default yield time for the main work_queue, as the default value
of 10ms results in yielding after processing very few nodes.
- Remove unnecessary scheduling of write thread when update packet is formed.
- If MRAI is 0, don't start a timer unnecessarily, directly schedule write
thread.
- Some debugs.
Diffstat (limited to 'bgpd/bgp_advertise.h')
-rw-r--r-- | bgpd/bgp_advertise.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgp_advertise.h b/bgpd/bgp_advertise.h index 672d42d8c..36ab57698 100644 --- a/bgpd/bgp_advertise.h +++ b/bgpd/bgp_advertise.h @@ -146,6 +146,9 @@ struct bgp_synchronize (F)->count = 0; \ } while (0) +#define BGP_ADV_FIFO_COUNT(F) \ + (F)->count + /* Prototypes. */ extern void bgp_adj_out_set (struct bgp_node *, struct peer *, struct prefix *, struct attr *, afi_t, safi_t, struct bgp_info *); |