slirp: replace compile time DO_KEEPALIVE
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Wed, 14 Nov 2018 12:36:28 +0000 (16:36 +0400)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 13 Jan 2019 23:43:30 +0000 (00:43 +0100)
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>
slirp/slirp.c
slirp/slirp.h
slirp/slirp_config.h [deleted file]
slirp/tcp_input.c
slirp/tcp_timer.c

index 76e94eb1cd0b97eb51c7302739682e3e25914ee9..f11f9e9e51f699d134535acd8fce4bb9f7bfc454 100644 (file)
@@ -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 */
index 4bbbba046eac7aafbc221bc8e447b975007be849..05c203c8c753b9d3a62fde2ac9e32583bf1e628f 100644 (file)
@@ -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 (file)
index 7147e0d..0000000
+++ /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
- */
index 09bdf9b4828eace1cc254f6bab519bfa67b89a1a..6af63469da99d01f4ea8317d0906f969f6fde984 100644 (file)
@@ -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;
index dc8288b511c4377ab3bad21c8bc07935c6e51ec9..a843e57a2b916ec1e50d10355af86da25862c902 100644 (file)
@@ -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;
                        /*