Documentation

Quickstart.

Build llmxctl from source and bring up the forwarding pipeline on a ConnectX NIC in a few commands.

Prerequisites

  • Ubuntu 24.04+ with hugepages configured
  • NVIDIA DOCA Flow ≥ 3.2 LTS
  • NVIDIA ConnectX NIC with DOCA drivers and representor ports enabled
  • CMake ≥ 3.22, Ninja, GCC/Clang (C++23), Boost ≥ 1.83
  • Optional: DOCA_ROOT_DIR, DPDK_ROOT_DIR when running CMake

Build

cmake -G Ninja -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build

Output

  • build/llmxctl — main executable
  • build/libllmx.a — core library

Run · classic ESW mode

Adjust the PCI and lcore options for your host:

sudo ./build/llmxctl -- -r pci/07:00.0,pf0sf[80] \
  -r pci/07:00.1,pf1sf[81] --verbose 70

Run · multiport ESW mode

sudo ./build/llmxctl -- -r pci/07:00.0,pf[0-1]sf[80-81] \
  -r pci/07:00.1 --verbose 70

Options

  • --help — full argument list from DOCA argp
  • -a physical port
  • -r representor list / range
  • -l lcore mask
  • --verbose logging level

Logging uses LOG(level) — never print to stdout.

Tests

# Run a single test binary
./build/tests/test_*

# Run all tests
ctest --test-dir build -V