From 49c53619b6b60482cbeedfaec891474daf69935d Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Thu, 15 Oct 2015 15:17:32 +0100 Subject: [PATCH] Document automatic overlay selection feature --- site/features.md | 37 +++++++++++++++++++++++++++++++------ site/troubleshooting.md | 9 +++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/site/features.md b/site/features.md index 3eb756eb4a..29d3ff45ce 100644 --- a/site/features.md +++ b/site/features.md @@ -9,6 +9,7 @@ Weave has a few more features beyond those illustrated by the [basic example](https://github.com/weaveworks/weave#example): * [Virtual ethernet switch](#virtual-ethernet-switch) + * [Optimised data transport](#optimised-data-transport) * [Seamless Docker integration](#docker) * [Address allocation](#addressing) * [Naming and discovery](#naming-and-discovery) @@ -55,6 +56,25 @@ now re-use the same tools and techniques when deploying applications as containers as we would have done when deploying them 'on metal' in our data centre. +### Optimised data transport + +Weave automatically chooses the fastest available method to transport +data between peers. The most performant of these ('fastdp') offers +near-native throughput and latency but does not support encryption; +consequently supplying a password will cause the router to fall back +to a slower mode ('sleeve') that does. + +Even when encryption is not in use, certain adverse network conditions +will cause this fallback to occur dynamically; in these circumstances, +weave will upgrade the connection back to the fastdp transport without +user intervention once they abate. You can see which method is in use +by examining the output of `weave status connections`. + +You can also administratively disable fastdp with the +`WEAVE_NO_FASTDP` environment variable: + + $ WEAVE_NO_FASTDP=true weave launch + ### Seamless Docker integration Weave includes a [Docker API proxy](proxy.html) so that containers @@ -282,7 +302,10 @@ way to generate a random password which satsifies this requirement is < /dev/urandom tr -dc A-Za-z0-9 | head -c9 ; echo -The same password must be specified for all weave peers. +The same password must be specified for all weave peers. Note that +supplying a password will [cause weave to fall back to a slower +method](#optimised-data-transport) for transporting data between +peers. ### Host network integration @@ -449,11 +472,13 @@ Weave can network containers hosted in different cloud providers / data centres. So, for example, one could run an application consisting of containers on GCE, EC2 and in local data centres. -To enable this, the network must be configured to permit TCP and UDP -connections to the weave port of the docker hosts. The weave port -defaults to 6783. This can be overriden by setting `WEAVE_PORT`, but -it is highly recommended that all peers in a weave network are given -the same port setting. +To enable this, the network must be configured to permit connections +to weave's control and data ports on the docker hosts. The control +port defaults to TCP 6783, and the data ports to UDP 6783/6784. You +can override these defaults by setting `WEAVE_PORT` (this is a base +value - setting `WEAVE_PORT=9000` will result in weave using TCP 9000 +for control and UDP 9000/9001 for data). Note that it is highly +recommended that all peers be given the same setting. ### Multi-hop routing diff --git a/site/troubleshooting.md b/site/troubleshooting.md index a041cb8b25..1fb83f71d3 100644 --- a/site/troubleshooting.md +++ b/site/troubleshooting.md @@ -141,8 +141,8 @@ obtained with `weave status connections`: ```` $ weave status connections -<- 192.168.48.12:33866 established 7e:21:4a:70:2f:45(host2) -<- 192.168.48.13:60773 pending 7e:ae:cd:d5:23:8d(host3) +<- 192.168.48.12:33866 established fastdp 7e:21:4a:70:2f:45(host2) +<- 192.168.48.13:60773 pending fastdp 7e:ae:cd:d5:23:8d(host3) -> 192.168.48.14:6783 retrying dial tcp4 192.168.48.14:6783: no route to host -> 192.168.48.15:6783 failed dial tcp4 192.168.48.15:6783: no route to host, retry: 2015-08-06 18:55:38.246910357 +0000 UTC -> 192.168.48.16:6783 connecting @@ -161,8 +161,9 @@ The columns are as follows: * `pending` - TCP connection up, waiting for confirmation of UDP heartbeat * `established` - TCP connection and corresponding UDP path are up - * Info - the remote peer name and nickname for (un)established - connections, the failure reason for failed and retrying connection + * Info - the traffic transport method, remote peer name and nickname + for (un)established connections, the failure reason for failed and + retrying connection ### List peers