summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_advertise.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 02:58:12 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 02:58:12 +0200
commitd889623f1ac5e14d761a0cb7896d33cfdc4f3615 (patch)
treed4c718a71ec390cf20557ccf3e7929ee7f3042b4 /bgpd/bgp_advertise.h
parentClarify the different permutations of soft clearing a peer (diff)
downloadfrr-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.h3
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 *);