IN.NDPD(8) Maintenance Procedures IN.NDPD(8)


in.ndpd - daemon for IPv6 autoconfiguration


/usr/lib/inet/in.ndpd [-adt] [-f config_file]


in.ndpd provides both the host and router autoconfiguration components of
Neighbor Discovery for IPv6 and Stateless and Stateful Address
Autoconfiguration for IPv6. In particular, in.ndpd implements:

o router discovery;

o prefix discovery;

o parameter discovery;

o invocation of stateful address autoconfiguration;

o stateless address autoconfiguration; and

o privacy extensions for stateless address autoconfiguration.

Other aspects of Neighbor Discovery are implemented by ip6(4P),

o address resolution;

o neighbor unreachability detection; and

o redirect.

The duplicate address detection function is implemented by the system

in.ndpd is managed by the service management facility (SMF), by means of
the service identifier:


If the /etc/inet/ndpd.conf file does not exist or does not set the
variable AdvSendAdvertisements to true for a network interface, then
in.ndpd will make the node a host for that interface, that is, sending
router solicitation messages and then using router advertisement messages
it receives to autoconfigure the node. Note that in.ndpd only
autoconfigures the addresses of global or site-local scope from the
prefix advertisement.

If AdvSendAdvertisements is set to true for an interface, then in.ndpd
will perform router functions on that interface, that is, sending router
advertisement messages to autoconfigure the attached hosts, but not use
any advertisements it receives for autoconfiguration. However, when
sending advertisements, in.ndpd will use the advertisements it sends
itself to autoconfigure its prefixes.

Stateless autoconfiguration requires no manual configuration of hosts,
minimal (if any) configuration of routers, and no additional servers. The
stateless mechanism enables a host to generate its own addresses and uses
local information as well as non-local information that is advertised by
routers to generate the addresses. in.ndpd will plumb logical interfaces
for each of these addresses.

Stateful autoconfiguration involves the dhcpagent(8) daemon and the use
of the DHCPv6 protocol. The dhcpagent daemon is responsible for plumbing
the logical interfaces for the acquired addresses, maintaining the
leases, and handling duplicate addresses. in.ndpd starts the dhcpagent
daemon automatically and signals when DHCPv6 should be started. in.ndpd
also detects when dhcpagent configures the logical interfaces, and sets
the appropriate prefix length on each according to received Routing
Advertisement messages. in.ndpd will not stop dhcpagent; use ifconfig(8)
to control dhcpagent if necessary.

Temporary addresses that are autoconfigured for an interface can also be
implemented. A temporary address token is enabled for one or more
interfaces on a host. However, unlike standard, autoconfigured IPv6
addresses, a temporary address consists of the site prefix and a randomly
generated 64 bit number. This random number becomes the interface ID
segment of the IPv6 address. A link-local address is not generated with
the temporary address as the interface ID.

If the kernel detects a duplicate temporary address, in.ndpd will
automatically choose another.

Routers advertise all prefixes that have been assigned on the link. IPv6
hosts use Neighbor Discovery to obtain a subnet prefix from a local
router. Hosts automatically create IPv6 addresses by combining the subnet
prefix with an interface IDs that is generated from an interface's MAC
address. In the absence of routers, a host can generate only link-local
addresses. Link-local addresses can only be used for communication with
nodes on the same link.

For information on how to enable IPv6 address autoconfiguration, see
System Administration Guide: IP Services.


Supported options and equivalent SMF service properties are listed below.
SMF service properties are set using a command of the form:

# routeadm -m ndp:default key=value


Turn off stateless and stateful address auto configuration. When set,
the daemon does not autoconfigure any addresses and does not renumber
any addresses. This option does the same thing as the following lines
in ndpd.conf(5):

ifdefault StatefulAddrConf off
ifdefault StatelessAddrConf off

Use of this option is equivalent to setting the stateless_addr_conf
property to false.


Turn on large amounts of debugging output on stdout. When set, the
program runs in the foreground and stays attached to the controlling
terminal. Use of this option is equivalent to setting the debug
property to true.

-f config_file

Use config_file for configuration information instead of the default
/etc/inet/ndpd.conf. Use of this option is equivalent to setting the
config_file property to the configuration file to be used.


Turn on tracing (printing) of all sent and received packets to
stdout. When set, the program runs in the foreground and stays
attached to the controlling terminal. As such, this option cannot be
run under the SMF.


Configuration file. This file is not necessary on
a host, but it is required on a router to enable
in.ndpd to advertise autoconfiguration information
to the hosts.


icmp6(4P), ip6(4P), ndp(4P), ndpd.conf(5), attributes(7), smf(7),
dhcpagent(8), ifconfig(8), ndp(8), routeadm(8), svcadm(8)

Narten, T., Nordmark, E., Simpson, W. RFC 2461, Neighbor Discovery for IP
Version 6 (IPv6). The Internet Society. December 1998.

Thomson, S., Narten, T. RFC 2462, IPv6 Stateless Address
Autoconfiguration. The Internet Society. December 1998.

Narten, T., and Draves, R. RFC 3041, Privacy Extensions for Stateless
Address Autoconfiguration in IPv6. The Internet Society. January 2001.


Receipt of a SIGHUP signal will make in.ndpd restart and reread


The in.ndpd daemon service is managed by the service management facility,
smf(7), under the service identifier:


Administrative actions on this service, such as enabling, disabling, or
requesting restart, can be performed using svcadm(8) or routeadm(8).

September 12, 2020 IN.NDPD(8)