mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 19:37:46 +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_status next;
|
||||||
enum bgp_fsm_state_progress ret = 0;
|
enum bgp_fsm_state_progress ret = 0;
|
||||||
|
int fsm_result = FSM_PEER_NOOP;
|
||||||
struct peer *other;
|
struct peer *other;
|
||||||
int passive_conn = 0;
|
int passive_conn = 0;
|
||||||
int dyn_nbr;
|
int dyn_nbr;
|
||||||
|
|
||||||
/* default return code */
|
|
||||||
ret = FSM_PEER_NOOP;
|
|
||||||
|
|
||||||
other = peer->doppelganger;
|
other = peer->doppelganger;
|
||||||
passive_conn =
|
passive_conn =
|
||||||
(CHECK_FLAG(peer->sflags, PEER_STATUS_ACCEPT_PEER)) ? 1 : 0;
|
(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
|
/* The case when doppelganger swap accurred in
|
||||||
bgp_establish.
|
bgp_establish.
|
||||||
Update the peer pointer accordingly */
|
Update the peer pointer accordingly */
|
||||||
ret = FSM_PEER_TRANSFERRED;
|
fsm_result = FSM_PEER_TRANSFERRED;
|
||||||
peer = other;
|
peer = other;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2666,8 +2664,8 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
|||||||
* Opting for TRANSFERRED since transfer implies
|
* Opting for TRANSFERRED since transfer implies
|
||||||
* session establishment.
|
* session establishment.
|
||||||
*/
|
*/
|
||||||
if (ret != FSM_PEER_TRANSFERRED)
|
if (fsm_result != FSM_PEER_TRANSFERRED)
|
||||||
ret = FSM_PEER_TRANSITIONED;
|
fsm_result = FSM_PEER_TRANSITIONED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure timer is set. */
|
/* 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_fsm_change_status(peer, Idle);
|
||||||
bgp_timer_set(peer);
|
bgp_timer_set(peer);
|
||||||
}
|
}
|
||||||
ret = FSM_PEER_STOPPED;
|
fsm_result = FSM_PEER_STOPPED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return fsm_result;
|
||||||
}
|
}
|
||||||
/* BGP GR Code */
|
/* BGP GR Code */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user