Documentation
¶
Overview ¶
Package firecracker is a machine.Backend for AWS Firecracker (https://github.com/firecracker-microvm/firecracker) on Linux.
The backend talks to firecracker over its REST-on-UDS API. Import this package for its side effect of registering itself with the machine registry:
import _ "github.com/clawkwork/clawk/machine/firecracker"
On non-linux platforms the package compiles to nothing — no backend is registered, and machine.Get("firecracker") returns machine.ErrNoBackend.
gvproxy attachment for the firecracker backend. Firecracker speaks only a host TAP device, while gvproxy (gvisor-tap-vsock) speaks a unixgram socket carrying raw Ethernet frames ("vfkit" protocol). The two can't attach directly, so a machine.UserMode spec in TAP-bridge mode (GuestTAP+HostTAP) has the backend run gvproxy in-process and shovel frames between gvproxy's VM socket and HostTAP — a daemon-owned TAP sharing an L2 bridge with the guest's GuestTAP:
firecracker ─virtio-net─▶ GuestTAP ─┐
├─ bridge (L2, no IP)
gvproxy ◀─unixgram─ pump ─ HostTAP ─┘
HostTAP is opened by fd (no CAP_NET_RAW, unlike AF_PACKET); the bridge segments any GSO frames before they reach the offload-free HostTAP, so frames handed to gvproxy are always ≤ MTU.
Index ¶
Constants ¶
const Name = "firecracker"
Name is the registered backend name.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
This section is empty.