GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
IPGEN(1) FreeBSD General Commands Manual IPGEN(1)

ipgenL2 and L3 traffic generator and interactive benchmarking utility

ipgen [-V vlanid] [-P] -R rx-ifname,gateway-addr,[my-addr[/prefix]] [-V vlanid] [-P] -T tx-ifname,gateway-addr,[my-addr[/prefix]] [-H hz] [-n npkt] [--ipg] [--burst] [-S script] [-L logfile] [-s packet-size] [-p packet-per-second] [-t duration] [-f] [-v] [-X] [-XX] [-XXX] [--tcp] [--udp] [--fragment] [--l1-bps] [--l2-bps] [--allnet] [--saddr begin[-end]] [--daddr begin[-end]] [--sport begin[-end]] [--dport begin[-end]] [--flowlist file] [--flowsort] [--flowdump] [-F nflow] [--rfc2544] [--rfc2544-interval seconds] [--rfc2544-no-early-finish] [--rfc2544-output-json file] [--rfc2544-pktsize size,[size, ...]] [--rfc2544-pps-resolution percent] [--rfc2544-slowstart] [--rfc2544-tolerable-error-rate percent] [--rfc2544-trial-duration seconds] [--rfc2544-warming-duration seconds] [--nocurses] [-D file] [-d] [--fail-if-dropped]

The ipgen utility is an L2 and L3 traffic generator with the following design goals:

  • Wire-speed support based on Netmap API on FreeBSD or XDP on Linux,
  • Benchmarking capability with multiple packet flows,
  • Interative user interface to show various statistics, and
  • RFC 2544 benchmarking methodology.

The ipgen utility exits 0 on success, and >0 if an error occurs.

The following example does a loopback test assuming igb1 with MAC address 00:11:22:33:44:55 and igb2 with 66:77:88:99:aa:bb are on a box running ipgen and the two ports are directrly connected by an Ethernet cable (back-to-back connection defined in Section 3.1, RFC 1242). Note that each gateway address must be specified to the MAC address of another endpoint:

ipgen -T igb1,66:77:88:99:aa:bb -R igb2,00:11:22:33:44:55

If the two Ethernet cables are connected to igb1 and igb2 and the another endpoint is a bridge box, such as an Ethernet hub or switch to form a single L2 segment, the same command performs an L2 forwarding performance test of the bridge box.

The following example does an L3 forwarding performance test. A box running ipgen has igb1 with an address 192.18.0.1/24 and igb2 with 192.18.1.1/24, and two Ethernet cables are connected to another box (DUT: Device Under Test) that can forward TCP/IP packets, such as a router. This assumes that the DUT has 192.18.0.2/24 and 192.18.1.2/24 on the interfaces connected to each segment:

ipgen -T igb1,192.18.0.2,192.18.0.1/24 -R igb2,192.18.1.2,192.18.1.1/24

The flag --rfc2544 enables RFC 2544 benchmarking report. When specified, ipgen shows throughput (Section 3.17 in RFC 1242) and frame loss rate (Section 3.6 in RFC 1242) of a DUT throughout the entire range of input data rates and frame sizes after the test finishes. The following example shows RFC 2544 benchmarking report for the same testing setup for the L2 forwarding example:

ipgen -T igb1,66:77:88:99:aa:bb -R igb2,00:11:22:33:44:55 --rfc2544

netmap(4)

S. Bradner, Benchmarking Terminology for Network Interconnection Devices, RFC 1242, July 1991.

S. Bradner and J. McQuaid, Benchmarking Methodology for Network Interconnect Devices, RFC 2544, March 1999.

The ipgen utility was designed and implemented by Ryo Shimizu and is maintained by Internet Initiative Japan Inc. .

This manual page was written by Hiroki Sato <hrs@FreeBSD.org>.

May 13, 2024 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.