Currently, when accepting the connection, it can be left as zombie, when the peer just initiates a connection, but never sends data (and the TCP connection end packets are lost). This happens because for accepted connections a temporary new peer entry is created until OPEN message is exchanged, and this temporary peer entry does not get the hold time parameter set at all. Signed-off-by: Timo Teras --- bgpd/bgp_network.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 5dbd487..9a4c36d 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -185,6 +185,8 @@ bgp_accept (struct thread *thread) peer->fd = bgp_sock; peer->status = Active; peer->local_id = peer1->local_id; + peer->v_holdtime = peer1->v_holdtime; + peer->v_keepalive = peer1->v_keepalive; /* Make peer's address string. */ sockunion2str (&su, buf, SU_ADDRSTRLEN); -- 1.5.6.3