bgpd: uncork after each write

Keep data flowing, uncork after each BGP_WRITE_PACKET_MAX.
This makes TCP send data sooner, since thread may not be scheduled
again for a a longish time because of new UPDATE's coming in.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
Stephen Hemminger 2013-01-11 18:27:23 +00:00 committed by David Lamparter
parent d61c1bbd4b
commit 3a69f74a0a

View File

@ -677,7 +677,8 @@ bgp_write (struct thread *thread)
/* Flush any existing events */
BGP_EVENT_ADD (peer, BGP_Stop);
return 0;
goto done;
case BGP_MSG_KEEPALIVE:
peer->keepalive_out++;
break;
@ -698,9 +699,9 @@ bgp_write (struct thread *thread)
if (bgp_write_proceed (peer))
BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
else
sockopt_cork (peer->fd, 0);
done:
sockopt_cork (peer->fd, 0);
return 0;
}