Test Plan: Network Controller Certification Level 1

### Network Controller Certification
Level 1 Test Plan

  Introduction
  Required Hardware and Software

  Required Hardware Configuration

  System Configuration I
  System Configuration II

  Required Software Configuration
  Test Network Setup

  Hardware Certification Tests

  Manual Tests
  Automated Tests

### Introduction

This document provides detailed descriptions of the manual network controller certification tests. After you successfully complete the manual tests described in this document, use the HCTS to run the automated tests.

When a driver supports multiple controllers, the controller that supports the most extensive feature set is designated the primary controller. Additional controllers supported by the same device driver are known as supplementary controllers.

The tests described in this document are used for one of these two purposes:

- Functional testing of controllers at Level 1
- Certifying supplementary controllers supported by the same driver under test as a primary controller

Note: The tests described in the Network Controller Certification Level 2 Test Plan are for functional testing of controllers at Level 2 or for certifying a primary controller that has supplementary controllers supported by the same driver under test.

These tests require two systems.

1. Run all tests from the test manager system. The test manager system is System Configuration I.
2. Run all tests on the system under test. The system under test is System Configuration II.

In this testing, the system under test serves data to the test manager system. In this way, the test manager system is a client of the system under test.

### Required Hardware and Software

Make sure both systems meet the general hardware and software requirements for all certifications stated in the Hardware Certification Test Suite Installation Guide.

This section describes additional hardware and software required to execute the network controller certification tests.

#### Required Hardware Configuration

System Configuration I

This is the hardware configuration required for the test manager system.

The minimum requirements for this configuration are as follows:

- System
  - One single-processor machine that meets the minimum requirements stated in the Hardware Certification Test Suite Installation Guide
  - Diskette drive
- Controllers
  - One network controller supported by the driver under test (must be the same in both configurations)
- Devices
  - At least one disk drive that is at least 2 Gbytes in size

System Configuration II

This is the hardware configuration required for the system under test.

The minimum requirements for this configuration are as follows:

- System
  - One dual-processor or quad-processor machine that meets the minimum requirements stated in the Hardware Certification Test Suite Installation Guide
  - Diskette drive
- Controllers
  - One network controller supported by the driver under test (must be the same in both configurations)
- Devices
  - At least one disk drive that is at least 3 Gbytes in size

Back to Top

#### Required Software Configuration

This is the required software configuration for both the system under test and the test manager system.

- At least 500 Mbytes for `/` (root)
- At least 1 Gbyte for `/export/home` for single-processor machines
- At least 1.5 Gbytes for `/export/home` for multi-processor machines
- At least 3 Gbytes for `/export/home` for dual port NIC certification
- At least 6 Gbytes for `/export/home` for quad port NIC certification
- The size of the `/swap` slice in each test machine must be at least twice the amount of RAM in the machine.
- Required driver under test.
- SUNWpkgd. Click on the "Download" line near the top of the Solaris Third-Party Packaging Tools page to download the SUNWpkgd package. To install the SUNWpkgd package, see Installing the SUNWpkgd Tools.

Back to Top

#### Test Network Setup

Both test machines must be configured on their own private network. They should be isolated as much as possible from any other systems. The test environment must be customized for the particular network technology being tested. Only the one network card under test should be configured. Do not configure multiple cards or logical interfaces or virtual interfaces.

HCTS supports single port NIC and multiport NIC certification. For multiport NIC, HCTS supports dual port and quad port NIC certification.

For multiport NIC certification, you must configure each port of the multiport NIC. The IP bound to each port must be in a different subnet.

If you enable IPv6 certification, you do not need to configure the IPv6 interface. HCTS automatically configures IPv6 interfaces.

Fast Ethernet

- All machines are connected to a hub or switch.

- When switches are used, set the ports to different speeds (for example, 10/100 Mbps or 1000 Mbps for Ethernet) and vary the transmission type (for example, full-duplex, half-duplex, or auto-negotiate).

Gigabit Ethernet

- All machines are connected to a switch.

Notes:

1. Do not use NIS (Network Information Service). You might encounter problems if you use NIS.

2. Set up the IP addresses for the system under test and the test manager system in the same subnet.

3. Set up the IP addresses for each port on a multiport NIC in different subnets.

4. Both system hostnames must be resolved on both systems. On the system under test, add the test manager system hostname to the `/etc/hosts` file. On the test manager system, add the system under test hostname to the `/etc/hosts` file.

5. If the Solaris version is 10 or later, make sure the `NFSMAPID_DOMAIN` in `/etc/default/nfs` is set to the same domain name for both the system under test and the test manager system.

For example, to set `NFSMAPID_DOMAIN` to `sun.com`, manually edit `/etc/default/nfs` as follows:

Change:

    #NFSMAPID_DOMAIN=domain

to:

    NFSMAPID_DOMAIN=sun.com

Then do the following restart the nfsmapid daemon:

    # pkill -HUP nfsmapid

Back to Top

### Hardware Certification Tests

These tests require two systems. Run all tests from the test manager system. The test manager system is System Configuration II. Run all tests on the system under test. The system under test is System Configuration I.

Run all tests as user `root` unless otherwise indicated in the HCTS test ReadMe file.

#### Manual Tests

- Pre-Boot Execution Environment Test
- Testing a New Installation of Solaris and the Driver
- Driver Post-Installation Checklist
- Basic Network Commands Test

Back to Top

#### Pre-Boot Execution Environment Test

The Pre-Boot Execution Environment (PXE) is one of the components of the open-industry specification Wired for Management (WFM) developed by Intel. This technology allows you to automate client-PC management over a network. PXE enables a system to boot from a server on a network before booting the operating system on the local hard drive.

This test verifies that the Solaris Operating System can be installed through a network using the PXE technology.

Required Hardware

- Installation server with the appropriate Solaris Operating System release installed
- System under test to install the Solaris Operating System with a PXE-enabled BIOS and PXE-enabled NIC
- Functional network connection between client and server

Test Strategy

This test involves:

- Testing only one server and one client on the working network.
- Setting up the installation server and DHCP server.
- Configuring the DHCP server for network booting.
- Booting the client to start the PXE installation.

Test Procedure

In this procedure, the examples shown are for Solaris 10. Replace steps as appropriate for your Solaris release.

Before beginning this procedure, you must have the following information.

- IP address of DHCP server
- Name and IP address of the installation server

In addition, you must have already set up the `/etc/netmasks` properly.

Note: In this test procedure, the DHCP server and installation server are set up on one machine. The hostname is `server1`, the IP address is `10.13.22.100`, and the netmask is `255.255.255.0`.

Set Up the Installation Server

1. Create an empty directory on the installation server.

   `# mkdir /export/install/ia_9`

2. Copy the Solaris Operating System into this directory according to the Solaris installation instructions.

Set Up the DHCP Server

1. Configure the DHCP server.

   # `/usr/sbin/dhcpconfig -D -r SUNWbinfiles -p /var/dhcp`

2. Add a DHCP network.

   # `/usr/sbin/dhcpconfig -N 10.13.22.100 -m 255.255.255.0`

3. Add addresses to the DHCP service.
   Multiple addresses can be added with `pntadm` as necessary.

   # `pntadm -A 10.13.22.101 10.13.22.0`

4. Create the DHCP new options.

   `# dhtadm -A -s SrootOpt -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,1,ASCII,1,0'
   # dhtadm -A -s SrootIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,2,IP,1,1'
   # dhtadm -A -s SrootNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,3,ASCII,1,0'
   # dhtadm -A -s SrootPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,4,ASCII,1,0'
   # dhtadm -A -s SswapIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,5,IP,1,0'
   # dhtadm -A -s SswapPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,6,ASCII,1,0'
   # dhtadm -A -s SbootFIL -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,7,ASCII,1,0'
   # dhtadm -A -s Stz -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,8,ASCII,1,0'
   # dhtadm -A -s SbootRS -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,9,NUMBER,2,1'
   # dhtadm -A -s SinstIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,10,IP,1,1'
   # dhtadm -A -s SinstNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,11,ASCII,1,0'
   # dhtadm -A -s SinstPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,12,ASCII,1,0'
   # dhtadm -A -s SsysidCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,13,ASCII,1,0'
   # dhtadm -A -s SjumpsCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,14,ASCII,1,0'
   # dhtadm -A -s Sterm -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,15,ASCII,1,0'
   # dhtadm -A -s SbootURI -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,16,ASCII,1,0'`

5. Configure the DHCP server for network booting by creating the DHCP macro using the following commands:

   `# dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d ':BootFile="nbp.SUNW.i86pc"` \
   `:BootSrvA=10.13.22.100:SbootFIL="SUNW.i86pc":'`

   `# dhtadm -A -m SUNW.i86pc -d` \
   `':SinstNM="server1":SinstIP4=10.13.22.100:SinstPTH="/export/install/ia_9":\`
   `SrootNM="server1":SrootIP4=10.13.22.100:SrootPTH="/export/install/ia_9/Solaris_9/Tools/Boot":'`

Configure the Client.

1. In the installation server's Tools directory, set up the installation client:

   `# ./add_install_client -d SUNW.i86pc i86pc`

Reboot the DHCP Server.

1. Use the following command to reboot the DHCP server:

   `# pkill -HUP in.dhcpd`

Boot the Client.

1. Configure the client BIOS as Enabled with PXE.
2. Boot the client to start the PXE installation.

Expected Results

- The client should be booted using the PXE boot process.
- The client should then begin to install Solaris.

References

- PXE: Intel® Preboot Execution Environment (PXE) Specification Version 2.1 [PDF 504K]
- DHCP: Solaris DHCP Service Developer's Guide

Back to Top

#### Testing a New Installation of Solaris and the Driver

This test verifies that the driver can be installed on the system and then removed properly.

Required Hardware

- Test machines as described in "Hardware Certification Tests"
- Controller supported by the driver under test installed in the machine

Required Software

- Driver under test

- In the Solaris `pkg_drv`(1M) format if there is a realmode version of the driver.

- In the Solaris `pkgadd`(1M) format if there is no realmode version of the driver.

Test Strategy

- Depending on whether a realmode driver exists, this test requires the driver under test in the `pkg_drv`(1M) or `pkgadd`(1M) format.

- The test is performed on a machine running the appropriate Solaris release. The driver under test should not be installed.

- After installation of the driver, reboot the system to create device files.

- The driver is then removed from the system.

Test Procedure

1. Install the driver under test on the system under test.

2. At the initial Solaris Device Configuration Assistant (DCA) screen, press `F4_Add Driver` and follow the instructions provided.

3. After the driver is installed, continue installing the Solaris Operating System.

4. Ensure that the test system is sliced correctly:

   - 500 Mbyte `/` (root) slice
   - `/swap` slice size at least twice the amount of RAM in the machine
   - 1 Gbyte `/export/home` slice

   Note: To specify slice layout during Solaris installation, do the following:

   - Select Manual Layout from the Automatically Layout File System menu.

   - Select Customize from the File System and Disk Layout menu.

5. When prompted, reinsert the driver media.

6. After the Solaris installation completes, reboot the system and enter the Configuration Assistant by pressing Escape.

   The Configuration Assistant displays a list of device drivers loaded from the driver media that have been associated with controllers in the system.

7. Examine the Boot Solaris screen to verify that all physical devices connected to the driver under test appear in the list.

8. Use the Driver Post-Installation Checklist to verify that the driver was installed correctly.

9. Verify that all devices connected to the controller under test can be accessed. See the `prtconf`(1M) man page.

10. Remove the driver from the system. See the `pkgrm`(1M) man page. Verify that there are no error messages.

11. Reboot the system, and ensure that no error messages appear.

Expected Results

- The driver installed and it is working properly.

- The driver passes the Driver Post-Installation Checklist.

- The driver, all entries made by the installation process, and any man pages installed during the driver installation process are successfully removed from the system.

Back to Top

#### Driver Post-Installation Checklist

Required Hardware

- Test machine with System Configuration II

Test Strategy

After a driver is installed, certain files specific to the driver are created and other files are modified. By checking these files, you can determine whether the driver is properly installed.

Test Procedure

1. Verify that one of these two sets of files are present.
   driver_name is the name of the driver under test.

   - `/kernel/drv/`driver_name
   - `/kernel/drv/`driver_name`.conf`
   or:
   - `/platform/i86pc/kernel/drv/`driver_name
   - `/platform/i86pc/kernel/drv/`driver_name`.`conf

2. Verify that entries for the installed driver appear in these files:

   - `/boot/solaris/devicedb/master` (realmode drivers only)
   - `/etc/driver_aliases`
   - `/etc/driver_classes`
   - `/etc/name_to_major`
   - `/etc/path_to_inst`

   For example, to locate the `ncrs` driver entry in the `/etc/name_to_major` file, type:

   `# grep ncrs /etc/name_to_major`
   `ncrs 20`

Expected Results

- The files `/kernel/drv/`driver_name and `/kernel/drv/`driver_name`.conf` exist
  or
  The files `/platform/i86pc/kernel/drv/`driver_name and `/platform/i86pc/kernel/drv/`driver_name`.conf` exist.

- Each of these files contains an entry for the driver installed:

  - `/boot/solaris/devicedb/master` (realmode drivers only)
  - `/etc/driver_aliases`
  - `/etc/driver_classes`
  - `/etc/name_to_major`
  - `/etc/path_to_inst`

Back to Top

#### Basic Network Commands Test

Required Hardware

- Test machine with System Configuration II
- Controller supported by the driver under test installed in each test machine

Test Strategy

This test ensures that basic network commands work correctly.

Test Procedure

1. Use the following network commands to communicate between System Configuration I and System Configuration II:

   - `rlogin`(1)
   - `telnet`(1)
   - `netstat`(1M)
   - `ping`(1M)

2. Verify that the commands work correctly.

Expected Results

- The basic network commands function properly between machines.

Note: For multiport NIC certification, apply the above procedures to all ports on the multiport NIC if applicable.

Back to Top

Copyright 2005 Sun Microsystems, Inc. All rights reserved.