C H A P T E R  3

Configuring Driver Parameters

This chapter describes how to configure the vca device driver parameters used by both the Sun Crypto Accelerator 4000 UTP and MMF Ethernet adapters. This chapter contains the following sections:


Sun Crypto Accelerator 4000 Ethernet Device Driver (vca) Parameters

The vca device driver controls the Sun Crypto Accelerator 4000 UTP and MMF Ethernet devices. The vca driver is attached to the UNIX pci name property pci108e,3de8 for the Sun Crypto Accelerator 4000 (108e is the vendor ID and 3de8 is the PCI device ID).

You can manually configure the vca device driver parameters to customize each Sun Crypto Accelerator 4000 device in your system. This section provides an overview of the capabilities of the Sun Crypto Accelerator 4000 Ethernet device used in the board, lists the available vca device driver parameters, and describes how to configure these parameters.

The Sun Crypto Accelerator 4000 Ethernet UTP and MMF PCI adapters are capable of the operating speeds and modes listed in Setting Autonegotiation or Forced Mode. By default, the vca device operates in autonegotiation mode with the remote end of the link (link partner) to select a common mode of operation for the speed, duplex, and link-clock parameters. The link-clock parameter is applicable only if the board is operating at a 1000 Mbps. The vca device can also be configured to operate in forced mode for each of these parameters.



caution icon

Caution - To establish a proper link, both link partners must operate in either autonegotiation or forced mode for each of the speed, duplex, and link-clock (1000 Mbps only) parameters. If both link partners are not operating in the same mode for each of these parameters, network errors will occur. See Enabling Autonegotiation or Forced Mode for Link Parameters With the OpenBoot PROM.



Driver Parameter Values and Definitions

TABLE 3-1 describes the parameters and settings for the vca device driver.

TABLE 3-1 vca Driver Parameter, Status, and Descriptions

Parameter

Status

Description

instance

Read and write

Device instance

adv-autoneg-cap

Read and write

Operational mode parameter

adv-1000fdx-cap

Read and write

Operational mode parameter (MMF adapter only)

adv-1000hdx-cap

Read and write

Operational mode parameter

adv-100fdx-cap

Read and write

Operational mode parameter (UTP adapter only)

adv-100hdx-cap

Read and write

Operational mode parameter (UTP adapter only)

adv-10fdx-cap

Read and write

Operational mode parameter (UTP adapter only)

adv-10hdx-cap

Read and write

Operational mode parameter (UTP adapter only)

adv-asmpause-cap

Read and write

Flow control parameter

adv-pause-cap

Read and write

Flow control parameter

pause-on-threshold

Read and write

Flow control parameter

pause-off-threshold

Read and write

Flow control parameter

link-master

Read and write

1 Gbps speed forced mode parameter

enable-ipg0

Read and write

Enable additional delay before transmitting a packet

ipg0

Read and write

Additional delay before transmitting a packet

ipg1

Read and write

Interpacket Gap parameter

ipg2

Read and write

Interpacket Gap parameter

rx-intr-pkts

Read and write

Receive interrupt blanking values

rx-intr-time

Read and write

Receive interrupt blanking values

red-dv4to6k

Read and write

Random early detection and packet drop vectors

red-dv6to8k

Read and write

Random early detection and packet drop vectors

red-dv8to10k

Read and write

Random early detection and packet drop vectors

red-dv10to12k

Read and write

Random early detection and packet drop vectors

tx-dma-weight

Read and write

PCI Interface parameter

rx-dma-weight

Read and write

PCI Interface parameter

infinit-burst

Read and write

PCI Interface parameter

disable-64bit

Read and write

PCI Interface parameter


Advertised Link Parameters

The following parameters determine the transmit and receive speed and duplex link parameters to be advertised by the vca driver to its link partner. TABLE 3-2 describes the operational mode parameters and their default values.



Note - If a parameter's initial setting is 0, it cannot be changed. If you try to change an initial setting of 0, it will revert back to 0. By default, these parameters are set to the capabilities of the vca device.



The Sun Crypto Accelerator 4000 UTP adapter advertised link parameters are different from those of the Sun Crypto Accelerator 4000 MMF adapter as shown in TABLE 3-2.

TABLE 3-2 Operational Mode Parameters

Parameter

Description

 

The following parameter is for both the Sun Crypto Accelerator 4000 UTP and MMF adapters.

adv-autoneg-cap

Local interface capability advertised by the hardware

0 = Forced mode

1 = Autonegotiation (default)

 

The following parameter is for the Sun Crypto Accelerator 4000 MMF adapter only.

adv-1000fdx-cap

 

Local interface capability advertised by the hardware
0 = Not 1000 Mbps full-duplex capable

1 = 1000 Mbps full-duplex capable (default)

The following parameter is for both the Sun Crypto Accelerator 4000 UTP and MMF adapters.

adv-1000hdx-cap

Local interface capability advertised by the hardware
0 = Not 1000 Mbps half-duplex capable

1 = 1000 Mbps half-duplex capable (default)

The following parameters are for the Sun Crypto Accelerator 4000 UTP adapter only.

adv-100fdx-cap

 

Local interface capability advertised by the hardware
0 = Not 100 Mbps full-duplex capable

1 = 100 Mbps full-duplex capable (default)

adv-100hdx-cap

Local interface capability advertised by the hardware
0 = Not 100 Mbps half-duplex capable

1 = 100 Mbps half-duplex capable (default)

adv-10fdx-cap

 

Local interface capability advertised by the hardware
0 = Not 10 Mbps full-duplex capable

1 = 10 Mbps full-duplex capable (default)

adv-10hdx-cap

Local interface capability advertised by the hardware
0 = Not 10 Mbps half-duplex capable

1 = 10 Mbps half-duplex capable (default)


If all of the previous parameters are set to 1, autonegotiation will use the highest speed possible. If all of the previous parameters are set to 0, you will receive the following error message:

NOTICE: Last setting will leave vca0 with no link capabilities.
WARNING: vca0: Restoring previous setting.



Note - In the previous example, vca0 is the Sun Crypto Accelerator 4000 board device name where the string, vca, is used for every Sun Crypto Accelerator 4000 board. This string is always immediately followed by the device instance number of the board. Hence, the device instance number of the vca0 board is 0.



Flow Control Parameters

The vca device is capable of sourcing (transmitting) and terminating (receiving) pause frames conforming to the IEEE 802.3x Frame Based Link Level Flow Control Protocol. In response to received flow control frames, the vca device is capable of reducing its transmit rate. Alternately, the vca device is capable of sourcing flow control frames, requesting the link partner to reduce its transmit rate if the link partner supports this feature. By default, the driver advertises both transmit and receive pause capability during autonegotiation.

TABLE 3-3 provides flow control keywords and describes their function.

TABLE 3-3 Read-Write Flow Control Keyword Descriptions

Keyword

Description

 

 

adv-asmpause-cap

Both the MMF and UTP adapters support asymmetric pause; hence, the vca device can pause only in one direction.

0=Off (default)

1=On

adv-pause-cap

This parameter has two meanings depending on the value of
adv-asmpause-cap. (Default=0)

 

Parameter Value +

Parameter Value =

Description

 

adv-asmpause-cap=

adv-pause-cap=

 

 

1

1 or 0

adv-pause-cap determines which direction pauses operate on.

 

1

1

Pauses are received but are not transmitted.

 

1

0

Pauses are transmitted but are not received.

 

0

1

Pauses are sent and received.

 

0

1 or 0

adv-pause-cap determines whether the pause capability is on or off.

pause-on-threshold

Defines the number of 64 byte blocks in the receive (RX) FIFO which causes the board to generate an XON-PAUSE frame.

pause-off-threshold

Defines the number of 64 byte blocks in the RX FIFO which causes the board to generate an XOFF-PAUSE frame.


Gigabit Forced Mode Parameter

For Gigabit links, this parameter determines the link-master. Generally, switches are enabled as a link master; in which case, this parameter can remain unchanged. If this is not the case, then the link-master parameter can be used to enable the vca device as a link master.

TABLE 3-4 Gigabit Forced Mode Parameter

Parameter

Description

link-master

When set to 1 this parameter enables master operation, assuming the link partner is a slave.

When set to 0 this parameter enables slave operation, assuming the link partner is a master. (default)


Interpacket Gap Parameters

The vca device supports a programmable mode called enable-ipg0.

Before transmitting a packet with enable-ipg0 enabled (default), the vca device adds an additional time delay. This delay, set by the ipg0 parameter, is in addition to the delay set by the ipg1 and ipg2 parameters. The additional ipg0 delay reduces collisions.

If enable-ipg0 is disabled, the value of ipg0 is ignored and no additional delay is set. Only the delays set by ipg1 and ipg2 will be used. Disable enable-ipg0 if other systems keep sending a large number of continuous packets. Systems that have enable-ipg0 enabled might not have enough time on the network. You can add the additional delay by setting the ipg0 parameter from 0 to 255, which is the media byte time delay. TABLE 3-5 defines the enable-ipg0 and ipg0 parameters.

TABLE 3-5 Parameters Defining enable-ipg0 and ipg0

Parameter

Values

Description

enable-ipg0

0

1

enable-ipg0 enable

enable-ipg0 disable (Default=1)

ipg0

0 to 255

The additional time delay (or gap) before transmitting a packet (after receiving the packet) (Default=8)


The vca device supports the programmable interpacket gap parameters (IPG) ipg1 and ipg2. The total IPG is the sum of ipg1 and ipg2. The total IPG is 0.096 microseconds for the link speed of 1000 Mbps.

TABLE 3-6 lists the default values and allowable values for the IPG parameters.

TABLE 3-6 Read-Write Interpacket Gap Parameter Values and Descriptions

Parameter

 

Values

(Byte-time)

Description

 

ipg1

0 to 255

Interpacket gap 1 (Default=8)

ipg2

0 to 255

Interpacket gap 2 (Default=4)


By default, the driver sets ipg1 to 8-byte time and ipg2 to 4-byte time, which are the standard values. (Byte time is the time it takes to transmit one byte on the link, with a link speed of 1000 Mbps.)

If your network has systems that use longer IPG (the sum of ipg1 and ipg2), and if those machines seem to be slow in accessing the network, increase the values of ipg1 and ipg2 to match the longer IPGs of other machines.

Interrupt Parameters

TABLE 3-7 describes the receive interrupt blanking values.

TABLE 3-7 RX Blanking Register for Alias Read

Field Name

Values

Description

rx-intr-pkts

0 to 511

Interrupts after this number of packets have arrived since the last packet was serviced. A value of zero indicates no packet blanking. (Default=3)

rx-intr-time

0 to 524287

Interrupts after 4.5 microseconds (usecs) have elapsed since the last packet was serviced. A value of zero indicates no time blanking. (Default=3)


Random Early Drop Parameters

These parameters provide the ability to drop packets based on the fullness of the receive FIFO. By default, this feature is disabled. When FIFO occupancy reaches a specific range, packets are dropped according to the preset probability. The probability should increase when the FIFO level increases. Control packets are never dropped and are not counted in the statistics.

TABLE 3-8 RX Random Early Detecting 8-Bit Vectors

Field Name

Values

Description

red-dv4to6k

0 to 255

Random early detection and packet drop vectors for when FIFO threshold is greater than 4096 bytes and less than 6,144 bytes. Probability of drop can be programmed on a 12.5 percent granularity. For example, if bit 0 is set, the first packet out of every eight will be dropped in this region. (Default=0)

red-dv6to8k

0 to 255

Random early detection and packet drop vectors for when FIFO threshold is greater than 6,144 bytes and less than 8,192 bytes. Probability of drop can be programmed on a 12.5 percent granularity. For example, if bit 8 is set, the first packet out of every eight will be dropped in this region. (Default=0)

red-dv8to10k

0 to 255

Random early detection and packet drop vectors for when FIFO threshold is greater than 8,192 bytes and less than 10,240 bytes. Probability of drop can be programmed on a 12.5 percent granularity. For example, if bit 16 is set, the first packet out of every eight will be dropped in this region. (Default=0)

red-dv10to12k

0 to 255

Random early detection and packet drop vectors for when FIFO threshold is greater than 10,240 bytes and less than 12,288 bytes. Probability of drop can be programmed on a 12.5 percent granularity. For example, if bit 24 is set, the first packet out of every eight will be dropped in this region. (Default=0)


PCI Bus Interface Parameters

These parameters allow you to modify PCI interface features to gain better PCI interperformance for a given application.

TABLE 3-9 PCI Bus Interface Parameters

Parameter

Description

tx-dma-weight

Determines the multiplication factor for granting credit to the transmit (TX) side during a weighted round robin arbitration; the values are 0 to 3 (Default=0). Zero means no extra weighting. The other values are power of 2 extra weighting on that traffic. For example, if tx-dma-weight = 0 and rx-dma-weight = 3, then as long as RX traffic is continuously arriving, the priority of RX traffic will be 8 times greater than the priority of TX traffic to access the PCI.

rx-dma-weight

Determines the multiplication factor for granting credit to the RX side during a weighted round robin arbitration. The values are 0 to 3 (Default=0).

infinite-burst

Allows the infinite burst capability to be used when this parameter is enabled and the system supports infinite burst. The adapter will not free the bus until complete packets are transferred across the bus. The values are 0 or 1 (Default=0).

disable-64bit

Switches off 64-bit capability of the adapter.

 

Note: for UltraSPARC® III based platforms, this parameter may be set to 1 by default. For UltraSPARC II based platforms, the default is 0. The values are 0 or 1 (Default=0, which enables 64-bit capability).



Setting vca Driver Parameters

You can set the vca device driver parameters in two ways:

  • Using the ndd utility
  • Using the vca.conf file

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

To set parameters so they remain in effect after you reboot the system, create a
/kernel/drv/vca.conf file and add parameter values to this file when you need to set a particular parameter for a device in the system. See To Set Driver Parameters Using a vca.conf File for details.

Setting Parameters Using the ndd Utility

Use the ndd utility to configure parameters that are valid until you reboot the system.

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


procedure icon  To Specify Device Instances for the ndd Utility

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

1. Check the /etc/path_to_inst file to identify the instance number associated with a particular device. Refer to the online manual pages for path_to_inst(4).

# grep vca /etc/path_to_inst
"/pci@8,600000/network@1" 0 "vca"
"/pci@8,700000/network@1" 1 "vca"

In the previous example, the three Sun Crypto Accelerator 4000 Ethernet instances are from the installed adapters. The instance numbers are 0 and 1.

2. Use the instance number to select the device.

# ndd -set /dev/vcaN



Note - In the examples in this user's guide, N represents the instance number of the device.



The device remains selected until you change the selection.

Noninteractive and Interactive Modes

You can use the ndd utility in two modes:

  • Noninteractive
  • Interactive

In noninteractive mode, you invoke the utility to execute a specific command. Once the command is executed, you exit the utility. In interactive mode, you can use the utility to get or set more than one parameter value. Refer to the ndd(1M) online manual page for more information.

Using the ndd Utility in Noninteractive Mode

This section describes how to modify and display parameter values.

single-step bulletTo modify a parameter value, use the -set option.

If you invoke the ndd utility with the -set option, the utility passes value, which must be specified to the named /dev/vca driver instance, and assigns it to the parameter:

# ndd -set /dev/vcaN parameter value

When you change any adv parameter, a message similar to the following appears:

- link up 1000 Mbps half duplex

single-step bulletTo display the value of a parameter, specify the parameter name and omit the value.

When you omit the -set option, a query operation is assumed and the utility queries the named driver instance, retrieves the value associated with the specified parameter, and prints it:

# ndd /dev/vcaN parameter

Using the ndd Utility in Interactive Mode

single-step bulletTo modify a parameter value in interactive mode, specify ndd /dev/vca, as shown below.

The ndd utility then prompts you for the name of the parameter:

# ndd /dev/vcaN
name to get/set? (Enter the parameter name or ? to view all parameters)

After typing the parameter name, the ndd utility prompts you for the parameter value (see TABLE 3-1 through TABLE 3-9).

single-step bulletTo list all the parameters supported by the vca driver, type ndd /dev/vca.

(See TABLE 3-1 through TABLE 3-9 for parameter descriptions.)

# ndd /dev/vca
name to get/set ? ?
?                             (read only)
instance                      (read and write)
adv-autoneg-cap               (read and write)
adv-1000fdx-cap               (read and write)
adv-1000hdx-cap               (read and write)
adv-100fdx-cap                (read and write)
adv-100hdx-cap                (read and write)
adv-10fdx-cap                 (read and write)
adv-10hdx-cap                 (read and write)
adv-asmpause-cap              (read and write)
adv-pause-cap                 (read and write)
pause-on-threshold            (read and write)
pause-off-threshold           (read and write)
link-master                   (read and write)
enable-ipg0                   (read and write)
ipg0                          (read and write)
ipg1                          (read and write)
ipg2                          (read and write)
rx-intr-pkts                  (read and write)
rx-intr-time                  (read and write)
red-p4k-to-6k                 (read and write)
red-p6k-to-8k                 (read and write)
red-p8k-to-10k                (read and write)
red-p10k-to-12k               (read and write)
tx-dma-weight                 (read and write)
rx-dma-weight                 (read and write)
infinite-burst                (read and write)
disable-64bit                 (read and write)
name to get/set ?
# 

Setting Autonegotiation or Forced Mode

The following link parameters can be set to operate in either autonegotiation or forced mode:

  • speed
  • duplex
  • link-clock

By default, autonegotiation mode is enabled for these link parameters. When either of these parameters are in autonegotiation mode, the vca device communicates with the link partner to negotiate a compatible value and flow control capability. When a value other than auto is set for either of these parameters, no negotiation occurs and the link parameter is configured in forced mode. In forced mode, the value for the speed parameter must match between link partners. See Enabling Autonegotiation or Forced Mode for Link Parameters With the OpenBoot PROM.


procedure icon  To Disable Autonegotiation Mode

If your network equipment does not support autonegotiation, or if you want to force your network speed, duplex, or link-clock parameters, you can disable the autonegotiation mode on the vca device.

1. Set the following driver parameters to the values that are described in the documentation delivered with your link partner device (for example, a switch):

  • adv-1000fdx-cap
  • adv-1000hdx-cap
  • adv-100fdx-cap
  • adv-100hdx-cap
  • adv-10fdx-cap
  • adv-10hdx-cap
  • adv-asmpause-cap
  • adv-pause-cap

See TABLE 3-2 for the descriptions and possible values of these parameters.

2. Set the adv-autoneg-cap parameter to 0.

# ndd -set /dev/vcaN adv-autoneg-cap 0

When you change any ndd link parameter, a message similar to the following appears:

link up 1000 Mbps half duplex



Note - If you disable autonegotiation, you must enable the speed, duplex, and link-clock (1000 Mbps only) parameters to operate in forced mode. For instructions, see Enabling Autonegotiation or Forced Mode for Link Parameters With the OpenBoot PROM.



Setting Parameters Using the vca.conf File

You can also specify the driver parameter properties by adding entries to the vca.conf file in the /kernel/drv directory. The parameter names are the same names listed in Driver Parameter Values and Definitions.



caution icon

Caution - Do not remove any of the default entries in the /kernel/drv/vca.conf file.



The online manual pages for prtconf(1) and driver.conf(4) include additional details. The next procedure shows an example of setting parameters in a vca.conf file.

Variables defined in the previous section apply to known devices in the system. To set a variable for a Sun Crypto Accelerator 4000 board with the vca.conf file, you must know the following three pieces of information for the device: device name, device parent, and device unit address.


procedure icon  To Set Driver Parameters Using a vca.conf File

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

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

# grep vca /etc/driver_aliases
vca "pci108e,3de8"

In the previous example, the device name associated with the Sun Crypto Accelerator 4000 software driver (vca) is "pci108e,3de8".

b. Locate the device parent name and device unit address in the
/etc/path_to_inst file.

Refer to the online manual pages for path_to_inst(4).

# grep vca /etc/path_to_inst
"/pci@8,600000/network@1" 0 "vca"
"/pci@8,700000/network@1" 1 "vca"

In the previous example, there are three columns of output: device path name, instance number, and software driver name.

The device path name in the first line of the previous example is "/pci@8,600000/network@1". Device path names are made up of three parts: device parent name, device node name, and device unit address. See TABLE 3-10.

TABLE 3-10 Device Path Name

Entire Device Path Name

Parent Name Portion

Node Name Portion

Unit Address Portion

"/pci@8,600000/network@1"

/pci@8,600000

network

1

"/pci@8,700000/network@1"

/pci@8,700000

network

1


To identify a PCI device unambiguously in the vca.conf file, use the entire device path name (parent name, node name, and the unit address) for the device. Refer to the pci(4) online manual page for more information about the PCI device specification.

2. Set the parameters for the above devices in the /kernel/drv/vca.conf file.

In the following entry, the adv-autoneg-cap parameter is disabled for a particular Sun Crypto Accelerator 4000 Ethernet device.
name="pci108e,3de8" parent="/pci@8,700000" unit-address="1" adv-autoneg-cap=0;

3. Save the vca.conf file.

4. Save and close all files and programs, and exit the windowing system.

5. Shut down and reboot the system.

Setting Parameters for All Sun Crypto Accelerator 4000 vca Devices With the vca.conf File

If you omit the device path name (parent name, node name, and the unit address), the variable is set for all instances of all Sun Crypto Accelerator 4000 Ethernet devices.


procedure icon  To Set Parameters for All Sun Crypto Accelerator 4000 vca Devices With the vca.conf File

1. Add a line in the vca.conf file to change the value of a parameter for all instances by entering parameter=value;.

The following example sets the adv-autoneg-cap parameter to 1 for all instances of all Sun Crypto Accelerator 4000 Ethernet devices:

adv-autoneg-cap=1;

Example vca.conf File

The following is an example vca.conf file:

#
# Copyright 2002 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident  "@(#)vca.conf   1.2     02/06/26 SMI"
 
#
# Use the new Solaris 9 properties to ensure that the driver is attached
# on boot, to get us to register with KCL2.  This also prevents us from
# being unloaded by the cleanup modunload -i 0.
#
ddi-forceattach=1 ddi-no-autodetach=1;
name="pci108e,3de8" parent="/pci@8,700000" unit-address="1" adv-autoneg-cap=0;
adv-autoneg-cap=1;


Enabling Autonegotiation or Forced Mode for Link Parameters With the OpenBoot PROM

The following parameters can be configured to operate in autonegotiation or forced mode at the OpenBoot PROM (OBP) interface:

TABLE 3-11 Local Link Network Device Parameters

Parameter

Description

speed

This parameter can be set to auto, 1000, 100, or 10; the syntax is as follows:

  • speed=auto (default)
  • speed=1000
  • speed=100
  • speed=10

duplex

This parameter can be set to auto, full, or half; the syntax is as follows:

  • duplex=auto (default)
  • duplex=full
  • duplex=half

link-clock

This parameter is applicable only if the speed parameter is set to 1000 or if you are using a 1000 Mbps MMF Sun Crypto Accelerator 4000 board. The value for this parameter must correspond to the value on the link partner--for example, if the local link has a value of master, the link partner must have a value of slave. This parameter can be set to master, slave, or auto; the syntax is as follows:

  • link-clock=auto (default)
  • link-clock=master
  • link-clock=slave

To establish a proper link, the speed, duplex, and link-clock (1000 Mbps only) parameters must be configured correctly between the local link and the link partner. Both link partners must operate in either autonegotiation or forced mode for each of the speed, duplex, and link-clock (1000 Mbps only) parameters. A value of auto for any of these parameters configures the link to operate in autonegotiation mode for that parameter. The absence of a parameter at the OBP prompt configures that parameter to have a default value of auto. A value other than auto configures the local link to operate in forced mode for that parameter.

When the local link is operating in autonegotiation mode for the speed and duplex parameters at 100 Mbps and below and both full and half duplexes, then the link partner uses either the 100 Mbps or 10 Mbps speeds with either duplex.

When the speed parameter is operating in forced mode, the value must match the speed value of the link-partner. If the duplex parameter does not match between the local link and the link partner, the link may come up; however, traffic collisions will occur.

When the local link speed parameter is set to autonegotiation and the link partner speed parameter is set to forced, the link may come up depending on whether the speed value can be negotiated between the local link and the link partner. The interface in autonegotiation mode will always try to establish a link (if there is a speed match) at half duplex by default. Because one of the two interfaces is not in autonegotiation mode, the interface in autonegotiation mode detects only the speed parameter; the duplex parameter is not detected. This method is called parallel-detection.



caution icon

Caution - The establishment of a link with a duplex conflict always leads to traffic collisions.



For a local link parameter to operate in forced mode, the parameter must have a value other than auto. For example, to establish a forced mode link at 100 Mbps with half duplex, type the following at the OBP prompt:

ok boot net:speed=100,duplex=half



Note - In the examples in this section, net is an alias for the default, integrated network interface device path. You can configure other network devices by specifying a device path instead of using net.



To establish a forced mode link at 1000 Mbps with half duplex that is a clock master, type the following command at the OBP prompt:

ok boot net:speed=1000,duplex=half,link-clock=master



Note - The link-clock parameter must have a value that corresponds to the link-clock value of the link partner. For example, if the link-clock value on the local link is set to master, the link-clock value on the link partner must be set to slave.



To establish a forced mode for a speed of 10 Mbps and an autonegotiation mode for duplex, type the following at the OBP prompt:

ok boot net:speed=10,duplex=auto

You could also type the following at the OBP prompt to establish the same local link parameters as the previous example:

ok boot net:speed=10

Refer to the IEEE 802.3 documentation for further details.


Sun Crypto Accelerator 4000 Cryptographic and Ethernet Driver Operating Statistics

This section describes the statistics presented by the kstat(1M) command.

Cryptographic Driver Statistics

TABLE 3-12 describes the cryptographic driver statistics.

TABLE 3-12 Cryptographic Driver Statistics

Parameter

Description

Stable or Unstable

vs-mode

The values are FIPS, standard, or unitialized. FIPS indicates that the board is in FIPS mode. standard indicates that the board is in not in FIPS mode. unitialized indicates that the board is not initialized.

Stable

vs-status

The values are ready, faulted, or failsafe. ready indicates that the board is operating normally. faulted indicates that the board not operating. failsafe indicates failsafe mode which is the original factory state of the board.

Stable


Ethernet Driver Statistics

TABLE 3-13 describes the Ethernet driver statistics.

TABLE 3-13 Ethernet Driver Statistics

Parameter

Description

Stable or Unstable

ipackets

Number of inbound packets.

Stable

ipackets64

64-bit version of ipackets.

Stable

ierrors

Total packets received that could not be processed because they contained errors (long).

Stable

opackets

Total packets requested to be transmitted on the interface.

Stable

opackets64

Total packets requested to be transmitted on the interface (64-bit).

Stable

oerrors

Total packets that were not successfully transmitted because of errors (long).

Stable

rbytes

Total bytes successfully received on the interface.

Stable

rbytes64

Total bytes successfully received on the interface (64-bit).

Stable

obytes

Total bytes requested to be transmitted on the interface.

Stable

obytes64

Total bytes requested to be transmitted on the interface (64-bit).

Stable

multircv

Multicast packets successfully received, including group and functional addresses (long).

Stable

multixmt

Multicast packets requested to be transmitted, including group and functional addresses (long).

Stable

brdcstrcv

Broadcast packets successfully received (long).

Stable

brdcstxmt

Broadcast packets requested to be transmitted (long).

Stable

norcvbuf

Times a valid incoming packet was known to have been discarded because no buffer could be allocated for receive (long).

Stable

noxmtbuf

Packets discarded on output because transmit buffer was busy, or no buffer could be allocated for transmit (long).

Stable


TABLE 3-14 describes the transmit and receive MAC counters.

TABLE 3-14 TX and RX MAC Counters

Parameter

Description

Stable or Unstable

tx-collisions

16-bit loadable counter increments for every frame transmission attempt that resulted in a collision.

Stable

tx-first-collisions

16-bit loadable counter increments for every frame transmission that experienced a collision on the first attempt, but was successfully transmitted on the second attempt.

Unstable

tx-excessive-collisions

16-bit loadable counter increments for every frame transmission that has exceeded the Attempts Limit.

Unstable

tx-late-collisions

16-bit loadable counter increments for every frame transmission that has experienced a collision. It indicates the number of frames that the TxMAC has dropped due to collisions that occurred after it has transmitted at least the Minimum Frame Size number of bytes. Usually this is an indication that there is at least one station on the network that violates the maximum allowed span of the network.

Unstable

tx-defer-timer

16-bit loadable timer increments when the TxMAC is deferring to traffic on the network while it is attempting to transmit a frame. The time base for the timer is the media byte clock divided by 256.

Unstable

tx-peak-attempts

8-bit register indicates the highest number of consecutive collisions per successfully transmitted frame, that have occurred since this register was last read. The maximum value that this register can attain is 255. A maskable interrupt is generated to the software if the number of consecutive collisions per successfully transmitted frame exceeds 255. This register will be automatically cleared at 0 after it is read.

Unstable

tx-underrun

16-bit loadable counter increments after a valid frame has been received from the network.

Unstable

rx-length-err

16-bit loadable counter increments after a frame, whose length is greater than the value that was programmed in the Maximum Frame Size Register, has been received from the network.

Unstable

rx-alignment-err

16-bit loadable counter increments when an alignment error is detected in a receive frame. An alignment error is reported when a receive frame fails the CRC checking algorithm, AND the frame contains a noninteger number of bytes (that is, the frame size in bits modulo 8 is not equal to zero).

Unstable

rx-crc-err

16-bit loadable counter increments when a receive frame fails the CRC checking algorithm, AND the frame contains an integer number of bytes (that is, the frame size in bits modulo 8 is equal to zero).

Unstable

rx-code-violations

16-bit loadable counter increments when an Rx_Err indication is generated by the XCVR over the MII, while a frame is being received. This indication is generated by the transceiver when it detects an invalid code in the received data stream. A receive code violation is not counted as an FCS or an Alignment error.

Unstable

rx-overflows

Number of Ethernet frames dropped due to lack of resources.

Unstable

rx-no-buf

Number of times the hardware cannot receive data because there is no more receive buffer space.

Unstable

rx-no-comp-wb

Number of times the hardware cannot post completion entries for received data.

Unstable

rx-len-mismatch

Number of received frames where the asserted length does not match the actual frame length.

Unstable


The following Ethernet properties (TABLE 3-15) are derived from the intersection of device capabilities and the link partner capabilities.

TABLE 3-15 describes the current Ethernet link properties.

TABLE 3-15 Current Ethernet Link Properties

Parameter

Description

Stable or Unstable

ifspeed

1000, 100, or 10 Mbps

Stable

link-duplex

0=half, 1=full

Stable

link-pause

Current pause setting for the link, see Flow Control Parameters

Stable

link-asmpause

Current pause setting for the link, see Flow Control Parameters

Stable

link-up

1=up, 0=down

Stable

link-status

1=up, 0=down

Stable

xcvr-inuse

Type of transceiver in use: 1=internal MII,
2=external MII, 3=external PCS

Stable


TABLE 3-16 describes the read-only Media Independent Interface (MII) capabilities. These parameters define the capabilities of the hardware. The Gigabit Media Independent Interface (GMII) supports all of the following capabilities.

TABLE 3-16 Read-Only vca Device Capabilities

Parameter

Description

Stable or Unstable

cap-autoneg

0 = Not capable of autonegotiation

1 = Autonegotiation capable

Stable

cap-1000fdx

Local interface full-duplex capability

0 = Not 1000 Mbps full-duplex capable

1 = 1000 Mbps full-duplex capable

Stable

cap-1000hdx

Local interface half-duplex capability

0 = Not 1000 Mbps half-duplex capable

1 = 1000 Mbps half-duplex capable

Stable

cap-100fdx

Local interface full-duplex capability

0 = Not 100 Mbps full-duplex capable

1 = 100 Mbps full-duplex capable

Stable

cap-100hdx

Local interface half-duplex capability

0 = Not 100 Mbps half-duplex capable

1 = 100 Mbps half-duplex capable

Stable

cap-10fdx

Local interface full-duplex capability

0 = Not 10 Mbps full-duplex capable

1 = 10 Mbps full-duplex capable

Stable

cap-10hdx

Local interface half-duplex capability

0 = Not 10 Mbps half-duplex capable

1 = 10 Mbps half-duplex capable

Stable

cap-asm-pause

Local interface flow control capability

0 = Not asymmetric pause capable

1 = Asymmetric pause (from the local device) capable (See Flow Control Parameters)

Stable

cap-pause

Local interface flow control capability

0 = Not Symmetric pause capable

1 = Symmetric pause capable (See Flow Control Parameters)

Stable


Reporting the Link Partner Capabilities

TABLE 3-17 describes the read-only link partner capabilities.

TABLE 3-17 Read-Only Link Partner Capabilities

Parameter

Description

Stable or Unstable

lp-cap-autoneg

0 = No autonegotiation

1 = Autonegotiation

Stable

lp-cap-1000fdx

0 = No 1000 Mbps full-duplex transmission

1 = 1000 Mbps full-duplex

Stable

lp-cap-1000hdx

0 = No 1000 Mbps half-duplex transmission

1 = 1000 Mbps half-duplex

Stable

lp-cap-100fdx

0 = No 100 Mbps full-duplex transmission

1 = 100 Mbps full-duplex

Stable

lp-cap-100hdx

0 = No 100 Mbps half-duplex transmission

1 = 1000 Mbps half-duplex

Stable

lp-cap-10fdx

0 = No 10 Mbps full-duplex transmission

1 = 10 Mbps full-duplex

Stable

lp-cap-10hdx

0 = No 10 Mbps half-duplex transmission

1 = 10 Mbps half-duplex

Stable

lp-cap-asm-pause

0 = Not asymmetric pause capable

1 = Asymmetric pause towards link partner capability (See Flow Control Parameters)

Stable

lp-cap-pause

0 = Not symmetric pause capable

1 = Symmetric pause capable (See Flow Control Parameters)

Stable


If the link partner is not capable of autonegotiation (when lp-cap-autoneg is 0), the remaining information described in TABLE 3-17 is not relevant and the parameter value is 0.

If the link partner is capable of autonegotiation (when lp-cap-autoneg is 1), then the speed and mode information is displayed when you use autonegotiation and the link partner capabilities.

TABLE 3-18 describes the driver-specific parameters.

TABLE 3-18 Driver-Specific Parameters

Parameter

Description

Stable or Unstable

lb-mode

Copy of the loopback mode the device is in, if any.

Unstable

promisc

When enabled, the device is in promiscuous mode. When disabled, the device is not in promiscuous mode.

Unstable

 

Ethernet Transmit Counters

tx-wsrv

Count of the number of times the transmit ring is full.

Unstable

tx-msgdup-fail

Attempt to duplicate packet failure.

Unstable

tx-allocb-fail

Attempt to allocate memory failure.

Unstable

tx-queue0

Number of packets queued for transmission on the first hardware transmit queue.

Unstable

tx-queue1

Number of packets queued for transmission on the second hardware transmit queue.

Unstable

tx-queue2

Number of packets queued for transmission on the third hardware transmit queue.

Unstable

tx-queue3

Number of packets queued for transmission on the fourth hardware transmit queue.

Unstable

 

Ethernet Receive Counters

rx-hdr-pkts

Number of packets received that were less than 256 bytes.

Unstable

rx-mtu-pkts

Number of packets received that were greater than 256 bytes and less than 1514 bytes.

Unstable

rx-split-pkts

Number of packets that were split across two pages.

Unstable

rx-nocanput

Number of packets dropped due to failures on delivery to the IP stack.

Unstable

rx-msgdup-fail

Number of packets that could not be duplicated.

Unstable

rx-allocb-fail

Number of block allocation failures.

Unstable

rx-new-pages

Number of pages that got replaced during reception.

Unstable

rx-new-hdr-pages

Number of pages that were filled with packets less than 256 bytes that got replaced during reception.

Unstable

rx-new-mtu-pages

Number of pages that were filled with packets greater than 256 bytes and less than 1514 that got replaced during reception.

Unstable

rx-new-nxt-pages

Number of pages that contained packets that were split across pages that got replaced during reception.

Unstable

rx-page-alloc-fail

Number of page allocation failures.

Unstable

rx-mtu-drops

Number of times a whole page of packets greater than 256 bytes and less than 1514 was dropped because the driver was unable to map a new one to replace it.

Unstable

rx-hdr-drops

Number of times a whole page of packets less than 256 bytes was dropped because the driver was unable to map a new one to replace it.

Unstable

rx-nxt-drops

Number of times a page with a split packet was dropped because the driver was unable to map a new one to replace it.

Unstable

rx-rel-flow

Number of times the driver was told to release a flow.

Unstable

 

Ethernet PCI Properties

rev-id

Revision ID of the Sun Crypto Accelerator 4000 Ethernet device useful for recognition of device being used in the field.

Unstable

pci-err

Sum of all PCI errors.

Unstable

pci-rta-err

Number of target aborts received.

Unstable

pci-rma-err

Number of master aborts received.

Unstable

pci-parity-err

Number of PCI parity errors detected.

Unstable

pci-drto-err

Number of times the delayed transaction retry time-out was reached.

Unstable

dma-mode

Used by the Sun Crypto Accelerator 4000 driver (vca).

Unstable



procedure icon  To Check Link Partner Settings

single-step bulletAs superuser, type the kstat vca:N command:

# kstat vca:N
module: vca                             instance: 0     
name:   vca0                            class:    misc



Note - In the previous example, N is the instance number of the vca device. This number should reflect the instance number of the board for which you are running the kstat command.



 

 


Network Configuration

This section describes how to edit the network host files after the adapter has been installed on your system.

Configuring the Network Host Files

After installing the driver software, you must create a hostname.vcaN file for the adapter's Ethernet interface. Note that in the file name hostname.vcaN, N corresponds to the instance number of the vca interface you plan to use. You must also create both an IP address and a host name for its Ethernet interface in the /etc/hosts file.

1. Locate the correct vca interfaces and instance numbers in the /etc/path_to_inst file.

Refer to the online manual pages for path_to_inst(4).

# grep vca /etc/path_to_inst
"/pci@8,600000/network@1" 0 "vca"

The instance number in the previous example is 0.

2. Use the ifconfig(1M) command to set up the adapter's vca interface.

Use the ifconfig command to assign an IP address to the network interface. Type the following at the command line, replacing ip_address with the adapter's IP address:

# ifconfig vcaN plumb ip_address up



Note - In the examples in this section, N specifies the instance number of the device.



Refer to the ifconfig(1M) online manual page and the Solaris documentation for more information.

  • If you want a setup that will remain the same after you reboot, create an
    /etc/hostname.vcaN file, where N corresponds to the instance number of the vca interface you plan to use.
To use the vca interface of the example shown in Step 1, create an
/etc/hostname.vcaN file, where N corresponds to the instance number of the device which is 0 in this example. If the instance number were 1, the file name would be /etc/hostname.vca1.
  • Do not create an /etc/hostname.vcaN file for a Sun Crypto Accelerator 4000 interface you plan to leave unused.
  • The /etc/hostname.vcaN file must contain the host name for the appropriate vca interface.
  • The host name must have an IP address and must be listed in the /etc/hosts file.
  • The host name must be different from any other host name of any other interface, for example: /etc/hostname.vca0 and /etc/hostname.vca1 cannot share the same host name.

The following example shows the /etc/hostname.vcaN file required for a system named zardoz that has a Sun Crypto Accelerator 4000 board (zardoz-11).

# cat /etc/hostname.hme0
zardoz
# cat /etc/hostname.vca0
zardoz-11

3. Create an appropriate entry in the /etc/hosts file for each active vca interface.

For example:

# cat /etc/hosts
#
# Internet host table
#
127.0.0.1     localhost
129.144.10.57 zardoz    loghost
129.144.11.83 zardoz-11