Commit Graph
1114 Commits
Author SHA1 Message Date
Michael Bridgen 540f84af3d Merge branch 'weave-362' of https://github.com/inercia/weave into pr392 2015-02-24 16:43:56 +00:00
rade b53a2c772c Merge pull request #414 from bboreham/411_closed_connections
Add 'finished' chan to stop callers blocking on closed connection
2015-02-24 11:23:36 +00:00
Bryan Boreham 78d2a3e466 Add 'finished' chan to stop callers blocking on closed connection 2015-02-24 10:48:52 +00:00
Alvaro Saurin c575023681 zettio/weave#362 - command line arg for using a specific fallback DNS server 2015-02-23 13:17:54 +01:00
Alvaro Saurin 419138ec6a zettio/weave#362 - use a WaitGroup for the TCP/UDP goroutines: otherwise, WeaveDNS server just quits 2015-02-23 13:17:54 +01:00
Alvaro Saurin ea1c3e8219 zettio/weave#362 - fix: = instead of := 2015-02-23 13:17:54 +01:00
Alvaro Saurin f8b3c86498 zettio/weave#362 - properly test the TCP-retry mechanism by creating fallback servers that return truncated responses with UDP but not with TCP 2015-02-23 13:17:54 +01:00
Alvaro Saurin 3de924fa2f zettio/weave#362 - moved Check*() to common 2015-02-23 13:17:54 +01:00
Alvaro Saurin 5dd475b2e5 zettio/weave#362 - fix DNSServer initialization
removed a couple of goroutines spawns...
2015-02-23 13:17:54 +01:00
Alvaro Saurin ef72d65aa4 zettio/weave#362 - use for fallback queries the same protocol clients have used for querying us. 2015-02-23 13:17:54 +01:00
Alvaro Saurin 9c7ffd9b81 zettio/weave#362 - improve the unit tests for the TCP server by checking if we get all the responses with TCP when a previous UDP query resulted in a truncated response. 2015-02-23 13:17:54 +01:00
Alvaro Saurin bf88ed8d96 zettio/weave#362 - unit test for TCP requests to our DNS server 2015-02-23 13:17:54 +01:00
Alvaro Saurin c81769cc9a zettio/weave#362 - implement a graceful shutdown 2015-02-23 13:17:54 +01:00
Alvaro Saurin c1f9c8bc10 zettio/weave#362 - new constructor for creating a DNS server with a given config
fix unit tests by using the new constructor
2015-02-23 13:17:54 +01:00
Alvaro Saurin 3be5600383 zettio/weave#362 - reorganize the DNS server code, so it looks like the mDNS server, with a proper class with Start() and so...
Listen on TCP on port 53 by default
2015-02-23 13:17:54 +01:00
rade e485e68946 Merge pull request #409 from achanda/patch-2
Ignore vagrant directory
2015-02-22 08:55:41 +00:00
Abhishek Chanda d930f5c54a Ignore vagrant directory 2015-02-21 23:21:43 -08:00
Bryan Boreham 2817638ef9 Merge pull request #396 from achanda/patch-2
LGTM.
2015-02-17 12:39:16 +00:00
Abhishek Chanda ed2d0d56a5 Enable code coverage reports
This will make the test print code coverage report once done in each directory
2015-02-14 16:30:32 -08:00
Michael Bridgen a6f1435444 Only fetch the assert script if it's not present 2015-02-11 14:36:00 -08:00
Matthias Radestock 9f9949b80c update copyright notices (year & entity) 2015-02-06 23:14:38 +00:00
Matthias Radestock 94c7b60983 Merge remote-tracking branch 'upstream/master' 2015-02-04 16:51:15 +00:00
Matthias Radestock e2818f883c refactor: move and simplify handshake logic 2015-02-04 16:49:57 +00:00
Michael Bridgen 59cd5a13da Merge branch 'pr361' 2015-02-04 16:35:29 +00:00
Michael Bridgen 1f9e321097 Merge branch '360_dns_buffer' of https://github.com/bboreham/weave into pr361 2015-02-04 16:35:14 +00:00
Matthias Radestock f01d9ce092 explain why create-bridge is undocumented 2015-02-04 16:00:35 +00:00
Bryan Boreham 04a7aa1405 Use buffer size 4096 on advice from a DNS expert 2015-02-04 14:58:21 +00:00
Matthias Radestock 2f5b586e68 typo 2015-02-03 15:14:14 +00:00
Matthias Radestock 9c3d509b10 cosmetics
suggested by linter
2015-02-03 14:46:35 +00:00
Matthias Radestock b42766fb81 'docker tag' with '-f' so we can easily re-do failed releases 2015-02-03 14:20:04 +00:00
Matthias Radestock af2206e156 add 0.9.0 release change log v0.9.0 2015-02-03 13:19:43 +00:00
Bryan Boreham e325c35c10 Merge pull request #381 from rade/380_prevent_premature_peer_topology_gc
LGTM.  Fixes #380
2015-02-03 10:39:08 +00:00
Bryan Boreham 458ef12da6 Use a larger buffer than the default, so that more queries will succeed 2015-02-02 13:26:44 +00:00
Bryan Boreham e5a08a505d Change DNS fallback test to use a locally-run server to generate long responses reliably 2015-02-02 13:24:37 +00:00
Bryan Boreham 9ae3f4c692 Only read /etc/resolv.conf once 2015-02-02 13:16:05 +00:00
Matthias Radestock b722f9d9dd Merge branch 'master' into 380_prevent_premature_peer_topology_gc 2015-02-01 19:26:00 +00:00
Matthias Radestock 08c34e4bb9 refactor: rename a method 2015-02-01 19:25:31 +00:00
Matthias Radestock ed65023021 only include established connections in route calculation
except for reachability analysis in gc
2015-02-01 19:13:51 +00:00
Matthias Radestock 7834057b2e cosmetic: remove duplicate comment 2015-02-01 17:52:07 +00:00
Matthias Radestock f25696c245 prevent premature gc of peers from topology
Topology gossip can be received on a connection before that connection
has been marked as 'established'. If we do not include unestablished
connections in topology gossip, then parts of the topology can be
removed by gc, since they are deemed unreachable, which can cause
subsequent incremental topology gossips to be rejected due to them
containing references to peers that have been removed by the gc.

Including unestablished connections in topology gossip requires:

- removing the check for 'established' connections in the encoding of
  peers for topology gossip,
- adding the 'established' flag to the internal representation of
  remote connections,
- adding the 'established' flag to to encoding of connections in
  topology gossip,
- treating the *addition* of a connection as an update to the local
  peer.

The latter entails

- bumping the peer version on connection addition (as well as on
  marking 'established' as previously),
- bumping the peer version *unconditionally* on connection deletion
  (rather than only when the connection was 'established', as
  previously),
- moving the initial sending of complete topology on the connection,
  and the broadcasting of a topology update containing the two peers
  at the ends of the connection, from the connection 'established'
  logic to the connection addition logic,
- broadcasting just an topology update for the local peer when a
  connection gets marked as 'established',
- broadcasting a topology update for the local peer *unconditionally*
  when a connection is removed (rather than only doing this when the
  connection was 'established', as previously).
2015-02-01 16:52:39 +00:00
Matthias Radestock b43e5debb1 gofmt 2015-02-01 16:50:43 +00:00
Matthias Radestock 2d135f3da0 prevent premature peer gc
Caused by a race between adding the connection to our map and
receiving a topology gossip on it.

We remove the race by making AddConnection synchronous and invoking it
prior to entering the tcp receive loop.

Fixes #367.
2015-01-31 22:29:07 +00:00
Matthias Radestock 5892cae5d0 set the hostname on the test VMs
which makes it easier to see where you are when ssh'ed in
2015-01-31 17:12:20 +00:00
Matthias Radestock 5967d5de20 make it easier to set up more than 2 VMs for testing 2015-01-31 16:55:45 +00:00
Matthias Radestock 8f18df7a43 cosmetic: improve comment 2015-01-31 11:38:29 +00:00
Matthias Radestock 2dee5abccc cosmetic 2015-01-31 11:35:46 +00:00
Matthias Radestock 65d0c8b4ce log unknown peer received in topology gossip 2015-01-31 11:31:45 +00:00
Matthias Radestock de45a85162 tweak error handling in topology update application
- simplify
- abort early
2015-01-31 10:35:36 +00:00
rade 99770c564b Merge pull request #377 from sttts/expose-hide-without-ethtool
Also avoid calling ethtool in expose and hide
2015-01-29 23:26:30 +00:00
Matthias Radestock bb134154a8 banish non-posix sed regexps
Fixes #371.
2015-01-29 21:39:11 +00:00