diff options
author | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-08 17:55:58 -0400 |
---|---|---|
committer | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-08 17:55:58 -0400 |
commit | bbfc9359e9828931c833f80739dd43d3d4f3e973 (patch) | |
tree | 8c6388f36e8d56b717957871c608af41f17c11c2 | |
parent | 1bc33ae8d78cf97f96028d0e46e916d71b995f7f (diff) | |
download | infinitytier-bbfc9359e9828931c833f80739dd43d3d4f3e973.tar.gz infinitytier-bbfc9359e9828931c833f80739dd43d3d4f3e973.zip |
Minor timer changes (~21 Mb/s local)
-rw-r--r-- | ext/lwipopts.h | 10 | ||||
-rw-r--r-- | make-linux.mk | 4 | ||||
-rw-r--r-- | netcon/NetconEthernetTap.cpp | 5 | ||||
-rwxr-xr-x | netcon/intercept.c | 4 |
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; |