NAME | SYNOPSIS | DESCRIPTION | COMMAND | WARNING | AUTHOR | SECURITY | AVAILABILITY | COLOPHON |
PG3(8) System Manager's Manual: iputils PG3(8)
pg3, ipg, pgset - send stream of UDP packets
source ipg pg pgset COMMAND
ipg is not a program, it is script which should be sourced to bash. When sourced it loads module pg3 and exports a few of functions accessible from parent shell. These macros are pg to start packet injection and to get the results of run; and pgset to setup packet generator. pgset can send the following commands to module pg3:
odev DEVICE Name of Ethernet device to test. See warning below. pkt_size BYTES Size of packet to generate. The size includes all the headers: UDP, IP, MAC, but does not account for overhead internal to medium, i.e. FCS and various paddings. frags NUMBER Each packet will contain NUMBER of fragments. Maximal amount for linux-2.4 is 6. Far not all the devices support fragmented buffers. count NUMBER Send stream of NUMBER of packets and stop after this. ipg TIME Introduce artificial delay between packets of TIME microseconds. dst IP_ADDRESS Select IP destination where the stream is sent to. Beware, never set this address at random. pg3 is not a toy, it creates really tough stream. Default value is 0.0.0.0. dst MAC_ADDRESS Select MAC destination where the stream is sent to. Default value is 00:00:00:00:00:00 in hope that this will not be received by any node on LAN. stop Abort packet injection.
When output device is set to some random device different of hardware Ethernet device, pg3 will crash kernel. Do not use it on VLAN, ethertap, VTUN and other devices, which emulate Ethernet not being real Ethernet in fact.
pg3 was written by Robert Olsson <robert.olsson@its.uu.se>.
This can be used only by superuser. This tool creates floods of packets which is unlikely to be handled even by high-end machines. For example, it saturates gigabit link with 60 byte packets when used with Intel's e1000. In face of such stream switches, routers and end hosts may deadlock, crash, explode. Use only in test lab environment.
pg3 is part of iputils package and the latest versions are available in source form at http://www.skbuff.net/iputils/iputils-current.tar.bz2.
This page is part of the iputils (IP utilities) project. Information
about the project can be found at ⟨http://www.skbuff.net/iputils/⟩.
If you have a bug report for this manual page, send it to
yoshfuji@skbuff.net, netdev@vger.kernel.org. This page was obtained
from the project's upstream Git repository
⟨git://git.linux-ipv6.org/gitroot/iputils.git⟩ on 2017-07-05. If you
discover any rendering problems in this HTML version of the page, or
you believe there is a better or more up-to-date source for the page,
or you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
to man-pages@man7.org
iputils-151218 05 July 2017 PG3(8)