From 995444c4f96bafecf7fb5d59510b3034459cf85c Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Wed, 29 Jan 2014 17:32:18 +0100 Subject: [PATCH] Document Weight and also allow it to be set from tinc.conf. --- doc/tinc.conf.5.in | 6 ++++++ doc/tinc.texi | 6 ++++++ src/protocol_auth.c | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/tinc.conf.5.in b/doc/tinc.conf.5.in index 632c849..25b398d 100644 --- a/doc/tinc.conf.5.in +++ b/doc/tinc.conf.5.in @@ -586,6 +586,12 @@ Setting this options also implicitly sets IndirectData. .Pp Since version 1.0.10, tinc will automatically detect whether communication via UDP is possible or not. +.It Va Weight Li = Ar weight +If this variable is set, it overrides the weight given to connections made with +another host. A higher +.Ar weight +means a lower priority is given to this connection when broadcasting or +forwarding packets. .El .Sh SCRIPTS Apart from reading the server and host configuration files, diff --git a/doc/tinc.texi b/doc/tinc.texi index 6c09a01..e5a5eb5 100644 --- a/doc/tinc.texi +++ b/doc/tinc.texi @@ -1352,6 +1352,12 @@ TCP connection instead of a UDP connection. This is especially useful for those who want to run a tinc daemon from behind a masquerading firewall, or if UDP packet routing is disabled somehow. Setting this options also implicitly sets IndirectData. + +@cindex Weight +@item Weight = +If this variable is set, it overrides the weight given to connections made with +another host. A higher weight means a lower priority is given to this +connection when broadcasting or forwarding packets. @end table diff --git a/src/protocol_auth.c b/src/protocol_auth.c index 147c3b4..04674e8 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -672,7 +672,8 @@ bool send_ack(connection_t *c) { if(choice) c->options |= OPTION_CLAMP_MSS; - get_config_int(lookup_config(c->config_tree, "Weight"), &c->estimated_weight); + if(!get_config_int(lookup_config(c->config_tree, "Weight"), &c->estimated_weight)) + get_config_int(lookup_config(config_tree, "Weight"), &c->estimated_weight); return send_request(c, "%d %s %d %x", ACK, myport, c->estimated_weight, (c->options & 0xffffff) | (experimental ? (PROT_MINOR << 24) : 0)); } -- 2.25.1