-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Network] Add support for MacVTap interfaces #1933
Comments
Hi @Vesnica! Firecracker does not support macvtap yet. What is your exact usecase ? Macvtap simplifies the networking setup, but otherwise you can still use tap + bridge. |
@sandreim Using a bridge requires me to reconfig my network (move ip to bridge etc), using macvtap can avoid these troubles. I'm looking forward to this feature. |
To accepting macvtap devices you can either require them to be in the format firecracker/src/devices/src/virtio/net/tap.rs Line 113 in 49003d0
firecracker/src/devices/src/virtio/net/tap.rs Line 123 in 49003d0
Actually it would be nicer if the XY number for /dev/tapXY is detected from its interface name via something like let mut ifreq = ifreq_for(name);; ifreq_ioctl(socketfd, &mut ifreq, SIOCGIFINDEX).map(|ifindex| ifindex as usize);
|
Here is a small helper script for testing during development. It uses the passthru mode to forward the current default NIC to the VM (temporarily blocking access of the kernel network stack). This also works when on a WiFi (but not for too long since wpa_supplicant can't renew the authentification while the VM uses the NIC).
|
I am renaming this item and I'm adding it on the Firecracker roadmap as a research item. |
@raduweiss - just following up on our slack chat. This is essential for the solution for DT and it would be good if this could be released before next year as we are planning a poc in Jan 22. |
I'm really hoping to see macvtap supported in firecracker. The business reason is simplicity. |
@bootrino - we currently use this feature from the feature branch. As its no released, we have a fork where we've merged 1.0.0 with the macvtap branch so that we aren't blocked. |
@richardcase Do you have benchmarks? Also, would you mind rebasing the branch? (it conflicts with main) |
Hi, we've been looking for a firecracker manager and the work being made by weaveworks with flintlock and @richardcase is looking great. Is there any perspective on having MacVTap supported and merged? Would be happy to contribute. BTW, @majek weaveworks have been maintaining a fork with macvtap here https://weaveworks-liquidmetal.github.io/flintlock/docs/getting-started/firecracker/ |
Following up from #2217 - I can explain my specific use case, if needed (which involves nested KVM firecrackers), but I actually think the best argument for implementing macvtap support is that it greatly lowers the barrier-to-entry for someone new to try out firecracker, because it greatly simplifies the initial networking configuration. If a goal is get more people using firecracker, then lowering the barrier-to-entry is a "big deal." (From personal experience, I put firecracker on the back burner several times before actually getting it working because the network config was frustrating, and I didn't want to make global changes to my system - e.g. enabling forwarding, just to try it out.) |
Thanks for your messages and sorry for the late reply.
So if there are people interested in 1 and 2, we can sync with item 3 and see the best path forward. |
@xmarcalx - i'm no longer at Weaveworks but i'd be interested in helping to get this feature in and could help with 1 & 2. |
Hi @richardcase (et all), thanks for the reply, and sorry for the late reply, it has been holiday and therefore OOO season. It is great that we count on your help for 1 & 2, thanks for that. As i was citing in my previous message, seems there is a lot of interest in modifying the networking backed of Firecracker among all of us. There are multiple initiatives in this direction: this macVtap, the proposal on vhost-net, and our idea to use vhost-user-net in line with the recent effort to use that technology for the block device. To better understand the usecase (also because some time passed from when the issue was opened 😢 ), I have some questions:
Anyway, we decided to track the effort to rethink about Firecracker network backed in our roadmap such that we are going to make a decision and implementation hopefully within 2024 and we do not delay this or any other networking decision further. Thanks a lot as usual for your contribution. |
Removing tracking from roadmap since we are tracking network improvements already as part of #4364 and we still do not have clear datapoint on previous questions |
I'm following the getting started guide, and trying to bind a macvtap to guest, which always give me this:
I use following command to create macvtap and try to setup network for guest:
firecracker version:
0.21.1
The text was updated successfully, but these errors were encountered: