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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>