Remove bandwidth estimation code.

tinc bandwidth estimation has always been quite unreliable (at least in
my experience), but there's no chance of it working anymore since the
last changes to MTU discovery code, because packets are not sent in
batches of three anymore.

This commit removes the dead code - fortunately, nothing depends on this
estimation (it's not even shown in node info). We probably need be
smarter about this if we do want this estimation back.
This commit is contained in:
Etienne Dechamps 2014-12-30 10:47:56 +00:00
parent 1b972f2273
commit c22560ae32
2 changed files with 3 additions and 10 deletions

View file

@ -157,10 +157,9 @@ static void udp_probe_h(node_t *n, vpn_packet_t *packet, length_t len) {
try_fix_mtu(n); try_fix_mtu(n);
} }
/* Calculate RTT and bandwidth. /* Calculate RTT.
The RTT is the time between the MTU probe burst was sent and the first 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 reply is received.
arrival of the first and third probe reply (or type 2 probe requests).
*/ */
struct timeval now, diff; struct timeval now, diff;
@ -180,12 +179,7 @@ static void udp_probe_h(node_t *n, vpn_packet_t *packet, length_t len) {
if(n->probe_counter == 1) { if(n->probe_counter == 1) {
n->rtt = diff.tv_sec + diff.tv_usec * 1e-6; n->rtt = diff.tv_sec + diff.tv_usec * 1e-6;
n->probe_time = probe_timestamp; n->probe_time = probe_timestamp;
} else if(n->probe_counter == 3) { logger(DEBUG_TRAFFIC, LOG_DEBUG, "%s (%s) RTT %.2f ms, rx packet loss %.2f %%", n->name, n->hostname, n->rtt * 1e3, n->packetloss * 1e2);
/* TODO: this will never fire - we're not sending batches of three anymore. */
struct timeval probe_timestamp_diff;
timersub(&probe_timestamp, &n->probe_time, &probe_timestamp_diff);
n->bandwidth = 2.0 * probelen / (probe_timestamp_diff.tv_sec + probe_timestamp_diff.tv_usec * 1e-6);
logger(DEBUG_TRAFFIC, LOG_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);
} }
} }
} }

View file

@ -98,7 +98,6 @@ typedef struct node_t {
struct timeval probe_time; /* Time the last probe was sent or received */ struct timeval probe_time; /* Time the last probe was sent or received */
int probe_counter; /* Number of probes received since last burst was sent */ int probe_counter; /* Number of probes received since last burst was sent */
float rtt; /* Last measured round trip time */ float rtt; /* Last measured round trip time */
float bandwidth; /* Last measured bandwidth */
float packetloss; /* Last measured packet loss rate */ float packetloss; /* Last measured packet loss rate */
uint64_t in_packets; uint64_t in_packets;