iperf-cnc

module
v0.1.11 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2025 License: MIT

README

iperf-cnc

Version: v0.1.6

A distributed command and control system for orchestrating large-scale iperf3 network performance testing across clusters.

Overview

iperf-cnc enables automated, full-mesh network performance testing across multiple nodes. It consists of two components:

  • iperf-daemon: Lightweight agent running on each test node, managing local iperf3 processes
  • iperf-controller: Centralized orchestrator that coordinates tests across all nodes and aggregates results

Key Features

  • Full-mesh topology: Every node tests against every other node
  • Resource maximization: Spawns multiple iperf3 processes to utilize all available CPU cores
  • Dynamic port allocation: Automatically manages port assignments to avoid conflicts
  • Distributed architecture: gRPC-based communication between controller and daemons
  • Result aggregation: Collects and consolidates test results in JSON/CSV formats
  • Flexible configuration: YAML-based configuration for test profiles and node definitions

Quick Start

Build
make build

Binaries will be created in build/:

  • build/iperf-daemon
  • build/iperf-controller
Run Daemon

On each test node:

./iperf-daemon -c daemon.yaml
Run Controller

On the control node:

./iperf-controller run -c controller.yaml

Configuration

See example configurations in configs/:

  • configs/daemon.yaml - Daemon configuration
  • configs/controller.yaml - Controller configuration with node definitions and test profiles

Requirements

  • Go 1.21+
  • iperf3 3.16+ installed on all test nodes
  • gRPC connectivity between controller and all daemons

Documentation

License

See LICENSE file for details.

Jump to

Keyboard shortcuts

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