From: Guus Sliepen Date: Thu, 15 Oct 2015 11:26:31 +0000 (+0200) Subject: Remove unused replay window and RTT/bandwidth estimation code. X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=5d9f6c8f2b855cd03a491988c1d4487ffbbc9dd4;p=meshlink Remove unused replay window and RTT/bandwidth estimation code. The replay window handling is done by SPTPS. The replaywin member of node_t was not used at all. Somehwat related, there was RTT and bandwidth estimation code that didn't work anymore and is not used anyway. --- diff --git a/src/net.h b/src/net.h index d2a60bcf..6a361a05 100644 --- a/src/net.h +++ b/src/net.h @@ -71,7 +71,6 @@ typedef struct outgoing_t { extern int maxoutbufsize; extern int addressfamily; -extern unsigned replaywin; extern int keylifetime; extern int max_connection_burst; diff --git a/src/net_packet.c b/src/net_packet.c index ca43d62c..54c38835 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -40,8 +40,6 @@ int keylifetime = 0; static void send_udppacket(meshlink_handle_t *mesh, node_t *, vpn_packet_t *); -unsigned replaywin = 16; - #define MAX_SEQNO 1073741824 /* mtuprobes == 1..30: initial discovery, send bursts with 1 second interval @@ -138,20 +136,6 @@ static void send_mtu_probe_handler(event_loop_t *loop, void *data) { } n->status.broadcast = false; - n->probe_counter = 0; - gettimeofday(&n->probe_time, NULL); - - /* Calculate the packet loss of incoming traffic by comparing the rate of - packets received to the rate with which the sequence number has increased. - */ - - if(n->received > n->prev_received) - n->packetloss = 1.0 - (n->received - n->prev_received) / (float)(n->received_seqno - n->prev_received_seqno); - else - n->packetloss = n->received_seqno <= n->prev_received_seqno; - - n->prev_received_seqno = n->received_seqno; - n->prev_received = n->received; end: timeout_set(&mesh->loop, &n->mtutimeout, &(struct timeval){timeout, rand() % 100000}); @@ -206,26 +190,6 @@ static void mtu_probe_h(meshlink_handle_t *mesh, node_t *n, vpn_packet_t *packet len = n->maxmtu; if(n->minmtu < len) n->minmtu = len; - - /* Calculate RTT and bandwidth. - The RTT is the time between the MTU probe burst was sent and the first - reply is received. The bandwidth is measured using the time between the - arrival of the first and third probe reply. - */ - - struct timeval now, diff; - gettimeofday(&now, NULL); - timersub(&now, &n->probe_time, &diff); - - n->probe_counter++; - - if(n->probe_counter == 1) { - n->rtt = diff.tv_sec + diff.tv_usec * 1e-6; - n->probe_time = now; - } else if(n->probe_counter == 3) { - n->bandwidth = 2.0 * len / (diff.tv_sec + diff.tv_usec * 1e-6); - logger(mesh, MESHLINK_DEBUG, "%s (%s) RTT %.2f ms, burst bandwidth %.3f Mbit/s, rx packet loss %.2f %%", n->name, n->hostname, n->rtt * 1e3, n->bandwidth * 8e-6, n->packetloss * 1e2); - } } } diff --git a/src/node.c b/src/node.c index b838c5be..bbb574f2 100644 --- a/src/node.c +++ b/src/node.c @@ -50,7 +50,6 @@ void exit_nodes(meshlink_handle_t *mesh) { node_t *new_node(void) { node_t *n = xzalloc(sizeof *n); - if(replaywin) n->late = xzalloc(replaywin); n->edge_tree = new_edge_tree(); n->mtu = MTU; n->maxmtu = MTU; @@ -73,7 +72,6 @@ void free_node(node_t *n) { free(n->hostname); free(n->name); - free(n->late); utcp_exit(n->utcp); diff --git a/src/node.h b/src/node.h index 5761e4d7..de33da3b 100644 --- a/src/node.h +++ b/src/node.h @@ -73,23 +73,11 @@ typedef struct node_t { time_t last_connect_try; time_t last_successfull_connection; - uint32_t sent_seqno; /* Sequence number last sent to this node */ - uint32_t received_seqno; /* Sequence number last received from this node */ - uint32_t received; /* Total valid packets received from this node */ - uint32_t prev_received_seqno; - uint32_t prev_received; - unsigned char* late; /* Bitfield marking late packets */ - uint16_t mtu; /* Maximum size of packets to send to this node */ uint16_t minmtu; /* Probed minimum MTU */ uint16_t maxmtu; /* Probed maximum MTU */ int mtuprobes; /* Number of probes */ timeout_t mtutimeout; /* Probe event */ - struct timeval probe_time; /* Time the last probe was sent or received */ - int probe_counter; /* Number of probes received since last burst was sent */ - float rtt; /* Last measured round trip time */ - float bandwidth; /* Last measured bandwidth */ - float packetloss; /* Last measured packet loss rate */ struct utcp *utcp;