The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

rad-bulk-make - Generate test files for rad-bulk

SYNOPSIS

    rad-bulk-make --template files --sessions num --ports num 
    --max-acct num --iterations num

DESCRIPTION

rad-bulk-make produces packet files suitable for using with rad-bulk(1) for testing RADIUS server configurations. It uses its own template files to build large numbers of typical RADIUS packets.

The resulting packet file will be sent to STDOUT, so that it can be redirected. It is recommended that you create a number of packet files and stick to them for testing, so that you can consistently excercise your RADIUS server.

Various classes of packets can be generated, depending on the specific configuration.

--template file

Specifies the basenames of the templates to use for packet generation. The template is composed of three files: The session script, the port script and the packet template.

The Packet Template

The packet template is located in the file whose name is specified in the command line option. This file is composed of sections that are evaluated with Text::Template(3).

This file specifies what attributes should be placed on each packet.

The Session Script

This script resides in a file with the same name as the template file, with the extension .session appended to it. It contains Perl code that will be evaluated once at session creation, once for each "Alive" packet to be generated and once for the "Stop" packet.

It is supposed to work on $s, which is a reference to a hash -- initially empty -- provided by rad-bulk-make.

Note that each different session will receive its own $s, and the $p corresponding to the port where it was created.

The Port Script

This script resides in a file with the same name as the template file, with the extension .port appended to it. It contains Perl code that will be evaluated once at port creation.

It is supposed to work on $p, which is a reference to a hash -- initially empty -- provided by rad-bulk-make.

--ports num

The number of ports to be created. Each of this ports is capable of carrying a number of concurrent sessions, depending on the configuration.

--sessions num

For each port, a number between 1 and num sessions will be active at any time. A session has a 20% chance of being created during each iteration.

--max-acct num

Each session will generate between 0 and num "Alive" accounting packets. Start and Stop are always generated.

Each session has a 10% chance of being terminated after the "Start" and the randomly selected number of "Alive" accounting packets have been generated.

--iterations num

This controls how many iterations of the generator will be run. Each iteration is a scan through the list of ports / sessions. Defaults to 1000.

--help

Shows basic usage information and then exit.

--version

Show version numbers of this program and the libraries that are used.

Template File Format

Packets are specified with a keyword (Authentication, Start, Alive or Stop) and a number of input lines, with each line specifying an attribute. Blank lines delimit packets. Lines whose first non-blank character is # are ignored as comments.

The keyword specifies which kind of packet can be generated with this template. Each fragment is interpreted as a Text::Template(3) template.

Radius attributes are as follows:

  [vendor.]attribute=value

Where vendor and attribute are the labels specified in the dictionary.

LICENSE AND WARRANTY

This code and all accompanying software comes with NO WARRANTY. You use it at your own risk.

This code and all accompanying software can be used freely under the terms of the GNU General Public License version 2.

AUTHOR

Luis E. Muñoz <luismunoz@cpan.org>

SEE ALSO

perl(1), Getopt::Long(3), Net::Radius::Packet(3), Net::Radius::Dictionary(3), Text::Template(3).

1 POD Error

The following errors were encountered while parsing the POD:

Around line 329:

Non-ASCII character seen before =encoding in 'Muñoz'. Assuming UTF-8