]> git.meshlink.io Git - meshlink/commitdiff
Remove unused replay window and RTT/bandwidth estimation code.
authorGuus Sliepen <guus@meshlink.io>
Thu, 15 Oct 2015 11:26:31 +0000 (13:26 +0200)
committerGuus Sliepen <guus@meshlink.io>
Sun, 25 Jun 2017 08:20:49 +0000 (10:20 +0200)
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.

src/net.h
src/net_packet.c
src/node.c
src/node.h

index d2a60bcf685c858ef079f59b8d1b76305b609722..6a361a05d18722af781262d6ad96b35fc281ac0a 100644 (file)
--- 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;
index ca43d62c65b2f5a903af276229c564ed270068b8..54c38835a2316eecae88b98d118a6521891d87ad 100644 (file)
@@ -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);
-               }
        }
 }
 
index b838c5bee4eba1a5c51afccb560878f7c21dc435..bbb574f2ad8aacfe5f517ecf28b269f84999e0f2 100644 (file)
@@ -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);
 
index 5761e4d747e5544c2d5189fdaed074eaa597ac12..de33da3b89a3809518b0d5bef1cd4b3b95b552d9 100644 (file)
@@ -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;