PG3(8)                System Manager's Manual: iputils                PG3(8)

NAME         top

       pg3, ipg, pgset - send stream of UDP packets

SYNOPSIS         top

       source ipg


       pgset COMMAND

DESCRIPTION         top

       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

       pgset can send the following commands to module pg3:

COMMAND         top

       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

       count NUMBER
              Send stream of NUMBER of packets and stop after this.

       ipg TIME
              Introduce artificial delay between packets of TIME

       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

       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.

WARNING         top

       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.

AUTHOR         top

       pg3 was written by Robert Olsson <>.

SECURITY         top

       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.

AVAILABILITY         top

       pg3 is part of iputils package and the latest versions are  available
       in source form at

COLOPHON         top

       This page is part of the iputils (IP utilities) project.  Information
       about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to,  This page was obtained
       from the project's upstream Git repository 
       ⟨git://⟩ on 2017-03-13.  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

iputils-151218                  13 March 2017                         PG3(8)