From 7f237341721f1c8e0e6081d2d943db30f079be67 Mon Sep 17 00:00:00 2001 From: Pavel Mores Date: Thu, 21 Mar 2024 12:48:29 +0100 Subject: [PATCH] runtime-rs: reduce generate_netdev_fds() dependencies generate_netdev_fds() takes NetworkConfig from which it however only needs a host-side network device name. This commit makes it take the device name directly, making the function useful to callers who don't have the whole NetworkConfig but do have the requisite device name. Signed-off-by: Pavel Mores --- .../crates/hypervisor/src/qemu/cmdline_generator.rs | 3 ++- src/runtime-rs/crates/hypervisor/src/qemu/network.rs | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/runtime-rs/crates/hypervisor/src/qemu/cmdline_generator.rs b/src/runtime-rs/crates/hypervisor/src/qemu/cmdline_generator.rs index abd974cbdc..62584c36c8 100644 --- a/src/runtime-rs/crates/hypervisor/src/qemu/cmdline_generator.rs +++ b/src/runtime-rs/crates/hypervisor/src/qemu/cmdline_generator.rs @@ -1135,8 +1135,9 @@ impl<'a> QemuCmdLine<'a> { ) -> Result> { let disable_vhost_net = network_info.disable_vhost_net; let queues = network_info.network_queues; + let if_name = config.host_dev_name.as_str(); - let (tun_files, vhost_files) = generate_netdev_fds(config, queues)?; + let (tun_files, vhost_files) = generate_netdev_fds(if_name, queues)?; let tun_fds: Vec = tun_files.iter().map(|dev| dev.as_raw_fd()).collect(); let vhost_fds: Vec = vhost_files.iter().map(|dev| dev.as_raw_fd()).collect(); diff --git a/src/runtime-rs/crates/hypervisor/src/qemu/network.rs b/src/runtime-rs/crates/hypervisor/src/qemu/network.rs index 3d314e9f54..1e64f8e5d5 100644 --- a/src/runtime-rs/crates/hypervisor/src/qemu/network.rs +++ b/src/runtime-rs/crates/hypervisor/src/qemu/network.rs @@ -313,11 +313,7 @@ fn create_fds(device: &str, num_fds: usize) -> Result> { Ok(fds) } -pub fn generate_netdev_fds( - network_config: &NetworkConfig, - queues: u32, -) -> Result<(Vec, Vec)> { - let if_name = network_config.host_dev_name.as_str(); +pub fn generate_netdev_fds(if_name: &str, queues: u32) -> Result<(Vec, Vec)> { let tun_taps = open_named_tuntap(if_name, queues)?; let vhost_fds = create_vhost_net_fds(queues)?;