mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-15 21:41:56 +00:00
TMP: krt hints:
This commit is contained in:
parent
565cb46582
commit
27478065df
@ -896,17 +896,27 @@ krt_shutdown(struct proto *P)
|
|||||||
/* FIXME we should flush routes even when persist during reconfiguration */
|
/* FIXME we should flush routes even when persist during reconfiguration */
|
||||||
if (p->initialized && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN))
|
if (p->initialized && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN))
|
||||||
{
|
{
|
||||||
p->sync_state = KPS_FLUSHING;
|
rt_export_feeder req; /* init z P->main_channel->table, na export_best */
|
||||||
channel_request_full_refeed(p->p.main_channel);
|
...;
|
||||||
|
|
||||||
|
RT_FEED_WALK(req, f) /* look at rt-show.c for example */
|
||||||
|
{
|
||||||
|
for (...)
|
||||||
|
rte *e = &f->block[i];
|
||||||
|
/* check bmap_test(P->main_channel->export_rejected_map, e->id)
|
||||||
|
* if 0, then never exported (can be skipped)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* if exported then delete from kernel */
|
||||||
|
krt_replace_rte(p, net, NULL, old ?: new);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* put things from krt_export_fed */
|
||||||
|
|
||||||
/* Keeping the protocol UP until the feed-to-flush is done */
|
|
||||||
return PS_UP;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
krt_cleanup(p);
|
|
||||||
return PS_DOWN;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
krt_cleanup(p);
|
||||||
|
return PS_DOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user