From db465434e2736f6e052e5c52d3613ad81b4bde10 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sat, 27 Dec 2014 09:20:46 +0100 Subject: [PATCH] Add BroadcastSubnet and DeviceStandby options to the manual and completion. --- bash_completion.d/tinc | 2 +- doc/tinc.texi | 19 +++++++++++++++++++ src/tincctl.c | 4 +++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/bash_completion.d/tinc b/bash_completion.d/tinc index c79e4ee..240326f 100644 --- a/bash_completion.d/tinc +++ b/bash_completion.d/tinc @@ -4,7 +4,7 @@ _tinc() { cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" opts="-c -d -D -K -n -o -L -R -U --config --no-detach --debug --net --option --mlock --logfile --pidfile --chroot --user --help --version" - confvars="Address AddressFamily BindToAddress BindToInterface Broadcast Cipher ClampMSS Compression ConnectTo DecrementTTL Device DeviceType Digest DirectOnly Ed25519PrivateKeyFile Ed25519PublicKey Ed25519PublicKeyFile ExperimentalProtocol Forwarding GraphDumpFile Hostnames IffOneQueue IndirectData Interface KeyExpire ListenAddress LocalDiscovery MACExpire MACLength MaxOutputBufferSize MaxTimeout Mode Name PMTU PMTUDiscovery PingInterval PingTimeout Port PriorityInheritance PrivateKeyFile ProcessPriority Proxy PublicKeyFile ReplayWindow StrictSubnets Subnet TCPOnly TunnelServer UDPRcvBuf UDPSndBuf VDEGroup VDEPort Weight" + confvars="Address AddressFamily BindToAddress BindToInterface Broadcast BroadcastSubnet Cipher ClampMSS Compression ConnectTo DecrementTTL Device DeviceStandby DeviceType Digest DirectOnly Ed25519PrivateKeyFile Ed25519PublicKey Ed25519PublicKeyFile ExperimentalProtocol Forwarding GraphDumpFile Hostnames IffOneQueue IndirectData Interface KeyExpire ListenAddress LocalDiscovery MACExpire MACLength MaxOutputBufferSize MaxTimeout Mode Name PMTU PMTUDiscovery PingInterval PingTimeout Port PriorityInheritance PrivateKeyFile ProcessPriority Proxy PublicKeyFile ReplayWindow StrictSubnets Subnet TCPOnly TunnelServer UDPRcvBuf UDPSndBuf VDEGroup VDEPort Weight" commands="add connect debug del disconnect dump edit export export-all generate-ed25519-keys generate-keys generate-rsa-keys get help import info init invite join log network pcap pid purge reload restart retry set start stop top version" case ${prev} in diff --git a/doc/tinc.texi b/doc/tinc.texi index 81cc8c5..2cb55a7 100644 --- a/doc/tinc.texi +++ b/doc/tinc.texi @@ -884,6 +884,18 @@ Broadcast packets received from other nodes are never forwarded. If the IndirectData option is also set, broadcast packets will only be sent to nodes which we have a meta connection to. @end table +@cindex BroadcastSubnet +@item BroadcastSubnet = @var{address}[/@var{prefixlength}] +Declares a broadcast subnet. +Any packet with a destination address falling into such a subnet will be routed as a broadcast +(provided all nodes have it declared). +This is most useful to declare subnet broadcast addresses (e.g. 10.42.255.255), +otherwise tinc won't know what to do with them. + +Note that global broadcast addresses (MAC ff:ff:ff:ff:ff:ff, IPv4 255.255.255.255), +as well as multicast space (IPv4 224.0.0.0/4, IPv6 ff00::/8) +are always considered broadcast addresses and don't need to be declared. + @cindex ConnectTo @item ConnectTo = <@var{name}> Specifies which other tinc daemon to connect to on startup. @@ -914,6 +926,13 @@ Under Windows, use @var{Interface} instead of @var{Device}. Note that you can only use one device per daemon. See also @ref{Device files}. +@cindex DeviceStandby +@item DeviceStandby = (no) +When disabled, tinc calls @file{tinc-up} on startup, and @file{tinc-down} on shutdown. +When enabled, tinc will only call @file{tinc-up} when at least one node is reachable, +and will call @file{tinc-down} as soon as no nodes are reachable. +On Windows, this also determines when the virtual network interface "cable" is "plugged". + @cindex DeviceType @item DeviceType = <@var{type}> (platform dependent) The type of the virtual network device. diff --git a/src/tincctl.c b/src/tincctl.c index b287467..abaf6ee 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -88,7 +88,7 @@ static struct option const long_options[] = { static void version(void) { printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE, VERSION, BUILD_DATE, BUILD_TIME, PROT_MAJOR, PROT_MINOR); - printf("Copyright (C) 1998-2012 Ivo Timmermans, Guus Sliepen and others.\n" + printf("Copyright (C) 1998-2014 Ivo Timmermans, Guus Sliepen and others.\n" "See the AUTHORS file for a complete list.\n\n" "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n" "and you are welcome to redistribute it under certain conditions;\n" @@ -1323,9 +1323,11 @@ const var_t variables[] = { {"BindToAddress", VAR_SERVER | VAR_MULTIPLE}, {"BindToInterface", VAR_SERVER}, {"Broadcast", VAR_SERVER | VAR_SAFE}, + {"BroadcastSubnet", VAR_SERVER | VAR_MULTIPLE | VAR_SAFE}, {"ConnectTo", VAR_SERVER | VAR_MULTIPLE | VAR_SAFE}, {"DecrementTTL", VAR_SERVER}, {"Device", VAR_SERVER}, + {"DeviceStandby", VAR_SERVER}, {"DeviceType", VAR_SERVER}, {"DirectOnly", VAR_SERVER}, {"Ed25519PrivateKeyFile", VAR_SERVER}, -- 2.25.1