Dave Scott
58204eab91
Merge pull request #145 from djs55/tap-vsockd-tool
...
tuntap vsock tool
2016-05-21 13:50:03 -07:00
Dave Scott
a0ae0b66ec
Merge pull request #144 from djs55/9pmount-vsock-tool
...
9pmount vsock tool
2016-05-21 13:48:57 -07:00
David Scott
81f6905893
9pmount-vsock: add .gitignore
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:42:52 +01:00
David Scott
b40c691f89
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
dbd9fb77fd
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
a71e917f6d
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
b72e8de310
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
67bc700af3
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
1142bbb611
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
a493947c9c
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
54001a1d06
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
6ad649b77b
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
f498bf69e1
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
1103dc40e9
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
3fcf9b7e9b
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
4fa693777f
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
20a92cfc3b
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
616b1c1f66
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
085969fa49
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
8669c643cf
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
292b94a1f4
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
a19630c1f4
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
1dfe82981a
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
d7fc50c777
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
0a28aa11b3
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
bf005cdd1e
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
9e353247cd
9pmount-vsock: add initial skeleton
...
Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 13:56:36 +01:00
Rolf Neugebauer
1a1ba74f48
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
788e3a0756
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
a907297f2d
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
0b61a4785e
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
a29e63d660
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
ea0c773db6
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
3ae0db1280
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
ebb5604d71
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
6c2056055c
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
245fa32d28
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
cdfc424823
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
2e14f1c2a9
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
56ab75386f
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
92f6148566
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
50412a6769
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
8977f9b358
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
a66704fdc6
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
e3633f9d8e
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
a4027a5ce9
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
2fefa65a6a
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
9ae4438222
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
a720403140
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
354c62a6df
Make hupper watch for proxy changes too
...
Signed-off-by: Dave Tucker <dt@docker.com>
2016-05-17 09:04:56 +01:00