|
|
|
|
@ -84,12 +84,12 @@ static void route_bgp_broadcast_withdraw(struct ROUTE_BGP* bgp, uint64_t node_id
|
|
|
|
|
} |
|
|
|
|
struct NODEINFO_Q* nq = route_bgp_get_node(bgp, node_id); |
|
|
|
|
if (!nq) { |
|
|
|
|
DEBUG_WARN(DEBUG_CATEGORY_BGP, "node not found"); |
|
|
|
|
return; |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_BGP, "node not found for broadcast (already purged)"); |
|
|
|
|
nq = NULL; |
|
|
|
|
} |
|
|
|
|
if (wd_source != 0 && nq->paths) { |
|
|
|
|
if (nq && wd_source != 0 && nq->paths) { |
|
|
|
|
} |
|
|
|
|
if (nq->paths && queue_entry_count(nq->paths) == 0) { |
|
|
|
|
if (nq && nq->paths && queue_entry_count(nq->paths) == 0) { |
|
|
|
|
if (bgp->instance && bgp->instance->rt) route_delete(bgp->instance->rt, nq); |
|
|
|
|
nq->dirty = 1; |
|
|
|
|
} |
|
|
|
|
|