.. _clicmd_src_vnet_ip6-nd:

===============================================================
Ip6-nd cli reference
===============================================================

ip6 nd
-------------------------------------------------------------------------

.. code-block:: console

    ip6 nd <interface> ...



This command is used to configure the neighbor discovery
parameters on a given interface. Use the ``show ip6 interface``
command to display some of the current neighbor discovery parameters
on a given interface. This command has three formats:


**Format 1 - Router Advertisement Options:** (Only one can be entered in
a single command)



.. code-block:: console

    
    ip6 nd <interface> [no] [ra-managed-config-flag] |
      [ra-other-config-flag] | [ra-suppress] | [ra-suppress-link-layer] |
      [ra-send-unicast] | [ra-lifetime <lifetime>] |
      [ra-initial <cnt> <interval>] |
      [ra-interval <max-interval> [<min-interval>]] | [ra-cease]
    



Where:

``[no] ra-managed-config-flag`` - Advertises in ICMPv6
router-advertisement messages to use stateful address
auto-configuration to obtain address information (sets the M-bit).
Default is the M-bit is not set and the ``no`` option
returns it to this default state.

``[no] ra-other-config-flag`` - Indicates in ICMPv6
router-advertisement messages that hosts use stateful auto
configuration to obtain nonaddress related information (sets
the O-bit). Default is the O-bit is not set and the ``no``
option returns it to this default state.

``[no] ra-suppress`` - Disables sending ICMPv6 router-advertisement
messages. The ``no`` option implies to enable sending ICMPv6
router-advertisement messages.

``[no] ra-suppress-link-layer`` - Indicates not to include the
optional source link-layer address in the ICMPv6 router-advertisement
messages. Default is to include the optional source link-layer address
and the ``no`` option returns it to this default state.

``[no] ra-send-unicast`` - Use the source address of the
router-solicitation message if available. The default is to use
multicast address of all nodes, and the ``no`` option returns
it to this default state.

``[no] ra-lifetime <lifetime>`` - Advertises the lifetime of a
default router in ICMPv6 router-advertisement messages. The range is
from 0 to 9000 seconds. ``<lifetime>`` must be greater than
``<max-interval>``. The default value is 600 seconds and the
``no`` option returns it to this default value.

``[no] ra-initial <cnt> <interval>`` - Number of initial ICMPv6
router-advertisement messages sent and the interval between each
message. Range for count is 1 - 3 and default is 3. Range for interval
is 1 to 16 seconds, and default is 16 seconds. The ``no`` option
returns both to their default value.

``[no] ra-interval <max-interval> [<min-interval>]`` - Configures the
interval between sending ICMPv6 router-advertisement messages. The
range for max-interval is from 4 to 200 seconds. min-interval can not
be more than 75% of max-interval. If not set, min-interval will be
set to 75% of max-interval. The range for min-interval is from 3 to
150 seconds.  The ``no`` option returns both to their default
value.

``[no] ra-cease`` - Cease sending ICMPv6 router-advertisement messages.
The ``no`` options implies to start (or restart) sending
ICMPv6 router-advertisement messages.


**Format 2 - Prefix Options:**



.. code-block:: console

    
    ip6 nd <interface> [no] prefix <ip6-address>/<width>
      [<valid-lifetime> <pref-lifetime> | infinite] [no-advertise] [off-link]
      [no-autoconfig] [no-onlink]
    



Where:

``no`` - All additional flags are ignored and the prefix is deleted.

``<valid-lifetime> <pref-lifetime>`` - ``<valid-lifetime>`` is
the length of time in seconds during what the prefix is valid for the
purpose of on-link determination. Range is 7203 to 2592000 seconds and
default is 2592000 seconds (30 days). ``<pref-lifetime>`` is the
preferred-lifetime and is the length of time in seconds during what
addresses generated from the prefix remain preferred. Range is 0 to 604800
seconds and default is 604800 seconds (7 days).

``infinite`` - Both ``<valid-lifetime>`` and
``<pref-lifetime>`` are infinite, no timeout.

``no-advertise`` - Do not send full router address in prefix
advertisement. Default is to advertise (i.e. - This flag is off by default).

``off-link`` - Prefix is off-link, clear L-bit in packet. Default is
on-link (i.e. - This flag is off and L-bit in packet is set by default
and this prefix can be used for on-link determination). ``no-onlink``
also controls the L-bit.

``no-autoconfig`` - Do not use prefix for autoconfiguration, clear
A-bit in packet. Default is autoconfig (i.e. - This flag is off and A-bit
in packet is set by default.

``no-onlink`` - Do not use prefix for onlink determination, clear L-bit
in packet. Default is on-link (i.e. - This flag is off and L-bit in packet
is set by default and this prefix can be used for on-link determination).
``off-link`` also controls the L-bit.


**Format 3: - Default of Prefix:**



.. code-block:: console

    ip6 nd <interface> [no] prefix <ip6-address>/<width> default



When a new prefix is added (or existing one is being overwritten)
``default`` uses default values for the prefix. If ``no`` is
used, the ``default`` is ignored and the prefix is deleted.


Example of how set a router advertisement option:


.. code-block:: console

    ip6 nd GigabitEthernet2/0/0 ra-interval 100 20


Example of how to add a prefix:


.. code-block:: console

    ip6 nd GigabitEthernet2/0/0 prefix fe80::fe:28ff:fe9c:75b3/64 infinite no-advertise


Example of how to delete a prefix:


.. code-block:: console

    ip6 nd GigabitEthernet2/0/0 no prefix fe80::fe:28ff:fe9c:75b3/64



Declaration: ``ip6_nd_command`` `src/vnet/ip6-nd/ip6_ra.c line 2211 <https://github.com/FDio/vpp/blob/master//src/vnet/ip6-nd/ip6_ra.c#L2211>`_

Implementation: ``ip6_ra_cmd``


ip6 nd address autoconfig
-------------------------------------------------------------------------

.. code-block:: console

    ip6 nd address autoconfig <interface> [default-route|disable]



This command is used to enable ND address autoconfiguration
on particular interface including setting up default routes.

Example of how to enable ND address autoconfiguration:


.. code-block:: console

    ip6 nd address autoconfig GigabitEthernet2/0/0


Example of how to enable ND address autoconfiguration
with setting up default routes:


.. code-block:: console

    ip6 nd address autoconfig GigabitEthernet2/0/0 default-route


Example of how to disable ND address autoconfiguration:


.. code-block:: console

    ip6 nd address autoconfig GigabitEthernet2/0/0 disable




Declaration: ``ip6_nd_address_autoconfig_command`` `src/vnet/ip6-nd/rd_cp.c line 577 <https://github.com/FDio/vpp/blob/master//src/vnet/ip6-nd/rd_cp.c#L577>`_

Implementation: ``ip6_nd_address_autoconfig``


set interface ip6-nd proxy
-------------------------------------------------------------------------

.. code-block:: console

    set interface ip6-nd proxy <intfc> [enable|disable]


Declaration: ``set_int_ip6_nd_proxy_enable_command`` `src/vnet/ip6-nd/ip6_nd_mirror_proxy.c line 84 <https://github.com/FDio/vpp/blob/master//src/vnet/ip6-nd/ip6_nd_mirror_proxy.c#L84>`_

Implementation: ``set_int_ip6_nd_proxy_command_fn``


set ip6 nd proxy
-------------------------------------------------------------------------

.. code-block:: console

    set ip6 nd proxy <interface> [del] <host-ip>


Declaration: ``set_ip6_nd_proxy_command`` `src/vnet/ip6-nd/ip6_nd_proxy.c line 118 <https://github.com/FDio/vpp/blob/master//src/vnet/ip6-nd/ip6_nd_proxy.c#L118>`_

Implementation: ``set_ip6_nd_proxy_cmd``