v2.0.0 Sep 29, 2026 Latest

A New Application: Multi-Port Traffic Generation with Per-Stream Measurement

✦ New features

Ports

  • Several Ports at Once — Bind any number of adapters and give each one a job: send, receive, or both. The Ports screen shows each adapter's link, MAC and IPv4 address, how many streams it is sending and how many frames it has sent and received, and draws the test setup from the jobs you chose.
  • Local and Remote Loopback — Local loopback returns a port's own frames to it inside the application, so a setup can be checked with no cable at all and nothing reaching the wire. Remote loopback turns a port into a reflector that sends back whatever arrives, source and destination addresses swapped.
  • Check Wiring — Name the device under test and the app sends one second of each port's streams and reports where each one actually arrived, before a real run depends on the cabling.
  • Receive Only What Is Addressed to the Port — When every stream of the test is addressed to one of its own ports, receiving ports listen for their own address only rather than promiscuously, which keeps unrelated traffic out of the counters and the capture path light.
  • Jumbo Frames and Link Control — Set an adapter's jumbo-frame size from the list its driver offers, and take a port's link down and up to see how the device under test reacts.

Streams & packet editor

  • Any Number of Streams per Port — Each stream has its own frame, size, rate and schedule, and can be started, stopped or switched off on its own without disturbing the others on the same port. Streams can be duplicated and stepped through with Previous / Next in the editor.
  • 34 Protocols and 30 Templates — Ethernet II, 802.3 LLC/SNAP, 802.1Q VLAN, QinQ, MPLS, PPPoE, ARP, LLDP, LACP, STP, PAUSE, PTPv2, IPv4, IPv6, ICMP, ICMPv6, IGMPv3, OSPFv2, UDP, TCP, SCTP, VXLAN, Geneve, GRE, GTP-U, DNS, DHCP, NTP, RTP, BFD, HTTP and syslog, plus raw bytes. Start from a template and add, remove or reorder layers.
  • Every Field Editable — Every header field of every layer can be set, down to single bits. Lengths, checksums and next-protocol values are computed automatically, and can be overridden by hand to send a deliberately wrong frame.
  • Field Variation on the Field — Make any field count up or down, walk a range or a list, sweep an IPv4 or IPv6 subnet, a MAC range or a port range, or take random values. Cyclic patterns are built once before sending, so a varied stream runs at the same speed as a fixed one, and the editor says how many frames the pattern repeats over.
  • Flow Sets — Vary several fields together to produce thousands of distinct flows from a single stream.
  • Payloads and Hex — Fill the payload with zeros, a repeating pattern, counting bytes, text, random bytes or exact bytes of your own. The whole frame is shown as a hex dump that can be copied, and a hex dump can be pasted back in to replace the frame.
  • Addresses From the Ports — A new stream is addressed from its port's own MAC to the receiving port's. The editor offers every port's address beside the source and destination fields.
  • Learn the Destination by ARP — A stream can ask for the MAC of its gateway or destination before it starts. A question nobody answers stops the start and says why, instead of sending into an address nothing will accept.
  • Answer ARP and Ping per Stream — A port can answer ARP requests and ICMP echo requests on behalf of a stream's source address, on its VLAN, so the far end of a routed test can stand in for a real host.

Sizes & rates

  • Frame Size Profiles — Fixed, random within a range, increasing in steps, or IMIX with your own sizes and weights. Presets from 64 to 9000 bytes.
  • Rate in Any Unit — Type a rate as a percentage of the link, frames per second, bps, kb/s, Mb/s or Gb/s and the other units follow, together with the frame rate and the gap between frames. Count the rate on the wire (with preamble and inter-frame gap) or by frame only.
  • Rate Over Time — Steady, ramp, steps or random, or draw the curve with the mouse as straight lines or steps. Every shape repeats on the period you give it.
  • Send Modes — Continuously, a number of frames, for a length of time, or in bursts of a set size with a set gap. Changes to rate, duration or schedule reach a stream that is already running.
  • Will This Rate Work? — The Capability screen reads each adapter and states its frame-rate ceiling, and the stream editor shows what a stream asks of its port before it runs.

Measurement

  • A Tag in Every Frame — Frames carry a small tag in their payload with the stream they belong to and a sequence number, and optionally their transmit time. Received traffic is attributed to the stream that sent it, even when several streams share a port and even when Windows merges received datagrams before capture.
  • Loss, Order and Duplicates per Stream — Frames lost, loss percentage, frames reordered and frames duplicated, per stream and per port, live while traffic runs.
  • One-Way Latency and Jitter — Minimum, average and maximum delay, delay variation (RFC 3393), and on flows the p50, p95, p99 and p99.9 percentiles. With both ports in one PC the two ends share a clock, so the delay is true one-way delay.
  • Run and Results Screens — Run shows sent and received rate, frame loss, delay, delay variation and order at a glance, with every port and stream underneath and a start/stop button on each. Results charts throughput, frame rate, lost frames, delay or delay variation for all traffic or any port or stream, over the last minute or the whole run.
  • Clear Statistics — Zero every counter while traffic carries on, without restarting a single stream.
  • Export Results — Save the Results tables as PDF, HTML, CSV or JSON.

Flows, tests & reports

  • Flows — Group streams sent from one port and received on another into a flow, and read its delivery and latency in one place, with a standard set of criteria added in one click.
  • Pass / Fail Scenarios — Write a test as steps — start flows, wait, change a rate, stop, evaluate — or fill in a standard run, then set criteria on received frames, loss, throughput of target, rate error, reordering, duplicates, sequence gaps, recovery time, latency percentiles and jitter. The run ends in a single PASS or FAIL.
  • A Verdict Never Passes by Accident — A criterion whose metric was never measured reports NOT EVALUATED rather than passing, and a flow that sent nothing reports no loss percentage at all rather than 0%.
  • Reports — JSON for pipelines, CSV for spreadsheets, a self-contained HTML page, and an A4 PDF with the verdict, the criteria and every flow.

Capture

  • Capture and Decode — Capture on any port with an optional BPF filter, scroll through every frame held, filter the list, and decode any frame layer by layer with its bytes in hex. Conversations group the capture by endpoints.
  • pcap and pcapng — Export a capture to pcap, and import pcap or Wireshark's pcapng, through the normal Save and Open dialogs.

Automation

  • REST API — Every action in the window is one command, and the same commands are served over HTTP with an OpenAPI schema and bearer-token authentication. Started with ethgen-cli serve, bound to 127.0.0.1 unless told otherwise.
  • Headless Runner — ethgen-cli run project.json --report out.html runs a saved project and exits 0 on pass, 1 on fail and 2 on error. A run that measured nothing exits 2, never 0.
  • Projects — Save and open a whole test — ports, streams, flows and scenarios — as one project file. Configurations from the 1.x packet generator are migrated when opened.

Application

  • Stays Awake While Sending — The PC and its display are kept awake while traffic runs, so a long test is not cut off by standby disconnecting the network.
  • Update Check — The app checks at start whether a newer version is published and shows a strip when there is one; Help shows the result on demand.

🛠 Changes from 1.x

Application

  • New Name — The ETH Packet Generator is now the YTS Ethernet Traffic Generator. The 1.x line is retired.
  • Rebuilt From the Engine Up — The traffic engine is new and written for speed: each stream's frames are prepared before sending, so varying fields and timestamps cost the send path nothing measurable. The window is new too, organised as Ports → Traffic → Run → Results.
  • Smaller Installer — 2.3 MB, down from about 65 MB.

Installer

  • Npcap Checked at Install — The installer looks for Npcap and, when it is missing, offers to download Npcap's own installer from npcap.com and checks its signature before running it. Npcap is not bundled.
  • Install Location — Installs to C:\Program Files (x86)\YTS Ethernet Traffic Generator by default; the folder can be changed during setup.