IPv6 EUI-64 Explained: MAC-to-Interface-ID and Cisco IOS Configuration

Learn how modified EUI-64 builds a 64-bit IPv6 interface ID from a 48-bit MAC address, why FFFE is inserted, how the universal/local bit changes, and how Cisco IOS configures the result.

IPv6EUI-64Cisco IOSInterface ID
IPv6 EUI-64 conversion from a MAC address to a 64-bit interface ID
IPv6 EUI-64 Explained: MAC-to-Interface-ID and Cisco IOS cheat sheet: use this quick map before reading the detailed sections.

Key Takeaways

  • Modified EUI-64 generates a 64-bit interface ID from a 48-bit MAC address.
  • The MAC is split after the first 24 bits and FFFE is inserted.
  • The universal/local bit in the first byte is toggled.
  • Cisco IOS supports ipv6 address <prefix>/64 eui-64.
  • An interface without a MAC address may derive the identifier from another router interface.
  • Privacy or stable IPv6 interface IDs are often preferred on modern endpoints.

IPv6 EUI-64 Explained: MAC-to-Interface-ID and: Table of Contents

  1. Prerequisites
  2. How Modified EUI-64 Works
  3. Understanding the U/L Bit Flip
  4. Building the Complete IPv6 Address
  5. Cisco IOS Configuration
  6. Verification and Troubleshooting
  7. Operational Considerations
  8. Frequently Asked Questions

1. Prerequisites

You should understand IPv6 prefixes, 64-bit interface IDs, hexadecimal notation, and address compression. Review IPv6 Address Types Explained and How to Shorten IPv6 Addresses if these concepts are new.

2. How Modified EUI-64 Works

A typical IPv6 LAN uses a /64 prefix: the first 64 bits identify the subnet and the final 64 bits identify an interface. A MAC address contains only 48 bits, so modified EUI-64 expands it.

Step 1 — Split the MAC address.
MAC: 12:34:56:78:AB:CD Left half: 12:34:56 Right half: 78:AB:CD
Step 2 — Insert FF:FE.
12:34:56:FF:FE:78:AB:CD
Step 3 — Toggle the U/L bit in the first byte.
12 becomes 10
Step 4 — Group the final 64 bits as IPv6 hextets.
1034:56FF:FE78:ABCD

3. Understanding the Universal/Local Bit Flip

The first MAC byte is 12. In binary it is 0001 0010. Modified EUI-64 toggles the universal/local bit—the second least-significant bit, also commonly described as the seventh bit when counting from the left.

Before
12 = 0001 0010
After
10 = 0001 0000

A universally administered hardware MAC normally has this bit set to 0. Modified EUI-64 inverts it in the generated interface ID. A locally administered MAC begins with the opposite state and is toggled as well.

4. Building the Complete IPv6 Address

Combine a 64-bit prefix with the calculated interface ID.

Prefix: 2001:DB8:1234:ABCD::/64 Interface ID: 1034:56FF:FE78:ABCD Full address: 2001:DB8:1234:ABCD:1034:56FF:FE78:ABCD/64
Lab prefix: 2001:DB8::/32 is reserved for documentation. Replace it with an assigned production prefix on a real network.

IPv6 EUI-64 Explained: MAC-to-Interface-ID and: 5. Cisco IOS Configuration

Enable IPv6 routing, enter the interface, and configure the /64 prefix with the eui-64 keyword.

Router(config)# ipv6 unicast-routing
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:DB8:1234:ABCD::/64 eui-64
Router(config-if)# no shutdown

Cisco IOS supplies the final 64 bits. You configure only the subnet prefix and select EUI-64 generation.

6. Verification and Troubleshooting

Router# show interfaces GigabitEthernet0/0 | include address
Router# show ipv6 interface GigabitEthernet0/0
Router# show ipv6 interface brief

For a MAC address such as c200.185c.0000, IOS splits the MAC, inserts FFFE, and flips the first-byte U/L bit. The interface ID becomes C000:18FF:FE5C:0.

CheckExpected result
Interface stateInterface and line protocol are up
Prefix lengthThe configured network is /64
Inserted valueFFFE appears in the interface ID
First byteThe U/L bit is toggled from the source MAC
Duplicate detectionThe address is not marked duplicate or tentative indefinitely

If the interface has no hardware MAC, Cisco IOS may use a MAC address from another suitable interface, commonly the lowest-numbered interface available on the platform.

7. Operational and Privacy Considerations

EUI-64 is deterministic and easy to troubleshoot, but it can expose a MAC-derived identifier and make a device easier to track across prefix changes. Modern operating systems commonly use temporary privacy addresses or stable opaque interface IDs instead.

EUI-64 is not encryption or authentication. It is only an address-generation method. Use normal IPv6 security controls, including filtering, secure Neighbor Discovery practices, device hardening, and appropriate IPsec where required.

IPv6 EUI-64 Explained: MAC-to-Interface-ID and: Frequently Asked Questions

What does EUI-64 do in IPv6?

Modified EUI-64 creates a 64-bit interface ID from a 48-bit MAC address by inserting FFFE and toggling the universal/local bit.

Why is FFFE inserted into the MAC address?

A MAC address is 48 bits and the IPv6 interface ID is 64 bits. Inserting the 16-bit FFFE value expands the identifier to 64 bits.

Which bit is flipped in modified EUI-64?

The universal/local bit, which is the second least-significant bit of the first byte and is often described as the seventh bit when counted from the left, is toggled.

Is EUI-64 always used by modern IPv6 hosts?

No. Privacy and stable-address mechanisms are common because an EUI-64 identifier can reveal a MAC-derived value and remain predictable.

IPv6 EUI-64 Explained: MAC-to-Interface-ID and: Conclusion

Modified EUI-64 follows a repeatable process: split the 48-bit MAC, insert FFFE, toggle the U/L bit, and combine the resulting 64-bit interface ID with a /64 prefix. See RFC 4291 Appendix A for the standard derivation.