Skip to content

Support krunkit new virtio-net unixgram options#92

Merged
nirs merged 7 commits into
mainfrom
krunkit-no-offloading
Sep 4, 2025
Merged

Support krunkit new virtio-net unixgram options#92
nirs merged 7 commits into
mainfrom
krunkit-no-offloading

Conversation

@nirs
Copy link
Copy Markdown
Owner

@nirs nirs commented Aug 15, 2025

Latest krunkit supports virtio-net type=unixgram options supporting fd= or path= and offloading= option to enable offloading. This change update the example script to use the new options.

  • Disable offloading for krunkit driver by default
  • Support --connection=fd for krunkit driver and make it the default
  • Remove --connection=auto option since all drivers supports --connection=fd
  • Change --vment-offload=auto|on|off to --enable-offloading boolean flag since all drivers disable offloading by default
  • Updated the benchmarks and plot to use the --enable-offloading and use boolean offloading option
  • Update performance results on macOS 15.6.1 with current krunkit and lima 1.2.1

Depends on:

nirs added 3 commits August 30, 2025 21:24
Future krunkit provides unixgram socket option supporting offloading
argument to enable of disable offloading. This is a minimal change to
test this option.

Depends on:
- libkrun/krunkit#63
Latest krunkit can use a file descriptor instead of unix socket. Update
the krunkit command to support this. Since krunkit behaves like vfkit
and qemu, we can remove the special "auto" connection.

Depends on:
- libkrun/krunkit#63
- containers/libkrun#402
Previously we use "auto", "on", "off" to enable offloading automatically
for krunkit since it was always required. Now that this is an optional
features we can simplify to boolean flag.

Depends on:
- libkrun/krunkit#63
- containers/libkrun#402
@nirs nirs force-pushed the krunkit-no-offloading branch from 2462708 to 2253989 Compare August 30, 2025 18:25
nirs added 3 commits August 30, 2025 21:53
Matching other boolean flags and the option name in krunkit. Update the
benchmarks to use "offloading" instead of "offload" and use a boolean
option instead of string ("on", "off").

Since krunkit supports now testing with and without offloading, update
the benchmark to test with system krunkit instead of krunkit.local.

Update the plots to compare krunkit with and without offloading. Since
the default is not using offloading, change the tag to "offload".
host mode fails randomly with vfkit and krunkit when testing vm-to-vm.
This mode is less interesting so lets disable it for now.

We could work on retries or skip it only for certain drivers later.
Latest krunkit support the offloading option to enable and disable
offloading. This improves performance dramatically for host to vm use
case. Update the results using latest krunkit with and without
offloading on macOS 15.6.1.

Since offloading is a useful option now, add an offloading section to
the README.

Show both shared and bridged network results for all tests. Bridged
performance is little better but most users are interested in shared
network results. For example minikube does not support yet bridged
network due to the way it discover machine IP address.
@nirs nirs force-pushed the krunkit-no-offloading branch from 34b0bc0 to b3e60fa Compare August 31, 2025 08:45
These options can be used for latest krunkit and may be useful in
certain use cases.
@nirs nirs changed the title Disable offloading for krunkit Support krunkit new virtio-net unixgram options Aug 31, 2025
@nirs nirs added this to the v0.7.0 milestone Aug 31, 2025
@nirs nirs marked this pull request as ready for review September 4, 2025 00:04
@nirs nirs merged commit 3114940 into main Sep 4, 2025
7 checks passed
@nirs nirs deleted the krunkit-no-offloading branch September 4, 2025 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant