IP Testbench

The IP Testbench is a collection of C programs that help application developers in creating simulation data for networking applications. The toolkit is called the IP testbench, because is was originally meant to help in developing an IP application, but it is easily extendible and supports already more protocols. The tools can also read the results from a simulation, that have been written by a VHDL component. This is useful to verify that an application produces correct results.

Installation

The toolkit is available via CVS. You can checkout the sources with: You can also download the distribution file iptestbench.tar.gz.
To compile the programs, just type make.

Description

The tools are also described in the technical report about the wrapper library.
The tools parse files that are in a simple format and contain descriptions of ATM cells, AAL5 frames, IP packets or UDP datagrams, i.e. data on different protocol levels. This data can be converted in any of the other protocols. The tools save this information in either its own file format, a simulation file for Modelsim or a data file, which can be read from a VHDL testbench.
The following tools are available: The TBP (test-bench pattern) file format contains blocks of data in hex values. Every data block starts with ! followed by a keyword. For example !CELL describes an ATM cell, while !UDP describes a datagram on the UDP level. All keywords are described in the example TBP file TESTBENCH.TBP in the distribution.
For example, the following code (left) generates an IP packet with 8 bytes of payload, a correct IP header, encapsulated in an AAL5 frame and segmented into ATM cells. The result can be seen in the two right columns (TBP and Modelsim output). To convert test data to other levels than ATM cells, you can use the iptb program, which can convert to any protocol level. It takes a convert string as an argument that describes which steps should be done and which output format should be used. Type iptb --help to see a full description.
For example -f will convert frames into ATM cells, while +f reassembles frames from cells. -A can be used to perform all steps. :s will write simulation output. The Modelsim output adapts to the protocol level, e.g. for an AAL5 frame the signals SOF, DataEn and EOF would be used instead of SOC.
last updated: $Date: 2001/07/19 19:24:15 $ by florian@arl.wustl.edu