aboutsummaryrefslogtreecommitdiff
path: root/slirp
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2018-11-14 16:36:28 +0400
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-01-14 00:43:30 +0100
commit987d3a51d56530a298ab343a6aefe340c4495422 (patch)
tree06b7ab66c3b7ccafa8ac8e9803adbcf7f561be16 /slirp
parent0826c2400d98a0c35dc4d223e6833b3e2f6d929e (diff)
slirp: replace compile time DO_KEEPALIVE
Use a global variable instead (similar to slirp_debug) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'slirp')
-rw-r--r--slirp/slirp.c3
-rw-r--r--slirp/slirp.h6
-rw-r--r--slirp/slirp_config.h12
-rw-r--r--slirp/tcp_input.c2
-rw-r--r--slirp/tcp_timer.c2
5 files changed, 8 insertions, 17 deletions
diff --git a/slirp/slirp.c b/slirp/slirp.c
index 76e94eb1cd..f11f9e9e51 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -35,6 +35,9 @@
#include <net/if.h>
#endif
+/* Define to 1 if you want KEEPALIVE timers */
+bool slirp_do_keepalive;
+
/* host loopback address */
struct in_addr loopback_addr;
/* host loopback network mask */
diff --git a/slirp/slirp.h b/slirp/slirp.h
index 4bbbba046e..05c203c8c7 100644
--- a/slirp/slirp.h
+++ b/slirp/slirp.h
@@ -1,8 +1,6 @@
#ifndef SLIRP_H
#define SLIRP_H
-#include "slirp_config.h"
-
#ifdef _WIN32
typedef char *caddr_t;
@@ -219,7 +217,9 @@ void ncsi_input(Slirp *slirp, const uint8_t *pkt, int pkt_len);
#include <netdb.h>
#endif
-#define SO_OPTIONS DO_KEEPALIVE
+
+extern bool slirp_do_keepalive;
+
#define TCP_MAXIDLE (TCPTV_KEEPCNT * TCPTV_KEEPINTVL)
/* dnssearch.c */
diff --git a/slirp/slirp_config.h b/slirp/slirp_config.h
deleted file mode 100644
index 7147e0de04..0000000000
--- a/slirp/slirp_config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * User definable configuration options
- */
-
-/* Define to 1 if you want KEEPALIVE timers */
-#define DO_KEEPALIVE 0
-
-/*********************************************************/
-/*
- * Autoconf defined configuration options
- * You shouldn't need to touch any of these
- */
diff --git a/slirp/tcp_input.c b/slirp/tcp_input.c
index 09bdf9b482..6af63469da 100644
--- a/slirp/tcp_input.c
+++ b/slirp/tcp_input.c
@@ -481,7 +481,7 @@ findso:
* Reset idle time and keep-alive timer.
*/
tp->t_idle = 0;
- if (SO_OPTIONS)
+ if (slirp_do_keepalive)
tp->t_timer[TCPT_KEEP] = TCPTV_KEEPINTVL;
else
tp->t_timer[TCPT_KEEP] = TCPTV_KEEP_IDLE;
diff --git a/slirp/tcp_timer.c b/slirp/tcp_timer.c
index dc8288b511..a843e57a2b 100644
--- a/slirp/tcp_timer.c
+++ b/slirp/tcp_timer.c
@@ -262,7 +262,7 @@ tcp_timers(register struct tcpcb *tp, int timer)
if (tp->t_state < TCPS_ESTABLISHED)
goto dropit;
- if ((SO_OPTIONS) && tp->t_state <= TCPS_CLOSE_WAIT) {
+ if (slirp_do_keepalive && tp->t_state <= TCPS_CLOSE_WAIT) {
if (tp->t_idle >= TCPTV_KEEP_IDLE + TCP_MAXIDLE)
goto dropit;
/*