Skip to content

Modules

Kris Armstrong edited this page May 19, 2026 · 1 revision

Modules

The Stem groups all test types into six modules. Each one is colour-coded in the UI and corresponds to an industry standard (or "Custom" for one-off traffic generation).

Reflector — loopback

Colour: Cyan #0891b2 · Standard: Loopback

Bounces frames back to a test master so end-to-end measurements (RTT, loss, jitter) can be made with stem-on-both-sides. Supports profile selection — NetAlly / MSN / All / Custom signature filtering — to focus only on traffic carrying the test-master's known signature pattern.

Linux + CGO build only. macOS / Windows stems can't act as reflectors today.

Benchmark — RFC 2544

Colour: Red #dc2626 · Standard: RFC 2544

The classic device-under-test benchmarking battery:

  • Throughput — find the max forwarding rate without loss
  • Latency — round-trip frame delay across configurable frame sizes
  • Frame loss — loss profile across rate steps
  • Back-to-back — burst-tolerance / buffer-depth measurement

Each test takes a frame-size matrix (typically 64, 128, 256, 512, 1024, 1280, 1518 bytes) and a duration; output is a per-step CSV + summary.

ServiceTest — Y.1564 / MEF

Colour: Orange #ea580c · Standard: ITU-T Y.1564, MEF service definitions

Service-activation testing. Validates that an Ethernet service meets the contracted SLA across multiple traffic profiles (CIR, EIR, burst sizes) simultaneously.

  • y1564_config — configuration verification phase
  • y1564_perf — performance phase (jitter / loss / delay / FTD / IFDV)
  • mef_* — MEF-specific test variants

Useful at service turn-up. Tells the carrier "the SLA you sold passes acceptance" without ambiguity.

TrafficGen — custom streams

Colour: Yellow #ca8a04 · Standard: none / custom

Free-form traffic generation. Construct one or more streams with arbitrary frame patterns, rates, headers, and timing. Lives outside the RFC/ITU envelope — for when you need to recreate a specific traffic pattern that doesn't fit a named standard.

Measure — Y.1731 OAM

Colour: Blue #2563eb · Standard: ITU-T Y.1731

Operational, Administration, and Maintenance — running performance measurement over a live service without interfering with customer traffic.

  • y1731_delay — Delay Measurement (DMM/DMR)
  • y1731_loss — Loss Measurement (LMM/LMR)
  • y1731_slm — Synthetic Loss Measurement
  • y1731_loopback — Loopback verification (LBM/LBR)

Certify — RFC 2889 / RFC 6349 / TSN

Colour: Green #16a34a · Standards: RFC 2889, RFC 6349, IEEE 802.1 TSN family

Higher-level certification suites that combine multiple primitives:

  • rfc2889_* — switch fabric benchmarking (address-handling, head-of-line blocking, congestion control, forwarding capacity)
  • rfc6349_* — TCP throughput methodology, taking RTT + window scaling into account
  • tsn_* — TSN traffic class verification (PCP, time-aware shaping, frame preemption)

How modules combine

Modules don't run simultaneously — Test Master executes one test at a time. Reflector is its own role and doesn't engage the test-master modules at all.

Test results stream to the UI via SSE and persist to the local SQLite history.

See internal/modules/ in the source for the engine implementations.

Clone this wiki locally