Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
fixup! Document automatic overlay selection feature
Browse files Browse the repository at this point in the history
  • Loading branch information
awh committed Oct 14, 2015
1 parent eceb383 commit 4ed1204
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 29 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,8 @@ The only difference, apart from the name of the application container,
is that we tell our weave that it should peer with the weave on
`$HOST1` (specified as the IP address or hostname, and optional
`:port`, by which `$HOST2` can reach it). NB: if there is a firewall
between `$HOST1` and `$HOST2`, you must open the weave port (6783 by
default; this can be overriden by setting `WEAVE_PORT`) for TCP and
UDP.
between `$HOST1` and `$HOST2`, you must permit traffic to the weave
control port (TCP 6783) and data ports (UDP 6783/6784).

Note that we could instead have told the weave on `$HOST1` to connect to
`$HOST2`, or told both about each other. Order does not matter here;
Expand Down
42 changes: 18 additions & 24 deletions site/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +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)
* [Automatic overlay selection](#automatic-overlay-selection)
* [Optimised traffic transport](#optimised-traffic-transport)
* [Seamless Docker integration](#docker)
* [Address allocation](#addressing)
* [Naming and discovery](#naming-and-discovery)
Expand Down Expand Up @@ -56,22 +56,14 @@ 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.

### <a name="automatic-overlay-selection"></a>Automatic overlay selection
### <a name="optimised-traffic-transport"></a>Optimised traffic transport

Weave supports two overlay technologies - a custom UDP encapsulation
('sleeve') featuring optional encryption and underlay PMTU discovery,
and a VXLAN transport ('fastdp') that leverages the Open vSwitch
kernel module to provide near-native performance. When connecting to a
new peer, the router automatically prefers the fastdp overlay under
the following conditions:

* UDP port 6784 must be reachable (in addition to TCP/UDP 6783)
* Underlay network PMTU must be greater than or equal to 1460 bytes
* Encryption must be disabled

If any of these conditions are false, weave will fall back to the
sleeve overlay; `weave status connections` will display which overlay
has been selected on a per connection basis.
Weave automatically chooses the fastest available method to transport
traffic 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. 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:
Expand Down Expand Up @@ -306,7 +298,9 @@ 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. Note that
supplying a password will disable support for the fastdp overlay.
supplying a password will [cause weave to fall back to a slower
method](#optimised-traffic-transport) for transporting traffic between
peers.

### <a name="host-network-integration"></a>Host network integration

Expand Down Expand Up @@ -473,13 +467,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. If you wish to use the fastdp overlay, the UDP
port with value `WEAVE_PORT+1` (6784 by default) must also be
permitted.
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.

### <a name="multi-hop-routing"></a>Multi-hop routing

Expand Down
4 changes: 2 additions & 2 deletions site/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ 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 overlay type, remote peer name and nickname for
(un)established connections, the failure reason for failed and
* Info - the traffic transport method, remote peer name and nickname
for (un)established connections, the failure reason for failed and
retrying connection

### <a name="weave-status-peers"></a>List peers
Expand Down

0 comments on commit 4ed1204

Please sign in to comment.