Linux Test Project

IPv6

March 18, 2002

Introduction

This document summarizes the test results of IPv6 as part of the testing efforts at the IBM Linux Technology Center. It includes the test approach, unresolved issues, environment, test cases, and observations of IPv6. It identifies areas where additional testing would be useful.

Test approach

The USAGI(UniverSAl playGround for Ipv6) Project works to deliver the production quality IPv6 protocol stack for the Linux system. Network tests ported from AIX and used in IPv4 regression testing, were modified to run in an IPv6 environment. These tests consist primarily of UNIX commands related to networking and some C source where applicable. New tests were also developed to test IPv6. The test scenarios consist of 24, 48, and 96 hour runs, using various workloads.

Exit criteria

All testcases have been executed, and any defects found have been posted.

Unresolved issues

The 'sar' tool seems to have difficulty with large number calculations. The tool does a good job of recording the snapshot data, but incorrectly calculates the averages. Thus, the averages for network statistics had to be calculated by hand.

Areas for further testing

USAGI has CVS snapshot releases once every two weeks, however the stability of these snapshots are not "guaranteed". They also have stable releases several times a year. These stable releases would be good candidates for further testing.

Test environment

This section details the distributions and kernel versions, and defines the hardware configurations used during testing.

Distributions

Initial test efforts focused on commercially available distributions. The LTC is continually evaluating its test environment and may add additional distributions in the future. The distributions and releases for the test effort were as follows:

Kernels

These tests were performed using the 2.4.17 kernel and 20020218-snapshot version of USAGI's IPv6 package..

Hardware configurations

Name Processor Memory Storage Other
UP-1 Pentium III 866Mhz 256 MB 30 GB 1 10/100 Ethernet Card
UP-2 Pentium III 866Mhz 256 MB 30 GB 1 10/100 Ethernet Card
SMP-1 Pentium III -700Mhz 8way 15 GB 16 GB 1 10/100 Ethernet Card
6 Gigabit Ethernet Cards
SMP-2 Pentium III -700Mhz 8way 9 GB 16 GB 1 10/100 Ethernet Card
6 Gigabit Ethernet Cards

Test cases and observations

Focus Testing
Location: http://ltp.sf.net
Description: The purpose of the focus test is to provide a reliable/stable platform. Regression testing done on IPv4 is used to compare with the testing of IPv6 to verify its reliability and stability.
Target Test Duration: 24 Hours
Average Test Duration: 24 Hours
Hardware: UP-1 and UP-2
Kernel: 2.4.17
Distributions: Red Hat 7.2 and SuSE 7.3
Parameters: Server: UP-2Client: UP-1
Observations: All LTP IPv6 network tests expected to pass, passed 100%. The only recorded failures were for the 'rup' and 'tcpdump' commands.

The 'rup' command failed because of a problem with it not returning a "1" on a specific error. This is minor, because although it returns 0 in this error, the error message is still displayed. This error is seen in IPv4, aswell.

The 'tcpdump' command failed because it was not installed on UP-1, which acted as my client. This command was tested on UP-2 and passed.

Integration Testing
Location: http://ltp.sf.net
http://www.volano.com
Description: Integration tests are performed to simulate typical customer environments. Testing includes network communication between machines running NetPIPE with IPv6 modifications. The test scenarios include the LTP IPv6 tests and Volano Test over IPv6.
Target Test Duration: 48 Hours
Average Test Duration: 48 Hours
Hardware: UP-1 and UP-2
Kernel: 2.4.17
Distributions: Red Hat 7.2 and SuSE 7.3
Parameters: Server: UP-2 Client: UP-1
Observations: All three scenarios (LTP, NetPIPE, Volano Test) ran for the 48 hours. Below are the network statistics gathered by the 'sar' tool:

Server
Average number of packets received: 1,042,038.97 per second
Average number of packets transmitted: 879,670.29 per second
Average number of bytes received: 7,072,711.96 per second
Average number of bytes transmitted: 5,735,359.82 per second

Client
Average number of packets received: 924,562.53 per second
Average number of packets transmitted: 1,096,876.99 per second
Average number of bytes received: 5,983,348.42 per second
Average number of bytes transmitted: 6,979,797.08 per second



Stress Testing

Location: http://ltp.sf.net
http://www.volano.com
Description: The stress tests run for an uninterrupted period of 96 hours. IPv6 NetPIPE and Volano Test are executed over seven network adapters, between two 8-way SMP machines, for a total of 14 NIC cards altogether.
Target Test Duration: 96 Hours
Average Test Duration: 96 Hours
Hardware: SMP1 and SMP2
Kernel: 2.4.17
Distributions: SuSE 7.3
Parameters: Server: SMP1Client: SMP2
eth0: 10/100 ethernet card
eth1-eth6: gigabit ethernet card
Observations: Seven copies of both NetPIPE and Volano Test ran for the 96 hours.  Below are the real memory, cpu, and network usage statistics gathered by the 'sar' tool.

Server
Real memory:
  Average amount used: 97.19% (15,775,803 Kb)

CPU:
  Average user: 19.86%
  Average system: 46.81%
  Average idle: 33.33%
  Average number of processes: 2944

Network:
  eth0:
    Average number of packets received: 62,381.84 per second
    Average number of packets transmitted: 66,345.63 per second
    Average number of bytes received: 713,267.01 per second
    Average number of bytes transmitted: 643,540.10 per second
  eth1:
    Average number of packets received: 26,844.51 per second
    Average number of packets transmitted: 25,291.67 per second
    Average number of bytes received: 322,280.15 per second
    Average number of bytes transmitted: 353,274.70 per second
  eth2:
    Average number of packets received: 25,392.68 per second
    Average number of packets transmitted: 24,150.50 per second
    Average number of bytes received: 301,560.95 per second
    Average number of bytes transmitted: 339,551.00 per second
  eth3:
    Average number of packets received: 25,963.45 per second
    Average number of packets transmitted: 24,914.77 per second
    Average number of bytes received: 292,545.77 per second
    Average number of bytes transmitted: 345,302.22 per second
  eth4:
    Average number of packets received: 59,844.99 per second
    Average number of packets transmitted: 53,573.11 per second
    Average number of bytes received: 616,047.48 per second
    Average number of bytes transmitted: 596,413.82 per second
  eth5:
    Average number of packets received: 25,423.34 per second
    Average number of packets transmitted: 24,298.48 per second
    Average number of bytes received: 289,227.33 per second
    Average number of bytes transmitted: 331,257.87 per second
  eth6:
    Average number of packets received: 23,947.71 per second
    Average number of packets transmitted: 23,244.00 per second
    Average number of bytes received: 251,747.65 per second
    Average number of bytes transmitted: 312,787.83 per second

Client
Real memory:
  Average amount used: 94.33% (8,502,841 Kb)

CPU: 
  Average user: 48.56%
  Average system: 51.20%
  Average idle: 0.23%
  Average number of processes: 3027

Network:
  eth0:
    Average number of packets received: 66,128.06 per second
    Average number of packets transmitted: 62,992.11 per second
    Average number of bytes received: 704,466.54 per second
    Average number of bytes transmitted:  659,045.47 per second
  eth1:
    Average number of packets received: 25,424.14 per second
    Average number of packets transmitted: 26,984.98 per second
    Average number of bytes received: 354,407.12 per second
    Average number of bytes transmitted: 323,411.54 per second
  eth2:
    Average number of packets received: 24,275.92 per second
    Average number of packets transmitted: 25,524.36 per second
    Average number of bytes received: 340,420.76 per second
    Average number of bytes transmitted: 302,477.74 per second
  eth3:
    Average number of packets received: 25,044.19 per second
    Average number of packets transmitted: 26,098.21 per second
    Average number of bytes received: 346,226.01 per second
    Average number of bytes transmitted: 293,450.99 per second
  eth4:
    Average number of packets received: 54,142.77 per second
    Average number of packets transmitted: 60,481.39 per second
    Average number of bytes received: 610,632.03 per second
    Average number of bytes transmitted: 629,140.927 per second
  eth5:
    Average number of packets received: 24,425.40 per second
    Average number of packets transmitted: 25,555.90 per second
    Average number of bytes received: 332,246.01 per second
    Average number of bytes transmitted: 290,186.80 per second
  eth6:
    Average number of packets received: 23,365.76 per second
    Average number of packets transmitted: 24,072.86 per second
    Average number of bytes received: 313,804.30 per second
    Average number of bytes transmitted: 252,636.17 per second
 


Test team: Robbie Williamson

Sourceforge.net  Last modified on: June 15, 2006 - 16:29:40 UTC.
Theme: