E.2 SunOS 4.1.3

E.2 SunOS 4.1.3

The method used with SunOS 4.1.3 is similar to what we saw with BSD/386. Since most of the kernel sources are not distributed, all the C variable initializations are contained in a single C source file that is provided.

The administrator's kernel configuration file (see the config (8) manual page) can define the following variables . After modifying your configuration file, a new kernel must be made and rebooted.

IPFORWARDING

The value of this constant initializes the kernel variable ip_forwarding. If -1, IP datagrams are never forwarded. Furthermore, the variable is never changed. If 0 (default), IP datagrams are not forwarded, but the variable's value is changed to 1 if multiple interfaces are up. If 1, forwarding is always enabled.

SUBNETSARELOCAL

The value of the kernel variable ip_subnetsarelocal is initialized from this constant. If 1 (default), a destination IP address with the same network ID as the sending host but a different subnet ID is considered local. If 0, only destination IP addresses on an attached subnet are considered local. This is summarized in Figure E.1. When sending to local destinations, TCP chooses the MSS based on the MTU of the outgoing interface. When sending to nonlocal destinations, TCP uses the variable tcp_default_mss.

IPSENDREDIRECTS

The value of this constant initializes the kernel variable ip_sendredirects. If 1 (default), the host will send ICMP redirects when forwarding IP datagrams. If 0, ICMP redirects are not sent.

DIRECTED_BROADCAST

The value of this constant initializes the kernel variable ip_dirbroadcast. If 1 (default), received datagrams whose destination address is the directed broadcast address of an attached interface are forwarded as a link-layer broadcast. If 0, these datagrams are silently discarded.

The file /usr/kvm/sys/netinet/in_proto.c defines the following variables that can be changed. Once these variables are changed, a new kernel must be made and rebooted.

tcp_default_mss The default TCP MSS for nonlocal destinations. Default value is 512.
tcp_sendspace The default size of the TCP send buffer. Default value is 4096.
tcp_recvspace The default size of the TCP receive buffer. This affects the window size that is offered . Default value is 4096.
tcp_keeplen A keepalive probe to a 4.2BSD host must contain a single byte of data to get a response. Set the variable to 1 for compatibility with these older implementations . Default value is 1.
tcp_ttl The default value for the TTL field for TCP segments. Default value is 60.
tcp_nodelack If nonzero, ACKs are not delayed. Default value is 0.
tcp_keepidle Number of 500-ms clock ticks before sending a keepalive probe. Default value is 14400 (2 hours).
tcp_keepintvl Number of 500-ms clock ticks between successive keepalive probes, when no response is received. Default value is 150 (75 seconds).
udp_cksum If nonzero, UDP checksums are calculated for outgoing UDP datagrams, and incoming UDP datagrams containing nonzero checksums have their checksum verified . If 0, outgoing UDP datagrams do not contain a checksum, and no checksum verification is performed on incoming UDP datagrams, even if the sender calculated a checksum. Default is 0.
udp_ttl The default value for the TTL field in UDP datagrams. Default value is 60.
udp_sendspace The default size of the UDP send buffer. Defines the maximum UDP datagram that can be sent. Default is 9000.
udp_recvspace The default size of the UDP receive buffer. The default is 18000, allowing for two 9000-byte datagrams.


TCP.IP Illustrated, Volume 1. The Protocols
TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series)
ISBN: 0201633469
EAN: 2147483647
Year: 1993
Pages: 378

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net