C H A P T E R  3

Driver Installation and Configuration

This chapter explains how to download and install the nxge driver used to operate certain ports on the Netra CP32x0 10GbE Ethernet Advanced Rear Transition Module, Dual Port (ARTM-10G). More specifically, the nxge driver facilitates use of SFP ports 1, 2, 3 and 4.

This chapter contains the following topics:


3.1 Installing the nxge Driver

The nxge driver is the Gigabit Ethernet driver that operates the Netra CP32x0 ARTM-10G in a Solaris or Linux environment. The nxge driver is managed by the dladm command-line utility, which allows VLANs to be defined on top of nxge instances and for nxge instances to be aggregated. See the dladm(1M) man page for more details on configuring the data-link interfaces and link aggregations.

A driver must be loaded on your system to operate the ARTM-10G. All OS’s use a variant of a driver design called nxge. New versions of this driver must be used to recognize and operate the new ARTM-10G hardware.

The nxge device driver automatically negotiates maximum link speed up to 10 Gbit/sec and conforms to the IEEE 802.3 Ethernet standard. Each interface is allocated eight receive DMA channels and twelve transmit DMA channels to enable parallel processing of the packets.

Ports 5 and 6 of the ARTM-10G are direct pass-through connections to the Zone 3 connector, and require no additional drivers for the ARTM installation. However, by default, these ports are off (disabled), and will not pass traffic unless the front ATCA blade is configured to redirect traffic to these ports.



Note - At this time, there is not a command or process available to route traffic to these ports. Refer to the Netra CP32x0 Advanced Rear Transition Module Product Notes Notes (820-3261).


3.1.1 Download and Install for Solaris Operating Systems

The nxge device driver is required for systems using the SPARC-based or x86-based Solaris Operating System.


procedure icon  To Download and Install the Driver for Solaris Operating Systems

1. Locate and download the patch with the nxge device driver software from the following web site:

http://www.sun.com/download

Refer to the README file and the Netra CP32x0 Advanced Rear Transition Module Product Notes (820-3261) for the most current information.

2. Install the driver onto your system.

a. Uncompress or unzip the patch into the target directory.

b. Type the following commands to install the patch into the target directory:


% cd <patch dir>
% patchadd . 

3. Verify that the nxge driver is installed on the system.


Sun x8 10G/1G Ethernet Adapter Driver(i386)
1.0,REV=2006.12.05.10.0 Copyright 2006 Sun Microsystems,
Inc. All rights reserved. Use is subject to license terms.
## Executing checkinstall script. Using as the package base directory.
## Processing package information.
## Processing system information.
4 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs. This package contains
scripts which will be executed with super-user permission
during the process of installing this package.
Do you want to continue with the installation of [y,n,?] y
Installing Sun x8 10G/1G Ethernet Adapter Driver as
## Installing part 1 of 1.
/kernel/drv/amd64/nxge [ verifying class ]
# Executing postinstall script.
# Installation of was successful.

3.1.2 Download and Install for Linux Operating Systems

The nxge device driver is required for systems using the Linux operating system.


procedure icon  To Download and Install the Driver for Linux Operating Systems

1. Locate and download the patch with the nxge device driver software from the following web site:

http://www.sun.com/download

Refer to the README file and the Netra CP32x0 Advanced Rear Transition Module Product Notes (820-3261) for the most current information.

2. Choose the rpm that matches your OS distribution, for example:


nxge-x.x-x.rpm 

Where x.x-x is the version number.

3. List the network interfaces that exist prior to adding the driver package:


# ifconfig -a |grep eth
eth0      Link encap:Ethernet  HWaddr 00:14:4F:91:94:6E  
eth1      Link encap:Ethernet  HWaddr 00:14:4F:91:94:6F  
eth2      Link encap:Ethernet  HWaddr 00:14:4F:91:94:70  
eth3      Link encap:Ethernet  HWaddr 00:14:4F:91:94:71

4. Install the driver on Linux.

Where x is the most current version available.


# rpm -ivh nxge-x.x-x.rpm
Preparing... ######################################
1:nxge-2.6.21-bigsmp ######################################

5. List the network interfaces again, and note the new network interface instances corresponding to the Netra CP32x0 ARTM-10G:


# ifconfig -a |grep eth
eth0      Link encap:Ethernet  HWaddr 00:14:4F:91:94:6E  
eth1      Link encap:Ethernet  HWaddr 00:14:4F:91:94:6F  
eth2      Link encap:Ethernet  HWaddr 00:14:4F:91:94:70  
eth3      Link encap:Ethernet  HWaddr 00:14:4F:91:94:71  
eth4      Link encap:Ethernet  HWaddr 00:14:4F:91:94:72  
eth5      Link encap:Ethernet  HWaddr 00:14:4F:91:94:73  
eth6      Link encap:Ethernet  HWaddr 00:14:4F:91:94:74  
eth7      Link encap:Ethernet  HWaddr 00:14:4F:91:94:75  
eth9      Link encap:Ethernet  HWaddr 00:11:0D:D0:04:C0  
eth10     Link encap:Ethernet  HWaddr 00:11:0D:D0:04:C2  
eth11     Link encap:Ethernet  HWaddr 00:11:0D:D0:04:C3  
eth12     Link encap:Ethernet  HWaddr 00:11:0D:D0:04:C1  

The additional Netra CP32x0 ARTM-10G instances, eth9 through eth12, are shown. The MAC address of the ARTM resource is easily identified as 00:11:0d:xx:xx:xx.

6. Add the nxge interfaces to the /etc/modules.conf file to automatically load the driver after system reboot:


alias eth9 nxge
alias eth10 nxge
alias eth11 nxge
alias eth12 nxge

7. Check the parameter configurations that apply to the nxge driver.


# ethtool -i eth9
driver: nxge
version: 2.1.0
firmware-version: ARTM PXE1.4? FCode 3.14
bus-info: 0000:02:00.0
# ethtool  eth9
Settings for eth9:
Supported ports: [ FIBRE ]
Supported link modes:   
Supports auto-negotiation: No
Advertised link modes:  Not reported
Advertised auto-negotiation: No
Speed: Unknown! (10000)
Duplex: Full
Port: FIBRE
PHYAD: 16
Transceiver: internal
Auto-negotiation: off
Current message level: 0x000000ff (255)
Link detected: yes


3.2 Configuring the nxge Driver

The Netra CP32x0 ARTM-10G includes six ports, which are controlled by the nxge driver:

This section provides procedures for configuring nxge driver attributes and parameters, based on your OS.

3.2.1 Configuring nxge Driver Parameters on a Solaris Platform

You can configure and modify nxge device driver parameters in two ways:

If you use the ndd utility, the parameters are valid only until you reboot the system. This method is good for testing parameter settings.

3.2.1.1 Modifying Parameters Using the ndd Utility

Use the ndd utility to configure parameters that are valid until you reboot the system (non-persistent configurations).

The following sections describe how to use the ndd utility to modify (with the -set option) or display (without the -set option) parameters for each nxge device.

The ndd utility can be invoked in either of two modes:

Refer to the ndd(1M) man page for more information.


procedure icon  To Specify Device Instances

Before you use the ndd utility to get or set a parameter for an nxge device, you must specify the device instance for the utility.

single-step bullet  Check the /etc/path_to_inst file to identify the instance associated with a device.


# grep nxge /etc/path_to_inst
"/pci@7c0/pci@0/pci@9/network@0" 0 "nxge"
"/pci@7c0/pci@0/pci@9/network@0,1" 1 "nxge"
"/pci@0/pci@0/pci@8/network@0" 2 "nxge"
"/pci@0/pci@0/pci@8/network@0,1" 3 "nxge"
"/pci@0/pci@0/pci@8/network@0,2" 4 "nxge"
"/pci@0/pci@0/pci@8/network@0,3" 5 "nxge"
"/pci@0/pci@0/pci@8/ethernet@0" 6 "nxge"
"/pci@0/pci@0/pci@8/ethernet@0,1" 7 "nxge"
"/pci@0/pci@0/pci@8/ethernet@0,2" 8 "nxge"
"/pci@0/pci@0/pci@8/ethernet@0,3" 9 "nxge"
"/niu@80/network@0" 0 "nxge"
"/niu@80/network@1" 1 "nxge"


procedure icon  To Modify Parameters in Interactive Mode

1. Type ? to see all the parameters supported by the nxge driver.


# ndd /dev/nxge0
name to get/set ? ?
? (read only)
function_number (read only)
fw_version (read only)
adv_autoneg_cap (read and write)
adv_10gfdx_cap (read and write)
adv_1000fdx_cap (read and write)
adv_100fdx_cap (read and write)
adv_10fdx_cap (read and write)
adv_pause_cap (read and write)
accept_jumbo (read and write)
rxdma_intr_time (read and write)
rxdma_intr_pkts (read and write)
class_opt_ipv4_tcp (read and write)
class_opt_ipv4_udp (read and write)
class_opt_ipv4_ah (read and write)
class_opt_ipv4_sctp (read and write)
class_opt_ipv6_tcp (read and write)
class_opt_ipv6_udp (read and write)
class_opt_ipv6_ah (read and write)
class_opt_ipv6_sctp (read and write)

2. Modify a parameter value by specifying ndd /dev/nxge<x>, such as the following example.


# ndd /dev/nxge0
name to get/set?

3. Enter the parameter name.

After you enter the parameter name, the ndd utility prompts you for the parameter value.

4. Enter the parameter value or ? for more information.

Refer to the ndd(1M) man page for more information.


procedure icon  To Modify Parameter Values in Non-Interactive Mode

1. Invoke the ndd utility with or without the -set option.

Where x is the driver instance, for example /dev/nxge0, /dev/nxge1, and parameter-value is a valid input or option.

Where x is the driver instance.

2. Display the value of a parameter by specifying the parameter name and omitting the value.

3. Modify a parameter value.

Refer to the ndd(1M) man page for more information.

3.2.1.2 Modifying Parameters Using the nxge.conf File

Use an nxge.conf file when you want to establish persistent parameter values for a device in the system.

For more information, refer to the prtconf(1M) and driver.conf(4) man pages.


procedure icon  To Modify Parameters Using nxge.conf File

1. Obtain the hardware path names for the nxge devices in the device tree.

2. Check the /etc/driver_aliases file to identify the name associated with a device.


# grep nxge /etc/driver_aliases
nxge "pciex108e,abcd"

3. Locate the path names and the associated instance numbers in the /etc/path_to_inst file.


# grep nxge/etc/path_to_inst
"/pci@780/pci@0/pci@8/network@0" 0 "nxge"
"/pci@780/pci@0/pci@8/network@0,1" 1 "nxge"

This command returns two nxge interfaces, and for each, includes three descriptive parameters:

The nxge.conf will likely contain information for several nxge interfaces. The output from steps 1 and 2 is used to specify the nxge interface, if needed. In this example:


name = "pciex108e,abcd"
parent = "/pci@780/pci@0/pci@8/network@0"
unit-address = "0"

4. Edit the /kernel/drv/nxge.conf file to set nxge parameters.

For an output of all the parameters you can modify, see CODE EXAMPLE 3-1.

5. To set persistence for all parameters, specify the driver parameter properties for each device by creating an nxge.conf file located in the following directory:

Edits to /kernel/drv/nxge.conf file may be made with any ASCII, text editor.

To apply an edit to all ports, entries are listed with no specific node prefix. In this example, all modules are being set for load balancing RX traffic based on the IP source address. The default value is F80, indicating RX load balancing based on IP 5-tuple. Notice the semicolon at the end of the last parameter.


class-opt-ipv4-tcp = 100;
class-opt-ipv4-udp = 100;

6. To set persistence for a specific parameter, edit the nxge.conf file to add the specific parameter values.

These parameters are reloaded at each reboot.

To apply an edit to specific ports, an entry is prefixed with the node/interface specific information as shown:


name = "pciex108e,abcd" parent = "/pci@780/pci@0/pci@8/" unitaddress = "0" class-opt-ipv4-tcp = 0x100;
name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@9/" unitaddress = "0" class-opt-ipv4-tcp = 0x40;

7. Save the nxge.conf file.

The following CODE EXAMPLE 3-1 provides an output of all the parameters modifiable via the nxge.conf file. See also Chapter 4 for instructions on how to configure the network settings.


CODE EXAMPLE 3-1 Driver Parameters Modifiable via nxge.conf File
#
#---------------Link Configuration ----------------------
# The link parameters depend on the type of the card
# and the port.
# 10-Gigabit related parameters ( i.e adv_10gfdx_cap)
# apply only to 10gigabit ports.
# Half duplex is not supported on any NIU card.
#
# adv-autoneg-cap
# Advertise auto-negotiation capability.
# default is 1
# adv-autoneg-cap = 1;
#
# adv_10gfdx_cap
# Advertise 10gbps Full duplex capability.
# default is 1
# adv_10gfdx_cap = 1;
#
# adv_1000fdx_cap
# Advertise 1gbps Full duplex capability.
# default is 1
# adv_1000fdx_cap = 1;
#
# adv_100fdx_cap
# Advertise 100mbps Full duplex capability.
# default is 1
# adv_100fdx_cap = 1;
#
# adv_10fdx_cap
# Advertise 10mbps Full duplex capability.
# default is 1
# adv_10fdx_cap = 1;
#
# adv_asmpause_cap
# Advertise Asymmetric pause capability.
# default is 0
# adv_asmpause_cap = 0;
#
# adv_pause_cap
# Advertise pause capability.
# default is 1
# adv_pause_cap = 1;
#
#
#------- Jumbo frame support ---------------------------------
# To enable jumbo support for all nxge interfaces,
# accept_jumbo = 1;
#
# To disable jumbo support for all nxge interfaces,
# accept_jumbo = 0;
#
# Default is 0. See the example at the end of this file for
# enabling or disabling jumbo for a particular nxge interface.
#
#
#------- Receive DMA Configuration ----------------------------
#
# rxdma-intr-time
# Interrupts after this number of NIU hardware ticks have
# elapsed since the last packet was received.
# A value of zero means no time blanking (Default = 8).
#
# rxdma-intr-pkts
# Interrupt after this number of packets have arrived since
# the last packet was serviced. A value of zero indicates
# no packet blanking (Default = 20).
#
# Default Interrupt Blanking parameters.
#
# rxdma-intr-time = 8;
# rxdma-intr-pkts = 20;
#
#
#------- Classification and Load Distribution Configuration ------
#
# class-opt-****-***
# These variables define how each IP class is configured.
# Configuration options range from whether TCAM lookup ie
# is enabled to flow hash generation.
# This parameters also control how the flow template is
# constructed and how packet is distributed within RDC
# groups.
#
# supported classes:
# class-opt-ipv4-tcp class-opt-ipv4-udp class-opt-ipv4-sctp
# class-opt-ipv4-ah class-opt-ipv6-tcp class-opt-ipv6-udp
# class-opt-ipv6-sctp class-opt-ipv6-ah
#
# Configuration bits (The following bits will be decoded
# by the driver as hex format).
#
# 0010: use MAC Port (for flow key)
# 0020: use L2DA (for flow key)
# 0040: use VLAN (for flow key)
# 0080: use proto (for flow key)
# 0100: use IP src addr (for flow key)
# 0200: use IP dest addr (for flow key)
# 0400: use Src Port (for flow key)
# 0800: use Dest Port (for flow key)
#
# class-opt-ipv4-tcp = fe0;
The following parameters operate on a per port basis and can be set using the /kernel/drv/nxge.conf file.
#
# ------- How to set parameters for a particular interface --------
# The example below shows how to locate the device path and set a
# parameter for a particular nxge interface. (Using jumbo support as
# an example)
#
# Use the following command to find out the device paths for nxge,
# more /etc/path_to_inst | grep nxge
#
# For example, if you see,
# "/pci@7c0/pci@0/pci@8/network@0" 0 "nxge"
# "/pci@7c0/pci@0/pci@8/network@0,1" 1 "nxge"
# "/pci@7c0/pci@0/pci@8/network@0,2" 2 "nxge"
# "/pci@7c0/pci@0/pci@8/network@0,3" 3 "nxge"
#
# then you can enable jumbo for ports 0 and 1 and disable jumbo for ports 2
# and 3 as follows,
#
# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8/" unit-address
= "0"
# accept_jumbo = 1;
# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8/" unit-address
= "0,1"
# accept_jumbo = 1;
# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8/" unit-address
= "0,2"
# accept_jumbo = 0;
# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8/" unit-address
= "0,3"
# accept_jumbo = 0;

3.2.2 Configuring Driver Parameters on a Linux Platform

Use the ethtool utility or the configtool utility to modify nxge driver parameters on a Linux platform.

3.2.2.1 Modifying Parameters Using the ethtool Utility

This section describes ethtool commands for modifying driver parameters. Refer to the ethtool(1M) man page for more information and detailed usage examples.


procedure icon  To Determine Modifiable Parameters

single-step bullet  Use the ethtool utility to list all driver parameters that can be modified.


CODE EXAMPLE 3-2 Listing Modifiable Driver Parameters on a Linux Platform
# ethtool -help eth4
ethtool version 3
Usage:
ethtool DEVNAME
ethtool -a DEVNAME
ethtool -A DEVNAME \
[ autoneg on|off ] \
[ rx on|off ] \
[ tx on|off ]
ethtool -c DEVNAME
ethtool -C DEVNAME \
[adaptive-rx on|off] \
[adaptive-tx on|off] \
[rx-usecs N] \
[rx-frames N] \
[rx-usecs-irq N] \
[rx-frames-irq N] \
[tx-usecs N] \
[tx-frames N] \
[tx-usecs-irq N] \
[tx-frames-irq N] \
[stats-block-usecs N] \
[pkt-rate-low N] \
[rx-usecs-low N] \
[rx-frames-low N] \
[tx-usecs-low N] \
[tx-frames-low N] \
[pkt-rate-high N] \
[rx-usecs-high N] \
[rx-frames-high N] \
[tx-usecs-high N] \
[tx-frames-high N] \
[sample-interval N]
ethtool -g DEVNAME
ethtool -G DEVNAME \
[ rx N ] \
[ rx-mini N ] \
[ rx-jumbo N ] \
[ tx N ]
ethtool -i DEVNAME
ethtool -d DEVNAME
ethtool -e DEVNAME \
[ raw on|off ] \
[ offset N ] \
[ length N ]
ethtool -E DEVNAME \
[ magic N ] \
[ offset N ] \
[ value N ]
ethtool -k DEVNAME
ethtool -K DEVNAME \
[ rx on|off ] \
[ tx on|off ] \
[ sg on|off ] \
[ tso on|off ]
ethtool -r DEVNAME
ethtool -p DEVNAME [ %d ]
ethtool -t DEVNAME [online|(offline)]
ethtool -s DEVNAME \
[ speed 10|100|1000 ] \
[ duplex half|full ] \
[ port tp|aui|bnc|mii|fibre ] \
[ autoneg on|off ] \
[ phyad %d ] \
[ xcvr internal|external ] \
[ wol p|u|m|b|a|g|s|d... ] \
[ sopass %x:%x:%x:%x:%x:%x ] \
[ msglvl %d ]
ethtool -S DEVNAME

Following are common parameters that can be changed:


CODE EXAMPLE 3-3 Common Parameters That are Modifiable on a Linux Platform
# ethtool -c eth8
Coalesce parameters for eth8:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0
rx-usecs: 8
rx-frames: 512
rx-usecs-irq: 0
rx-frames-irq: 512
tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0
rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0
rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame--high: 0

The parameters rx-usecs and rx-frames control the RX interrupt rate per RX DMA channel. RX interrupt will be generated after rx-frames have been received or after rxusecs time interval, if fewer than rx-frames have been received within the interval.

The rx-frames-irq controls the maximum number of RX packets processed with a single RX interrupt.


procedure icon  To Change RX Coalesce Parameters

single-step bullet  Use the ethtool -C command.


CODE EXAMPLE 3-4 Changing RX Coalesce Parameters
# ethtool -C eth4 rx-usecs 20
# ethtool -c eth4
Coalesce parameters for eth4:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0
rx-usecs: 20
rx-frames: 512
rx-usecs-irq: 0
rx-frames-irq: 512
tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0
rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0
rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0


procedure icon  To Obtain the Status of L4 Hardware

single-step bullet  Use the ethtool -k command.


CODE EXAMPLE 3-5 Obtaining Status of L4 Hardware
# ethtool -k eth4
Offload parameters for eth4:
Cannot get device tcp segmentation offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: off
tcp segmentation offload: off

3.2.2.2 Modifying Parameters Using configtool Utility

This section describes how to use the configtool utility to modify driver parameters.


procedure icon  To Obtain a List of Modifiable Parameters

single-step bullet  Use the nxge_config if-name get command.


CODE EXAMPLE 3-6 Obtaining a List of Tunable Driver Parameters on a Linux Platform
# /usr/local/bin/nxge_config eth4 get
The tunable parameters exported by this device are:
class_opt_ipv4_tcp Read-Write
class_opt_ipv4_udp Read-Write
class_opt_ipv4_ah Read-Write
class_opt_ipv4_sctp Read-Write
class_opt_ipv6_tcp Read-Write
class_opt_ipv6_udp Read-Write
class_opt_ipv6_ah Read-Write
class_opt_ipv6_sctp Read-Write

These classification variables define how each IP class is configured. These parameters also control how the flow template is constructed and how packets are distributed within RDC groups.


Configuration bits:
0x0010: use MAC Port (for flow key)
0x0020: use L2DA (for flow key)
0x0040: use VLAN (for flow key)
0x0080: use proto (for flow key)
0x0100: use IP src addr (for flow key)
0x0200: use IP dest addr (for flow key)
0x0400: use Src Port (for flow key)
0x0800: use Dest Port (for flow key)



Note - The classification variables are modified on an ARTM basis. That is, if any of these variables is modified for one port, the change carries over to all other ports of the ARTM.



procedure icon  To Display a Parameter

single-step bullet  Use the nxge_config <if-name get param-name> command.


# /usr/local/bin/nxge_config eth4 get class_opt_ipv4_udp
class_opt_ipv4_udp 0xfe3


procedure icon  To Modify a Specific Parameter

single-step bullet  Use the /usr/local/bin/nxge_config <if_name set param_name> command.


# /usr/local/bin/nxge_config eth4 set class_opt_ipv4_tcp 0xfe0


3.3 Tuning Performance on a Linux Platform

The following procedure improves the performance of the Netra CP32x0 ARTM-10G ports on a system running the Linux OS.


procedure icon  To Tune Ethernet Port Performance

1. Using any ASCII text editor, create a new .conf file that will be passed to the sysctl utility.

For example, sysctl_e1000.conf


CODE EXAMPLE 3-7 Sample .conf File for Tuning Ethernet Ports on a Linux Platform
### IPV4 specific settings
# turns TCP timestamp support off, default 1, reduces CPU use
net.ipv4.tcp_timestamps = 0
# turn SACK support off, default on systems with a VERY fast bus ->
# memory interface this is the big gainer
net.ipv4.tcp_sack = 0
# sets min/default/max TCP read buffer, default 4096 87380 174760
net.ipv4.tcp_rmem = 10000000 10000000 10000000
# sets min/pressure/max TCP write buffer, default 4096 16384 131072
net.ipv4.tcp_wmem = 10000000 10000000 10000000
# sets min/pressure/max TCP buffer space, default 31744 32256 32768
net.ipv4.tcp_mem = 10000000 10000000 10000000
### CORE settings (mostly for socket and UDP effect)
# maximum receive socket buffer size, default 131071
net.core.rmem_max = 524287
# maximum send socket buffer size, default 131071
net.core.wmem_max = 524287
# default receive socket buffer size, default 65535
net.core.rmem_default = 524287
# default send socket buffer size, default 65535
net.core.wmem_default = 524287
# maximum amount of option memory buffers, default 10240
net.core.optmem_max = 524287
# number of unprocessed input packets before kernel starts dropping
# them, default 300
net.core.netdev_max_backlog = 300000

2. To apply your settings, invoke the sysctl utility, including the configuration file as follows:


# sysctl -p /etc/sysctl_nxge.conf


3.4 Enabling Host Board PCI-Express Communication

Presently, only the Sun Netra CP3260 blade server can be configured to use PCI-express signals to communicate with the Netra CP32x0 ARTM-10G. By default, the host blade server is usually shipped with these signals disabled. The following procedure enables PCI-express signals.


procedure icon  To Enable PCI-Express Signals

1. Do one of the following:

a. At boot, invoke the BIOS menu (ESC 2, F2, Ctrl-C, or Ctrl-E).

b. Under the Chipset menu/Southbridge menu, disable Spread Spectrum clocking for PCI-E.

c. Save and Exit the BIOS.

2. Establish a console connection with the shelf manager.

3. Type the shelf command clia to determine the slot location of the host board that will connect to the Netra CP32x0 ARTM-10G.

The shelf manager will show a Device ID String indicating the host board.

4. Enter the clia sendcmd xx 2e 8b 00 00 2a 9 1c command.

Where xx is the board address.

5. At the shelf manager, type clia board to find the correct number for your host board installation.

6. Type the shelf clia boardreset 2 command.


3.5 Removing the nxge Driver

If you want to remove the nxge driver from your system, perform the following procedure, based on your OS.


procedure icon  To Remove the Driver From a Solaris Platform

1. Determine the driver packages:


# pkginfo | grep nxge
SUNWnxge Sun x8 10G/1G Ethernet Adapter Driver

2. Remove the driver packages:


# pkgrm SUNWnxge


procedure icon  To Remove the Driver From a Linux Platform

single-step bullet  Type the following:


# rpm -e nxge