Dave Scott
4482790f48
Merge pull request #144 from djs55/9pmount-vsock-tool
...
9pmount vsock tool
2016-05-21 13:48:57 -07:00
David Scott
537efa03be
9pmount-vsock: add .gitignore
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:42:52 +01:00
David Scott
af556bdc23
9pmount-vsock: add to /sbin
...
This patch adds the binary to /sbin but does not hook it up.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:41:50 +01:00
David Scott
d7863c8882
tap-vsockd: add to /sbin
...
Install the daemon in /sbin, but don't start it up yet.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:15:11 +01:00
Rolf Neugebauer
b6c367d4ac
Merge pull request #143 from rneugeba/kernel-vmbus-fix
...
kernel: update VMBus fix patch from MSFT
2016-05-21 15:27:27 +01:00
David Scott
4fa937d11d
tap-vsockd: if the client closes, be prepared to reconnect
...
In `connect` mode the client looping calling `connect` and `close` on a timer.
This could result in the server accepting the connection and the client accidentally
closing it immediately. This patch makes `tap-vsockd` keep trying to (re-)establish
the connection. Note that daemonization is delayed until after the first successful
negotiation, so attempts to send a packet afterwards should succeed.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:51:32 +01:00
David Scott
1e96379e3f
tap-vsockd: use stderr rather than syslog if service guid is wrong
...
Our convention is to print command-line parse failures to the terminal
to allow easier interactive debugging, rather than sending them to
the syslog.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:51:32 +01:00
David Scott
1805c803a9
tap-vsockd: remove the Windows compatibility shim
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:51:32 +01:00
David Scott
a1d91d2a3d
tap-vsockd: support daemonization via a --daemon arg
...
We daemonize after checking the command-line and binding/connecting
the socket and creating the tap device. Only the ethernet frame
processing happens afterwards.
This patch also includes a new well-known service GUID for the
VPN-proxy ethernet service.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:50:52 +01:00
David Scott
f636321b81
tap-vsockd: support both connect() and accept()
...
Older versions of the Linux AF_HVSOCK can only accept() as they
don't allow connections to the parent partition. Support both
modes for now.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
f74d52574e
tap-vsockd: add a --pidfile <pidfile> argument
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
a4a8d02560
tap-vsockd: exit non-zero if the server cannot start
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
4ffd1742dd
tap-vsockd: add basic logging support
...
By default we write to syslog. If the `--debug` argument is provided
then we also write to stderr.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
4f4c807245
tap-vsockd: set the MAC address on the TAP device
...
The vmnet protocol expects to tell the client what the MAC address is.
This patch sets it on the TAP device.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
b45ac6d9a8
tap-vsockd: proxy between the hyper-v socket and the tap device
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
853d17e04f
tap-vsockd: open the tap device, connect the hvsock and negotiate
...
Signed-off-by: David Scott <dave@recoil.org>
2016-05-21 14:49:55 +01:00
David Scott
3533ff526e
tap-vsockd: remove dead code and ASL references
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
66534816a7
tap-vsockd: add the vmnet protocol definitions
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 14:49:55 +01:00
David Scott
cd441c5f29
tap-vsockd: add a function to open a TAP device
...
Signed-off-by: David Scott <dave@recoil.org>
2016-05-21 14:49:55 +01:00
David Scott
17ced40bf4
tap-vsockd: add skeleton with hyper-v sockets
...
Signed-off-by: David Scott <dave@recoil.org>
2016-05-21 14:49:50 +01:00
David Scott
2f3b1cce02
9pmount-vsock: retry the mount if it fails
...
The client on the host may time-out the connection attempt after we have
accepted it. If the mount fails, sleep for 1s and try again.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:40 +01:00
David Scott
a295aec785
9pmount-vsock: require <tag> and <path> arguments for the 9P mount
...
The program can now be used to mount more filesystems than the database
one.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
David Scott
672d611c8f
9pmount-vsock: remove Win32 compatibility code
...
There's no point having an ability to compile this code on
Windows, so simplify it.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
David Scott
a772c2b7d6
9pmount-vsock: only try to accept 1 connection
...
The database has a reconnect loop, and we don't particularly want
to accept more than one of its connections per mount.
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
David Scott
36d09be949
9pmount-vsock: make a connection then execv /bin/mount
...
The magic options are
-o trans=fd,rfdno=<FD>,wfdno=<FD>
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
David Scott
ed616f8c26
9pmount-vsock: add initial skeleton
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
Rolf Neugebauer
57921ac699
kernel: update VMBus fix patch from MSFT
...
Also rebase patches to 4.4.10 (no code changes)
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-21 11:28:02 +01:00
Justin Cormack
32c5dcd97a
Merge pull request #141 from justincormack/kernelup
...
update Linux to 4.4.11 stable release
2016-05-20 10:22:33 -07:00
Justin Cormack
2dc7c66e0d
update Linux to 4.4.11 stable release
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-20 10:21:52 -07:00
Rolf Neugebauer
f8e3bd7c37
Merge pull request #140 from rneugeba/revert-126
...
moby: revert #126 . setup-disk -m depends on syslinux for now
2016-05-20 09:49:35 +01:00
Rolf Neugebauer
49d72c048a
moby: revert #126 . setup-disk -m depends on syslinux for now
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-20 09:42:46 +01:00
Rolf Neugebauer
217883beea
Merge pull request #139 from rneugeba/moby-fs
...
kernel: enable VFAT and ISO9660 Filesystems in the kernel
2016-05-19 14:35:09 +01:00
Dave Scott
b2bfeeb607
Merge pull request #137 from rneugeba/vsock-up
...
Add (optional) Hyper-V socket support to vsudd and diagnosis
2016-05-19 06:09:51 -07:00
Rolf Neugebauer
26b2dc0dd7
vsudd: use vendor'ed hvsock/vsock modules
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 13:54:48 +01:00
Rolf Neugebauer
8a15616f33
proxy: use share vendored go packages
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 13:54:48 +01:00
Rolf Neugebauer
f1aa816c4a
diagnostics: add support for hyper-V sockets
...
Use the new shared vendor'ed packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 13:54:48 +01:00
Rolf Neugebauer
27126abf3b
go: add the logrus package used by the proxy
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 11:49:49 +01:00
Rolf Neugebauer
124eb81ca2
go: vendor shared hvsock/vsock packages
...
These packages will be shared by a number of utilities
so vendoring them in a shared place.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 11:49:49 +01:00
Rolf Neugebauer
255a92a3dc
kernel: enable VFAT and ISO9660 Filesystems in the kernel
...
DOS filesystems are handy for embedded development. ISO FS was
requested/suggested somewhere on a forum.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 10:35:53 +01:00
Justin Cormack
db0ddaa84e
Merge pull request #136 from dave-tucker/proxy_2
...
Only watch proxy if keys are in the db
2016-05-18 07:47:44 -05:00
Dave Tucker
61634d2aff
Only watch proxy if keys are in the db
...
My last change fails if the proxy keys aren't in the db...
Signed-off-by: Dave Tucker <dt@docker.com>
2016-05-18 11:23:02 +01:00
Justin Cormack
aeacb7b283
Merge pull request #135 from justincormack/buildbase
...
use build-base not alpine-sdk as smaller
2016-05-17 10:01:32 -05:00
Justin Cormack
a740d022ff
use build-base not alpine-sdk as smaller
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-17 10:00:58 -05:00
Justin Cormack
504b115a4e
Merge pull request #128 from dave-tucker/proxy
...
Write Proxy Settings in Docker Init Script
2016-05-17 08:03:29 -05:00
Justin Cormack
8b24be487b
Merge pull request #133 from rneugeba/vmbus-up
...
kernel: cherry-pick more VMBus patches, fix for yet another kernel crash
2016-05-17 08:01:20 -05:00
Justin Cormack
7e868001e4
Merge pull request #134 from ncopa/kernel-4.4.10
...
update to kernel 4.4.10, aufs 20160516
2016-05-17 08:00:59 -05:00
Natanael Copa
26ae4693e1
update to kernel 4.4.10, aufs 20160516
...
Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-05-17 12:55:24 +02:00
Rolf Neugebauer
61b38236a9
kernel: cherry-pick more VMBus patches, fix for yet another kernel crash
...
These are most of the changes to channel.c and channel_mgmt.c from upstream.
They are needed to apply a proposed patch to fix yet another kernel crash
we reported. This patch is also included.
With these patches applied many thousand connections with random data and up
to 10 concurrent connections are sustained without kernel crashes.
This patch also updates the core Hyper-V socket support to v11 (which
also obsoletes the previous patch added to work around a kernel bug)
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-17 11:06:07 +01:00
Dave Tucker
bbd7a761cf
Make hupper watch for proxy changes too
...
Signed-off-by: Dave Tucker <dt@docker.com>
2016-05-17 09:04:56 +01:00
Dave Tucker
7318e24b87
Set proxy setting in Docker init script
...
Signed-off-by: Dave Tucker <dt@docker.com>
2016-05-16 12:07:01 +01:00