Метод, используемый с SunOS 4.1.3, напоминает тот, что мы видели в случае BSD/386. Так как большинство кодов ядра не распространяются, все установки С переменных содержатся в одном файле С кода, который поставляется в системе. Из файла конфигурации ядра администратора (см. страницы помощи config(8)) можно определить следующие переменные. После модификации конфигурационного файла должно быть создано новое ядро, и система должна быть перезагружена.
IPFORWARDING
Значение этой константы инициализирует переменную ядра ip_forwarding. Если равно -1, IP датаграммы никогда не перенаправляются. Более того, переменная не может быть изменена. Если равно 0 (по умолчанию), IP датаграммы не перенаправляются, однако значение переменной изменяется в 1, если "поднято" несколько интерфейсов. Если равно 1, перенаправление всегда включено.SUBNETSARELOCAL
Эта константа инициализирует переменную ядра ip_subnetsarelocal. Если равно 1 (по умолчанию), IP адрес назначения с тем же самым идентификатором сети, как и у отправляющего хоста, однако с другим идентификатором подсети, считается локальным. Если равно 0, только IP адреса назначения, подключенные непосредственно к этой подсети, считаются локальными. Подобный подход кратко описан на рисунке Е.1. Когда осуществляется отправка на локальные пункты назначения, TCP выбирает MSS на основе MTU исходящего интерфейса. Когда происходит отправка на нелокальный пункт назначения, TCP использует для этой цели переменную tcp_default_mss.IPSENDREDIRECTS
Значение этой константы инициализирует переменную ядра ip_sendredirects. Если равно 1 (по умолчанию), хост будет отправлять ICMP перенаправления при перенаправлении IP датаграмм. Если равно 0, ICMP перенаправления не отправляются.DIRECTED_BROADCAST
Значение этой константы инициализирует переменную ядра ip_dirbroadcast . Если равно 1 (по умолчанию), принятые датаграммы, адрес назначения которых это широковещательный адрес непосредственно подключенного интерфейса, перенаправляются как широковещательные запросы канального уровня. Если равно 0, эти датаграммы молча отбрасываются.
Файл /usr/kvm/sys/netinet/in_proto.c определяет следующие переменные, которые могут быть изменены. Если переменные изменены, должно быть собрано новое ядро и система перезагружена.
tcp_default_mss
Значение по умолчанию MSS TCP для нелокальных пунктов назначения. Значение по умолчанию 512.tcp_sendspace
Размер по умолчанию отправляющего буфера TCP. Значение по умолчанию 4096.tcp_recvspace
Размер по умолчанию приемного буфера TCP. Оказывает влияние на предлагаемый размер окна. Значение по умолчанию 4096.tcp_keeplen
Проба "оставайся в живых" на хост 4.2BSD должна содержать один байт данных, для того чтобы получить отклик. Установка переменной в 1 осуществляет совместимость с этими более старыми реализациями. Значение по умолчанию 1.tcp_ttl
Значение по умолчанию для поля TTL TCP сегментов. По умолчанию 60.tcp_nodelack
Если не равно 0, подтверждения не задерживаются. Значение по умолчанию 0.tcp_keepidle
Количество 500-миллисекундных тиков часов перед отправкой пробы "оставайся в живых". Значение по умолчанию 14400 (2 часа).tcp_keepintvl
Количество 500-миллисекундных тиков часов между последовательными пробами "оставайся в живых", если не получен отклик. Значение по умолчанию 150 (75 секунд).udp_cksum
Если не равно 0, UDP контрольные суммы рассчитываются для исходящих UDP датаграмм, а для входящих UDP датаграмм, содержащих ненулевую контрольную сумму, контрольная сумма проверяется. Если равно 0, исходящие UDP датаграммы не содержат контрольную сумму, и не осуществляется проверка контрольной суммы для входящих UDP датаграмм, даже если отправитель рассчитал контрольную сумму. По умолчанию 0.udp_ttl
Значение по умолчанию для поля TTL в UDP датаграммах. По умолчанию 60.udp_sendspace
Размер по умолчанию для отправляющего буфера UDP. Определяет максимальный размер UDP датаграммы, которая может быть отправлена. По умолчанию 9000.udp_recvspace
Размер по умолчанию приемного буфера UDP. Значение по умолчанию 18000, что означает две датаграммы размером 9000 байт.