Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

sysctl

Get or set the state of the socket manager

Syntax:

sysctl [-n] name...

sysctl [-n] -w name=value...

sysctl [-n] -a|A

Runs on:

Neutrino

Options:

-a
List all the currently available string or integer values.
-A
List all the known MIB names, including tables. Those with string or integer values are printed as they would be with the -a option; for the table values, the name of the utility to retrieve them is given.
-n
Suppress the printing of the field name, and output only its value. You'll find this option useful when you're setting shell variables. For example, to save the IP TTL value in the variable ipttl, type the following:
set ipttl=`sysctl -n net.inet.ip.ttl`
      
-w name=value
Set the value for the given MIB name.

Description:

The sysctl utility retrieves the state of the socket manager and allows processes with appropriate privilege to set the state. The variable to be retrieved or set is described using a Management Information Base (MIB) style name, described as a dotted set of components.

The information available from sysctl consists of integers, strings, and tables. You can retrieve tabular information only by using special-purpose programs such as arp and netstat.

The variables that are available to you depend on what you're running on your machine; the table below shows the variables that are likely of most interest. For information about determining the meaning of other variables, see sysctl() in the Neutrino Library Reference.

A process with appropriate privilege can change the value of all these variables except those marked as read-only. All values are integers unless otherwise indicated.

kern.clockrate (read only)
A struct clockinfo that contains the clock, statistics clock and profiling clock frequencies, the number of microseconds per Hz tick, and the clock skew rate.
kern.mbuf.mblowat
The mbuf low water mark.
kern.mbuf.mclbytes
The mbuf cluster size.
kern.mbuf.mcllowat
The mbuf cluster low water mark.
kern.mbuf.msize
The mbuf base size.
kern.mbuf.nmbclusters
The limit on the number of mbuf clusters. You can only increase this limit, and only on machines with direct-mapped pool pages.
kern.sbmax
The maximum socket buffer size.
net.inet.arp.down
The failed ARP entry lifetime.
net.inet.arp.keep
The valid ARP entry lifetime.
net.inet.arp.prune
The ARP cache pruning interval.
net.inet.arp.refresh
The ARP entry refresh interval.
net.inet.ip.allowsrcrt
Allow (1) or drop (0) all source-routed packets.
net.inet.ip.directed-broadcast
Enable (1) or disable (0) directed-broadcast.
net.inet.ip.do_loopback_cksum
Compute (1) or don't compute (0) checksums on loopback.
net.inet.ip.forwarding
Disable (0) or enable (1) IP forwarding. If this is enabled, the host acts as a router.
net.inet.ip.forwsrcrt
Forward source-routed packets.
net.inet.ip.maxflows
The maximum number of IP flows allowed.
net.inet.ip.mtudisc
Allow (1) or disallow (0) path MTU discovery.
net.inet.ip.redirect
Allow (1) or disallow (0) send ICMP redirections when forwarding. This option is ignored unless the host is routing IP packets. Normally, this option should be enabled on all systems.
net.inet.ip.subnetsarelocal
Treat (1) or don't treat (0) subnets as local addresses.
net.inet.ip.ttl
The maximum time-to-live (hop count) value for an IP packet sourced by the system. This value applies to normal transport protocols, not to ICMP.
net.inet.tcp.congctl.available
A string that lists the available TCP congestion-control algorithms.
net.inet.tcp.congctl.selected
A string that contains the name of the currently selected TCP congestion-control algorithm.
net.inet.tcp.do_loopback_cksum
Compute (1) or don't compute (0) checksums on loopback.
net.inet.tcp.keepcnt
The keepalive count.
net.inet.tcp.keepidle
The keepalive idle time, in milliseconds.
net.inet.tcp.keepintvl
The keepalive probe interval, in milliseconds.
net.inet.tcp.mssdflt
The default maximum segment size.
net.inet.tcp.recvspace
The default size of the receive buffer.
net.inet.tcp.sack.enable
Enable (1) or disable (0) RFC 2018 Selective ACKnowledgements.
net.inet.tcp.sack.globalholes (read only)
The global number of TCP SACK holes.
net.inet.tcp.sack.globalmaxholes
The global maximum number of TCP SACK holes.
net.inet.tcp.sack.maxholes
The maximum number of TCP SACK holes allowed per connection.
net.inet.tcp.sendspace
The default size of the send buffer.
net.inet.tcp.slowhz (read only)
The units for tcp.keepidle and tcp.keepintvl; those variables are in ticks of a clock that ticks tcp.slowhz times per second. (That is, you must divide their values by the value of tcp.slowhz to get times in seconds.)
net.inet.tcp.win_scale
RFC 1323 window scaling.
net.inet.udp.do_loopback_cksum
Compute (1) or don't compute (0) checksums on loopback.
net.inet.udp.recvspace
The default size of the receive buffer.
net.inet.udp.sendspace
The default size of the send buffer.
net.inet6.ip6.forwarding
Disable (0) or enable (1) IP forwarding. If this is enabled, the host acts as a router.
net.inet6.ip6.redirect
Allow (1) or disallow (0) send ICMP redirections when forwarding. This option is ignored unless the host is routing IP packets. Normally, this option should be enabled on all systems.
net.inet6.tcp6.do_loopback_cksum
Compute (1) or don't compute (0) checksums on loopback.
net.inet6.tcp6.keepcnt
The keepalive count.
net.inet6.tcp6.keepidle
The keepalive idle time, in milliseconds.
net.inet6.tcp6.keepintvl
The keepalive probe interval, in milliseconds.
net.inet6.tcp6.recvspace
The default size of the receive buffer.
net.inet6.tcp6.sack.enable
Enable (1) or disable (0) RFC 2018 Selective ACKnowledgements.
net.inet6.tcp6.sack.globalholes (read only)
The global number of TCP SACK holes.
net.inet6.tcp6.sack.globalmaxholes
The global maximum number of TCP SACK holes.
net.inet6.tcp6.sack.maxholes
The maximum number of TCP SACK holes allowed per connection.
net.inet6.tcp6.sendspace
The default size of the send buffer.
net.inet6.tcp6.slowhz (read only)
The units for tcp.keepidle and tcp.keepintvl; those variables are in ticks of a clock that ticks tcp.slowhz times per second. (That is, you must divide their values by the value of tcp.slowhz to get times in seconds.)
net.inet6.udp6.do_loopback_cksum
Compute (1) or don't compute (0) checksums on loopback.
net.inet6.udp6.recvspace
The default size of the receive buffer.
net.inet6.udp6.sendspace
The default size of the send buffer.

Examples:

Check to see if the UDP checksum is enabled:

sysctl net.inet.udp.checksum

Note: Disabling UDP checksums is strongly discouraged.

Enable IP forwarding so that the host acts as a router:

sysctl -w net.inet.ip.forwarding=1

See also:

arp, netstat

sysctl() in the Neutrino Library Reference