summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2013-06-01 18:21:46 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2013-06-01 18:21:46 +0000
commit3585cd6d180749a95d7d73a0d91007ec72552324 (patch)
tree2f575d45a20b5b31e14a083883e8d80c58f43e46 /usr.sbin
parent2076baea62b2344c9604e5f404b38ac9f906efce (diff)
After sending a keepalive message in the OPENSENT state, we must move to
the OPENREC state and wait for a keepalive before considering the session as established Another bug fix by Renato Westphal
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ldpd/neighbor.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/usr.sbin/ldpd/neighbor.c b/usr.sbin/ldpd/neighbor.c
index b189ad6a2e9..f1958488b04 100644
--- a/usr.sbin/ldpd/neighbor.c
+++ b/usr.sbin/ldpd/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.28 2013/06/01 18:16:35 claudio Exp $ */
+/* $OpenBSD: neighbor.c,v 1.29 2013/06/01 18:21:45 claudio Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -103,7 +103,7 @@ struct {
{NBR_STA_OPENREC, NBR_EVT_KEEPALIVE_RCVD, NBR_ACT_SESSION_EST, NBR_STA_OPER},
/* Active Role */
{NBR_STA_PRESENT, NBR_EVT_INIT_SENT, NBR_ACT_NOTHING, NBR_STA_OPENSENT},
- {NBR_STA_OPENSENT, NBR_EVT_INIT_RCVD, NBR_ACT_KEEPALIVE_SEND, NBR_STA_OPER},
+ {NBR_STA_OPENSENT, NBR_EVT_INIT_RCVD, NBR_ACT_KEEPALIVE_SEND, NBR_STA_OPENREC},
/* Session Maintenance */
{NBR_STA_OPER, NBR_EVT_PDU_RCVD, NBR_ACT_RST_KTIMEOUT, 0},
/* Session Close */
@@ -193,12 +193,8 @@ nbr_fsm(struct nbr *nbr, enum nbr_event event)
send_keepalive(nbr);
break;
case NBR_ACT_KEEPALIVE_SEND:
- nbr_act_session_operational(nbr);
- nbr_start_ktimer(nbr);
nbr_start_ktimeout(nbr);
send_keepalive(nbr);
- send_address(nbr, NULL);
- nbr_send_labelmappings(nbr);
break;
case NBR_ACT_CLOSE_SESSION:
ldpe_imsg_compose_lde(IMSG_NEIGHBOR_DOWN, nbr->peerid, 0,