David Wragg
295876e1d1
Fast datapath
2015-10-12 21:27:11 +01:00
David Wragg
e8f975e44f
Introduce checkFatal in prog/weaver/main.go
2015-10-12 21:27:11 +01:00
David Wragg
bc026ab49a
Show the overlay name in sleeve log messsages
2015-10-12 21:27:11 +01:00
David Wragg
f56457271d
OverlaySwitch
2015-10-12 21:27:11 +01:00
David Wragg
bc5250c899
Replace OverlayForwarderListener with channels
...
It's more robust to signal the conditions asynchronously via channels
rather than callbacks.
2015-10-12 21:27:11 +01:00
David Wragg
971511e1c5
Introduce PeerShortIDs
...
These are needed to support vxlan encapsulation. In a vxlan packet,
the only place we can straightforwardly hold the source and
destination peer identifiers used by the weave router is in the
24-bit VNI (vxlan network identifier) field. This gives us 12 bits to
indicate a peer. The resulting limit of 4096 peers on a weave network
does not seem like a problem in the near future. But it does mean
that decentralized allocation makes collisions fairly likely even in
weave networks of sizes that are common today. Fortunately, the
problem is much more tractable than IPAM because we can detect when
collisions occur and take action to resolve them.
2015-10-12 21:27:11 +01:00
David Wragg
51317dca70
Introduce PeersPendingNotifications
2015-10-12 21:27:11 +01:00
David Wragg
91dda08165
Rename Peers "table" field to "byName"
2015-10-12 21:27:11 +01:00
David Wragg
67bfa5bc90
applyUpdate can return a PeerNameSet
2015-10-12 21:27:11 +01:00
David Wragg
0841f4a27d
Tidy broadcastPeerUpdate
2015-10-12 21:27:11 +01:00
David Wragg
c6edf8421f
Handle the not-found case implicitly in Broadcast and BroadcastAll
2015-10-12 21:27:11 +01:00
David Wragg
97fb90c37a
Always include local peer in Peers
2015-10-12 21:27:11 +01:00
Matthias Radestock
1d00bdd2a4
a better way to restrict coverage
...
this better fixes #1524 .
2015-10-12 18:04:07 +01:00
Matthias Radestock
0ff01871f3
Merge remote-tracking branch 'upstream/master'
2015-10-12 17:43:41 +01:00
Matthias Radestock
e00a675e6e
update tools to latest version
2015-10-12 17:43:06 +01:00
Paul Bellamy
d5e63b875b
Merge pull request #1395 from weaveworks/1371-proxy-no-dockerclient
...
[proxy] all request modification is done through map[string]interface{}
2015-10-12 16:42:44 +01:00
Matthias Radestock
a31ccef99b
only produce coverage for packages under github.com/weaveworks/weave
...
Fixes #1524 .
2015-10-12 16:06:26 +01:00
Paul Bellamy
375fd9140b
review feedback
...
* Opted to remove json path traversal, as it added more code than it saved.
2015-10-12 15:53:07 +01:00
Paul Bellamy
fbb2c213a9
[proxy] all request modification is done through map[string]interface{}
...
That way we are less likely fall victim to go-dockerclient, or the API changing.
2015-10-12 15:53:07 +01:00
Bryan Boreham
d323de3c21
Merge pull request #1520 from weaveworks/1519-rebind-status-sock
...
LGTM. Fixes #1519
2015-10-09 17:58:33 +01:00
Paul Bellamy
18872cc8ae
[proxy] remove status.sock before binding status.sock
2015-10-09 17:44:16 +01:00
Tom Wilkie
33085e3798
Merge pull request #1499 from weaveworks/1463-ipam-seed-mismatch
...
detect when IPAM has been seeded by different peers
2015-10-09 14:46:55 +01:00
Bryan Boreham
60bda7ca25
Merge pull request #1512 from weaveworks/1459-ipam-early-container-death
...
LGTM. Fixes #1459
2015-10-07 16:01:45 +01:00
Adam Harrison
b37d2ec6d1
Merge pull request #1494 from weaveworks/1468-template-on-demand
...
Build GCE template on demand
2015-10-07 15:42:39 +01:00
Matthias Radestock
751ccd02f6
don't stall in ipam on early container death
...
When a container died before we got into the allocation code (inside
the allocator run loop) we would not cancel the allocation since the
container death event will have been processed by the allocator before
it had any knowledge of the container.
The fix is to move the container-aliveness check inside the allocation
code. That way we still detect the death even if the event has already
flown past.
We only need to perform the check once, since any subsequent death
will result in an event that is processed by the allocator when it has
recorded the container in its state.
Fixes #1459 .
2015-10-07 15:20:22 +01:00
Matthias Radestock
431d04bd40
refactor: move all dataplane code out of LocalPeer
2015-10-06 19:50:41 +01:00
Matthias Radestock
e756f07cad
Merge branch '1.1'
2015-10-06 16:25:45 +01:00
Matthias Radestock
0ef548b9c9
prevent dropping of large multicast packets
...
Fixes #1507 .
2015-10-06 16:25:02 +01:00
Ilya Dmitrichenko
b9e025b50e
Merge branch '1.1'
2015-10-06 15:28:54 +01:00
Ilya Dmitrichenko
7743f0e05f
Merge branch 'latest_release_doc_updates' into 1.1
2015-10-06 15:26:50 +01:00
Ilya Dmitrichenko
a1581ed5b5
Remove stale/invalid flag
2015-10-06 15:26:14 +01:00
Ilya Dmitrichenko
7a83a71a02
Merge branch '1.1'
2015-10-06 15:24:25 +01:00
Ilya Dmitrichenko
a6c30088ab
Merge branch 'latest_release_doc_updates' into 1.1
2015-10-06 15:24:08 +01:00
Ilya Dmitrichenko
fdbe950483
Fix #1509
2015-10-06 15:21:24 +01:00
Matthias Radestock
2f86326405
Merge tag 'v1.1.1' into latest_release_doc_updates
...
Release v1.1.1
2015-10-06 15:13:50 +01:00
Matthias Radestock
8aaf4cfaf0
include nicknames in error message, if we have them
2015-10-06 14:41:41 +01:00
Ilya Dmitrichenko
8a62d13cee
Merge pull request #1500 from weaveworks/1443-dont-assume-docker
...
allow router exe to be run w/o access to Docker
2015-10-06 14:28:26 +01:00
Matthias Radestock
5a45471c68
more readable errors on ring.Merge
...
There are three significant changes here:
- rewrite ring.ErrDifferentSeeds errors
- remove the pre-checking of ranges and instead rewrite
ring.ErrDifferentRange errors
- don't pruneNicknames() and signal ringUpdated() when there was an
error
We don't rewrite other errors since our current belief is that only
ErrDifferentSeeds and ErrDifferentRange can arise from user error.
2015-10-06 14:20:42 +01:00
Matthias Radestock
6dc21bf433
Merge pull request #1503 from weaveworks/860-detach-hide-no-ipalloc
...
don't allocate IPs on 'detach' and 'hide'
Fixes #860 .
2015-10-06 12:53:51 +01:00
Matthias Radestock
1da24c68ca
don't allocate IPs on 'detach' and 'hide'
...
Instead of POSTing to IPAM in order to obtain IPs, we GET existing
IPs. We ignore 404s, so detaching/hiding remains idempotent.
Fixes #860
2015-10-06 12:35:55 +01:00
Matthias Radestock
3d3b7a5672
Merge branch '1.1'
...
Conflicts:
router/ethernet_decoder.go
router/local_peer.go
2015-10-05 20:02:32 +01:00
Matthias Radestock
6c4ea7a957
unswap src and dst ip in "too big DF broadcast" warning
...
and some whitespace cosmetics.
Fixes #1508 .
2015-10-05 19:56:59 +01:00
Matthias Radestock
f221a6d953
Merge branch '1.1'
2015-10-05 12:08:54 +01:00
Matthias Radestock
de95859e0d
add release v1.1.1
v1.1.1
2015-10-05 11:26:24 +01:00
David Wragg
bcf71c0fee
Merge branch '1.1'
2015-10-04 20:25:31 +01:00
David Wragg
8fe0228d4d
Merge 1364-ip-link-kernel-4.2 (PR #1504 )
...
strip off @... from interface names returned by `ip link show`
2015-10-04 20:23:43 +01:00
Matthias Radestock
37ea8a28ad
strip off @... from interface names returned by ip link show
...
Apparently kernel 4.2 adds these, which breaks `weave reset` when we
pass the names to `ip link del'.
Fixes #1364 .
2015-10-04 15:43:55 +01:00
Matthias Radestock
a689317696
make 'no Docker API access' the default in the exe
...
...and instead enable it in the script, via the (better named) option.
2015-10-03 17:52:57 +01:00
Matthias Radestock
14a5c12404
allow router to be run w/o access to Docker
...
Fixes #1443 .
2015-10-03 17:52:57 +01:00
Matthias Radestock
35b2968b60
Merge branch '1.1'
2015-10-03 17:20:21 +01:00