Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Thursday, June 13, 2019
 
 

ndpd.conf (5)

Name

ndpd.conf - configuration file for IPv6 router autoconfiguration

Synopsis

/etc/inet/ndpd.conf

Description

The ndpd.conf file contains configuration information for in.ndpd(8). On a host, this file does not need to exist or can be empty. The file has one configuration entry per line; note that lines can be extended with a backslash (\) followed by a NEWLINE. There are four forms of configuration entries which are identified by the first field on the line: ifdefault , prefixdefault, if, or prefix. The ifdefault and if entries set interface configuration variables. The former establishes the routing behavior for all interfaces, the latter sets per-interface parameters. Any ifdefault entries must precede any if entries in the file.

The prefixdefault and prefix entries control prefix configuration variables. prefixdefault establishes the default behavior for all prefix advertisements on all interfaces. The prefix keyword advertises per-prefix information. Any prefixdefault entries must precede any prefix entries in the file.

Each ifdefault entry is composed of a single line of the form:

ifdefault [ if-variable-name 
value ]*

Each if entry is composed of a single line of the form:

if interface [ if-variable-name
 value ]*

Each prefixdefault entry is composed of a single line of the form:

prefixdefault [ prefix-variable-name 
value ]*

Each prefix entry is composed of a single line of the form:

prefix prefix/prefix_length
 interface [ prefix-variable-name
 value ]*

Fields are separated by either SPACE or TAB characters. A `#' (number sign) indicates the beginning of a comment. Characters up to the end of the line are not interpreted by routines that search this file.

interface

The name of a network interface, for example, eri0 .

prefix

An IPv6 address in standard hexadecimal notation, for example, fec0:0:0:1::0.

prefix_length

A number between 0 and 128.

if-variable-name

An interface variable. Below is the list of interface variables applicable to routers only along with their default values and units as discussed in RFC 2461 and RFC 2462. The Tmp* variables apply to hosts and routers. The Tmp* variables configure temporary address functionality as defined in RFC 3041. For information about the available if-variable-name variables, see if-variable-name Variables section below.

prefix-variable-name

A prefix variable as discussed in RFC 2461 and RFC 2462. For information about the available prefix-variable-name variables, see prefix-variable-name Variables section below.

value

The value is a function of the unit. Boolean values are true, false, on, off, 1, or 0.

Values in seconds can have characters appended for day (d), hour h), minute (m) and second ( s). The default is seconds. For example, 1h means 1 hour. This is equivalent to the value 3600.

Values in milliseconds can have characters appended for day (d),hour (h), minute (m) second (s), and millisecond (ms). The default is milliseconds. For example, 1h is equivalent to the value 3600000.

Date/time values are strings that use the recommended ISO date format described as “%Y-%m-%d %R”, which represents a 4 digit year, a dash character, a numeric month, a dash character, and a numeric day of the month, followed by one or more whitespace characters and finally a 24 hour clock with hours, a colon, and minutes. For example, 1999-01-31 20:00 means 8pm January 31 in 1999. Since the date/time values contain a space, use single or double quotes to declare the value. For example:

prefixdefault AdvPreferredExpiration '1999-01-31 20:00'

if-variable-name Variables

The if-variable-name variables are described as follows:

Variable Name           Default    Unit

AdvSendAdvertisements   false      Boolean
DupAddrDetectTransmits  1          Counter
MaxRtrAdvInterval       600        Seconds
MinRtrAdvInterval       200        Seconds
AdvManagedFlag          false      Boolean
AdvOtherConfigFlag      false      Boolean
AdvLinkMTU              0          Bytes
AdvReachableTime        0          Milliseconds
AdvRetransTimer         0          Milliseconds
AdvCurHopLimit          see below  Counter
AdvDefaultLifetime      1800       Seconds

AdvSendAdvertisements

Indicates whether the node should send out advertisements and respond to router solicitations. You need to explicitly configure this value to turn on router advertisement functions.

DupAddrDetectTransmits

Defines the number of consecutive Neighbor Solicitation messages that the Neighbor Discovery protocol should send during Duplicate Address Detection of the local node's address.

MaxRtrAdvInterval

Specifies the maximum time to wait between sending unsolicited multicast advertisements.

MinRtrAdvInterval

Specifies the minimum amount of time to wait between sending unsolicited multicast advertisements.

AdvManagedFlag

Indicates the value to be placed in the “Manage address configuration” flag in the Router Advertisement. This flag causes hosts to run DHCPv6 to acquire addresses and other configuration information. This flag causes hosts to run DHCPv6 to acquire configuration information, but only if AdvManagedFlag is not set.

AdvOtherConfigFlag

Indicates the value to be placed in the “Other stateful configuration”flag in the Router Advertisement.

AdvLinkMTU

Specifies an MTU value to be sent by the router. The default of zero indicates that the router does not specify MTU options.

AdvReachableTime

Specifies the value in the Reachable Time field in the advertisement messages sent by the router.

AdvRetransTimer

Specifies the value in the Retrans Timer field in the advertisement messages sent by the router.

AdvCurHopLimit

Specifies the value to be placed in the current hop limit field in the advertisement messages sent by the router. The default is the current diameter of the Internet.

AdvDefaultLifetime

Specifies the default lifetime of the router advertisements.

Listed below is the interface variable that applies to both hosts and routers.

Variable Name
Default
Unit
StatefulAddrConf
true
Boolean
StatelessAddrConf
true
Boolean
RecvAdvertisements
true
Boolean
MinRecvHopLimit
30
Hops
TmpAddrsEnabled
false
Boolean
TmpValidLifetime
604800
(1 week)
Seconds
TmpPreferredLifetime
86400
(1 day)
Seconds
TmpRegenAdvance
5
Seconds
TmpMaxDesyncFactor
600
Seconds
StatefulAddrConf

Controls whether the system configures its IPv6 addresses by means of the Stateful Address Autoconfiguration mechanism, also known as DHCPv6, as described in RFC 3315. If enabled (the default), hosts automatically run DHCPv6 based on the “managed” and “other” flags sent by routers. If disabled, in.ndpd will not invoke DHCPv6 automatically. DHCPv6 can still be invoked manually by using ifconfig(8), in which case in.ndpd automatically sets the prefix length as needed.

StatelessAddrConf

Controls whether the system configures its IPv6 addresses by means of the Stateless Address Autoconfiguration mechanism described in RFC 2462. If enabled hosts (the default) autoconfigure addresses based on prefixes advertised by routers, routers will only autoconfigure addresses based on the prefixes they advertise themselves. In other words, even when enabled, routers do not autoconfigure addresses based on prefixes that other routers advertise. If you specify false for this variable, then the address must be configured manually.

RecvAdvertisements

Controls whether the system obtains and receives router advertisements on particular interfaces. If disabled, router solicitations will not be sent and all router advertisements will be ignored. Otherwise, the system can still set default routes, MTUs, and other parameters from Router Advertisements even if StatelessAddrConf is off.

MinRecvHopLimit

Minimum value to accept in a received router advertisement's CurHopLimit field. in.ndpd ignores a received CurHopLimit value that is less than this.

TmpAddrsEnabled

Indicates whether a temporary address should be created for all interfaces or for a particular interface of a node.

TmpValidLifetime

Sets the valid lifetime for a temporary address.

TmpPreferredLifetime

Sets the preferred lifetime of a temporary address.

TmpRegenAdvance

Specifies the lead time in advance of address deprecation for generation of a new temporary address.

TmpMaxDesyncFactor

Sets the upper bound on the DesyncFactor, which is a random value that is used to shorten the preferred lifetime so that clients do not regenerate an address at the same time.

prefix-variable-name Variables

The following lists the each interface variable and its default value and unit:

Variable Name
Default
Unit
AdvValidLifetime
2592000
Seconds
AdvOnLinkFlag
true
Boolean
AdvPreferredLifetime
604800
Seconds
AdvAutonomousFlag
true
Boolean
AdvValidExpiration
not set
Date/Time
AdvPreferredExpiration
not set
Date/Time

These variables are described as follows:

AdvValidLifetime

Specifies the valid lifetime of the prefix that is being configured.

AdvOnLinkFlag

Specifies the value to be placed in the on-link flag (“L-bit”) field in the Prefix Information option.

AdvPreferredLifetime

Specifies the value to be placed in the Preferred Lifetime in the Prefix Information option.

AdvAutonomousFlag

Specifies the value to be placed in the Autonomous Flag field in the Prefix Information option.

AdvValidExpiration

Specifies the valid expiration date of the prefix.

AdvPreferredExpiration

Specifies the preferred expiration date of the prefix.

The AdvValidExpiration and AdvPreferredExpiration variables are used to specify that the lifetime should be decremented in real time as specified in RFC 2461. If an Expiration variable is set, it takes precedence over the corresponding AdvValidLifetime or AdvPreferredLifetime variable setting.

Examples

Example 1 Sending Router Advertisements for all Interfaces

The following example can be used to send router advertisements out to all interfaces:

# Send router advertisements out all interfaces
ifdefault AdvSendAdvertisements on 
prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on

# Advertise a (bogus) global prefix and a site 
# local prefix on three interfaces using the default lifetimes
prefix 2:0:0:9255::0/64      eri0
prefix fec0:0:0:9255::0/64   eri0

prefix 2:0:0:9256::0/64      eri1
prefix fec0:0:0:9256::0/64   eri1

prefix 2:0:0:9259::0/64      eri2
prefix fec0:0:0:9259::0/64   eri2

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/network/routing
Interface Stability
Committed

Note that the MinRecvHopLimit interface variable is uncommitted.

See Also

icmp6(4P), ip6(4P), attributes(7), dhcpagent(8), ifconfig(8), in.ndpd(8), routeadm(8)

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

Thomson, S., and 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.

Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6). Cisco Systems. July 2003.