NDD(8) Maintenance Procedures NDD(8)


ndd - get and set driver configuration parameters


ndd [-set] driver parameter [value]


ndd gets and sets selected configuration parameters in some kernel
drivers. Currently, ndd only supports the drivers that implement the
TCP/IP Internet protocol family. Each driver chooses which parameters to
make visible using ndd. Since these parameters are usually tightly
coupled to the implementation, they are likely to change from release to
release. Some parameters may be read-only.

If the -set option is omitted, ndd queries the named driver, retrieves
the value associated with the specified parameter, and prints it. If the
-set option is given, ndd passes value, which must be specified, down to
the named driver which assigns it to the named parameter.

By convention, drivers that support ndd also support a special read-only
parameter named ``?'' which can be used to list the parameters supported
by the driver.


Example 1: Getting Parameters Supported By The TCP Driver

To see which parameters are supported by the TCP driver, use the
following command:

example% ndd /dev/tcp \?

The parameter name ``?'' may need to be escaped with a backslash to
prevent its being interpreted as a shell meta character.

The following command sets the value of the parameter ip_forwarding in
the dual stack IP driver to zero. This disables IPv4 packet forwarding.

example% ndd -set /dev/ip ip_forwarding 0

Similarly, in order to disable IPv6 packet forwarding, the value of
parameter ip6_forwarding

example% ndd -set /dev/ip ip6_forwarding 0


nca(1), ioctl(2), arp(4P), ip(4P), ip6(4P), tcp(4P), udp(4P),
attributes(7), dladm(8)


The parameters supported by each driver may change from release to
release. Like programs that read /dev/kmem, user programs or shell
scripts that execute ndd should be prepared for parameter names to

The ioctl() command that ndd uses to communicate with drivers is likely
to change in a future release. User programs should avoid making
dependencies on it.

The use of ndd to administer Layer 2 (Data Link layer) drivers is
strongly discouraged as this capability is to be obsoleted in a future
release, replaced by dladm(8). Please refer to the driver-specific man
page in section 4D of the SunOS man pages.

The meanings of many ndd parameters make sense only if you understand how
the driver is implemented.

If a TCP driver sends a report that is truncated, it could be because
that driver uses ndd for transporting the report. ndd imposes a 64K
limit on such reports.

March 13, 2009 NDD(8)