0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-01-15 13:31:54 +00:00

TMP: krt hints:

This commit is contained in:
Maria Matejka 2024-09-10 14:06:19 +02:00
parent 565cb46582
commit 27478065df

View File

@ -896,18 +896,28 @@ 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); ...;
/* Keeping the protocol UP until the feed-to-flush is done */ RT_FEED_WALK(req, f) /* look at rt-show.c for example */
return PS_UP;
}
else
{ {
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 */
}
krt_cleanup(p); krt_cleanup(p);
return PS_DOWN; return PS_DOWN;
} }
}
static void static void
krt_cleanup(struct krt_proto *p) krt_cleanup(struct krt_proto *p)