udp_recv_hiwat
Description | The default maximum UDP socket receive buffer size in bytes. For more information, see "udp_max_buf". |
Default | 8192 bytes |
Range | 4096 to 65,536 |
Dynamic? | Yes |
When to Change | Note that an application can use setsockopt(3XNET) SO_RCVBUF to change the size for an individual socket. In general, you do not need to change the default value. |
Commitment Level | Unstable |
UDP Parameters with Additional Cautions
Changing the following parameters is not recommended unless there are extenuating circumstances that are described with each parameter.
udp_max_buf
Per-Route Metrics
In the Solaris 8 release, you can use the per-route metrics to associate some properties with IPv4 and IPv6 routing table entries.
For example, a system has two different network interfaces, fast ethernet interface and gigabit ethernet interface. The system default tcp_recv_hiwat is 24,576 bytes. This default is sufficient for the fast ethernet interface, but may not be sufficient for the gigabit ethernet interface.
Instead of increasing the system's default tcp_recv_hiwat, you can associate a different default TCP receive window size to the gigabit ethernet interface routing entry. By making this association, all TCP connections going through the route will have the increased receive window size.
Assuming IPv4, the following is in the routing table (netstat -rn).
192.123.123.0 192.123.123.4 U 1 4 hme0 192.123.124.0 192.123.124.4 U 1 4 ge0 default 192.123.123.1 UG 1 8 |
Do the following:
# route change -net 192.123.124.0 -recvpipe x |
This means all connections going to the 192.123.124.0 network, which is on the ge0 link, use the receive buffer size x, instead of the default 24567 receive window size.
If the destination is in the a.b.c.d network, and there is no specific routing entry for that network, you can add a prefix route to that network and change the metric. For example:
# route add -net a.b.c.d 192.123.123.1 -netmask w.x.y.z # route change -net a.b.c.d -recvpipe y |
Note that the prefix route's gateway is the default router. Then all connections going to that network use receive buffer size y. If you have more than one interface, use the -ifp argument to specify which interface to use. This way, you can control which interface to use for specific destinations. To verify the metric, use the route(1M) get command.