IPv6 - understanding how to enable IPv6 functionality and routing on an IOS device

The ipv6 unicast-routing command enables the router to route IPv6 packets. This essentially allows a router to create an IPv6 routing table, and to be able to respond to Router Solicitation messages with Router Advertisement messages.

This command does not affect the ability of specific interfaces to function as IPv6-addressed hosts. You can have IPv6-enabled interfaces without enabling IPv6 routing. These interfaces would simply function as IPv6 hosts that can send and receive IPv6 packets, but the router **will not be able to forward any such packets **out of another interface.

When an interface is explicitly configured with an IPv6 address, it automatically becomes IPv6 enabled, and there is no need to issue the ipv6 enable command.

Interestingly, if you issue the no ipv6 enable command on an interface with a configured IPv6 address, the command is ignored, and does not appear in the configuration.

If you haven’t explicitly configured an IPv6 address, then you can enable an interface to actively become an IPv6 host. This means that it will obtain a link local address, and will be able to exchange Neighbor Discovery Protocol (NDP) messages including neighbor solicitations (NS) and duplicated address detection (DAD) messages, without having obtained a global unicast IPv6 address.

Links:

https://forum.networklessons.com/t/stateless-autoconfiguration-for-ipv6/897/25?u=lagapides

https://networklessons.com/ipv6/stateless-autoconfiguration-for-ipv6/