firecracker

package
v0.0.0-...-a67d04f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

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

View Source
const Name = "firecracker"

Name is the registered backend name.

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL