summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Henry <joseph.henry@zerotier.com>2015-10-08 17:55:58 -0400
committerJoseph Henry <joseph.henry@zerotier.com>2015-10-08 17:55:58 -0400
commitbbfc9359e9828931c833f80739dd43d3d4f3e973 (patch)
tree8c6388f36e8d56b717957871c608af41f17c11c2
parent1bc33ae8d78cf97f96028d0e46e916d71b995f7f (diff)
downloadinfinitytier-bbfc9359e9828931c833f80739dd43d3d4f3e973.tar.gz
infinitytier-bbfc9359e9828931c833f80739dd43d3d4f3e973.zip
Minor timer changes (~21 Mb/s local)
-rw-r--r--ext/lwipopts.h10
-rw-r--r--make-linux.mk4
-rw-r--r--netcon/NetconEthernetTap.cpp5
-rwxr-xr-xnetcon/intercept.c4
4 files changed, 15 insertions, 8 deletions
diff --git a/ext/lwipopts.h b/ext/lwipopts.h
index 78ec1f9d..bc8e7570 100644
--- a/ext/lwipopts.h
+++ b/ext/lwipopts.h
@@ -64,6 +64,10 @@
//#define PBUF_POOL_BUFSIZE 2048
+
+#define TCP_MSS 2048
+#define TCP_WND 512
+
/*------------------------------------------------------------------------------
---------------------------------- Timers --------------------------------------
------------------------------------------------------------------------------*/
@@ -71,7 +75,7 @@
/* these are originally defined in tcp_impl.h */
#ifndef TCP_TMR_INTERVAL
/* The TCP timer interval in milliseconds. */
-#define TCP_TMR_INTERVAL 20
+#define TCP_TMR_INTERVAL 250
#endif /* TCP_TMR_INTERVAL */
#ifndef TCP_FAST_INTERVAL
@@ -113,7 +117,7 @@
------------------------------------------------------------------------------*/
-#define LWIP_CHKSUM_ALGORITHM 0
+#define LWIP_CHKSUM_ALGORITHM 2
/**
@@ -146,7 +150,7 @@
* MEMP_NUM_RAW_PCB: Number of raw connection PCBs
* (requires the LWIP_RAW option)
*/
-#define MEMP_NUM_RAW_PCB 128
+#define MEMP_NUM_RAW_PCB 32
/**
* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
diff --git a/make-linux.mk b/make-linux.mk
index d3741b32..6d042e89 100644
--- a/make-linux.mk
+++ b/make-linux.mk
@@ -73,8 +73,8 @@ endif
# "make debug" is a shortcut for this
ifeq ($(ZT_DEBUG),1)
DEFS+=-DZT_TRACE
- CFLAGS+=-Wall -pg -g -pthread $(INCLUDES) $(DEFS)
- CXXFLAGS+=-Wall -pg -g -pthread $(INCLUDES) $(DEFS)
+ CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
+ CXXFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
LDFLAGS=-ldl
STRIP=echo
# The following line enables optimization for the crypto code, since
diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp
index 0b5b0727..538ae0be 100644
--- a/netcon/NetconEthernetTap.cpp
+++ b/netcon/NetconEthernetTap.cpp
@@ -307,7 +307,7 @@ void NetconEthernetTap::closeAll()
closeConnection(tcp_connections.front());
}
-#define ZT_LWIP_TCP_TIMER_INTERVAL 5
+#define ZT_LWIP_TCP_TIMER_INTERVAL 1
void NetconEthernetTap::threadMain()
throw()
@@ -344,6 +344,7 @@ void NetconEthernetTap::threadMain()
if (since_tcp >= ZT_LWIP_TCP_TIMER_INTERVAL) {
prev_tcp_time = now;
lwipstack->tcp_tmr();
+ //fprintf(stderr, "tcp_tmr\n");
} else {
tcp_remaining = ZT_LWIP_TCP_TIMER_INTERVAL - since_tcp;
}
@@ -353,6 +354,7 @@ void NetconEthernetTap::threadMain()
} else {
etharp_remaining = ARP_TMR_INTERVAL - since_etharp;
}
+ //fprintf(stderr, "poll_wait_time = %d\n", (unsigned long)std::min(tcp_remaining,etharp_remaining));
_phy.poll((unsigned long)std::min(tcp_remaining,etharp_remaining));
}
closeAll();
@@ -399,6 +401,7 @@ void NetconEthernetTap::phyOnFileDescriptorActivity(PhySocket *sock,void **uptr,
now space on the buffer */
if(sndbuf == 0) {
_phy.setNotifyReadable(sock, false);
+ lwipstack->_tcp_output(conn->pcb);
return;
}
diff --git a/netcon/intercept.c b/netcon/intercept.c
index b79340e5..ba3e9bbf 100755
--- a/netcon/intercept.c
+++ b/netcon/intercept.c
@@ -137,7 +137,7 @@ static int is_initialized = 0;
static int fdret_sock; // used for fd-transfers
static int newfd; // used for "this_end" socket
-static char* af_sock_name = "/tmp/.ztnc_8056c2e21c000001";
+static char* af_sock_name = "/tmp/.ztnc_e5cd7a9e1c5311ab";
static char* logfilename = "intercept.log";
FILE *logfile = NULL;
static char* logmode = "a";
@@ -791,7 +791,7 @@ int listen(LISTEN_SIG)
return(reallisten(sockfd, backlog));
char cmd[BUF_SZ];
- //dwr("listen(%d)\n", sockfd);
+ dwr("listen(%d)\n", sockfd);
/* Assemble and route command */
memset(cmd, '\0', BUF_SZ);
struct listen_st rpc_st;