Network layer, Transport layer – Teledyne LeCroy IBTrainer - IBTrainer Users Manual User Manual
Page 30

Overview of the IBTrainer
Testing Capabilities of the IBTrainer
30
CATC IBTrainer InfiniBand Exerciser, August 2002
Network Layer
The network and link protocols deliver a packet to the desired
destination. The transport portion of the packet delivers the packet to
the proper Queue Pair and instructs the Queue Pair how to process the
packet’s data.
The receiver part of the IBTrainer can be programmed to either discard
or keep invalid packets that arrive at the generator (wrong IP version
field, wrong DGID and so on).
Transport Layer
The IBTrainer lets you set up or program all elements of the transport
layer. With the user interface delivered with the IBTrainer or self-written
TCL scripts or C++ applications you can control the IBTrainer to
generate all types of InfiniBand traffic.
Transmitting Packets
The programming of the IBTrainer is packet based (not message based).
You have two basic choices of generating packets with the IBTrainer:
• Direct packet FIFO
This FIFO can be used to generate arbitrary packets directly out of
software. The direct software call void PacketSend (IGCPacket &
packet);
from the IGCGenerator class passes a packet down to this
packet buffer and sends it out immediately. This method of sending
packets has priority over the transmit memory-based packet
generation. Its purpose is to generate MAD (Management Datagram)
packets (for subnet management) or any other high priority packets
whenever this is required, without having to wait for the transmit
memory to finish sending packets and get reprogrammed with the
next sequence.
• Memory-based packet generation
You can fill a block memory with up to 1024 InfiniBand packets which
are then executed in a row. There are additional properties that you
can set, such as the inter-packet delay. All behaviors are listed under
“Using the Transmit Memory for Generating Sequences of Packets”
. The transmit memory can be looped and offers a feature
to repeatedly send single packets from the programmed packet
sequence. Additionally the transmit memory can increase the packet
sequence number automatically to generate continuous streams of
packets (and can include very large data payloads).