C H A P T E R  20

JNI 2GB FC HBA Test (jnifctest)

The jnifctest tests the functionality of the JNI FC HBA. There are three tests: a self-test, an internal loopback test, and an external loopback test. The self-test tests the internal consistency of the board's internal computer. The loopback tests send out blocks of data to the HBA, receives blocks echoed back to the HBA, and compares the echoed packets to the original. If jnifctest detects problems in the self-test, problems sending or receiving the data, or any changes in the content of the data in the loopback tests, it sends out a descriptive error message to the SunVTS console and error log.

There are a small list of patterns that are most likely to detect problems on a FC network; these "critical" patterns are the default. There is also a longer list of patterns and a means for a user to input his own data pattern for testing.

Internal loopback tests require having a loopback plug or cable connected to the port. External loopback tests can be run on a port connected to storage, to a switch, or with a loopback plug or cable. The simplest way to get the greatest test coverage is to have all ports connected with a cable and run both the self-test and the external loopback test. These two tests are enabled by default.

The jnifctest runs in exclusive mode. Any storage behind a particular port will be inaccessable while the tests are running. Also, system console log messages reporting renegotiation of the link status may be generated for ports connected to a switch or storage when jnifctest is run.

jnifctest has three subtests available:


jnifctest Options

To reach the dialog box below, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system may not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.


FIGURE 20-1 jnifctest Test Parameter Options Dialog Box



TABLE 20-1 jnifctest Options

jnifctest Options

Description

Online Selftest

Enable or Disable the board self-test.

Internal Loopback Test

Enable or Disable the internal loopback test.

External Loopback Test

Enable or Disable the external loopback test.

Loopback Iteration

Number of iterations to run the loopback test.

Data Pattern Type:

What type of data to send in the loopback tests. Critical patterns are a dozen patterns which are optimized to cause errors in marginal FC networks. With a small number of patterns, the test will run more rapidly. All patterns is a list of approximately 256 patterns, including the Critical patterns. The User pattern is a single pattern that you can specify to test with.

User Pattern

A 32-bit data pattern which is used if 'user' is specified in the Data Pattern Type option. The User Pattern should be input in the form 0x12345678


The default values are for the Online Selftest and External Loopback test to be enabled. The Internal Loopback test is disabled. The Loopback Iteration count defaults to 10 iterations. The default Data Pattern Type is Critical and the default User Pattern is 0x7e7e7e7e.


jnifctest Supported Test Modes


TABLE 20-2 jnifctest Supported Test Modes

Test Mode

Description

Exclusive

Runs full set of tests.



jnifctest Command-Line Syntax

/opt/SUNWvtshm/bin/jnifctest -vf -o dev=jfca0, selftest={enable| disable},
ilb=
{enable|disable}, elb={enable|disable}, iterations={1 - 1000000},
selectpattern=
{critical|all|user}
, userpattern={hex-value
}


TABLE 20-3 jnifctest Command-Line Syntax

Argument

Description

dev=device

Specifies device to be tested--for example, jfca0, jfca1, and so on.

selftest=Enable|Disable

Enables or disable the self-test.

ilb=Enable|Disable

Enables or disables the Internal loopback test.

elb=Enable|Disable

Enables or disables the External loopback test.

iterations= 1 - 1000000

Specifies the number of iterations of the tests. The possible range of this parameter is 1 - 1,000,000. The most practical range is 10 - 5000.

selectpattern=user | critical | all

Specifies which data patterns are used for the loopback tests: the small list of critical hex-value data patterns, or the larger list of all hex-value data patterns. The critical hex-value data pattern list is 12 hex-value patterns. The all hex-value data pattern is a significantly larger list of hex-value data patterns.

userpattern=hex-value

If the selectpattern option is specified as user, this option specifies the data pattern that should be used for the loopback tests. The hex-value pattern is specified with 8 hex digits--for example, 0x12345678, 0x7e7e7e7e, or 0xcafebaba.