summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_network.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2017-06-08 23:14:18 +0200
committerQuentin Young <qlyoung@cumulusnetworks.com>2017-11-30 22:18:01 +0100
commitb750b0ba76767ce5eed186cdb53c44001d08a7ef (patch)
tree1c3b749def6e669e967ed5d5683cab4c29f1e639 /bgpd/bgp_network.c
parentbgpd: bye bye THREAD_BACKGROUND (diff)
downloadfrr-b750b0ba76767ce5eed186cdb53c44001d08a7ef.tar.xz
frr-b750b0ba76767ce5eed186cdb53c44001d08a7ef.zip
bgpd: small i/o threading improvements
* Start bit flags at 1, not 2 * Make run-flags atomic for i/o thread * Remove work_cond mutex, it should no longer be necessary * Add asserts to ensure proper ordering in bgp_connect() * Use true/false with booleans, not 1/0 Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r--bgpd/bgp_network.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index 0d7680ea5..bf39cbe1f 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -550,6 +550,8 @@ static int bgp_update_source(struct peer *peer)
/* BGP try to connect to the peer. */
int bgp_connect(struct peer *peer)
{
+ assert(!CHECK_FLAG(peer->thread_flags, PEER_THREAD_WRITES_ON));
+ assert(!CHECK_FLAG(peer->thread_flags, PEER_THREAD_READS_ON));
ifindex_t ifindex = 0;
if (peer->conf_if && BGP_PEER_SU_UNSPEC(peer)) {