From f23a7bf289e805e2514f464b933001e1ecf34674 Mon Sep 17 00:00:00 2001 From: vivek Date: Wed, 8 Jun 2016 18:14:17 -0700 Subject: [PATCH] bgpd: Do not process workqueue upon instance delete During instance cleanup, an earlier patch walked the workqueue in order to process queued routes of the instance. However, since the workqueue is not per instance, the code walks and immediately processes all routes across all instances. This may not be ideal in the presence of VRFs, when multiple instances will be a fact. Revert that part of the change from earlier patch. This needs to be revisited later for a better solution. Signed-off-by: Vivek Venkatraman Updates: bb86c6017eccd03ea1554c7bdef5949cf676f208 --- bgpd/bgpd.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index eda43d2b60..c5587c2608 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2035,9 +2035,6 @@ peer_delete (struct peer *peer) peer->domainname = NULL; } - if (CHECK_FLAG(bgp->flags, BGP_FLAG_DELETING)) - bgp_peer_clear_node_queue_drain_immediate(peer); - peer_unlock (peer); /* initial reference */ return 0; @@ -3100,15 +3097,6 @@ bgp_delete (struct bgp *bgp) /* TODO - Other memory may need to be freed - e.g., NHT */ - /* - * Free pending deleted routes. Unfortunately, it also has to process - * all the pending activity for other instances of struct bgp. - * - * This call was added to achieve clean memory allocation at exit, - * for the sake of valgrind. - */ - bgp_process_queues_drain_immediate(); - /* Remove visibility via the master list - there may however still be * routes to be processed still referencing the struct bgp. */ -- 2.39.5