RPKI: Fix unnecessary reconnection on reconfiguration

Compare the new timing parameters with the old configuration, not with
the temporary state of the current connection.

The timing values in struct rpki_cache is updated by a version 1 End Of
Data PDU, unless this behavior is suppressed by the configuration
explicitly by the "keep" keyword. Consequently, every reconfiguration
of BIRD triggers a reconnection even if it is not necessary.
This commit is contained in:
Kazuki Yamaguchi 2020-06-03 15:05:35 +02:00 committed by Ondrej Zajicek (work)
parent fae5448134
commit 19f8f17320

View file

@ -701,7 +701,7 @@ rpki_reconfigure_cache(struct rpki_proto *p UNUSED, struct rpki_cache *cache, st
#endif #endif
#define TEST_INTERVAL(name, Name) \ #define TEST_INTERVAL(name, Name) \
if (cache->name##_interval != new->name##_interval || \ if (old->name##_interval != new->name##_interval || \
old->keep_##name##_interval != new->keep_##name##_interval) \ old->keep_##name##_interval != new->keep_##name##_interval) \
{ \ { \
cache->name##_interval = new->name##_interval; \ cache->name##_interval = new->name##_interval; \