diff --git a/src/runtime-rs/crates/resource/src/network/endpoint/endpoints_test.rs b/src/runtime-rs/crates/resource/src/network/endpoint/endpoints_test.rs index bae916893b..753b88e70d 100644 --- a/src/runtime-rs/crates/resource/src/network/endpoint/endpoints_test.rs +++ b/src/runtime-rs/crates/resource/src/network/endpoint/endpoints_test.rs @@ -119,6 +119,7 @@ mod tests { }, model: Arc::new(TcFilterModel::new().unwrap()), // impossible to panic network_qos: false, + network_queues: 5, }, }; @@ -159,6 +160,7 @@ mod tests { _ => unreachable!(), } assert_eq!(manual.net_pair.network_qos, result.net_pair.network_qos); + assert_eq!(manual.net_pair.network_queues, result.net_pair.network_queues); } assert!(delete_link(&handle, manual_vlan_iface_name.as_str()) .await @@ -250,6 +252,7 @@ mod tests { model: network_model::new(model_str) .expect("failed to create new network model"), network_qos: false, + network_queues: 5, }, }; @@ -291,6 +294,7 @@ mod tests { _ => unreachable!(), } assert_eq!(manual.net_pair.network_qos, result.net_pair.network_qos); + assert_eq!(manual.net_pair.network_queues, result.net_pair.network_queues); } // delete the manually created links assert!(delete_link(&handle, manual_macvlan_iface_name.as_str()) @@ -333,7 +337,8 @@ mod tests { .await .context("failed to create manual veth pair") { - if let Ok(mut result) = IPVlanEndpoint::new(&d, &handle, "", idx, 5) + // Test with 0 and fallback default behaviour with 1 + if let Ok(mut result) = IPVlanEndpoint::new(&d, &handle, "", idx, 0) .await .context("failed to create new ipvlan endpoint") { @@ -355,6 +360,7 @@ mod tests { }, model: Arc::new(TcFilterModel::new().unwrap()), // impossible to panic network_qos: false, + network_queues: 1, }, }; @@ -395,6 +401,7 @@ mod tests { _ => unreachable!(), } assert_eq!(manual.net_pair.network_qos, result.net_pair.network_qos); + assert_eq!(manual.net_pair.network_queues, result.net_pair.network_queues); } assert!(delete_link(&handle, manual_virt_iface_name.as_str()) .await diff --git a/src/runtime-rs/crates/resource/src/network/endpoint/ipvlan_endpoint.rs b/src/runtime-rs/crates/resource/src/network/endpoint/ipvlan_endpoint.rs index 77c8db93af..b33e220c80 100644 --- a/src/runtime-rs/crates/resource/src/network/endpoint/ipvlan_endpoint.rs +++ b/src/runtime-rs/crates/resource/src/network/endpoint/ipvlan_endpoint.rs @@ -58,6 +58,8 @@ impl IPVlanEndpoint { host_dev_name: iface.name.clone(), virt_iface_name: self.net_pair.virt_iface.name.clone(), guest_mac: Some(guest_mac), + queue_num: self.net_pair.network_queues, + queue_size: 256, ..Default::default() }) } diff --git a/src/runtime-rs/crates/resource/src/network/endpoint/macvlan_endpoint.rs b/src/runtime-rs/crates/resource/src/network/endpoint/macvlan_endpoint.rs index fe68f91021..5a9a28a06a 100644 --- a/src/runtime-rs/crates/resource/src/network/endpoint/macvlan_endpoint.rs +++ b/src/runtime-rs/crates/resource/src/network/endpoint/macvlan_endpoint.rs @@ -57,6 +57,8 @@ impl MacVlanEndpoint { host_dev_name: iface.name.clone(), virt_iface_name: self.net_pair.virt_iface.name.clone(), guest_mac: Some(guest_mac), + queue_num: self.net_pair.network_queues, + queue_size: 256, ..Default::default() }) } diff --git a/src/runtime-rs/crates/resource/src/network/endpoint/veth_endpoint.rs b/src/runtime-rs/crates/resource/src/network/endpoint/veth_endpoint.rs index 73187c5360..4d8525c212 100644 --- a/src/runtime-rs/crates/resource/src/network/endpoint/veth_endpoint.rs +++ b/src/runtime-rs/crates/resource/src/network/endpoint/veth_endpoint.rs @@ -57,6 +57,8 @@ impl VethEndpoint { host_dev_name: iface.name.clone(), virt_iface_name: self.net_pair.virt_iface.name.clone(), guest_mac: Some(guest_mac), + queue_num: self.net_pair.network_queues, + queue_size: 256, ..Default::default() }) } diff --git a/src/runtime-rs/crates/resource/src/network/endpoint/vlan_endpoint.rs b/src/runtime-rs/crates/resource/src/network/endpoint/vlan_endpoint.rs index 37c89cdd63..d03654140a 100644 --- a/src/runtime-rs/crates/resource/src/network/endpoint/vlan_endpoint.rs +++ b/src/runtime-rs/crates/resource/src/network/endpoint/vlan_endpoint.rs @@ -57,6 +57,8 @@ impl VlanEndpoint { host_dev_name: iface.name.clone(), virt_iface_name: self.net_pair.virt_iface.name.clone(), guest_mac: Some(guest_mac), + queue_num: self.net_pair.network_queues, + queue_size: 256, ..Default::default() }) }