I’ve been studying for the CCNA primarily using the OCG books (Wendell Odom), and I am having difficulty understanding a paragraph about IPv6 routing.
The OCG states that you cannot add a static route specifying only an outgoing interface, if that interface is Ethernet. IOS will accept the command but it will not work/route. Example (IPv6 route 2003:1:1:2::/64 gig0/0/1) OCG P. 591 Paragraph 2
The book doesn’t say why you cannot do this.
However, the IPv6 routing guide on Cisco.com says otherwise, it says that this command is acceptable and will work. I don’t know what to believe.
I think both the book and Cisco are correct. You cannot use broadcast interfaces (such as the GigabitEthernet0/0/1 interface used in the boox example), but a point to point (e.g. serial) interface will work.
ipv6 route 2003:1:1:2::/64 GigabitEthernet0/0/1 --> will not work
ipv6 route 2003:1:1:2::/64 Serial0/0/0 --> will work
In IPv4 when you point a route directly at a broadcast interface without a specific next hop address (ie: ip route 192.168.1.0/24 gig0/0) arp requests are sent on gig0/0 for any destination address inside that route. The router connected to gig0/0 sends a arp reply with its own MAC address if it can reach the destination address. This mechanism is referred to as proxy ARP and it is configured by default in IOS.
In IPv6, we don't use ARP for L3 to L2 address resolution, but rather neighbor discovery (ND). The reason you can't set a broadcast interface as the next hop like you can in IPv4, is the lack of support for the proxy ARP equivalent in the IPv6 world, which is referred to as proxy ND. Proxy ND is defined by RFC4389, but its support is not widely available.
For more information on proxy ND, please read RFC4389: