diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/ChangeLog | 7 | ||||
-rw-r--r-- | bgpd/bgp_fsm.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index b2191d48..a871f421 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -1,3 +1,10 @@ +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. + 2007-05-25 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_default_originate) Sanity check added 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 */ |