From: Guus Sliepen Date: Wed, 29 Jan 2014 16:32:18 +0000 (+0100) Subject: Document Weight and also allow it to be set from tinc.conf. X-Git-Tag: import-tinc-1.1~13 X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=995444c4f96bafecf7fb5d59510b3034459cf85c;p=meshlink Document Weight and also allow it to be set from tinc.conf. --- diff --git a/doc/tinc.conf.5.in b/doc/tinc.conf.5.in index 632c8495..25b398d9 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 6c09a01d..e5a5eb58 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 147c3b48..04674e8d 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)); }