- Acquire "shared" network
- Acquire "host" network
- Acquire non-existing network
- Extend test.c to receive multiple networks
- Split acquire and clean up operations so we can acquire multiple networks at the same time.
- acquire network
- start interface (validated the acquired network)
- stop interface (clean up before exit)
- Acquire both "shared" and "host"
- Acquire same network multiple times
- Multiple peers sharing same network
- Acquire MAX_PEER_NETWORKS networks
- Fail to acquire (MAX_PEER_NETWORKS + 1) networks
- Add idle timeout for individual networks
- Remove network after timeout when no peers are using it
- Cancel timeout when peer acquires the network
- Add run-at-load mode where daemon never shuts down
- In this mode, networks are never deleted (persist across peer disconnects)
- Useful for pre-warming networks or persistent network configurations
- Add command to dump daemon state (networks, peers, counters)
- Useful for troubleshooting without restarting the daemon
- Fix typos and errors (XPS→XPC, vment→vmnet, drriver→driver, invalid subnet mask)
- Create docs/ directory structure
- Move configuration section to docs/configuration.md
- Move vfkit/minikube integration to docs/integrations.md
- Move hacking/development details to docs/development.md
- Rewrite opening sections to match the technical tone of the rest
- Streamline README structure with links to docs/
- Add bats tests for install script (files, user, group, service)
- Add bats tests for uninstall script (cleanup verification)
- Test try_stop_service fails when peers are connected
- Note: requires root, suitable for CI only
- Handle
launchctl stopsignal for immediate graceful shutdown - Update uninstall script to stop service before bootout
- Increase idle timeout (2+ minutes) now that install/uninstall are smarter
- Add performance benchmarks (iperf3 on macOS 26: vmnet-broker vs vmnet-helper vs socket_vmnet)