SignalForge — High-Performance Network Traffic Generator
DPDK-powered packet generator and traffic analyzer for stress-testing data-plane pipelines and validating network behavior.
Validating high-performance networking code requires traffic that can stress the system at full line rate with controllable packet patterns. SignalForge fills this gap: a DPDK-based traffic generator that runs on commodity x86 hardware and pushes packets at rates up to 100Gbps, with precise control over packet content, timing, and flow distribution.
The core engine is written in C with DPDK for kernel-bypass packet I/O. It uses multi-queue RSS distribution to spread traffic across CPU cores, with per-core packet generation threads that minimize cache contention. Configurable inter-packet gaps enable both constant-rate and bursty traffic patterns that reflect real production load profiles.
A Python CLI layer wraps the C engine, providing a YAML-based test scenario format. Scenarios specify packet templates (Ethernet/IP/TCP/UDP headers with field ranges for fuzzing), flow definitions (src/dst IP ranges, port ranges), traffic rates (constant, ramp, burst), and measurement windows. This makes test authoring accessible without requiring DPDK expertise.
Real-time analysis captures per-flow throughput, latency distributions (p50/p95/p99), packet loss rates, and reorder events. Results stream to a terminal dashboard (Rich-based) and export to CSV for post-analysis. Integration with Wireshark via pcap export enables packet-level inspection of captured traffic.
- DPDK kernel-bypass packet I/O for line-rate generation up to 100Gbps on commodity hardware
- Multi-queue RSS distribution with per-core generation threads for minimal cache contention
- YAML-based test scenario format: packet templates, flow definitions, rate profiles
- Real-time dashboard: per-flow throughput, latency p50/p95/p99, loss rate, reorder events
- pcap export for Wireshark integration and packet-level inspection