Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
virtme-run
supports multiple--net
arguments to setupvirtio-net
devices, but the init program was only starting the DHCP client for one of them: the first one it discovered (which here in rust was not necessarily the first one by alphabetical order).Now, the DHCP client is started for each interface, so each of them can have an assigned IP address.
Technically, instead of returning one network device, a vector of devices is returned. Same for the threads to start the DHCP clients.
While at it, the loopback interface is also setup in a thread: it is fine if nothing else is depending on it. (Or maybe Snap depends on it? I didn't check with my current setup not having Snap. But if it does, I guess the modifications in the
main()
function are not correct:lo
should be setup, then the vector should be created.)Please note that I still need to learn Rust, and it is the first time I'm writing "useful" code. Do not hesitate to tell me if there are stuff to improve :)