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
Justin Cormack
04d5a39638
Merge pull request #129 from rneugeba/hvsock-fix
...
kernel: Fix Null pointer de-reference in af_hvsock code
2016-05-15 13:01:36 +01:00
Rolf Neugebauer
58b500ccd9
kernel: Fix Null pointer de-reference in af_hvsock code
...
The Hyper-V socket patch has a bug which was triggered by a race condition when
the client connected and then immediately closed the connection before the
server would call accept(). This caused a kernel crash.
This patch was discussed with Dexuan Cui <decui@microsoft.com>, the original
author of the Hyper-V socket support.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-15 12:59:55 +01:00
Justin Cormack
42e81e94f3
Merge pull request #127 from rneugeba/hvsockup
...
kernel: Update Hyper-V socket patch to v10
2016-05-13 16:57:02 +01:00
Rolf Neugebauer
8a8896f477
kernel: Update Hyper-V socket patch to v10
...
This required pulling in the Qualcom IPC patches as those changed
the socket family enumeration.
All other patches should be the same.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-13 16:14:19 +01:00
Justin Cormack
95c47663a3
Merge pull request #126 from justincormack/nosyslinux
...
We do not seem to need syslinux in the image, and it brings in libpng…
2016-05-11 15:00:30 +01:00
Justin Cormack
259224176f
We do not seem to need syslinux in the image, and it brings in libpng and things we do not need
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-11 14:56:58 +01:00
Justin Cormack
d7717d912f
Merge pull request #125 from justincormack/caps
...
use capabilities not privileged for building ISO
2016-05-11 10:02:46 +01:00
Justin Cormack
f3a469c848
use capabilities not privileged for building ISO
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-11 10:02:23 +01:00