runtime-rs: Introduce PortDevice in resource manager in sandbox

A new resource type `PortDevice` is introduced which is dedicated
for handling root ports/switch ports during sandbox creation(VM).

Fixes #10361

Signed-off-by: alex.lyn <alex.lyn@antgroup.com>
This commit is contained in:
alex.lyn 2025-04-11 17:01:04 +08:00
parent 1d670bb46c
commit d435712ccb
2 changed files with 12 additions and 1 deletions

View File

@ -17,7 +17,9 @@ pub mod manager;
mod manager_inner;
pub mod network;
pub mod resource_persist;
use hypervisor::{BlockConfig, HybridVsockConfig, ProtectionDeviceConfig, VsockConfig};
use hypervisor::{
BlockConfig, HybridVsockConfig, PortDeviceConfig, ProtectionDeviceConfig, VsockConfig,
};
use network::NetworkConfig;
pub mod rootfs;
pub mod share_fs;
@ -36,6 +38,7 @@ pub enum ResourceConfig {
HybridVsock(HybridVsockConfig),
Vsock(VsockConfig),
Protection(ProtectionDeviceConfig),
PortDevice(PortDeviceConfig),
}
#[derive(Debug, Clone, Copy, PartialEq)]

View File

@ -193,6 +193,14 @@ impl ResourceManagerInner {
.await
.context("do handle protection device failed.")?;
}
ResourceConfig::PortDevice(pd) => {
do_handle_device(
&self.device_manager,
&DeviceConfig::PortDeviceCfg(pd.clone()),
)
.await
.context("do handle port device failed.")?;
}
};
}