Support for VZFileHandleNetworkDeviceAttachment & VZVmnetNetworkDeviceAttachment
- Dominant language
- Swift
- Stars
- 35.5k
- Forks
- 1.8k
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 7
Description
It would be awesome to support:
- [VZVmnetNetworkDeviceAttachment](https://developer.apple.com/documentation/virtualization/vzvmnetnetworkdeviceattachment) (`macOS 26.0+`)
- [VZFileHandleNetworkDeviceAttachment](https://developer.apple.com/documentation/virtualization/vzfilehandlenetworkdeviceattachment) (`macOS 11.0+`)
Supporting these would enable advanced network architectures, such as running a Linux routing VM with:
- A `VZFileHandleNetworkDeviceAttachment`, allowing packets to be read and written from the host, and routed through a VPN. This is especially useful when LAN connections are blocked (Docker Desktop uses a similar approach with [VPNKit](https://github.com/moby/vpnkit)[^1]).
- A `VZVmnetNetworkDeviceAttachment`, which can also be mounted on other VMs to allow them to access the internet via the Linux routing VM.
This would enable cleaner solutions compared to existing workarounds:
- https://amodm.com/blog/2024/07/03/running-a-linux-router-on-macos
Note: #7380 did some work for `VZVmnetNetworkDeviceAttachment`.
[^1]: https://docs.docker.com/desktop/features/networking/#vpn-passthrough
Contributor guide
Assessment
This issue has not been assessed yet.