Lab Objective
Configure EIGRP for IPv6 on two routers, activating it directly on the relevant interfaces, explicitly set a router ID as EIGRPv6 requires, and verify neighbor formation and route exchange.
Lab Purpose
EIGRP for IPv6 follows the same underlying DUAL logic as EIGRP for IPv4, discussed earlier in this series, but like OSPFv3 covered in the previous lab, is activated directly per interface rather than via a network command — and unlike IPv4 EIGRP, it has no fallback method for automatically deriving a router ID, making manual configuration mandatory rather than optional.
Lab Topology
R1 ---- Gi0/0 ------------------ Gi0/0 ---- R2
2001:DB8:G:1::1/64 2001:DB8:G:1::2/64
R1's LAN: 2001:DB8:G:10::/64 (Loopback1)
R2's LAN: 2001:DB8:G:20::/64 (Loopback1)Task 1: Configure Basic IPv6 Addressing
Enable IPv6 routing and configure the link addresses and each router's loopback.
Task 2: Enable the EIGRP for IPv6 Process
Create the EIGRPv6 process globally on both routers, but do not yet activate it on any interface.
Task 3: Attempt to Bring Up the Process Without a Router ID
Attempt to enable the process with no-shutdown and observe the resulting error regarding a missing router ID.
Task 4: Manually Configure the Router ID
Set an explicit router ID on both routers to resolve the error.
Task 5: Activate EIGRPv6 on the Relevant Interfaces
Enable EIGRPv6 directly on the shared link interface and each router's loopback.
Task 6: Verify Neighbor Formation and Route Exchange
Confirm the neighbor relationship forms and each router learns the other's LAN.
Solution and Verification
R1(config)# ipv6 unicast-routing
R1(config)# interface gigabitethernet0/0
R1(config-if)# ipv6 address 2001:DB8:G:1::1/64
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface loopback1
R1(config-if)# ipv6 address 2001:DB8:G:10::1/64
R1(config-if)# exitR1(config)# ipv6 router eigrp 100
R1(config-rtr)# no shutdown
% EIGRP-IPv6: could not create eigrp router process,
router-id not configured
-- Unlike IPv4 EIGRP, which can automatically
-- derive a router ID from an interface
-- address, EIGRPv6 requires one to be
-- explicitly set before the process can startR1(config-rtr)# eigrp router-id 1.1.1.1
R1(config-rtr)# no shutdown
-- Now succeeds without errorR2(config)# ipv6 unicast-routing
R2(config)# interface gigabitethernet0/0
R2(config-if)# ipv6 address 2001:DB8:G:1::2/64
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# interface loopback1
R2(config-if)# ipv6 address 2001:DB8:G:20::1/64
R2(config-if)# exit
R2(config)# ipv6 router eigrp 100
R2(config-rtr)# eigrp router-id 2.2.2.2
R2(config-rtr)# no shutdownR1(config)# interface gigabitethernet0/0
R1(config-if)# ipv6 eigrp 100
R1(config-if)# exit
R1(config)# interface loopback1
R1(config-if)# ipv6 eigrp 100R2(config)# interface gigabitethernet0/0
R2(config-if)# ipv6 eigrp 100
R2(config-if)# exit
R2(config)# interface loopback1
R2(config-if)# ipv6 eigrp 100R1# show ipv6 eigrp neighbors
H Address Interface Hold Uptime
0 Link-local address .. Gi0/0 13 00:01:04R1# show ipv6 route eigrp
D 2001:DB8:G:20::/64 [90/3072]
via FE80::250:56FF:FEBB:3344, GigabitEthernet0/0Key Takeaway
The mandatory eigrp router-id command is the single most important detail distinguishing EIGRPv6 configuration from its IPv4 counterpart — forgetting it produces an explicit, easy-to-diagnose error message at process startup, unlike some misconfigurations that only manifest as a silent failure to form neighbors.