1#![forbid(unsafe_code)]
7
8use mesh::MeshPayload;
9use net_backend_resources::mac_address::MacAddress;
10use vm_resource::Resource;
11use vm_resource::ResourceId;
12use vm_resource::kind::NetEndpointHandleKind;
13use vm_resource::kind::PciDeviceHandleKind;
14
15#[derive(MeshPayload)]
17pub struct GdmaDeviceHandle {
18 pub vports: Vec<VportDefinition>,
20}
21
22impl ResourceId<PciDeviceHandleKind> for GdmaDeviceHandle {
23 const ID: &'static str = "gdma";
24}
25
26#[derive(MeshPayload)]
28pub struct VportDefinition {
29 pub mac_address: MacAddress,
31 pub endpoint: Resource<NetEndpointHandleKind>,
33}