C H A P T E R  31

JNI 2GB FC HBA Test (jnifctest)

jnifctest Description

The jnifctest tests the functionality of the JNI FC HBA (JNI Fiber Channel Host Bus Adapter). 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.

A small list of critical patterns is most likely to detect problems on a FC network. There is also a longer list of patterns and a means inputting your data pattern for testing.

Internal loopback tests require that a loopback plug or cable be 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 most test coverage is to connect all ports with a cable, and run both the self-test and the external loopback test. These two tests are enabled by default.

Any storage behind a particular port is inaccessible while the tests are running. Also, system console log messages reporting renegotiation of the link status might be generated for ports connected to a switch or storage when jnifctest is run.

caution icon

Caution - This is an exclusive mode test. This test can not be run in parallel with any other tests or applications.

jnifctest Subtests

jnifctest has three subtests described in TABLE 31-1.

TABLE 31-1 jnifctest Subtests



Online Selftest

Enables or disables the board self-test.

Internal Loopback Test

Enables or disables the internal loopback test.

External Loopback Test

Enables or disables the external loopback test.

jnifctest Options

To reach the following dialog box, 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 might not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.

FIGURE 31-1 jnifctest Test Parameter Options Dialog Box

Screenshot of the jnifctest Test Parameter Options dialog box

TABLE 31-2 jnifctest Options



Online Selftest

Enables or disables the board self-test.

Internal Loopback Test

Enables or disables the internal loopback test.

External Loopback Test

Enables or disables 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. Criticalpatterns 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. Allpatterns is a list of approximately 256 patterns, including the Criticalpatterns. The Userpattern 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 Patternshould 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 Test Modes

TABLE 31-3 jnifctest Supported Test Modes

Test Mode



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 31-4 jnifctest Command-Line Syntax




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


Enables or disables the self-test.


Enables or disables the Internal loopback test.


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.


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.