NDP(8) | System Manager's Manual | NDP(8)

# NAME

`ndp` —
control/diagnose IPv6 neighbor discovery protocol

# SYNOPSIS

`ndp` | [`-nt`] hostname

`ndp` | [`-nt`] `-a` | `-c` | `-p`

`ndp` | [`-nt`] `-r`

`ndp` | [`-nt`] `-H` | `-P` | `-R`

`ndp` | [`-nt`] `-A` wait

`ndp` | [`-nt`] `-d` hostname

`ndp` | [`-nt`] `-f` filename

`ndp` | [`-nt`] `-i` interface [expressions ...]

`ndp` | [`-nt`] `-I` [interface | `delete`]

`ndp` | [`-nt`] `-s` nodename etheraddr [`temp`] [`proxy`]

# DESCRIPTION

The `ndp` command manipulates the address mapping table used by the Neighbor Discovery Protocol (NDP).

`-A` wait
  Repeat `-a` (dump NDP entries) every wait seconds.
`-a`
  Dump the currently existing NDP entries. The following information will be printed:
  Neighbor
    IPv6 address of the neighbor.
  Linklayer Address
    Linklayer address of the neighbor. It could be “`(incomplete)`” when the address is not available.
  Netif
    Network interface associated with the neighbor cache entry.
  Expire
    The time until expiry of the entry. The entry could become “`permanent`”, in which case it will never expire.
  S
    State of the neighbor cache entry, as a single letter:

    D
      Delay
    I
      Incomplete
    N
      Nostate
    P
      Probe
    R
      Reachable
    S
      Stale
    W
      Waitdelete
    ?
      Unknown state (should never happen).
  Flags
    Flags on the neighbor cache entry, in a single letter. They are: Router, proxy neighbor advertisement (“p”). The field could be followed by a decimal number, which means the number of NS probes the node has sent during the current state.
`-c`
  Erase all the NDP entries.
`-d`
  Delete specified NDP entry.
`-f`
  Parse the file specified by filename.
`-H`
  Harmonize consistency between the routing table and the default router list; install the top entry of the list into the kernel routing table.
`-I`
  Shows the default interface used as the default route when there is no default router.
`-I` interface
  Specifies the default interface to be used when there is no interface specified even though required.
`-I` `delete`
  The current default interface will be deleted from the kernel.
`-i` interface [expressions ...]
  View ND information for the specified interface. If additional arguments expressions are given, `ndp` sets or clears the flags or variables for the interface as specified in the expression. Each expression should be separated by white spaces or tab characters. Possible expressions are as follows. Some of the expressions can begin with the special character ‘`-`’, which means the flag specified in the expression should be cleared. Note that you need `--` before `-foo` in this case.

  `nud`
    Turn on or off NUD (Neighbor Unreachability Detection) on the interface. NUD is usually turned on by default.
  `accept_rtadv`
    Specify whether or not to accept Router Advertisement messages received on the interface. Note that the kernel does not accept Router Advertisement messages, even if the flag `accept_rtadv` is on, unless either the `net.inet6.ip6.accept_rtadv` variable is non-0, or the flag `override_rtadv` is on. This flag is set to 1 by default.
  `auto_linklocal`
    Specify whether or not to perform automatic link-local address configuration on interface. This flag is set by `net.inet6.ip6.auto_linklocal` sysctl variable.
  `override_rtadv`
    Specify whether or not to override the `net.inet6.ip6.accept_rtadv` variable. If the flag is on, then it will suffice to set the flag `accept_rtadv` to make the kernel accept Router Advertisement messages on the interface. This flag is set to 0 by default.
  `prefer_source`
    Prefer addresses on the interface as candidates of the source address for outgoing packets. The default value of this flag is off. For more details about the entire algorithm of source address selection, see the IMPLEMENTATION file supplied with the KAME kit.
  `disabled`
    Disable IPv6 operation on the interface. When disabled, the interface discards any IPv6 packets received on or being sent to the interface and any IPv6 addresses on the interface are marked as “tentative”. When the disabled flag is cleared, DAD will be performed. In the sending case, an error of ENETDOWN will be returned to the application. This flag is typically set automatically in the kernel as a result of a certain failure of Duplicate Address Detection. While the flag can be set or cleared by hand with the `ndp` command, it is not generally advisable to modify this flag manually.
  `basereachable=(number)`
    Specify the BaseReachbleTimer on the interface in millisecond.
  `retrans=(number)`
    Specify the RetransTimer on the interface in millisecond.
  `curhlim=(number)`
    Specify the Cur Hop Limit on the interface.
`-n`
  Do not try to resolve numeric addresses to hostnames.
`-P`
  Flush all the entries in the prefix list.
`-p`
  Show prefix list.
`-R`
  Flush all the entries in the default router list.
`-r`
  Show default router list.
`-s`
  Register an NDP entry for a node. The entry will be permanent unless the word `temp` is given in the command. If the word `proxy` is given, this system will act as a proxy NDP server, responding to requests for hostname even though the host address is not its own.
`-t`
  Print timestamp on each entry, making it possible to merge output with tcpdump(8). Most useful when used with `-A`.

# EXIT STATUS

The `ndp` command will exit with 0 on success, and non-zero on errors.

# SEE ALSO

arp(8)

# HISTORY

The `ndp` command first appeared in the WIDE Hydrangea IPv6 protocol stack kit.

February 14, 2018 | NetBSD 9.2