DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SCO OpenServer 5

ant(1Mcert)


ant -- automated test and certification suites for SCO OpenServer 5 MDI network adapter drivers

Synopsis

cd /usr/lib/ant
./ant [test]

Description

The ant (Automated Network Test) suites provide comprehensive tests for network adapter hardware and associated drivers on SCO OpenServer 5 systems. The ndtests(1Mcert) suites provide similar testing for SVR5 network adapters.

SCO uses these tests to certify hardware and drivers from independent hardware vendors (IHVs), but the test suites are useful for any driver developer or tester who needs to verify the quality of a device and driver.

ANT contains tests that verify the integrity of the device and driver as well as tests that verify a protocol stack over the driver being tested.

ANT contains several tests that can be run either individually or as a group. All test are developed in the OSF Test Environment Toolkit (TET), although it is not necessary to learn TET to use the test suite. The following test packages are provided:


mdi_unit
Verify conformance to the MDI specification.

dlpi_unit
Verify that the MDI driver correctly interfaces with the DLPI module under normal operation.

load
Stresses the driver for an extended period of time and gathers statistics about failures, timeouts, and apparent memory leaks for the driver.

perf
Measures transmision and reception characteristics for different packet sizes and speeds. The test measures percent CPU overhead to achieve and actual rate achieved by the driver.

ncard
Verifies that the driver works correctly with the maximum number of cards specified and that the cards are logically distinct for data communication.

tcp
Verifies that the driver works with the TCP/IP protocol.

nfs
Verifies that the driver works with the NFS protocol.

ipx
Verifies that the driver works with the SPX/IPX protocol.

Usage

The ANT suite requires two test systems, called ``master'' and ``slave''. Master (machine 1) is the machine where the adapter being tested is installed; the slave (machine 2) can use either the adapter being tested or another network card that has been tested.

These systems should have a fresh install of the SCO OpenServer 5 Release 5 Enterprise operating system and should be on an isolated network. The SCO OpenServer 5 Release 5 Enterprise System is required to ensure that all networking components are installed. Problems that are detected in the driver being tested could corrupt the network, and the load tests may adversely affect the performance of other activities on the network. HDK web page.

Running ANT suites

  1. Log in as root.

  2. Invoke the ANT suite menu by running the following on both the master and slave systems:
       cd /usr/lib/ant
       ./ant
    
    Select the test suite you want to run from those described below.

    Tests can instead be run directly from the command line. For example, to run the mdi_unit test only:

       cd /usr/lib/ant
       ./ant mdi_unit
    

    You must run the same ant test on both the master and slave machines. The test can be initiated on either machine first; the tests are self-synchronizing. All SCO OpenServer 5 ANT tests must be run in init state 2.

  3. The tests run without user intervention. Log files are produced during the testing in the /usr/lib/ant/ts_ant/results directly. The results file are numbered in the order they are run, so the files are named 0001e/journal, 0002e/journal, and so forth.

    When the tests complete, examine these log files for any errors by selecting the R option ("generate summary report of all test reports") to the ANT suites menu. Note that the ANT journals are not in compressed format like the SVR5 ndtests journals are.

  4. Modify the drivers to correct these errors, and rerun the tests.

  5. Catastrophic test suite failures, such as a panic, must be cleaned up by running the following:
       cd /usr/lib/ant
       ./antclean
    

Do not run X Windows while running the ANT test suites to avoid false STREAMS checks.

Detailed description of ANT tests

Each ANT test executes a series of subtests. The logfile identifies each subtest that is run, may give other output from the subtest, and ends with one of the following lines:
   subtestname: PASS
   subtestname: FAIL
   subtestname: ABORT
For any tests marked FAIL, correct the driver and rerun the tests. Drivers must PASS all tests.

mdi_unit test

The mdi_unit test verifies conformance to the MDI specification.

The subtests are:


frametest
Send and receive all packet sizes, one at a time. Padding and every byte within each packet is verified to see that it did not change. Addressing is point-to-point.

framemcst
Same as frametest except that multicast addresses are used.

framebcst
Same as frametest except that broadcast addresses are used.

framembcst
Same as frametest except that multicast broadcast addresses are used.

loopback
Send packets to self. They should go out on the wire as well as be looped back. A network monitor is required to verify.

loopmcst
Send packets to a multicast address to which the driver is listening; test loopback to multicast address.

loopbcst
Test loopback to broadcast addresses. All packet sizes are checked.

loopmbcst
Test loopback when sent to the token-ring multicast broadcast address. Used only for Token-Ring drivers.

bind
Test that bind state transitions are correct.

multicast
Test all multicast primitive work. The size of the multicast table is also checked.

promisc
(Not implemented) Verify the functionality of promiscuous mode; see ``Promiscuous mode'' in HDK Technical Reference for more information.

symchk
Check external symbol names in driver to verify that they start with the driver prefix(D1). This is to avoid name space collision; see ``Guidelines for all kernel drivers'' in Developing device drivers.

strchk
Verify that the number of free message headers, buffer headers, and data blocks of various sizes are the same before and after the ANT test. This runs as part of the mdi_unit test finish and not as a separate subtest.

dlpi_unit test

The dlpi_unit test verifies that the MDI driver correctly interfaces with the DLPI module under normal operation.

The subtests are:


frametest
Send and receive all packet sizes, one at a time. Padding and every byte within each packet is verified to see that it did not change. Addressing is point-to-point.

framemcst
Same as frametest except that multicast addresses are used.

framebcst
Same as frametest except that broadcast addresses are used.

framembcst
Same as frametest except that multicast broadcast addresses are used.

loopback
Send packets to self. They should go out on the wire as well as be looped back. A network monitor is required to verify.

loopmcst
Send packets to a multicast address to which the driver is listening; test loopback to multicast address.

loopbcst
Test loopback to broadcast addresses. All packet sizes are checked.

loopmbcst
Test loopback when sent to the token-ring multicast broadcast address. Used only for Token-Ring drivers.

largepkt
Try to reload a packet that is larger than max_pdu; the reload should fail.

saptest
Verify that BIND operations to various SAPs that are near the ends of the supported ranges succeed. Attempt to BIND to bad SAPs; this should fail.

bindmax
Test that exactly 16 opens and binds are supported.

bindbad
Test the endpoints of SAP ranges +/- 1 to verify that the ranges are checked correctly.

bind
Test that bind state transitions are correct.

unbind
Test bind/unbind/bind state transitions.

multicast
Test all multicast primitive work. The size of the multicast table is also checked.

strchk
Verify that the number of free message headers, buffer headers, and data blocks of various sizes are the same before and after the ANT test. This executes as part of the dlpi_unit test finish and not as a separate subtest.

load test

The load test stresses the driver for an extended period of time and gathers statistics about failures, timeouts, and apparent memory leaks for the driver.

The subtests are:


loadtest
Create many pairs of send and receive channels to send large number of big packets.

strchk
Verify that the number of free message headers, buffer headers, and data blocks of various sizes are the same before and after the ANT test is run.

perf test

The perf test measures transmission and reception characteristics for different packet sizes and speeds. The test measures percent CPU overhead to achieve and actual rate achieved by the driver.

The subtests are:


txdirect
Transmission test and analysis.

rxdirect
Reception test and analysis.

ncard test

The ncard test verifies that the driver works correctly with the maximum number of cards specified and that the cards are logically distinct for data communication.

Before running the test, the user can configure multiple cards with the netconfig utility. Add a new ANT chain over the card that has not yet been configured into the system. Repeat this process until you have configured the maximum number of cards that the driver supports. Relink, reboot, and verify that all cards are recognized correctly before running the ncard test.

The subtests are:


loadtest
Create pairs of send and receive channels between all cards configured on the two test machines and send many big packets back and forth.

strchk
Verify that the number of free message headers, buffer headers, and data blocks of different sizes are the same before and after the ANT test.

tcp test

The tcp test verifies that the driver works with the TCP/IP protocol.

The subtests are:


start/stop
Bring up and shut down the TCP/IP stack.

ping
Send ICMP packets and acknowledge receipts.

ftp
Copy large files using the ftp protocol.

telnet
Login to remote host and cat the /etc/termcap file.

nfs test

The nfs test verifies that the driver works with the NFS utilities.

The subtests are:


start/stop
Bring up and shut down the NFS subsystem.

mount
Mount and unmount remote file systems.

cp
Copy large files using the NFS protocol.

ipx test

The ipx test verifies that the driver works with the IPX/SPX protocol.

The subtests are:


start/stop
Bring up and shut down the IPX/SPX stack.

nping
Send low level IPX packets and acknowledge receipt.

tispx/tispxd
Transfer data using the TLI test application.

nlogin
Login to remote host and cat the /etc/termcap file.

Version applicability

mdi: 1 on any SCO OpenServer 5 Enterprise release.

Files


/usr/lib/ant directory
home directory for the ANT suite, created when the test package is installed.

/usr/lib/ant/src directory
source for the test suite utilities

/usr/lib/ant/ts-ant/<test>
scripts for the test suites

References

ndtests(1Mcert),

``Testing and debugging MDI drivers'' in Developing MDI network adapter drivers
``Testing SCO OpenServer 5 network adapter drivers'' in Developing MDI network adapter drivers
``Using the SVR5 ndcert test suites'' in Developing MDI network adapter drivers


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005