cisco-system-traffic-generator/trex-core logo

cisco-system-traffic-generator/trex-core

Free

trex-core site

FreeFree tier
Type
Open Source
Company
Cisco Systems

About cisco-system-traffic-generator/trex-core

TRex is an open-source, low-cost, high-speed stateful and stateless traffic generator developed by Cisco. It leverages DPDK to generate L3-7 traffic at scale up to 200 Gbps, running on standard COTS x86/ARM servers. It supports a Python automation API, virtualization (including AWS, Docker, and laptop environments), and offers features like latency/jitter measurement, flow ordering, NAT/PAT learning, and IPv6 inline replacement. Designed to replace expensive commercial traffic generators, TRex provides realistic application traffic patterns for testing network infrastructure devices.

Key Features

Stateful and stateless traffic generation at L3-7
DPDK-powered performance up to 200 Gbps
Python automation API for scripting and integration
Virtualization support (AWS, Docker, laptop, virtio, VMXNET3, E1000)
Physical NIC support: Broadcom/Intel/Mellanox/Cisco VIC/Napatech/Amazon ENA up to 100Gbps
Latency and jitter measurements
Flow ordering and NAT/PAT dynamic translation learning
TCP SYN sequence randomization (vASA/Firepower use case)
Cluster mode for controller tests
IPv6 inline replacement

Pros & Cons

Pros
  • Free and open-source alternative to expensive commercial traffic generators
  • High performance (up to 200 Gbps) with DPDK acceleration
  • Supports both stateful and stateless traffic patterns
  • Extensible via Python automation API
  • Runs on common x86/ARM hardware without specialized equipment
  • Active development and community support (1.5k stars, 504 forks on GitHub)
Cons
  • Requires DPDK configuration and compatible NICs for optimal performance
  • Learning curve for setting up advanced stateful scenarios and scripting
  • Documentation may be less polished than commercial counterparts
  • Primarily focused on network infrastructure testing, not application-level load generation

Best For

Realistic performance testing of network infrastructure devicesBenchmarking stateful firewall, NAT, and load balancer implementationsDevelopment and validation of network hardware and softwareVirtualized network function (VNF) testing in cloud environmentsEducation and lab training with low-cost traffic generation

FAQ

What is TRex?
TRex is an open-source, low-cost, high-speed traffic generator for stateful and stateless use cases, developed by Cisco. It generates L3-7 traffic and scales to 200 Gbps using DPDK on standard COTS x86/ARM servers.
Does TRex support virtualization?
Yes, TRex supports virtualization interfaces including virtio, VMXNET3, and E1000, and can run in fully virtual environments such as Amazon AWS, Docker, and on a laptop without physical NICs.
What hardware interfaces are supported?
TRex supports physical DPDK interfaces from Broadcom, Intel, Mellanox, Cisco VIC, Napatech, and Amazon ENA, at speeds from 1 Gbps up to 100 Gbps. It also supports SR-IOV for best performance.
Is TRex free to use?
Yes, TRex is free and open-source software hosted on GitHub under the Cisco Systems organization.