Use passt for user-mode networking on crosvm. - #3071
Merged
Conversation
3405691582
force-pushed
the
passt_3
branch
4 times, most recently
from
August 21, 2026 18:13
e51cdf5 to
ef994fe
Compare
Databean
approved these changes
Aug 24, 2026
dxapd
approved these changes
Aug 24, 2026
3405691582
force-pushed
the
passt_3
branch
2 times, most recently
from
August 24, 2026 20:40
ff93f56 to
2900583
Compare
3405691582
enabled auto-merge
August 24, 2026 20:40
Currenly, for cuttlefish guest network access, the host requires tap devices to be preconfigured or dynamically configured with cvdalloc. Both require some manner of elevated privileges in the execution environment, which can be inconvenient for external network access, or prevents network access entirely in some execution environments. User-mode networking is the typical mechanism to work around this requirement, and slirp is the typical implementation for this. However, while slirp is available in qemu, it is not available on all platforms for crosvm. To work around this, for now we use vhost-user and passt. If slirp is supported in crosvm on more platforms in the future, then we can pivot. Currently, only the mobile interface is set up with passt. Doing this correctly for Wi-Fi will require more care, and for now, having some basic user-mode networking is better than none. Bug: 286284441
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currenly, for cuttlefish guest network access, the host requires tap
devices to be preconfigured or dynamically configured with cvdalloc.
Both require some manner of elevated privileges in the execution
environment, which can be inconvenient for external network access, or
prevents network access entirely in some execution environments.
User-mode networking is the typical mechanism to work around this
requirement, and slirp is the typical implementation for this. However,
while slirp is available in qemu, it is not available on all platforms
for crosvm.
To work around this, for now we use vhost-user and passt. If slirp is
supported in crosvm on more platforms in the future, then we can pivot.
Currently, only the mobile interface is set up with passt. Doing this
correctly for Wi-Fi will require more care, and for now, having some
basic user-mode networking is better than none.
Bug: 286284441
To expedite things, I'm sending this for review now while dependent prs covering the other commits are now being merged in #3056 and #3057. Once landed, I'll rebase this branch. For now, you can focus your attention on the changes in ccd3551.