TRex
What it is
TRex is an open-source traffic generator for benchmarking platforms with realistic network traffic. It creates Layer 3–7 traffic in stateless, stateful, and advanced stateful modes. Stateless operation supports multiple streams, packet-field changes, and per-stream or per-group statistics, latency, and jitter. Advanced stateful mode emulates Layer 7 traffic over scalable TCP and UDP flows. Protocol emulation includes ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS. TRex provides Python automation APIs and a console interface; stateless functions can also be accessed through JSON-RPC. The manual describes it as a Linux application using DPDK and Linux kernel modules, intended for COTS x86 servers. The site says a single server can scale up to 200 Gb/sec. It can run in a virtual machine or Docker for low-performance, low-footprint use without additional hardware, though virtual switches can limit throughput and virtual-machine latency results are not accurate. TRex is free, but hardware and NIC requirements apply. Support resources include the TRex community forum and Cisco DevNet community.
For and against
For
- Supports stateless, stateful, and advanced stateful modes.
- Python API and console interface are available.
- Free and open source.
- One server can scale up to 200 Gb/sec.
- Can run in a VM or Docker.
Against
- Described as a Linux application.
- Hardware and NIC requirements apply.
- Virtual switches can limit throughput.
- TRexViewer is supported only on Windows.
The verdict
TRex offers several traffic-generation modes, protocol emulation, and automation interfaces for network benchmarking. Account for its Linux and hardware requirements, and treat virtual-machine latency results as inaccurate.
Who it suits
TRex suits teams benchmarking network devices or testing traffic at scale, including the listed switch, DDoS, client-and-server, production, and routing protocol scenarios. It is for users working with Linux and compatible hardware requirements.
Plans and prices
TRex
Open source · Linux application · hardware and NIC requirements apply
Read 4 Oct 2026 · trex-tgn.cisco.com
On the record
- Advanced stateful
- Advanced stateful mode emulates Layer 7 traffic over scalable TCP and UDP flows.trex-tgn.cisco.com · read 4 Oct 2026
- Automation
- TRex provides a Python API and a console interface, and its stateless API can be used through JSON-RPC from languages that support it.trex-tgn.cisco.com · read 4 Oct 2026
- Automation API
- The documentation provides Python automation APIs for stateless, stateful, advanced stateful, emulation, and NDR functions.trex-tgn.cisco.com · read 3 Oct 2026
- Deployment
- TRex is a Linux application; the documentation also describes running it in Docker or a VirtualBox virtual machine for experimentation.trex-tgn.cisco.com · read 4 Oct 2026
- Emulation protocols
- Emulation includes ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS.trex-tgn.cisco.com · read 3 Oct 2026
- GUI support
- The TRexViewer live monitoring application is supported only on Windows OS.trex-tgn.cisco.com · read 4 Oct 2026
- Integration
- The documentation describes an integration with BIRD for Linux based stack configuration.trex-tgn.cisco.com · read 4 Oct 2026
- Operating system
- The manual describes TRex as a Linux application that uses DPDK and interacts with Linux kernel modules.trex-tgn.cisco.com · read 3 Oct 2026
- Performance
- The site says TRex can scale up to 200 Gb/sec with one server.trex-tgn.cisco.com · read 4 Oct 2026
- Platform limit
- The manual says TRex should work on COTS x86 servers and can be compiled for ARM, though ARM is not tested in its regression setup.trex-tgn.cisco.com · read 4 Oct 2026
- Protocol emulation
- Its emulation functionality includes ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS.trex-tgn.cisco.com · read 4 Oct 2026
- Purpose
- TRex is an open source traffic generator for benchmarking and testing network devices with realistic traffic.trex-tgn.cisco.com · read 4 Oct 2026
- Security
- The opened official pages do not state security certifications or compliance claims.trex-tgn.cisco.com · read 3 Oct 2026
- Stateful features
- Advanced Stateful mode supports L7 traffic with scalable TCP and UDP.trex-tgn.cisco.com · read 3 Oct 2026
- Stateless features
- Stateless mode supports multiple streams, packet field changes, and per stream or group statistics, latency, and jitter.trex-tgn.cisco.com · read 4 Oct 2026
- Support
- The documentation lists a TRex community forum and Cisco DevNet community as support resources.trex-tgn.cisco.com · read 3 Oct 2026
- Traffic generation
- TRex generates L3–7 traffic and offers stateful and stateless traffic generation modes.trex-tgn.cisco.com · read 3 Oct 2026
- Traffic modes
- It supports stateless, stateful, and advanced stateful traffic generation.trex-tgn.cisco.com · read 4 Oct 2026