From 9b8d2830250ecffb298f6c72196cffb94991f4d1 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Thu, 11 Oct 2018 01:44:29 +0200 Subject: ipcpd: Speed up enrolment of DHT The link-state algorithm will now quickly recalculate for link additions (but not for removals, for stability). Upon notification of a new link, the DHT will wait for a brief moment to enroll. This reduces enrolment for large networks by some orders of magnitude. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/ipcpd/normal/dht.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ipcpd/normal/dht.c') diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index 4064bf5c..aa1909e9 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -2729,6 +2729,10 @@ static void handle_event(void * self, pthread_t thr; struct join_info * inf; struct conn * c = (struct conn *) o; + struct timespec slack = {0, 10 * MILLION}; + + /* Give the pff some time to update for the new link. */ + nanosleep(&slack, NULL); switch(dht_get_state(dht)) { case DHT_INIT: -- cgit v1.2.3