Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have MMDS as a plug in component of Virtio Network #1761

Open
andreeaflorescu opened this issue Apr 8, 2020 · 6 comments · May be fixed by #5036
Open

Have MMDS as a plug in component of Virtio Network #1761

andreeaflorescu opened this issue Apr 8, 2020 · 6 comments · May be fixed by #5036
Labels
Status: Parked Indicates that an issues or pull request will be revisited later Type: Fix Indicates a fix to existing code

Comments

@andreeaflorescu
Copy link
Member

Right now the MMDS functionality is backed into the virtio net implementation. We should find a way of separating this or making it pluggable so that we can consume Virtio Network from rust-vmm when it is going to be available.

@iulianbarbu
Copy link

This is somehow the opposite of #1768. From a separation of concerns standpoint, both will achieve the separation. However, this separation is similar to the current dependencies present in Firecracker, and might work with less fuss than #1768, which needs a new design, or at least thoughts/discussions about what can be done differently to support it. Mentioned this here to keep these issues close, and have both suggestions at hand when resolving them.

@andreeaflorescu
Copy link
Member Author

Hmm, why do you say they're opposite?

I think of them as separate issues. This is related to the VirtioNetwork interface and how we make the interface/implementation not depend on Mmds. This issue doesn't really care where the MmdsNetworkStack is defined. It is just about separating the core functionality of the virtio network device from mmds in such a way that mmds can easily become a feature for example.

@iulianbarbu
Copy link

iulianbarbu commented Apr 10, 2020

Hmm, why do you say they're opposite?

I think of them as separate issues. This is related to the VirtioNetwork interface and how we make the interface/implementation not depend on Mmds. This issue doesn't really care where the MmdsNetworkStack is defined. It is just about separating the core functionality of the virtio network device from mmds in such a way that mmds can easily become a feature for example.

I said that their opposite because of the the fact that with pluggable network stack, Firecracker virtio net will still depend on the MMDS network stack, while #1768 suggests to reverse this dependency. However, reading again what you're thinking at, it looks like the changes might be very similar, and separate, as you say, or sequential maybe. I take back what I've said. :D

@gbionescu
Copy link

Related to #518

@JonathanWoollett-Light JonathanWoollett-Light added Type: Fix Indicates a fix to existing code and removed Codebase: Refactoring labels Mar 23, 2023
@roypat roypat added the Status: Parked Indicates that an issues or pull request will be revisited later label Mar 4, 2024
@roypat
Copy link
Contributor

roypat commented Mar 4, 2024

Marking this as parked, as untangling MMDS from the networking path is something we are still interesting in, yet do not have any immediate plans to work on

@jyliu02
Copy link

jyliu02 commented Jan 25, 2025

Hello, I'm interested in this issue. To decouple MMDS from the network stack, I think vsock is a good way to go. The basic idea is to launch an HTTP server on the host side that listens on a vsock endpoint, so that the guest can directly send HTTP requests to the corresponding socket and port. Since MMDS is used far less frequently than the general network transmission, separating the MMDS service seems very natural. It also paves the way for offloading the normal network datapath to a vhost‑user‑net backend driver without having to worry about filtering the MMDS traffic.

I’m curious to hear what the team think about this approach. Any feedback would be greatly appreciated!

@jyliu02 jyliu02 linked a pull request Feb 10, 2025 that will close this issue
10 tasks
@roypat roypat linked a pull request Feb 19, 2025 that will close this issue
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Parked Indicates that an issues or pull request will be revisited later Type: Fix Indicates a fix to existing code
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants