pub enum AttachHandle {
LinuxPid {
pid: u32,
},
WindowsContainer {
container_id: String,
ip: Option<IpAddr>,
},
GuestManaged {
id: String,
},
}Expand description
Identifies the container overlayd must wire into the overlay. The agent owns the container’s process/compute-system lifecycle and hands overlayd just enough to attach it.
Variants§
LinuxPid
Linux: the container’s PID. overlayd opens /proc/<pid>/ns/net and
creates the veth pair into that network namespace.
WindowsContainer
Windows: the HCS container id (+ the IP the agent reserved, if any).
overlayd creates the HCN endpoint + per-container namespace on its HCN
Internal network and returns the bare-lowercase namespace GUID
(AttachResult::namespace_guid) for the agent to embed in the
compute-system document’s Container.Networking.Namespace.
GuestManaged
A guest that manages its own overlay interface (the macOS VZ-Linux VM
runtime). overlayd cannot enter the guest’s netns (it is a VM, not a host
process), so instead of building a veth it allocates the overlay
identity — keypair, address, and the current peer set — registers the
generated public key in the mesh, and returns it as
OverlaydResponse::GuestConfig. The caller ships that config into the
guest (over vsock) where a kernel WireGuard device is brought up. id is
the opaque container id used to scope the allocation + the registered
peer so DetachContainer can release it.
Trait Implementations§
Source§impl Clone for AttachHandle
impl Clone for AttachHandle
Source§fn clone(&self) -> AttachHandle
fn clone(&self) -> AttachHandle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AttachHandle
impl Debug for AttachHandle
Source§impl<'de> Deserialize<'de> for AttachHandle
impl<'de> Deserialize<'de> for AttachHandle
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AttachHandle
Source§impl PartialEq for AttachHandle
impl PartialEq for AttachHandle
Source§fn eq(&self, other: &AttachHandle) -> bool
fn eq(&self, other: &AttachHandle) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for AttachHandle
impl Serialize for AttachHandle
impl StructuralPartialEq for AttachHandle
Auto Trait Implementations§
impl Freeze for AttachHandle
impl RefUnwindSafe for AttachHandle
impl Send for AttachHandle
impl Sync for AttachHandle
impl Unpin for AttachHandle
impl UnsafeUnpin for AttachHandle
impl UnwindSafe for AttachHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.