summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_route.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_route.c')
-rw-r--r--bgpd/bgp_route.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 39aab2c3..46a8cb12 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -2723,9 +2723,11 @@ bgp_clear_node_complete (struct work_queue *wq)
{
struct peer *peer = wq->spec.data;
- /* Tickle FSM to start moving again */
- /* TODO: Clearing status */
- /* BGP_EVENT_ADD (peer, Clearing_Completed); */
+ /* Flush the event queue and ensure the peer is shut down */
+ bgp_peer_stop(peer);
+ BGP_EVENT_FLUSH (peer);
+ if (peer->status == Clearing)
+ peer_change_status (peer, Idle);
peer_unlock (peer); /* bgp_clear_route */
}