brew install meson qemu
python3 -m venv .venv
source .venv/bin/activate
pip install pytest scapy pyyaml black matplotlib./build.sh buildThis creates a universal binary (arm64 + x86_64) at build/vmnet-helper.tar.gz.
To install from a locally built tarball:
./install.sh build/vmnet-helper.tar.gzTo run the tests, activate the virtual environment first:
source .venv/bin/activate
pytest -v./fmt.shActivate the virtual environment first:
source .venv/bin/activateCreate VMs for benchmarking (see examples for details on the run tool):
./bench createTo run all benchmarks with all drivers and all operation modes and store iperf3 results in json format use:
./bench run performance/benchmarks/full.yamlThe benchmark results are stored under out/bench/vmnet-helper.
See the benchmarks directory for additional configurations.
When done you can delete the vms using:
./bench deleteTo create plots from benchmark results run:
./bench plot -o out performance/plots/drivers.yamlThe plots use the results stored under out/bench and created under
out/plot.
See the plots directory for additional configurations.
Running socket_vmnet as launchd service, creating virtual machines with lima 1.0.6.
Tests run using socket_vmnet test/perf.sh script:
test/perf.sh create
test/perf.sh runTo include socket_vmnet results in the plots copy the test results to the output directory:
cp ~/src/socket_vmnet/test/perf.out/socket_vmnet out/bench/