Speed at scale
NIC pools
Network cards built ahead of time, so every VM starts already online.
What it is
Network cards built ahead of time, so every VM starts already online.
On Linux hosts, flashnetd builds network devices, addresses and NAT before any VM asks. Each new VM takes a ready card and boots straight onto the network. When the VM goes, its card is cleaned and reused.
Why it matters
Network setup is work on the host: a device, an address, firewall rules. A NIC pool does it in advance, so a burst of VMs never waits on networking.
- Online from the first instruction. The card is ready before the VM is.
- Reused instantly. Cards are cleaned and returned to the pool.
- Pairs with warm pools. Ready machines on ready networks.
Runs on
- Linux x86_64
- Linux arm64
How it works
Build a pool, then start VMs with --nic pool=ID.
CLI
sudo flashnet pool create --mode nat --count 5 --id net-pool-1
flashnet pool show net-pool-1
flash run --bundle BUNDLE --id vm-1 --vcpus 1 --mem-mib 256 --nic pool=net-pool-1 --detachMCP
flash_cli(args: ["run", "--bundle", "BUNDLE", "--id", "vm-1", "--vcpus", "1", "--mem-mib", "256", "--nic", "pool=net-pool-1", "--detach"])
flash_wake(vm_id: "vm-1", nic: "pool=net-pool-1")API
POST /v1/nic-pools {"mode": "nat", "count": 5, "id": "net-pool-1"}
POST /v1/nic-pools/{pool_id}/claimsThe result
Five VMs online at once, each on a card built before it asked.
All five reached the internet in parallel, with no network setup on any VM's path.
How it works
Related
See it live: flash demo run 14