Login Settings Help/Guide About Trac Wiki

Start Page Support Index Recent Changes Page History

Neterion Drivers

Table of Contents

1. General Information

2. Release Notes and Readme files

3. Measuring Baseline Performance

4. Linux Driver Utilities

5. Frequently Asked Questions (FAQ):

1. Q1: Which driver version am I using?

2. Q2: How can I list detailed PCI information about my Xframe adapter(s)?

3. Q3: How can I tell which physical adapter corresponds to a given ethX name?

4. Q4: How do I configure Xframe to steer receive packets using SPDM?

5. Q5: What does it mean when I see the kernel error "swapper: page allocation failure. order:2, mode:0x20"?

General Information

Driver Name s2io.ko, s2io.o Device Drivers Download Supported Adapters All Neterion Adapters listed here. Supported Linux Kernels 2.6 (driver included in all kernels 2.6.6 and later) and 2.4 Shipping in Linux Distros RHEL AS4 U3 onwards; SLES 9 SP3 onwards Hardware Architectures x86, x86-64, Itanium, PPC 64-bit, SPARC

Release Notes and Readme files

For information such as driver requirements, change logs, available downloads, and known issues, see the Release Notes.

For additional information regarding installation, performance suggestions, known issues, etc., please see the Readme.

Back to TOC

Measuring Baseline Performance

While GbE NICs typically run at GbE line rate on modern systems, 10GbE NICs cause "fast network, slow host" scenario and may or may not run at full 10GbE on a particular system. Typical bottlenecks on a particular system include pci bus speed, system memory bandwidth, and/or cpu utilization. Also, is very application-specific. For suggestions to improve performance, please see the Linux Readme

To measure baseline TCP for your Neterion 10GbE Adapter, please connect two similar servers with Neterion NICs back- to-back, apply performance tuning tips from the Linux Readme and run the following commands: iPerf

System 1

#./iperf -s

System 2

#./iperf - -l89600 -t60 -i1 -P4

Download iPerf version 2.0.2

Latency can be measured with tools like Netperf or Netpipe.

Netperf

#netperf -H -t TCP_RR

Download Netperf version 2.4.1

Please e-mail your performance results (along with server platform description) to [email protected]. Our support team will be able to confirm whether your results are expected for a given platform.

Back to TOC

Linux Driver Utilities

To obtain adapter statistics for Xframe adapter assigned eth2:

# ethtool –S eth2

To obtain adapter register dump for Xframe adapter assigned eth2:

# ethtool –d eth2

Back to TOC

Frequently Asked Questions (FAQ):

Q1: Which driver version am I using?

A: Use the command 'ethtool -i ethX' # ethtool -i eth2 driver: Neterion version: 2.0.14.5152 firmware-version: bus-info: 0000:01:03.0

If you don't want to load the kernel module but want to know the version, grep for version in modinfo with the following command:

# modinfo [module.ko]|grep ^version: (Result will be the string reported to MODULE_VERSION()when driver was compiled)

Q2: How can I list detailed PCI information about my Xframe adapter(s)? A: Use the command 'lspci -v -d 17d5:*'

# lspci -v -d 17d5:* 0000:01:03.0 Ethernet controller: Neterion Inc. Xframe II 10 Gigabit Ethernet PCI-X (rev 02) Subsystem: IBM: Unknown device 02eb Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 20 Memory at ff4f8000 (64-bit, prefetchable) [size=32K] Memory at ff300000 (64-bit, prefetchable) [size=1M] Memory at ff4f7800 (64-bit, prefetchable) [size=2K] Expansion ROM at fc700000 [disabled] [size=1M] Capabilities: [40] Message Signalled Interrupts: 64bit+ Queue=0/5 Enable- Capabilities: [60] PCI-X non-bridge device. Capabilities: [80] Vital Product Data Capabilities: [90] #11 [003f] Capabilities: [a0] Power Management version 3

Q3: How can I tell which physical adapter corresponds to a given ethX name?

A: Use the command 'ethtool -p ethX'

# ethtool -p eth2 (the LED of the physical adapter assigned interface eth2 will blink)

Q4: How do I configure Xframe to steer receive packets using SPDM?

A. Please see the section - "RTH (Receive Traffic Hash) based steering" and "SPDM (Socket-Pair Direct Match) based steering", in the Readme for more details. Here's an example load of the driver -

insmod s2io.ko rx_steering_type=2 rth_protocol=2 rth_mask=18 rx_ring_num=8

where rx_ring_num = 8 => Total number of receive rings( 1 to 8) rx_steering_type = 2 => Steering type is RTH rth_protocol = 2 => Use IPV4 source and destination address and UDP source and destination ports rth_mask = 2 => Ignore destination IP address for HASH calculation rth_mask = 16 => Ignore L4 source port for HASH calculation Note: rth_mask = 18 implies, ignore destination IP address and L4 source port.

Run the util command to configure the SPDM table # ./util -i -s set Enter Src IP: Source IP address e.g 1.1.1.1 Enter Dst IP: Destination IP address e.g 4294967295 (Equivalent of 0xFFFFFFFF to ignore destination IP) Enter Src port: Source port e.g 65535 (Equivalent of 0xFFFF to ignore source port) Enter Dst port: Destination port e.g 5001 Enter target Queue (between 0 - 7): Receive ring to steer the packets to, eg.., 0. Note: If 8 receive rings are configured, the target queue can be from 0 - 7.

Run the performance test tools e.g iperf, nttcp etc

You can check steering with ethtool # ethtool -S eth3 | grep rmac_frms_q

rmac_frms_q0: 3 rmac_frms_q1: 2566 rmac_frms_q2: 0 rmac_frms_q3: 0 rmac_frms_q4: 0 rmac_frms_q5: 0 rmac_frms_q6: 0 rmac_frms_q7: 0

Q5: What does it mean when I see the kernel error "swapper: page allocation failure. order:2, mode:0x20"?

A. This message is due to a memory allocation failure. If you are using Jumbo Frames larger than 4000 bytes, it is likely a memory fragmentation problem and there probably aren't enough contiguous pages available in memory to allocate.

The workaround is to use a MTU size of 4000 bytes or less. Since handling of a frame this size requires allocation of no more than a single page, memory fragmentation will no longer be an issue. Using LRO in conjunction with this reduced MTU size will help to keep performance at par with 9000 byte MTU performance. # insmod s2io.ko lro=1 # ifconfig eth# mtu 4000

Back to TOC

Last updated on Thu May 26 11:31:09 2011

Download in other formats: Plain Text

Powered by Trac 0.8 Visit the Trac open source project at By Edgewall Software. http://trac.edgewall.com/