#418
Is it possible to restart gvproxy to restore network connectivity?
Currently, if the gvproxy crashes, the VM using it will lose network connectivity. The VM must be shutdown and both gvproxy and the VM must be restarted to restore network connectivity.
It would be nice if there was a way to restart a crashed (or misbehaving) gvproxy process, and if the VM was able to detect this, reconnect to it, and then network connectivity would be restored.
Opening an issue to remember to take a look at this, to first see if this looks feasible without major architecture changes.
With vfkit you connect to gvproxy socket and pass the file descriptor to virtualization framework. If gvproxy crashes, your file descriptor is not connected any more so the network is broken.
If the virtualization framework does not support attaching a new file handle to network interface we need to be able to keep the existing file handle.
If vfkit or krunkit create a socketpair, we can pass one descriptor to the virtualization framework, and the other to gvporxy using a unix socket. This can also be useful to support multiple vms connected to the same proxy - we can have one unix socket used to pass unix diagram sockets to gvproxy.
Another way (macOS only) is using XPC - it support passing file descriptors between processes.