From: Vipin Kumar Date: Thu, 9 Jan 2014 00:31:22 +0000 (+0000) Subject: bgpd: fix O_NONBLOCK on outgoing connects X-Git-Tag: frr-2.0-rc1~1595 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=48fc05fb7e6ee44db9f73f3194bfd4738b7f9dc1;p=matthieu%2Ffrr.git bgpd: fix O_NONBLOCK on outgoing connects BGP was setting sockets to be non-blocking only for the accepted passive peers. As a fix, setting the BGP sockets to be non-blocking even for the active peers. Signed-off-by: Vipin Kumar Reviewed-by: Pradosh Mohapatra Reviewed-by: Dinesh Dutt [DL: patch split, this is item 1.] Signed-off-by: David Lamparter --- diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 79d5d27d0f..bcaaba759b 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -306,6 +306,8 @@ bgp_connect (struct peer *peer) if (peer->fd < 0) return -1; + set_nonblocking (peer->fd); + /* If we can get socket for the peer, adjest TTL and make connection. */ if (peer->sort == BGP_PEER_EBGP) { sockopt_ttl (peer->su.sa.sa_family, peer->fd, peer->ttl);