PG3(8)                             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 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

       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.

           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.

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
       ⟨⟩ on 2018-10-29.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2018-10-28.)  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

iputils s20161105                                                     PG3(8)