mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 02:46:37 +00:00
bgpd: bgp_event_update mixes enum's with a non-enum
Straighten out the code to not mix the two. Especially since bgp was assigning non enum values to the enum. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
420b8ed540
commit
8dd97a7404
@ -2614,13 +2614,11 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
||||
{
|
||||
enum bgp_fsm_status next;
|
||||
enum bgp_fsm_state_progress ret = 0;
|
||||
int fsm_result = FSM_PEER_NOOP;
|
||||
struct peer *other;
|
||||
int passive_conn = 0;
|
||||
int dyn_nbr;
|
||||
|
||||
/* default return code */
|
||||
ret = FSM_PEER_NOOP;
|
||||
|
||||
other = peer->doppelganger;
|
||||
passive_conn =
|
||||
(CHECK_FLAG(peer->sflags, PEER_STATUS_ACCEPT_PEER)) ? 1 : 0;
|
||||
@ -2651,7 +2649,7 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
||||
/* The case when doppelganger swap accurred in
|
||||
bgp_establish.
|
||||
Update the peer pointer accordingly */
|
||||
ret = FSM_PEER_TRANSFERRED;
|
||||
fsm_result = FSM_PEER_TRANSFERRED;
|
||||
peer = other;
|
||||
}
|
||||
|
||||
@ -2666,8 +2664,8 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
||||
* Opting for TRANSFERRED since transfer implies
|
||||
* session establishment.
|
||||
*/
|
||||
if (ret != FSM_PEER_TRANSFERRED)
|
||||
ret = FSM_PEER_TRANSITIONED;
|
||||
if (fsm_result != FSM_PEER_TRANSFERRED)
|
||||
fsm_result = FSM_PEER_TRANSITIONED;
|
||||
}
|
||||
|
||||
/* Make sure timer is set. */
|
||||
@ -2698,10 +2696,10 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
||||
bgp_fsm_change_status(peer, Idle);
|
||||
bgp_timer_set(peer);
|
||||
}
|
||||
ret = FSM_PEER_STOPPED;
|
||||
fsm_result = FSM_PEER_STOPPED;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return fsm_result;
|
||||
}
|
||||
/* BGP GR Code */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user