Software Ver.2.0 Owner's manual

Programming the IBTrainer Packet Handling Concept
1-2 CATC IBTrainer InfiniBand Exerciser API Reference
list of these properties refer to
“Properties and Programmatic Settings”
on page 4-1
.
Sending Packets
In order to send out packets, you have to create objects of various
packet classes and set the internal properties of these packet objects as
desired. There are a number of different classes that derive from
IGCPacket
. These can be selected by yourself depending on the type of
packet that should be sent. The following figure shows the relationship
between the different packet classes.
All types of packets are derived from the class
IGCObject
which
implements the set and get functionality for these classes. Using the
Set()
and
Get()
functions you can manipulate packet properties.
Figure 1 Class Architecture of the IGCPacket Package
IGCRawIPPacketIGCRawPacket
IGCMADPacket
IGCIBAPacket
IGCPacket
IGCObjectIGCObject
When an InfiniBand packet is to be created, you first need to set the
opcode and the packet type (local or global) in order to obtain access to
all the other packet properties. The class
IGCIBAPacket
provides the
method
Init()
for this purpose.
To simplify setting up the packet, you can use the generator class to
initialize the packet with all the information that is held in the
portinfo