firecracker-microvm / firecracker

Secure and fast microVMs for serverless computing.
http://firecracker-microvm.io
Apache License 2.0
24.96k stars 1.75k forks source link

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

Open andreeaflorescu opened 4 years ago

andreeaflorescu commented 4 years ago

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 commented 4 years ago

This is somehow the opposite of https://github.com/firecracker-microvm/firecracker/issues/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 commented 4 years ago

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 commented 4 years ago

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 commented 3 years ago

Related to https://github.com/firecracker-microvm/firecracker/issues/518

roypat commented 5 months ago

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