-
Notifications
You must be signed in to change notification settings - Fork 2.3k
[Feature Request] Generic vhost-user #5687
Copy link
Copy link
Open
superserve-ai/firecracker
#2Labels
Priority: LowIndicates that an issue or pull request should be resolved behind issues or pull requests labelled `Indicates that an issue or pull request should be resolved behind issues or pull requests labelled `Status: ParkedIndicates that an issues or pull request will be revisited laterIndicates that an issues or pull request will be revisited later
Metadata
Metadata
Assignees
Labels
Priority: LowIndicates that an issue or pull request should be resolved behind issues or pull requests labelled `Indicates that an issue or pull request should be resolved behind issues or pull requests labelled `Status: ParkedIndicates that an issues or pull request will be revisited laterIndicates that an issues or pull request will be revisited later
Feature Request
Implement a generic vhost-user frontend device. This is an alternative to #4266, which is specifically about vhost-user-blk.
Describe the desired solution
It is possible to implement a vhost-user frontend that knows very little about the specific device being implemented. When compared to per-device-type frontends, a generic frontend reduces the amount of code needed and allows using device types that Firecracker would never support natively. The only requirement is that the backend is responsible for handling configuration space.
This opens up many additional use-cases for Firecracker without adding any additional complexity on the Firecracker side. As shown by cloud-hypervisor/cloud-hypervisor#7221, the generic vhost-user frontend is roughly the same size as the other frontends, but offers much more functionality. For instance, it can be used with SPDK’s vhost-user-blk backend or with virtiofsd.
Describe possible alternatives
Implement separate frontends for each supported vhost-user device type. This needs more code and is less flexible.
Additional context
I saw that #4266 was about implementing a vhost-user-blk frontend. As demonstrated by cloud-hypervisor/cloud-hypervisor#7221, a generic vhost-user frontend would support more device types, while possibly requiring less code.
Checks