Matthias Radestock
f792bf7ef8
don't log packet on decryption error
...
since that is expensive and clutters the logs
2014-12-28 19:09:41 +00:00
Matthias Radestock
4242a60768
use documented 'docker inspect --format=...' instead of '--format ...'
2014-12-28 00:11:03 +00:00
Matthias Radestock
f3faf83321
refuse to attach containers running in the host network namespace
...
Since bad things happen otherwise, i.e. we end up creating veth pairs
with an ethwe on the host
Closes #270 .
2014-12-27 15:14:29 +00:00
Matthias Radestock
73bbb95f7f
refactor: move LocalPeer code into separate file
2014-12-25 14:05:41 +00:00
Matthias Radestock
f304543ddf
refactor: move definition of Peer and related types
2014-12-25 14:02:53 +00:00
Matthias Radestock
7a026f5a14
cosmetic: move a method
2014-12-25 13:57:49 +00:00
Matthias Radestock
5e6bb8ee67
cosmetic: more logical field order
2014-12-25 13:57:31 +00:00
Matthias Radestock
75ed7d52b9
refactor: give Peers knowledge of Ourself.Peer and MacCache
...
so their use (when applying updates and performing gc) is opaque
2014-12-25 13:49:58 +00:00
Matthias Radestock
af59b38134
refactor: Peers no longer has dependency on Router
...
or ConnectionMaker
2014-12-25 13:33:45 +00:00
Matthias Radestock
6f990d217d
refactor: fewer references to Router
2014-12-25 13:12:42 +00:00
Matthias Radestock
3ba5a5024e
refactor: Peer no longer needs Router
...
Hooray!
2014-12-25 13:05:22 +00:00
Matthias Radestock
465915d7d4
refactor: split out LocalPeer
...
This has been a source of confusion for a long time.
2014-12-25 12:57:45 +00:00
Matthias Radestock
059360416a
gofmt
2014-12-25 11:27:42 +00:00
rade
c367914984
Merge pull request #299 from viirya/fix_doc_link
...
Minor fix of document link
2014-12-25 08:49:20 +00:00
Liang-Chi Hsieh
d557f2ff31
Fix document link.
2014-12-25 16:25:19 +08:00
Matthias Radestock
da8e9fd0eb
refactor: further reduce dependency on router
2014-12-24 20:43:35 +00:00
Matthias Radestock
2d4baa8dba
refactor: reduce dependency on peer.Router
...
now the only code depending on it is Peer itself
2014-12-24 20:12:48 +00:00
Matthias Radestock
945a5cf7fe
refactor: reduce dependencies of ConnectionMaker
...
it doesn't need to know about Router, just Ourself and Peers
2014-12-24 19:53:11 +00:00
Matthias Radestock
71cd83bf20
refactor: move ConnectionMaker and related types
2014-12-24 19:46:12 +00:00
Matthias Radestock
03b338a252
remove cruft
2014-12-24 19:42:49 +00:00
Matthias Radestock
b3be24248e
refactor: narrow dependencies of Routes
...
it doesn't need to know about the Router, just Ourself and Peers.
2014-12-24 19:40:18 +00:00
Matthias Radestock
2b2f47c031
refactor: rename PeerCache to Peers
...
It was never much of a cache, and that aspect of it is certainly not
its defining characteristic.
2014-12-24 19:23:43 +00:00
Matthias Radestock
e8f836ad85
refactor: rename 'Topology' to 'Routes'
...
Since that is what it is. By contrast, when the docs talk about
topology they actually refer to the peer connectivity graph.
2014-12-24 19:12:01 +00:00
Matthias Radestock
fc1ec6ada2
refactor: go straight to PeerCache for fetching topology
...
There is no need to go via Topology. Fetching does not access or
modify the Topology state, and none of the functions on Topology
update the PeerCache. So there is no point serialising the fetching
with RebuildRoutes (or anything else).
This does mean the connections' receiveTCP goroutines will take a
direct lock on PeerCache, but a) it is only a read lock, and b) they
already take a write lock in another code path.
There may be some extra load on the PeerCache as a result of this
change, due to the topology fetching of multiple connections no longer
being funneled through the single Topology goroutine. Consequently,
write locks on the PeerCache may take a little longer to
acquire. Until we encounter this as a genuine problem though it's
better to stick with the simpler code.
2014-12-24 18:34:59 +00:00
Matthias Radestock
aa5fc62184
remove cruft
2014-12-24 16:06:31 +00:00
Bryan Boreham
47f4933c92
Merge pull request #295 from rade/eliminate_heartbeater
...
LGTM. Fixes #294
2014-12-24 13:41:03 +00:00
Matthias Radestock
1c5d720db4
simplify some more
2014-12-24 13:38:17 +00:00
Matthias Radestock
fecbf220cc
simplify
2014-12-24 13:35:51 +00:00
Matthias Radestock
9cd652ef0b
refactor: introduce small helper
2014-12-24 13:29:13 +00:00
Matthias Radestock
99c1163862
fmt
2014-12-24 10:54:38 +00:00
Matthias Radestock
108e468ada
Merge branch 'master' into eliminate_heartbeater
...
Conflicts:
router/connection.go
2014-12-24 10:48:39 +00:00
Matthias Radestock
5ccc753367
kill stale connections
...
The weave protocol already effectively performs heartbeating -
FetchAll is performed at regular intervals. Hence we can detect stale
connections by the lack of receiving any data for approximately that
interval (we use x2).
We use the same interval to set a time limit on the handshake too, and
any subsequent interactions prior to the connection being fully
established.
Fixes #272 .
2014-12-24 10:33:37 +00:00
Matthias Radestock
3c50909a49
nodelay is the default, according to the docs
2014-12-24 09:09:00 +00:00
Matthias Radestock
e850127ed4
git rid of heartbeater goroutine
...
...by moving the logic into the connection actor goroutine.
The heartbeater goroutine was doing a lot more than just heartbeating;
namely it also had tickers for triggering a ProtocolFetchAll and
initiating a fragmentation test. Furhermore, ensureHeartbeats also
spawned the forwarders.
So this was quite a mix of functionality, and, furthermore, most of it
related quite closely to the connection actor. So moving the
functionality into that simplifies the code.
In the process we also fix #294 .
2014-12-23 22:01:03 +00:00
Matthias Radestock
ad67dc5d07
don't swallow error
...
Since sometimes the error is different from what we expect.
2014-12-23 19:50:08 +00:00
Matthias Radestock
34db7044e4
cosmetic
2014-12-23 17:49:16 +00:00
rade
e5699fcfcb
Merge pull request #292 from errordeveloper/fix_282
...
Simplify docker version sed expression
Fixes #282 .
2014-12-23 17:00:10 +00:00
Ilya Dmitrichenko
c61ed4010a
Simplify docker version sed expression ( close #282 )
2014-12-23 16:24:10 +00:00
Matthias Radestock
d0846961e3
cosmetic(ish): consistently use $(...) instead of ...
2014-12-23 14:52:15 +00:00
rade
ccabdc421a
Merge pull request #290 from bboreham/master
...
Quote $@ everywhere, to guard against spaces, globbing, etc.
2014-12-23 14:50:28 +00:00
Bryan Boreham
5bb80c7126
Quote $@ everywhere, to guard against spaces, globbing, etc.
2014-12-23 14:42:48 +00:00
Matthias Radestock
15a5e38e8b
cosmetic
2014-12-23 12:59:54 +00:00
Matthias Radestock
af3d2c7e7f
cosmetic: break overlong lines
2014-12-23 12:27:13 +00:00
Matthias Radestock
d54cc53864
install docker-ns in test VMs
...
handy for debugging
2014-12-23 12:14:33 +00:00
Ilya Dmitrichenko
73a8f32532
Merge pull request #288 from viirya/if_param
...
Assign iface parameter from defined variable
2014-12-23 12:10:53 +00:00
Liang-Chi Hsieh
f5afe3b203
Merge remote-tracking branch 'upstream/master' into if_param
...
Conflicts:
weave
weaver/Dockerfile
2014-12-22 20:58:20 +08:00
Bryan Boreham
affb9aef42
Merge pull request #283 from rade/275_do_not_log_password
...
Closes #275
2014-12-22 11:31:16 +00:00
Matthias Radestock
7ccb9e36d9
update Dockerfile MAINTAINER
...
and also use what appears to be (based on some sampling of the docker
registry) the correct convention for specifying the email address.
Also ditch superfluous CMD instruction in weaver.
2014-12-22 11:11:00 +00:00
Bryan Boreham
887f2adbc1
Merge pull request #284 from rade/276_alternative_password_supply
...
LGTM. Closes #276
2014-12-22 11:03:28 +00:00
Liang-Chi Hsieh
1dc28e9025
Assign iface parameter from defined variable.
2014-12-22 15:59:29 +08:00