Commit Graph

8 Commits

Author SHA1 Message Date
Justin Cormack
321c180c60 Split config database setup by platform
Add basic database setup for AWS, GCP although these are not yet used
by the setup code but will be useful later.

Currently each is gated by `mobyplatform` but this can be removed once we
construct Moby per platform, and once these are containerised so they
are not run from `openrc`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-23 18:08:26 +00:00
David Scott
3fc0d994b5 tap-vsockd: add buffering
This patch adds a simple ring buffer implementation and uses it to buffer
the reads and writes to/from the AF_HYPERV socket and tap file descriptor.

This removes the need to perform small reads and writes for the per-packet
headers and allows a read on the Hyper-V socket to block at the same time
as a write to the tap device (and vice-versa)

The configuration in the init.d script is:

- a max message size (individual read or write) of 8192. Experimentally
  this seems to be the largest completely reliable size across the Windows
  versions we can support. Messages of length 16384 sometimes fail.
- a buffer size of 256KiB in each direction.

Single stream TCP throughput as measured by iperf increases modestly, by
another 100Mbit/sec.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-01-23 12:17:52 +00:00
Justin Cormack
07103e7e62 Switch to dhcpcd
Should fix issue with not sending hostname which Azure needs.

This should be requesting all the dhcp features we currently use.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-23 15:52:30 +01:00
Rolf Neugebauer
803be36b96 net: consolidate DHCP onto eth0 only
- rename DfW main interface eth0
- remove eth1 DHCP config
- create tap device in init script not interfaces file

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-09-22 18:12:45 +01:00
Justin Cormack
c475121074 Use mobyplatform not vmbus for tap-vsock
Plus cleanup for less indentation. No functional change.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:30:59 +01:00
David Scott
e99d36784b tap-vsockd: make sure the service daemonizes properly
This tells start-stop-daemon to run tap-vsockd as a daemon, and tells
tap-vsockd not to daemonize itself. This seems to work more reliably
than when tap-vsockd self-daemonizes.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-06-14 15:16:56 +01:00
David Scott
eeba63f8d6 tap-vsockd: only try to start on Hyper-V
This avoids an unnecessary boot-up error on non-Hyper-V hosts.

From review comments on #130

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-22 12:12:01 +01:00
David Scott
da954e93e3 tap-vsockd: add tap-vsockd service to bring up eth1
The tap-vsockd service is started from eth1's pre-up script.

On the Mac: the bind of the AF_HYPERV socket fails, and eth1 is skipped.
On Windows: if there is no database then eth1 is skipped.
On Windows: if the database has network=native then eth1 is brought up.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:58:38 +01:00