Start a lab

Labs are where the guided courses are actually learned. Everything below runs on a laptop or a single VM — nothing here needs a datacentre, and the labs that do need real hardware always name a simulator fallback.

Environments

EnvironmentSetup
vmMost Linux labsA Linux VM with 4 vCPU, 8 GB RAM, and nested virtualization if the lab needs it
containerKubernetes and mesh labsDocker and kind; 16 GB RAM for two clusters
sim — SoftRoCERDMA labsrdma_rxe kernel module on any Ethernet interface
sim — DPDKDPDK labsHugepages, net_tap or net_null PMD; no NIC needed
sim — P4P4 labsbmv2 simple_switch with Mininet or the P4 tutorial VM
sim — HDLVerilog labsIcarus Verilog or Verilator, plus GTKWave for waveforms
hardwareSelected labsA real RDMA NIC, SmartNIC/DPU, GPU, or FPGA board, listed in each lab

hardware labs are the first to get skipped. Offer each one with its simulator fallback in the lab card, and show a badge for "ran on hardware" separately.

Before your first lab

  1. Pick the environment the lab names. Each lab card states one: vm, container, sim or hardware.
  2. Read the pass check first. It tells you what "done" means before you start, so you are not guessing at the end.
  3. Write the rollback step before you change anything. Every lab sequence expects a change made on a branch of the configuration with a way back.
  4. Keep the evidence. Command logs, counter dumps, histograms. The pass check is on the evidence, not on the fact that something ran.

Find a lab

137 labs and 13 scenario-based sequences, each with its environment and pass check.

See the labs