diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-08-30 13:28:25 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-08-30 13:28:25 +0200 |
commit | 521f5f0889bf7b56ade00395e0cfc0d4727dada5 (patch) | |
tree | abb32df5638e435767f723ad044013958db0d5b6 | |
parent | 8fe0340d2117cf9b5c724ff10621978ef2bee5f1 (diff) | |
download | ouroboros-521f5f0889bf7b56ade00395e0cfc0d4727dada5.tar.gz ouroboros-521f5f0889bf7b56ade00395e0cfc0d4727dada5.zip |
irmd: Add specific timeout for IPCP connect
This adds a specific timeout for IPCP connect, since it may take a lot
longer than the regular socket timeout due to flow allocations in the
IPCP.
-rw-r--r-- | src/irmd/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/irmd/config.h.in | 1 | ||||
-rw-r--r-- | src/irmd/ipcp.c | 4 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/irmd/CMakeLists.txt b/src/irmd/CMakeLists.txt index 3339991a..de883d63 100644 --- a/src/irmd/CMakeLists.txt +++ b/src/irmd/CMakeLists.txt @@ -18,6 +18,8 @@ set(REG_TIMEOUT 10000 CACHE STRING "Timeout for registering a name (ms)") set(QUERY_TIMEOUT 3000 CACHE STRING "Timeout to query a name with an IPCP (ms)") +set(CONNECT_TIMEOUT 5000 CACHE STRING + "Timeout to connect an IPCP to another IPCP (ms)") set(IRMD_MIN_THREADS 8 CACHE STRING "Minimum number of worker threads in the IRMd.") set(IRMD_ADD_THREADS 8 CACHE STRING diff --git a/src/irmd/config.h.in b/src/irmd/config.h.in index eb396bbc..c217fe93 100644 --- a/src/irmd/config.h.in +++ b/src/irmd/config.h.in @@ -39,6 +39,7 @@ #define ENROLL_TIMEOUT @ENROLL_TIMEOUT@ #define REG_TIMEOUT @REG_TIMEOUT@ #define QUERY_TIMEOUT @QUERY_TIMEOUT@ +#define CONNECT_TIMEOUT @CONNECT_TIMEOUT@ #define SYS_MAX_FLOWS @SYS_MAX_FLOWS@ diff --git a/src/irmd/ipcp.c b/src/irmd/ipcp.c index 794d060e..497bff9f 100644 --- a/src/irmd/ipcp.c +++ b/src/irmd/ipcp.c @@ -96,6 +96,10 @@ ipcp_msg_t * send_recv_ipcp_msg(pid_t api, tv.tv_sec = QUERY_TIMEOUT / 1000; tv.tv_usec = (QUERY_TIMEOUT % 1000) * 1000; break; + case IPCP_MSG_CODE__IPCP_CONNECT: + tv.tv_sec = CONNECT_TIMEOUT / 1000; + tv.tv_usec = (CONNECT_TIMEOUT % 1000) * 1000; + break; default: tv.tv_sec = SOCKET_TIMEOUT / 1000; tv.tv_usec = (SOCKET_TIMEOUT % 1000) * 1000; |