-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consider one vmnet interface per VM, datagram-based interface #77
Comments
Greetings and salutations, I find myself here as a UTM user after hitting a perceived limitation of QEMU, deciding I'll probably need to build QEMU myself to work on this limitation (described below), building a recent version of QEMU (9.1.2), and ending up stymied by the whole entitlements / provisioning profile / not even on your own MacBook debacle. I've just tried working out how I might use Incidentally, the original problem which has me inclined to hack on QEMU is also network related; I couldn't find an existing way to simulate carrier loss, e.g. were a cable modem to lose power or simply decide to disable its Ethernet interface. |
If you just want to use QEMU with vmnet you can run it with sudo. |
@tamird Thanks, I needed that reminder! I decided early on that I really didn't want to run QEMU as
|
|
Currently socket_vmnet spawns a single
vmnet_interface
socket_vmnet/main.c
Lines 263 to 272 in f486d47
and takes on the responsibility of flooding all clients with all other clients' packets. This leads to #58.
We should consider an alternative design where the client-server interface is comprised of a file descriptor and metadata that allows the server to create a VM per client. This would remove the need to flood with packets, allow some VMs to be isolated from others, and generally expose the full generality of vmnet with better performance.
We should also move to datagram sockets as part of this redesign as they do not employ a framing protocol that requires 2
read
calls per packet and makes it impossible to use vectorized reads.The text was updated successfully, but these errors were encountered: