Open andreeaflorescu opened 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.
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.
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
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
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.