2403 Walsh Avenue, Santa Clara, CA 95051-1302 Tel: +1/408.727.6600 Fax: +1/408.727.6622
CATC IBTrainer InfiniBand Exerciser
User’s Manual
For Software Version 2.0
Manual Version1.0
16 August, 2002
Important Notice
Manual PartNumber
730-0040-00
Revision
Revision 1.0, August 2002
Printed in U.S.A.
Computer Access Technology Corporation,
2403 Walsh
Avenue, Santa Clara CA 95951
USA
Document Disclaimer
The information in this document has been
carefully checked and is believed to be reliable.
However, no responsibility can be assumed for
inaccuracies that may not have been detected.
CATC reserves the right to revise the information
in this document without notice or penalty.
Trademarks and Servicemarks
CATC, Merlin, NetMate, Advisor, Chief,
FireInspector,Inspector, IBTracer, Detective,
Traffic Generator, BusEngine, USB4DOS, UPT,
HPT, and UHT are trademarks of Computer
Access Technology Corporation.
Microsoft, Windows, and Windows NT are
registered trademarks of Microsoft Inc.
All other trademarks are property of their
respective companies.
Portions of this documentation have been
licensed from Agilent Technologies, Inc.
This document may be printed and reproduced
without additional permission, but all copies
should contain this copyright notice.
Safety Notices
CAUTION
A CAUTION notice denotes a hazard. It calls
attention to an operating procedure, practice, or
the like that, if not correctly performed or adhered
to, could result in damage to the product or loss
of important data. Do not proceed beyond a
CAUTION notice until the indicated conditions
are fully understood and met.
WARNING
A WARNING notice denotes a hazard. It calls
attention to an operating procedure, practice, or
the like that, if not correctly performed or adhered
to, could result in personal injury or death. Do not
proceed beyond a WARNING notice until the
indicated conditions are fully understood and
met.
2CATC IBTrainer InfiniBand Exerciser, August 2002
Safety Information
The following general safety precautions must be observed during all
phases of operation of this instrument. Failure to comply with these
precautions or with specific warnings elsewhere in this manual
violates safety standards of design, manufacture, and intended use of
the instrument.
CATC assumes no liability for the customer's failure to comply with
these requirements.
Before operation, review the instrument and manual for safety
markings and instructions. You must follow these to ensure safe
operation and to maintain the instrument in safe condition.
Safety SummaryThis product is a Safety Class 1 instrument (provided with a protective
earth terminal). The protective features of this product may be
impaired if it is used in a manner not specified in the operation
instructions.
All Light Emitting Diodes (LEDs) used in this product are Class 1
LEDs as per IEC 60825-1.
Environmental conditionsThis instrument is intended for indoor use in an installation category
II, pollution degree 2 environment. It is designed to operate at a
maximum relative humidity of 95% and at altitudes of up to 2000
meters.
Refer to the specifications tables for the ac mains voltage
requirements and ambient operating temperature range.
Before applying powerVerify that the product is set to match the available line voltage, the
correct fuse is installed, and all safety precautions are taken.
Ground the instrumentTo minimize shock hazard, the instrument chassis and cover must be
connected to an electrical protective earth ground. The instrument
must be connected to the ac power mains through a grounded power
cable, with the ground wire firmly connected to an electrical ground
(safety ground) at the power outlet. Any interruption of the protective
(grounding) conductor or disconnection of the protective earth
terminal will cause a potential shock hazard that could result in
personal injury.
Do not operate in an explosive
atmosphere
CATC IBTrainer InfiniBand Exerciser, August 20023
Do not operate the instrument in the presence of flammable gases or
fumes.
Do not remove the instrument coverOperating personnel must not remove instrument covers. Component
replacement and internal adjustments must be made only by qualified
personnel.
Instruments that appear damaged or defective should be made
inoperative and secured against unintended operation until they can
be repaired by qualified service personnel.
EU Conformance Statement
This equipment complies with the EMC Directive 89/336/EEC and the
Low Voltage Directive 73/23/EEC, and their associated amendments
for Class A ISM Equipment. It has been tested and found to comply
with EN55022 and EN55011 (EN61000-4-2, EN61000-4-3, EN61000-4-4,
EN61000-4-5, EN61000-4-6, EN61000-4-11), and EN61010-1.
4CATC IBTrainer InfiniBand Exerciser, August 2002
Contents
About this Manual9
Getting Started with the IBTrainer11
Contents
Document History9
Installing the Software11
Setting Up the IBTrainer12
Performing a First Test12
How to Connect to the DUT13
Controlling the Link State of the IBTrainer14
Sending an SMP Packet15
Evaluating the Returned Packet17
Overview of the IBTrainer19
Description of the Hardware20
Installation and Maintenance22
InfiniBand23
Description of the Software24
Testing Capabilities of the IBTrainer26
Network Layer30
Transport Layer30
Testing Capabilities in Terms of Concrete Tests31
CATC IBTrainer InfiniBand Exerciser, August 20025
Contents
Testing with the User Interface33
Testing Principles34
Setting Up the Test35
Configuring Outgoing Packets to Be Transmitted36
How to Set Up Outgoing Packets37
Advanced Attributes39
How to Inject Errors in Outgoing Packets40
Using the Transmit Memory for Generating Sequences of
Packets
How to Insert Packets in the Transmit Memory42
How to Send a Single Packet Multiple Times42
How to Control Skew Between the Four Lanes43
Running the Test44
How to Trigger the Transmission from an External Signal45
Viewing the Results46
41
Filtering Incoming Packets47
Using Matching Patterns for Filtering Incoming Packets48
Graphical Representation of the Pattern Matching Process50
Example of Pattern Matching51
Using Packet Handlers for Managing Incoming Packets52
How to Write Your Own Handler53
Managing Handlers53
How to Configure Virtual Lanes for Rerouting Incoming
Packets
54
Setting Invalid Generator Properties55
Using Auxiliary Features57
Visualizing the Network Topology58
Determining the Performance of InfiniBand Traffic60
How to Launch a Performance Measurement62
Sending TCL Commands to the IBTrainer62
Extending the IBTrainer Software with Your Own TCL
Scripts
63
6CATC IBTrainer InfiniBand Exerciser, August 2002
Contents
Using the InfiniBand Compliance Test Suite65
Overview of the Compliance Test Suite66
Testing with the Compliance Tester User Interface68
How to Add or Update Tests69
How to Select Tests70
How to Run Tests71
How to Set Up and View the Report72
Example of Report73
Test Description74
Available Tests74
Packet with Bad DLID75
Packet with Bad ICRC77
Packet with GRH and VL1578
Packet with Bad VCRC80
Packet Receive Statemachine MARKED BAD PKT81
Packet Receive Statemachine BAD PKT82
Packet with Bad LVer84
Packet with Bad PktLen85
The SL Field Shall be Ignored by DUT When Using VL1586
LMC Check87
Number of VLs Supported88
State Transitions89
SMP Send and Receive in States "Initialize" and "Arm"90
Ignoring Invalid Link State Settings91
EUI-64 GUID Assigned by Manufacturer92
Four Running Disparity Errors in a Sequence92
Basic Directed Route SMP Response93
Correct SMP Packet - Expect Response94
SLID Check94
Specifications95
Operating Characteristics95
Certification96
Power Requirements96
Glossary97
CATC IBTrainer InfiniBand Exerciser, August 20027
Contents
8CATC IBTrainer InfiniBand Exerciser, August 2002
Document HistoryAbout this Manual
About this Manual
AimsThis document provides the information necessary to program tests for
the CATC InfiniBand Exerciser for InfiniBand.
Target AudienceThe target audience is as follows:
• Device designers
Device users use the IBTrainer for debugging InfiniBand devices.
• Software engineers
Software engineers set up test environments for validating InfiniBand
devices.
Both groups should have a good knowledge of the InfiniBand
specification. In addition, software engineers should have good working
knowledge of the TCL (Tools Command Language) language or C++.
Document History
All revisions and updates of this document are listed below.
DateDocument RevisionDescription
August 20021.0Initial version of the documentation
CATC IBTrainer InfiniBand Exerciser, August 20029
About this ManualDocument History
10CATC IBTrainer InfiniBand Exerciser, August 2002
Installing the SoftwareGetting Started with the IBTrainer
Getting Started with the IBTrainer
The IBTrainer is an exerciser for InfiniBand, designed as a standalone
unit.
Its primary purpose is to generate, receive, and analyze arbitrary
InfiniBand packets. It can serve as an endnode within an InfiniBand
fabric, insert errors, and monitor protocol compliance and performance
data on the InfiniBand link.
It is controlled by an external PC over a USB connection.
This chapter shows you how to install and use the IBTrainer and its
software. It also provides instructions on how to perform your first test.
Installing the Software
When you insert the delivered CD-ROM, the installation program of the
software starts automatically. If the Autorun function is disabled on your
PC, you can start the installation program by double-clicking on the
setup.exe file located at the root of the CD-ROM.
If you purchased the IBTrainer Compliance Test Suite, you should have
also received the necessary key. During installation, the installation
program prompts you to enter the key. The Compliance Test Suite
provides you with a large number of easy-to-use tests for quickly
verifying InfiniBand devices.
NOTEIf you did not purchase the IBTrainer Compliance Test Suite, the
installation programs still installs the user interface of the Compliance
Test Suite with a few free tests.
CATC IBTrainer InfiniBand Exerciser, August 200211
Getting Started with the IBTrainerSetting Up the IBTrainer
Setting Up the IBTrainer
Plug in the IBTrainer and use the delivered USB cable to connect it to
your PC.
NOTEThe IBTrainer has a USB 1.1 port. The delivered USB cable has therefore
two different ends (one for the IBTrainer, one for the PC).
Now start the software to make sure that the IBTrainer is connected to
the PC:
♦ Press
The shortcut changes with the release installed. For example, if your
release is 2.0.1.0, then the name of the shortcut is
When the software starts, it looks for attached IBTrainers. The List of Available Generators dialog box should contain the name of your
IBTra iner. If your IBTraine r is not listed, double-check the USB
connection. Please also keep in mind that Windows NT does not support
USB.
Start>Programs>CATC> IBTrainer(Release)>GUI
.
IBTrainer2.0.1.0>GUI
Performing a First Test
Once you have connected the IBTrainer to your PC, you can:
• Connect the DUT to the IBTrainer.
Refer to “How to Connect to the DUT” on page 13 for more
information.
.
• Set up the link state of the IBTrainer
• Set up and send an SMP packet to get the NodeInfo from the DUT.
Refer to “Sending an SMP Packet” on page 15 for more information.
• Evaluate the returned packet. Refer to “Evaluating the Returned Packet” on page 17 for more information.
12CATC IBTrainer InfiniBand Exerciser, August 2002
Performing a First TestGetting Started with the IBTrainer
How to Connect to the DUT
After you have:
• Connected the IBTrainer to your PC
• Started the software
• Turned on the DUT
you can establish the connection between the IBTra iner and the DUT:
1 Connect the DUT to the IBTrainer with the InfiniBand cable. The
InfiniBand port is located on the front of the IBTrainer.
The List of Available Generators dialog box should be opened.
2 Connect the IBTrainer to the DUT by clicking Connect.
The Link State dialog box opens. “Controlling the Link State of the IBTrainer” on page 14 describes this dialog box in detail.
3 Click the button corresponding to the link state that you want to
reach.
CATC IBTrainer InfiniBand Exerciser, August 200213
Getting Started with the IBTrainerPerforming a First Test
Controlling the Link State of the IBTrainer
The status bar shows you the current link state of the IBTrainer.
If the link state does not correspond to the desired transmission packet,
you can set the link state by selecting Generator>Link State. The Link State dialog box opens.
This dialog box consists of two groups, reflecting the conventions given
in the InfiniBand specification:
• Link Training State Machine, corresponding to the Physical layer
Link initialization, configuration, and link error recovery operations
are performed by the link training state machine. The primary states
for the link training state machine that you can set in the Link State
dialog box are Disabled, Sleep or Poll.
• Link State Machine, corresponding to the Link layer
As described in the InfiniBand specification, the link layer handles the
sending and receiving of data across the links at the packet level. The
specification uses state machines to define the logical operation of the
link layer. The different stages of the link state machine that you can
set in the Link State dialog box are Down, Arm or Active.
The InfiniBand specification requires that the current link states of two
InfiniBand devices connected together must be identical before the link
state of one of the devices can be set a level higher. Here, you can
activate AutoNegotiate to let the IBTrai ner handle the intermediate
steps for reaching the desired link state for both the IBTrainer and the
DUT, provided that no Subnet Manager is attached to the network.
14CATC IBTrainer InfiniBand Exerciser, August 2002
Performing a First TestGetting Started with the IBTrainer
For instance, if both devices are set to Initialized, you can select
AutoNegotiate and click Active to have both devices set as Active: the IBTrainer sets the link state from Initialized to Armed and then from
Armed to Active for both devices.
Because we intend to only send Subnet Management packets (SMP) in
the current test, we only need to set the link training of the IBTrainer to
Poll. In that case, the status of the link training state machine eventually
becomes LinkUp and the link state machine Initialized.
Sending an SMP Packet
The software is delivered with three sample packets that you can use for
your first tests:
• Sample SMP packet which is a Subnet Management Packet
• Sample IB packet which is a standard InfiniBand packet
• Sample GMP packet which is a Management datagram (MAD) packet
CATC IBTrainer InfiniBand Exerciser, August 200215
Getting Started with the IBTrainerPerforming a First Test
For our first test, we use the Sample SMP packet. To set up and send this
packet:
1 Check that this packet is set up so that the IBTrainer queries the
NodeInfo property of the DUT by double-clicking Sample SMP packet.
The SMP Packet: Sample SMP Packet dialog box opens.
This dialog box shows the properties of the selected packet. Following
default values should be set:
– Method is set to 0x01 - Get.
– Attribute ID is set to 0x11 - NodeInfo.
If not set, change these values to the ones above, and click Ok to
accept changes and close the window.
2 Right-click on Sample SMP, and select Transmit to send the packet.
16CATC IBTrainer InfiniBand Exerciser, August 2002
Performing a First TestGetting Started with the IBTrainer
Evaluating the Returned Packet
After you have sent the SMP packet, an entry appears in blue in the
Packet Log window. The IBTrainer then listens for a response from the
DUT.
When the DUT answers, a new entry corresponding to the returned
packet appears in red in the Packet Log window, as shown in the figure
below.
Double-click the returned packet’s entry. The SMP packet: MAD VL=15 getResp NodeInfo dialog box opens. The NodeInfo properties are then
displayed in the SMP Data list in this dialog box, as shown in the
following figure.
You can compare the received NodeInfo properties with the DUT’s
values to ensure that the packet was correctly transmitted.
CATC IBTrainer InfiniBand Exerciser, August 200217
Getting Started with the IBTrainerPerforming a First Test
18CATC IBTrainer InfiniBand Exerciser, August 2002
Overview of the IBTrainer
The IBTrainer is a 4x Exerciser for InfiniBand, designed as standalone
units. It is controlled by an external PC using the USB connection and
can be programmed to generate arbitrary InfiniBand packets behaving as
endpoint or endnode within an InfiniBand network.
Overview of the IBTrainer
In the following, IBTrainer stands for both generators. This chapter
describes:
• “Description of the Hardware” on page 20
• “InfiniBand” on page 23
• “Description of the Software” on page 24
• “Testing Capabilities of the IBTrainer” on page 26
CATC IBTrainer InfiniBand Exerciser, August 200219
Overview of the IBTrainerDescription of the Hardware
Description of the Hardware
The front panel of the IBTrainer is as follows:
The rear panel of the IBTrainer is as follows:
LEDsThe front panel of the IBTrainer contains the following LEDs:
LEDLights when...
Power indicatorMain power is switched on.
USB LinkUSB link to the control PC has been established.
IB XMITXmit LED is lit when InfiniBand link is up; flashes
when packets are transmitted.
IB RCVEPackets are being received.
Red ErrorAn error has occurred.
20CATC IBTrainer InfiniBand Exerciser, August 2002
Description of the HardwareOverview of the IBTrainer
Its front panel contains the following LEDs:
LEDLights when...
PwrMain power is switched on.
UsbUSB link to the control PC has been established.
LinkLights when InfiniBand link is up.
TxBlinks when packets are transmitted.
RxBlinks when packets are being received.
ErrAn error has occurred.
Push-button and ConnectorAdditional elements on the front panel are:
• RST push-button to reset the InfiniBand link or run built-in self-test
(press the RST button for about 5 s).
• InfiniBand connector
NOTEHere is what happens when you press the RST push-button for about 5
seconds to run the built-in self-test:
• You hear four short beeps.
• all LEDs light and then turn off.
• RX, TX and Link LEDs light
If the test passes, two short high-pitch beeps sound, and eventually the
power LED comes on, all other LEDs are off (normal power-up state).
if the test fails, error LED comes on, three longer low-pitch beeps sound,
and RX, TX and link show specific pattern. You need to contact your
CATC representative.
Rear Panel ConnectorsThe rear panel has various connectors:
• Wide-range AC connector module
Power socket with power on/off switch
• USB port
• External input (for triggering) with following cable specifications:
LVTTL level, low active, internal termination: 50 ohm to +2.5V, level
sensitive
The associated LED indicates trigger activity.
• External output (for triggering) with following cable specifications:
LVTTL level, low active
The associated LED indicates trigger activity.
CATC IBTrainer InfiniBand Exerciser, August 200221
Overview of the IBTrainerDescription of the Hardware
WARNING• Do not open the unit. There are no operator serviceable parts inside.
For servicing contact your CATC representative.
• To prevent the influence of ESD on measurements, all tests must be
performed in an ESD-protected environment.
Installation and Maintenance
Initial InspectionInspect the shipping container for damage. If the container or cushioning
material is damaged, keep it until the contents of the shipment have been
checked for completeness and the instrument has been verified both
mechanically and electrically.
WARNINGTo avoid hazardous electric shock, do not perform electrical tests when
there are signs of shipping damage to any part of the instrument's outer
covers or panels.
If the contents are incomplete, or there is mechanical damage, or if the
instrument does not work as expected within its specifications, notify
the nearest CATC office.
Power RequirementsThe instrument can operate from any single-phase AC power source
supplying 100 – 240 V in the frequency range from 50 – 60 Hz. The
maximum power consumption is 100 VA with all options installed. When
the instrument is switched on the power supply adapts automatically to
the applied AC power (Auto Selection) and monitors the AC power range
during operation.
Ventilation RequirementsMake sure that there is adequate clearance of 30 mm at the left and the
right side to ensure adequate air flow. If the air flow is restricted, the
internal operating temperature will be higher, reducing the instrument's
reliability.
NOTEDo not cover the ventilation holes.
Cleaning RecommendationUse a dry cloth or one slightly dampened with water to clean external
case parts. Do not attempt to clean internally.
WARNINGTo prevent electrical shock, disconnect the instrument from mains
before cleaning.
22CATC IBTrainer InfiniBand Exerciser, August 2002
InfiniBandOverview of the IBTrainer
InfiniBand
InfiniBand architectureThe InfiniBand Architecture (IBA) is designed around a point-to-point,
switched I/O fabric, whereby end node devices (which can range from
very inexpensive I/O devices like single chip SCSI or ethernet adapters to
very complex host computers) are interconnected by cascaded switch
devices. The physical properties of the IBA interconnect support two
predominant environments, with bandwidth, distance and cost
optimizations appropriate for these environments:
• Module-to-module, as typified by computer systems that support I/O
module add-in slots
• Chassis-to-chassis, as typified by interconnecting computers, external
storage systems, and external LAN/WAN access devices (such as
switches, hubs, and routers) in a data-center environment.
InfiniBand specificationThe design and implementation of the IBTrainer and its test capabilities
is based on the InfiniBand Specification InfiniBand
Specification Volume 1 and 2 Release 1.0.a from June 19, 2001.
The IBTrainer 4x (by four) Exerciser for InfiniBand uses the electrical
4x connection as set down in the InfiniBand Specification.
• The signalling rate for encoded data on the media is 2.5 Gbits/sec,
which results in a data rate that can be considered to be 250
MBytes/second. The connections are point to point and full duplex,
unidirectional.
• The byte stream on each physical lane is encoded using the industry
standard 8B/10B coding.
• The following interface width is available for the IBTrainer:
8 differential pairs, 4 per direction for a total of 16 wires
TM
Architecture
CATC IBTrainer InfiniBand Exerciser, August 200223
Overview of the IBTrainerDescription of the Software
Description of the Software
The IBTrainer can only be controlled by a PC. This can be done by
programming TCL scripts or C++ programs using the API or by using the
Graphical User Interface (GUI).
Graphical User InterfaceThe Graphical User Interface provides an easy way of:
• Performing simple tests on InfiniBand devices.
• Determining and displaying the traffic performance as a diagram.
• Visualizing the topology of the InfiniBand network containing the
IBTrainer as end-node.
APIFor more extensive testing, such as the validation of an InfiniBand
device, programs written in TCL or C++ can be used to control the
IBTra iner.
NOTEThe TCL interpreter is installed with the software.
24CATC IBTrainer InfiniBand Exerciser, August 2002
Description of the SoftwareOverview of the IBTrainer
Optional software moduleThe IBTrainer comes with an optional InfiniBand Compliance test
module. This module can be called directly from the GUI. It consists of a
series of prewritten InfiniBand compliance tests that you can run to
automatically verify a large number of compliance statements defined in
the InfiniBand specification, providing a pass/fail result.
RequirementsThe IBTrainer works with any personal computer using:
• Windows 98SE ®
• Windows 2000 ®
• Windows XP ®
• Windows NT ® only in demo/offline mode
• Windows ME ® operating systems
The software can also be used offline for demonstration or test
development purposes.
LicensingNo license is necessary to run the Graphical User Interface.
For the Compliance Test software, the standard shipment includes eight
free tests. To install additional tests, you have to purchase the IBTrainer
Compliance Test Suite option. You will receive a license key that you
have to enter during installation.
CATC IBTrainer InfiniBand Exerciser, August 200225
Overview of the IBTrainerTesting Capabilities of the IBTrainer
Testing Capabilities of the
IBTrainer
This section lists the key test capabilities of the IBTrain er. They are
structured along the following ISO/OSI layers as described in the
InfiniBand specification:
• Physical layer
• Link layer
• Network layer
• Transport layer
“Testing Capabilities in Terms of Concrete Tests” on page 31 gives a list
of the capabilities of the IBTrainer as defined by the Compliance
Interoperability Work Group (CIWG).
Physical Layer
The IBTrainer is not capable of testing the physical layer.
As described in the IB specification, the physical layer is the physical
connection between two devices. Thus, there are certain aspects of
InfiniBand connections that the IBTra iner does not test:
• Signal level, quality, and frequency
• 8B/10B encoding and decoding
The IBTrainer makes comma and skip insertions according to the
InfiniBand specification (1 comma and 3 skip symbols occur every 4352
to 4608 clocks). The number of skips cannot be influenced. The
IBTra iner generates idle packets as described in the InfiniBand
specification.
You can, however, insert running disparity errors into the data stream.
Running disparity errors can be created only within packets. This is
controlled by the packet behavior setting. Such packet behavior is
controlled by the packet property setting.
26CATC IBTrainer InfiniBand Exerciser, August 2002
Testing Capabilities of the IBTrainerOverview of the IBTrainer
Link Layer
DefinitionAs described in the InfiniBand specification, services provided by the
link layer include:
•Flow control
Refer to
• Addressing
Refer to
• Error detection
Refer to
•Switching
Switching is not a capability of the IBTr ainer.
The IBTrainer automatically sets up the link. Its hardware sends and
receives training sequences and link packets. The link status (link up /
link down / no signal) can be read out of the status registers.
“Flow Control” on page 27 for more information.
“Addressing” on page 28 for more information.
“Error Detection” on page 29 for more information.
NOTEA behavior is a property setting that applies to a single packet.
Virtual LanesThe IBTrainer supports all the possible virtual lanes, including VL 15,
which is used for management purposes. The particular virtual lanes that
are to be supported are user-selectable using a resource and enabling
mechanism.
Flow Control
Flow control packets are generated automatically by the IBTrainer. The
packets also pass credits back and forth within the InfiniBand network.
You can influence the credit system of the IBTrainer in several ways.
Receive CreditsCredits are given per virtual lane. Each virtual lane can be configured to
behave in two different ways:
• Credits can be given out automatically, which turns the IBTrainer into
an unlimited data sink. Maximum credit is given out for any virtual
lane set to this mode. This mode is called the data sink mode.
• Credits are given out until such time that the data receive memory is
full. It is then up to the software to process each packet, and you can
instruct the software to give out credits as soon as the receive memory
is read out (until such time that the memory is full again). This mode is
called the packet control mode.
CATC IBTrainer InfiniBand Exerciser, August 200227
Overview of the IBTrainerTesting Capabilities of the IBTrainer
The receive memory of the IBTrainer consists of a single block of 2
Mbytes. By selecting a virtual lane resource you decide which path the
data stream is to use. Refer to “Receiving Packets” on page 31 for more
information.
Transmit CreditsYou can set a behavior for each packet to either ignore credits or to
behave according to the specification.
Detailed organization of the IBTrainer credit system is as follows:
• The FCCL calculation is based on a 12-bit Adjusted Blocks Received
(ABR) counter maintained for each virtual lane at the receiver. The
ABR counter is set to zero when the link initializes. This is in
accordance with the specification. Upon receipt of each flow control
packet, the ABR sets the value of the FCTBS (Flow Control Total
Blocks Sent) field.
• Upon receipt of each data packet, the ABR is incremented by the
number of blocks received, modulo 4096. The ABR does not get
incremented due to received packets that have been discarded due to
the lack of receive capacity in the receiver. You can adjust this
capacity for the IBTrainer in the data sink mode.
• Upon transmission of a flow control packet, the FCCL is set to one of
the following:
– If the current buffer state of the receiver permits reception of 2048
or more blocks from all combinations of valid InfiniBand packets
without discarding them, the FCCL is set to ABR plus 2048 modulo
4096.
– Otherwise the FCCL is set to ABR plus the number of blocks the
receiver is capable of receiving from all combinations of valid
InfiniBand packets without discarding these, modulo 4096.
Addressing
Source addresses are generated automatically depending on the address
supplied to the IBTrainer by the subnet manager. Source addresses can
be overwritten. This way the IBTraine r can emulate a switch or a router.
The IBTrainer is capable of generating all types of InfiniBand packets as
allowed by the specification. This includes any MAD packets, any regular
InfiniBand packets, Raw or RawIPv6 packets. Refer to section 5.2 in the
InfiniBand specification (data packet format) for more details.
The destination address for the packets is always defined by the user.
28CATC IBTrainer InfiniBand Exerciser, August 2002
Testing Capabilities of the IBTrainerOverview of the IBTrainer
Error Detection
The IBTrainer calculates the ICRC (Invariant CRC) and the VCRC
(Variant CRC) automatically. You can influence this by making one of the
following choices:
• Τhe behavior ‘bad packet’ causes the IBTrainer to end the packet with
a bad packet delimiter (EBP).
• The behavior ‘bad ICRC’ corrupts the ICRC.
• The behavior ‘bad VCRC’ corrupts the VCRC.
To corrupt a packet, the IBTrainer places the 1’s complement of the
appropriate CRC calculated for the transmitted packet in the CRC field.
Packet Length
The IBTrainer distinguishes between the real packet length and the
shown packet length. The real packet length is purely an internally used
value, which can, but does not have to, correlate with the packet length
shown in the packet header. You can create an illegal packet length by
setting the shown length to a value that is at variance with the real packet
length. You can set this behavior on a per-packet basis.
CATC IBTrainer InfiniBand Exerciser, August 200229
Overview of the IBTrainerTesting Capabilities of the IBTrainer
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 PacketsThe programming of the IBTra iner 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
packet)
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).
; from the
IGCGenerator
void PacketSend (IGCPacket &
class passes a packet down to this
30CATC IBTrainer InfiniBand Exerciser, August 2002
Loading...
+ 72 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.