REFERENCE

v6.11.0

IPv6 ND

Neighbor Discovery / Router Advertisement config and advertised prefixes (`/ipv6 nd`).

Tools

add_ipv6_nd

Add IPv6 ND Interface Configuration · Risk: write

Create an IPv6 Neighbor Discovery / Router Advertisement interface entry (/ipv6 nd) — controls RA emission (intervals, lifetime, preference), M/O DHCPv6 flags, hop limit, MTU, reachable/retransmit timers, and DNS/MAC advertisement for a specific interface. Use when a new interface needs its own ND settings distinct from the global 'all' entry; to change an existing entry (including 'all') use update_ipv6_nd. To advertise IPv6 prefixes via RA, use add_ipv6_nd_prefix. Returns the created entry's full detail including its .id.

Notes: managed_address_configuration (M flag): tell hosts to use DHCPv6 for addresses. other_configuration (O flag): tell hosts to use DHCPv6 for other info (e.g. DNS). ra_interval: min-max range, e.g. '3m20s-10m'.

ParameterRequiredDefinition
interfaceYes{"type":"string"}
ra_intervalNoRA min-max interval range, e.g. '3m20s-10m' {"type":"string"}
ra_delayNo{"type":"string"}
ra_lifetimeNoe.g. '30m' or 'none' {"type":"string"}
ra_preferenceNo{"type":"string","enum":["low","medium","high"]}
hop_limitNoAdvertised hop limit (0-255 or 'unspecified') {"type":"string"}
mtuNo{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}
reachable_timeNo{"type":"string"}
retransmit_intervalNo{"type":"string"}
managed_address_configurationNo{"type":"boolean"}
other_configurationNo{"type":"boolean"}
advertise_dnsNo{"type":"boolean"}
advertise_mac_addressNo{"type":"boolean"}
dnsNoRecursive DNS servers advertised via RA (RDNSS), comma-separated IPv6 {"type":"string"}
commentNo{"type":"string"}
disabledYes{"default":false,"type":"boolean"}

list_ipv6_nd

List IPv6 ND Interface Configurations · Risk: read

List all per-interface IPv6 Neighbor Discovery / Router Advertisement configurations (/ipv6 nd print) — shows RA intervals, M/O DHCPv6 flags, hop-limit, MTU, and enabled state for each interface entry including the global 'all'. To view the prefixes those RAs advertise, use list_ipv6_nd_prefixes. Supports optional filters by interface name or disabled-only. Returns all matching entries; use get_ipv6_nd for full detail on a single entry.

ParameterRequiredDefinition
interface_filterNo{"type":"string"}
disabled_onlyYes{"default":false,"type":"boolean"}

get_ipv6_nd

Get IPv6 ND Interface Configuration · Risk: read

Fetch full detail of a single IPv6 Neighbor Discovery interface configuration (/ipv6 nd print detail) by RouterOS .id (e.g. '*1') or interface name — tries .id first, falls back to interface name match. For a summary table of all interfaces use list_ipv6_nd. For advertised prefix entries use list_ipv6_nd_prefixes. Returns all RA parameters for the matched entry, or a not-found message.

ParameterRequiredDefinition
nd_idYesRouterOS .id (e.g. '*1') or the interface name {"type":"string"}

update_ipv6_nd

Update IPv6 ND Interface Configuration · Risk: write-idempotent

Modify an existing IPv6 Neighbor Discovery / Router Advertisement configuration (/ipv6 nd set) by interface name (e.g. 'all', 'ether1') or .id — use this to tune the global 'all' entry or any per-interface override. Selects by .id when nd_id starts with '*', otherwise by interface name. For adding a brand-new interface entry use add_ipv6_nd. For changes to advertised prefixes use add_ipv6_nd_prefix or remove_ipv6_nd_prefix. Returns the updated entry's full detail.

ParameterRequiredDefinition
nd_idYesInterface name (e.g. 'all', 'ether1') or '.id' {"type":"string"}
ra_intervalNo{"type":"string"}
ra_delayNo{"type":"string"}
ra_lifetimeNo{"type":"string"}
ra_preferenceNo{"type":"string","enum":["low","medium","high"]}
hop_limitNo{"type":"string"}
mtuNo{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}
reachable_timeNo{"type":"string"}
retransmit_intervalNo{"type":"string"}
managed_address_configurationNo{"type":"boolean"}
other_configurationNo{"type":"boolean"}
advertise_dnsNo{"type":"boolean"}
advertise_mac_addressNo{"type":"boolean"}
dnsNoRecursive DNS servers advertised via RA (RDNSS), comma-separated IPv6 {"type":"string"}
commentNo{"type":"string"}
disabledNo{"type":"boolean"}

remove_ipv6_nd

Remove IPv6 ND Interface Configuration · Risk: destructive

Delete a per-interface IPv6 Neighbor Discovery configuration entry (/ipv6 nd remove) by interface name or .id — the .id is obtained from list_ipv6_nd. The built-in 'all' entry cannot be removed; to disable it use update_ipv6_nd with disabled=true. For removing advertised prefix entries use remove_ipv6_nd_prefix. Verifies existence via count-only before removal; returns success or not-found.

ParameterRequiredDefinition
nd_idYesInterface name or '.id' {"type":"string"}

add_ipv6_nd_prefix

Add IPv6 ND Advertised Prefix · Risk: write

Add an IPv6 prefix to the Router Advertisement prefix list (/ipv6 nd prefix add) — announces the prefix in RA messages so hosts can perform SLAAC (autonomous=true, the A flag) or learn the on-link prefix. This is distinct from ND interface settings (add_ipv6_nd) which control RA timing and M/O flags; this tool controls WHAT prefix is carried inside those RAs. To list existing advertised prefixes use list_ipv6_nd_prefixes. Returns the added prefix's detail including its .id.

Notes: autonomous: allow hosts to auto-configure addresses from this prefix (SLAAC, the A flag). prefix format: e.g. '2001:db8:1::/64'.

ParameterRequiredDefinition
prefixYesPrefix to advertise, e.g. '2001:db8:1::/64' {"type":"string"}
interfaceNo{"type":"string"}
valid_lifetimeNo{"type":"string"}
preferred_lifetimeNo{"type":"string"}
autonomousNo{"type":"boolean"}
commentNo{"type":"string"}
disabledYes{"default":false,"type":"boolean"}

list_ipv6_nd_prefixes

List IPv6 ND Advertised Prefixes · Risk: read

List all IPv6 prefixes advertised in Router Advertisement messages (/ipv6 nd prefix print) — shows each prefix, its interface, valid/preferred lifetimes, and autonomous (SLAAC A-flag) status. To see ND interface settings (RA intervals, M/O flags) rather than the advertised prefixes, use list_ipv6_nd. Supports optional filters by interface name, prefix substring, or dynamic-only. Returns all matching entries; use the .id values with remove_ipv6_nd_prefix.

ParameterRequiredDefinition
interface_filterNo{"type":"string"}
prefix_filterNo{"type":"string"}
dynamic_onlyYes{"default":false,"type":"boolean"}

remove_ipv6_nd_prefix

Remove IPv6 ND Advertised Prefix · Risk: destructive

Delete an IPv6 ND advertised prefix entry (/ipv6 nd prefix remove) by RouterOS .id (e.g. '*1') or prefix value (e.g. '2001:db8:1::/64') — the .id is obtained from list_ipv6_nd_prefixes. Tries .id match first, falls back to prefix string match. To remove the ND interface configuration (not a prefix) use remove_ipv6_nd. Verifies existence via count-only before deletion; returns success or not-found.

ParameterRequiredDefinition
prefix_idYesRouterOS .id (e.g. '*1') or the prefix {"type":"string"}

On this page