Go to main content

Oracle® Solaris 11.4 Tunable Parameters Reference Manual

Exit Print View

Updated: January 2019
 
 

Network Driver Parameters

This section describes network parameters that affect the kernel.

IP Protocol Parameters in the Kernel

The following IP parameters can be set only in a file in the /etc/system.d directory. After the file is modified, reboot the system.

For example, the following entry sets the ipcl_conn_hash_size parameter:

set ip:ipcl_conn_hash_size=value

ip_squeue_worker_wait Parameter

Description

Governs the maximum delay in waking up a worker thread to process TCP/IP packets that are enqueued on an squeue. An squeue is a serialization queue that is used by the TCP/IP kernel code to process TCP/IP packets.

Default

10 milliseconds

Range

0 – 50 milliseconds

Dynamic?

Yes

When to Change

Consider tuning this parameter if latency is an issue, and network traffic is light. For example, if the stem serves mostly interactive network traffic.

The default value usually works best on a network file server, a web server, or any stem that has substantial network traffic.

Zone Configuration

This parameter can only be set in the global zone.

Commitment Level

Unstable

ip_squeue_fanout Parameter

Description

Determines the mode of associating TCP/IP connections with squeues.

A value of 0 associates a new TCP/IP connection with the CPU that creates the connection. A value of 1 associates the connection with multiple squeues that belong to different CPUs.

Default

1

Range

0 or 1

Dynamic?

Yes

When to Change

Consider setting this parameter to 1 to spread the load across all CPUs in certain situations. For example, when the number of CPUs exceed the number of NICs, and one CPU is not capable of handling the network load of a single NIC, change this parameter to 1.

Zone Configuration

This parameter can only be set in the global zone.

Commitment Level

Unstable

ipcl_conn_hash_size Parameter

Description

Controls the size of the connection hash table used by IP. The default value of 0 means that the system automatically sizes an appropriate value for this parameter at boot time, depending on the available memory.

Data Type

Unsigned integer

Default

0

Range

0 to 82,500

Dynamic?

No. The parameter can only be changed at boot time.

When to Change

If the system consistently has tens of thousands of TCP connections, the value can be increased accordingly. Increasing the hash table size means that more memory is wired down, thereby reducing available memory to user applications.

Commitment Level

Unstable

igb Parameters

intr_force Parameter

Description

This parameter is used to force an interrupt type, such as MSI, MSI-X, or legacy, that is used by the igb network driver. This parameter can be set by editing the /etc/driver/drv/igb.conf file before the igb driver attach occurs.

Data Type

Unsigned integer

Default

0 (do not force an interrupt type)

Range

0 (do not force an interrupt type)

1 (force MSI-X interrupt type)

2 (force MSI interrupt type)

3 (force legacy interrupt type)

Dynamic?

No

Validation

None

When to Change

To force an interrupt type that is used by the igb network driver.

Commitment Level

Unstable

mr_enable Parameter

Description

This parameter enables or disables multiple receive and transmit queues that are used by the igb network driver. This parameter can be set by editing the /etc/driver/drv/igb.conf file before the igb driver attach occurs.

Data Type

Boolean

Default

1 (disable multiple queues)

Range

0 (enable multiple queues) or 1 (disable multiple queues)

Dynamic?

No

Validation

None

When to Change

To enable or disable multiple receive and transmit queues that are used by the igb network driver.

Commitment Level

Unstable

ixgbe Parameters

intr_throttling Parameter

Description

This parameter controls the interrupt throttling rate of the ixgbe network driver. You can increase the rate of interrupt by decreasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

200

Range

0 to 65535

Dynamic?

No

Validation

None

When to Change

To change the interrupt throttling rate that is used by the ixgbe network driver.

Commitment Level

Unstable

rx_copy_threshold Parameter

Description

This parameter controls the receive buffer copy threshold that is used by the ixgbe network driver. You can increase the receive buffer copy threshold by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

128

Range

0 to 9126

Dynamic?

No

Validation

None

When to Change

To change the receive buffer copy threshold that is used by the ixgbe network driver.

Commitment Level

Unstable

rx_limit_per_intr Parameter

Description

This parameter controls the maximum number of receive queue buffer descriptors per interrupt that are used by the ixgbe network driver. You can increase the number of receive queue buffer descriptors by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

256

Range

16 to 4096

Dynamic?

No

Validation

None

When to Change

To change the number of receive queue buffer descriptors that are handled per interrupt by the ixgbe network driver.

Commitment Level

Unstable

rx_queue_number Parameter

Description

This parameter controls the number of receive queues that are used by the ixgbe network driver. You can increase the number of receive queues by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

8

Range

1 to 64

Dynamic?

No

Validation

None

When to Change

To change the number of receive queues that are used by the ixgbe network driver.

Commitment Level

Unstable

rx_ring_size Parameter

Description

This parameter controls the receive queue size that is used by the ixgbe network driver. You can increase the receive queue size by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

1024

Range

64 to 4096

Dynamic?

No

Validation

None

When to Change

To change the receive queue size that is used by the ixgbe network driver.

Commitment Level

Unstable

tx_copy_threshold Parameter

Description

This parameter controls the transmit buffer copy threshold that is used by the ixgbe network driver. You can increase the transmit buffer copy threshold by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

512

Range

0 to 9126

Dynamic?

No

Validation

None

When to Change

To change the transmit buffer copy threshold that is used by the ixgbe network driver.

Commitment Level

Unstable

tx_queue_number Parameter

Description

This parameter controls the number of transmit queues that are used by the ixgbe network driver. You can increase the number of transmit queues by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

8

Range

1 to 32

Dynamic?

No

Validation

None

When to Change

To change the number of transmit queues that are used by the ixgbe network driver.

Commitment Level

Unstable

tx_ring_size Parameter

Description

This parameter controls the transmit queue size that is used by the ixgbe network driver. You can increase the transmit queue size by increasing the value of this parameter. This parameter can be set by editing the /etc/driver/drv/ixgbe.conf file before the ixgbe driver attach occurs.

Data Type

Unsigned integer

Default

1024

Range

64 to 4096

Dynamic?

No

Validation

None

When to Change

To change the transmit queue size that is used by the ixgbe network driver.

Commitment Level

Unstable