Commit Graph
121 Commits
Author SHA1 Message Date
Bryan Boreham c930ef38dc Improved error message on http ListenAndServe 2014-09-04 14:59:48 +01:00
Bryan Boreham 04ca3d2469 Addressed various points raised in review: error-handling, simplified Fprint call 2014-09-04 14:44:42 +01:00
Bryan Boreham 67d8220bdf Convert one further use of 'command -v' into the function command_exists 2014-09-04 13:04:19 +01:00
Bryan Boreham 43d8781fdd Merge remote-tracking branch 'upstream/master' into 11_http_interface
Conflicts:
	consts.go
	weaver/weave
2014-09-04 13:02:14 +01:00
Matthias Radestock 8b8fc06fcf cosmetic 2014-09-04 07:36:10 +01:00
Matthias Radestock 679e9b52b2 add some error logging that was missing 2014-09-04 07:32:11 +01:00
Matthias Radestock e72803e564 remove duplicate code 2014-09-04 07:29:11 +01:00
Matthias Radestock b19abe4eab move logging out of peer_cache 2014-09-04 00:02:08 +01:00
Matthias Radestock 9706934d89 log mac expiry
for symmetry with mac discovery
and w/o polluting the mac_cache code with logging
2014-09-03 23:43:40 +01:00
Matthias Radestock a7e44b44dc match on bridge name in iptable masquerade rules
Instead of ip/netmask. This should be functionally equivalent (for
now), and makes it easier to identify the rule as belonging to
weave. Unfortunatley we must still match the source with ip/netmask,
since we are in the POSTROUTING chain and source interface matches
aren't valid there.

See also issue #20.
2014-09-03 19:09:52 +01:00
Matthias Radestock 3fd3ff06b3 update arch docs around pmtu discovery 2014-09-03 15:22:50 +01:00
Matthias Radestock 0767964934 introduce 'weave hide' 2014-09-03 11:17:24 +01:00
Matthias Radestock d0dc7b7556 'service import' feature 2014-09-03 09:05:59 +01:00
Matthias Radestock 7cc2581a94 fix typo 2014-09-03 09:04:46 +01:00
Matthias Radestock 1b40c842eb add contact details 2014-09-01 22:34:15 +01:00
Matthias Radestock f52fc71ef8 add forward reference to interesting feature 2014-09-01 17:21:06 +01:00
Matthias Radestock 0a7df2220c introduce 'weave stop'
which, as well as stopping&removing the weave container also clears
the UDP connection tracking for the weave port, without which UDP
connections to a quickly (<3min) re-started weave would fail.

Fixes #18
2014-09-01 16:08:47 +01:00
Matthias Radestock aed818fb22 fix link 2014-09-01 00:18:52 +01:00
Matthias Radestock 37a9c13761 make a note of issue #18 in readme 2014-09-01 00:15:43 +01:00
Matthias Radestock eea1fbe536 simplify instructions - no need to capture weave container id
since it's a named container
2014-08-31 22:37:01 +01:00
Matthias Radestock 1676f10405 fix some typos 2014-08-31 15:22:03 +01:00
Matthias Radestock 971f6a63fd Turns out one OS thread isn't enough 2014-08-31 14:43:06 +01:00
Matthias Radestock 2649796369 discover pmtu with binary search
issue #15
2014-08-31 13:39:44 +01:00
Matthias Radestock 848d852e0d oops 2014-08-31 13:07:38 +01:00
Matthias Radestock 7dd0bcd1e0 deal with pmtu verification confirmation in forwarder goroutine
...rather than connection goroutine.
This is a precurser to smarter pmtu verification, the logic for which
is in the forwarder.
issue #15
2014-08-30 23:18:44 +01:00
Matthias Radestock aef5111af2 switch tcp nc service for bulk of examples
since udp nc is full of weirdness
2014-08-30 16:30:35 +01:00
Matthias Radestock 309516ce78 correct ports in example 2014-08-30 16:15:53 +01:00
Matthias Radestock 1274dc6e01 yet more link fixing 2014-08-30 15:47:55 +01:00
Matthias Radestock 35c7457e54 more link fixing 2014-08-30 15:46:45 +01:00
Matthias Radestock f0a506c6d9 fix link 2014-08-30 15:42:52 +01:00
Matthias Radestock 731454a406 introduce 'weave expose'
which simplifies access to containers from the host, as well as
external access.
2014-08-30 15:40:50 +01:00
Matthias Radestock b9be18c386 set up masquerading as part of 'weave launch'
thus simplifying external access
2014-08-30 14:25:00 +01:00
Matthias Radestock 038d5c4f80 cosmetic 2014-08-30 11:46:03 +01:00
Matthias Radestock 86f993a1e8 cosmetic 2014-08-30 11:45:29 +01:00
Matthias Radestock 53f06c07a5 document external service access 2014-08-30 11:44:03 +01:00
Matthias Radestock 2e73fbb797 link to architecture documentation 2014-08-30 10:06:12 +01:00
Matthias Radestock 98257d0df6 switch to ubuntu image for examples
It comes with more stuff pre-installed, such as 'nc', so makes
experimentation just a little more convenient.
2014-08-30 09:59:13 +01:00
Matthias Radestock 5b6dc2d762 (slightly) faster pmtu discovery
Issues with the previous scheme...

When we have just encountered an EMSGSIZE, the odds of encountering
another one straight away, when attemtping to send a verification
packet with the lower mtu, are slim, since for a new, lower mtu to be
set some packet must have made it further then the one that triggered
the icmp3.4 that gave rise to the EMSGSIZE, and we must have received
the resulting icmp3.4. All of which takes time.

Also, sending a bunch of udp packets in rapid succession is not a
great way to improve their chances of making it through to the other
peer, since they could easily all get dropped by a single congestion
event or other network glitch.

Now we send a single verification packet, wait for a short while, and
if we don't get a response then we send another one, wait for longer
period (2x), etc, until some upper bound is reached, at which point we
lower the pmtu and start the verification process again (same as
currently happens).

We are now also calling flush() to send the verification packet, just
as we do for ordinary packets. This makes for shorter code, consistent
error handling, and introduces a nice little recursion :)
2014-08-29 19:15:18 +01:00
Matthias Radestock 3107aba53f unbreak script
I have no idea why this matters
2014-08-29 17:40:38 +01:00
Matthias Radestock d0d8949f72 make 'weave <unknown_command>' a no-op 2014-08-29 16:20:41 +01:00
Matthias Radestock 51a33929ea remove unused var 2014-08-29 16:17:10 +01:00
Matthias Radestock 2c88710d62 we only need the bridge address when launching weave 2014-08-29 16:16:16 +01:00
Matthias Radestock 180c142964 move the most important check first 2014-08-29 16:12:44 +01:00
Matthias Radestock d8cc45c650 fix weave arg count check 2014-08-29 16:10:29 +01:00
Bryan Boreham 48bcaa7851 Pull out ugly 'command -v' code to a utility function 2014-08-29 15:49:25 +01:00
Bryan Boreham c8da7131a5 Add back the usage test for two arguments, except when the command is 'status' 2014-08-29 15:35:27 +01:00
Bryan Boreham cff8e93de1 Merge remote-tracking branch 'upstream/master' into 11_http_interface
Conflicts:
	weaver/weave
2014-08-29 15:29:56 +01:00
Bryan Boreham 3942f19897 Remove boilerplate and condense the http handler down to one function.
Also fixed indenting on one line in shell script.
2014-08-29 15:26:04 +01:00
Matthias Radestock ef9dbcb854 oops, make weave usage output match the command 2014-08-29 15:22:19 +01:00
Bryan Boreham 3f9eadda70 Merge remote-tracking branch 'upstream/master' into 11_http_interface 2014-08-29 14:54:44 +01:00