summaryrefslogtreecommitdiff
path: root/bgpd/bgp_fsm.c
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2007-06-22 19:11:14 +0000
committerPaul Jakma <paul.jakma@sun.com>2007-06-22 19:11:14 +0000
commit536792cd883439237c4098f925ea6921122d12ef (patch)
tree5ba9e4a51c477046ce90aa24af08331053030225 /bgpd/bgp_fsm.c
parent11770e10861ccb684b608396c798aea9da05a1a2 (diff)
[bgpd] bug #368: Fix possible loop between peers going Idle<->OpenSent
2007-06-22 Paul Jakma <paul.jakma@sun.com> * bgp_fsm.c: (struct FSM) Bug #368. TCP Errors during OpenSent should cycle to Active, not to Idle or else peer bringup can race and cycle Idle<->Active. Reported and fix tested by Mukesh Agrawal.
Diffstat (limited to 'bgpd/bgp_fsm.c')
-rw-r--r--bgpd/bgp_fsm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index db7e69af..15bd8a6c 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -963,10 +963,10 @@ struct {
/* OpenSent, */
{bgp_ignore, OpenSent}, /* BGP_Start */
{bgp_stop, Idle}, /* BGP_Stop */
- {bgp_stop, Idle}, /* TCP_connection_open */
+ {bgp_stop, Active}, /* TCP_connection_open */
{bgp_stop, Active}, /* TCP_connection_closed */
- {bgp_ignore, Idle}, /* TCP_connection_open_failed */
- {bgp_stop, Idle}, /* TCP_fatal_error */
+ {bgp_stop, Active}, /* TCP_connection_open_failed */
+ {bgp_stop, Active}, /* TCP_fatal_error */
{bgp_ignore, Idle}, /* ConnectRetry_timer_expired */
{bgp_fsm_holdtime_expire, Idle}, /* Hold_Timer_expired */
{bgp_ignore, Idle}, /* KeepAlive_timer_expired */