Programming the ibtrainer, Packet handling concept, Programming the ib trainer – Teledyne LeCroy Automation API for IBTrainer Software Ver.2.0 User Manual
Page 11
CATC IBTrainer InfiniBand Exerciser API Reference
1-1
Programming the IBTrainer
This chapter briefly explains the basic ideas behind the programming
model of the IB
Trainer
. The concept is explained for the C++ interface.
The TCL interface is built in a similar way.
The main programming interface to the IB
Trainer
is based on the C++
programming language. This C++ interface can also be accessed from a
TCL shell to provide the capabilities of a script language. The TCL
commands are completely based on the C++ calls. Both interfaces can
be used to integrate the IB
Trainer
into various test environments and
third party test software.
Packet Handling Concept
For every IB
Trainer
InfiniBand generator in use, you need to create one
instance of the class IGCGenerator. This class provides all the necessary
functions to interact with the generator. It also provides the entire
status information and controls the InfiniBand link. The InfiniBand
portinfo
struct is managed here too.
For every IB
Trainer
generator that is connected, there can be only one
controlling generator object. However, you are free to create as many
generator objects as there are devices connected to the controlling PC.
By default, a newly created generator class is in off-line mode. It needs
to get connected to a real device before it can provide all of its
functionality.
Basically, every class with property values has the methods Set and Get
to allow it to write and read these properties respectively. Enum values
belonging to the appropriate class identify the properties. For a detailed