From d375c023b5fa68e3a9804687683772c2734be8a4 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Fri, 12 Oct 2018 17:28:04 +0200 Subject: ipcpd: Configure DHT slack timer at build time This allows configuration of the DHT slack timer at build time. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/ipcpd/CMakeLists.txt | 7 +++++++ src/ipcpd/config.h.in | 1 + src/ipcpd/normal/dht.c | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ipcpd/CMakeLists.txt b/src/ipcpd/CMakeLists.txt index 50d23f8e..3fa3bb0f 100644 --- a/src/ipcpd/CMakeLists.txt +++ b/src/ipcpd/CMakeLists.txt @@ -16,6 +16,8 @@ set(DISABLE_CORE_LOCK FALSE CACHE BOOL "Disable locking performance threads to a core") set(IPCP_CONN_WAIT_DIR TRUE CACHE BOOL "Check the running state of the directory when adding a dt connection") +set(DHT_ENROLL_SLACK 50 CACHE STRING + "DHT enrollment waiting time (0-999, ms)") if ((IPCP_QOS_CUBE_BE_PRIO LESS 0) OR (IPCP_QOS_CUBE_BE_PRIO GREATER 99)) message(FATAL_ERROR "Invalid priority for best effort QoS cube") @@ -29,6 +31,11 @@ if ((IPCP_QOS_CUBE_VOICE_PRIO LESS 0) OR (IPCP_QOS_CUBE_VOICE_PRIO GREATER 99)) message(FATAL_ERROR "Invalid priority for voice QoS cube") endif () +if ((DHT_ENROLL_SLACK LESS 0) OR (DHT_ENROLL_SLACK GREATER 999)) + message(FATAL_ERROR "Invalid DHT slack value") +endif () + + set(IPCP_SOURCES # Add source files here ${CMAKE_CURRENT_SOURCE_DIR}/ipcp.c diff --git a/src/ipcpd/config.h.in b/src/ipcpd/config.h.in index 04565fab..f7af0808 100644 --- a/src/ipcpd/config.h.in +++ b/src/ipcpd/config.h.in @@ -47,6 +47,7 @@ #define QOS_PRIO_VOICE @IPCP_QOS_CUBE_VOICE_PRIO@ #define IPCP_SCHED_THR_MUL @IPCP_SCHED_THR_MUL@ #define PFT_SIZE @PFT_SIZE@ +#define DHT_ENROLL_SLACK @DHT_ENROLL_SLACK@ #cmakedefine IPCP_CONN_WAIT_DIR #cmakedefine DISABLE_CORE_LOCK diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index aa1909e9..0ad9d9a7 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -2729,7 +2729,7 @@ 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}; + struct timespec slack = {0, DHT_ENROLL_SLACK * MILLION}; /* Give the pff some time to update for the new link. */ nanosleep(&slack, NULL); -- cgit v1.2.3