aboutsummaryrefslogtreecommitdiffstats
path: root/proto
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2020-06-03 15:05:35 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2020-06-03 15:05:35 +0200
commit19f8f173202d6f5cbf97ca2a9f66fcea6b9bb44f (patch)
tree9f2a4e4ebece6ac29168d001ac92d2c2f3f1943f /proto
parentfae5448134dfec004be818d18ff1583cc61e5549 (diff)
downloadbird-19f8f173202d6f5cbf97ca2a9f66fcea6b9bb44f.tar.gz
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.
Diffstat (limited to 'proto')
-rw-r--r--proto/rpki/rpki.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/proto/rpki/rpki.c b/proto/rpki/rpki.c
index aa07f7d9..3e46b6d1 100644
--- a/proto/rpki/rpki.c
+++ b/proto/rpki/rpki.c
@@ -701,7 +701,7 @@ rpki_reconfigure_cache(struct rpki_proto *p UNUSED, struct rpki_cache *cache, st
#endif
#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) \
{ \
cache->name##_interval = new->name##_interval; \