diff options
author | Maria Matejka <mq@jmq.cz> | 2021-11-16 21:14:24 +0000 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2021-11-22 19:05:44 +0100 |
commit | 20ace7f2e61bc6881e4ea22c63f0d0eb9a1dd1a2 (patch) | |
tree | d9896d70a90e9a5ffdf18165935ea207be2ba8d1 /proto/rpki/packets.c | |
parent | 1e8e3b7c1214393844c35fe3fbba9865b56ec95f (diff) |
RPKI: Use the route refresh mechanism also for the first load
Diffstat (limited to 'proto/rpki/packets.c')
-rw-r--r-- | proto/rpki/packets.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/proto/rpki/packets.c b/proto/rpki/packets.c index 38830d28..abe6abfc 100644 --- a/proto/rpki/packets.c +++ b/proto/rpki/packets.c @@ -658,21 +658,7 @@ rpki_handle_cache_response_pdu(struct rpki_cache *cache, const struct pdu_cache_ { if (cache->request_session_id) { - if (cache->last_update) - { - /* - * This isn't the first sync and we already received records. This point - * is after Reset Query and before importing new records from cache - * server. We need to load new ones and kick out missing ones. So start - * a refresh cycle. - */ - if (cache->p->roa4_channel) - rt_refresh_begin(&cache->p->roa4_channel->in_req); - if (cache->p->roa6_channel) - rt_refresh_begin(&cache->p->roa6_channel->in_req); - - cache->p->refresh_channels = 1; - } + rpki_start_refresh(cache->p); cache->session_id = pdu->session_id; cache->request_session_id = 0; } @@ -821,14 +807,7 @@ rpki_handle_end_of_data_pdu(struct rpki_cache *cache, const struct pdu_end_of_da (cf->keep_expire_interval ? "keeps " : ""), cache->expire_interval); } - if (cache->p->refresh_channels) - { - cache->p->refresh_channels = 0; - if (cache->p->roa4_channel) - rt_refresh_end(&cache->p->roa4_channel->in_req); - if (cache->p->roa6_channel) - rt_refresh_end(&cache->p->roa6_channel->in_req); - } + rpki_stop_refresh(cache->p); cache->last_update = current_time(); cache->serial_num = pdu->serial_num; |