IPv6 · 4 min read

Why every IPv6 interface has a link-local address you never configured

Every IPv6-enabled interface on your router, switch, or host automatically receives a link-local address in the fe80::/10 range, even if you never configured one. This happens without DHCP, without manual assignment, and without any configuration command. Understanding why this happens and what link-local addresses do is essential for IPv6 troubleshooting, neighbor discovery, and routing protocol operation.

What is a link-local address?

A link-local address is an IPv6 address that is only valid and routable on the local network segment (the link). It cannot be routed across the internet or between subnets. All link-local addresses begin with fe80::/10, which means the first 10 bits are fixed as 1111111010 in binary. The remaining 54 bits are typically zero, followed by a 64-bit interface identifier (usually derived from the MAC address).

fe80::1
fe80::200:5eff:fe00:5301
fe80::a00:27ff:fe4e:66a1

These addresses look different from global unicast addresses (which start with 2000::/3), and they serve a completely different purpose. Link-local addresses exist to enable communication on the local segment before any global address is assigned.

Why is link-local automatic?

IPv6 was designed from the ground up to be self-configuring. The Internet Engineering Task Force (IETF) recognized that requiring manual configuration for every interface would not scale in modern networks with millions of devices. Link-local address assignment is part of IPv6 Stateless Address Autoconfiguration (SLAAC), defined in RFC 4862.

When an interface comes up, the operating system or network device immediately generates a link-local address using the interface's MAC address (or a random 64-bit identifier on some systems). This happens before any router advertisement is received, before DHCPv6 runs, and before any global address is configured. The result is that every IPv6 interface always has at least one usable address on the local segment.

What does link-local enable?

Link-local addresses are not just redundant overhead. They enable critical IPv6 functions:

On a Cisco router, you can see link-local addresses assigned to interfaces even when no global address is present:

Router# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
  FE80::1
GigabitEthernet0/1 [up/up]
  FE80::2

Practical implications for network engineers

You cannot remove or disable link-local address assignment on standard IPv6 interfaces. You can manually specify which address is used (on some platforms), but the automatic generation cannot be turned off. This is by design and should not be changed.

When troubleshooting IPv6 connectivity, remember that link-local reachability does not mean global reachability. A ping to an fe80 address proves layer 2 connectivity and basic IPv6 function, but it does not verify that global addresses are working or that routing is correct. Always test with global unicast addresses when validating production connectivity.

Link-local addresses are also the reason you see fe80 in routing tables and neighbor discovery output. They are not errors or misconfiguration; they are the foundation of IPv6 on-link communication.

IPv6 Compressor
Compress and expand IPv6 addresses instantly - free tool for network engineers
Open →
Practise this on today’s Daily Ops Drill — a free network task every day.
Open the app →
Free tools for this
More from the blog
Dual stack: which address a host actually prefersRead →IPv6 subnetting: why /64 is the answer almost every timeRead →