The multidata transmit (MDT) feature is only effective for device
drivers that support this feature.

The following parameter must be enabled in the /etc/system file
to use the MDT parameter:

set ip:ip_use_dl_cap = 0x1

Default

Disabled

Range

0 (disabled), 1 (enabled)

Dynamic?

Yes

When to Change

This feature can be enabled at any time to allow for improved
system performance with the following cautions:

Enabling this feature might change the appearance of any packets
between the IP layer and the DLPI provider. So, any third-party STREAMS module
that is dynamically inserted between the IP layer and the DLPI provider by
using ifconfig's modinsert feature,
which doesn't understand the MDT STREAMS data type, might not work.

Modules
that are inserted between the IP and the DLPI provider with the autopush(1m) mechanism might not work as well.

Keep this feature disabled when a STREAMS module is not MDT
aware. For example, the public domain utilities such as ipfilter, Checkpoint
Firewall-1, and so on, are not MDT aware.

Commitment Level

Unstable

ip_squeue_fanout (Solaris 10 11/06
Release)

Zone configuration information was added in the Solaris 10 8/07 release.
For more information, see ip_squeue_fanout.

ip_soft_rings_cnt (Solaris 10
11/06 Release)

Zone configuration information was added in the Solaris 10 8/07 release.
For more information, see ip_soft_rings_cnt.

ip_squeue_write (Solaris 10 Release)

This parameter was incorrectly documented in the Solaris 10 release.
It has been removed.

tcp_conn_hash_size (Solaris
9 Releases)

This parameter was removed in the Solaris 10 release.

Description

Controls the hash table size in the TCP module for all TCP connections.

Data Type

Signed integer

Default

512

Range

512 to 1,073,741,824

Implicit

The value should be a power of 2.

Dynamic?

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

Validation

If you set the parameter to a value that is not a power of
2, it is rounded up to the nearest power of 2.

When to Change

If the system consistently has tens of thousands of TCP connections,
increase the value accordingly. With the default value, TCP performs well
up to a few thousand active connections. Note that increasing the hash table
size means more memory consumption so set an appropriate value to avoid wasting
memory unnecessarily.

Commitment Level

Unstable

tcp_wscale_always (Solaris 9 Releases)

The default value of this parameter was changed to enabled in the Solaris
10 release.

Description

When this parameter is enabled, which is the default setting,
TCP always sends a SYN segment with the window scale option, even if the window
scale option value is 0. Note that if TCP receives a SYN segment with the
window scale option, even if the parameter is disabled, TCP responds with
a SYN segment with the window scale option. In addition, the option value
is set according to the receive window size.

Refer to RFC 1323 for the window scale option.

Default

0 (disabled)

Range

0 (disabled) or 1 (enabled)

Dynamic?

Yes

When to Change

If there is an interoperability problem with an old TCP stack
that does not support the window scale option, disable this parameter.

Commitment Level

Unstable

ipc_tcp_conn_hash_size (Solaris
9 Releases)

This parameter was removed in the Solaris 10 release.

Description

Controls the hash table size in an IP module for all active (in
ESTABLISHED state) TCP connections.

Data Type

Unsigned integer

Default

512

Range

512 to 2,147,483,648

Implicit

It should be a power of two.

Dynamic?

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

Validation

If you set the parameter to a value that is not a power of
2, it is rounded up to the nearest power of two.

When to Change

If the system consistently has tens of thousands of active
TCP connections, increase the value accordingly. With the default value, the
system performs well up to a few thousand active connections. Note that increasing
the hash table size means more memory consumption so set an appropriate value
to avoid wasting memory unnecessarily.

Commitment Level

Unstable

tcp_compression_enabled (Solaris
9 Releases)

This parameter was removed in the Solaris 10 release.

Description

If set to 1, protocol control blocks of TCP connections in TIME-WAIT
state are compressed to reduce memory usage. If set to 0, no compression is
done. See tcp_time_wait_interval also.

xxx:ip_forwarding (Solaris 9 Releases)

This parameter is obsolete in the Solaris 10 release.

Description

Enables IPv4 forwarding for a particular xxx interface. The exact name of the parameter is interface-name:ip_forwarding. For example, two interfaces
are hme0 and hme1. Here are their corresponding
parameter names:

hme0:ip_forwarding and hme1:ip_forwarding

Default

0 (disabled)

Range

0 (disabled) or 1 (enabled)

Dynamic?

Yes

When to Change

If you need IPv4 forwarding, use this parameter to enable
forwarding on a per-interface basis.

Commitment Level

Unstable

tcp_conn_req_max_q0 (Solaris 8
Release)

The when to change text was revised in later Solaris releases from this:

When to Change

For applications, such as web servers that might receive excessive
connection requests, you can increase the default value to match the incoming
rate.

The following explains the relationship between tcp_conn_req_max_q0 and the maximum number of pending connections for each socket.

When a connection request is received, TCP first checks if the number
(N) of pending TCP connections (three-way handshake
is done) waiting to be accepted exceeds the maximum for the listener. If the
connections are excessive, the request is denied. If the number of connections
is allowable, then TCP checks if the number of incomplete pending TCP connections
exceeds the sum of N and tcp_conn_req_max_q0.
If it does not, the request is accepted. Otherwise, the oldest incomplete
pending TCP request is dropped.

to this:

When to Change

For applications, such as web servers that might receive excessive
connection requests, you can increase the default value to match the incoming
rate.

The following explains the relationship between tcp_conn_req_max_q0 and the maximum number of pending connections for each socket.

When a connection request is received, TCP first checks if the number
of pending TCP connections (three-way handshake is done) waiting to be accepted
exceeds the maximum (N) for the listener. If the
connections are excessive, the request is denied. If the number of connections
is allowable, then TCP checks if the number of incomplete pending TCP connections
exceeds the sum of N and tcp_conn_req_max_q0. If it does
not, the request is accepted. Otherwise, the oldest incomplete pending TCP
request is dropped.