beautypg.com

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

Page 30

background image

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”

on page 41

. 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).