Copyright (C) 2007, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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 \e?
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 change.
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.