Guide · Manufacturing & provisioning
Assigning multiple MAC addresses to one device
A device with Ethernet, Wi-Fi and Bluetooth needs three MAC addresses, not one. How to count the interfaces on a unit and reserve a block of addresses for each unit in a run.
A MAC address identifies a network interface, not a device. A unit with more than one interface needs more than one address, and the manufacturing process has to reserve and program all of them. This guide is about counting the interfaces and laying out the addresses per unit.
Interfaces that need their own address
| Interface | Notes |
|---|---|
| Ethernet | One address per port. A switch or router with four LAN ports plus a WAN port is five, before anything wireless. |
| Wi-Fi | One per radio. A dual-band AP with independent 2.4 GHz and 5 GHz radios uses two, and each virtual AP (multi-SSID) is typically derived from the radio's base address by setting the locally administered bit. |
| Bluetooth | A separate public device address on its own, distinct from Wi-Fi even on a combo chip. |
| Multiple Ethernet ports | Managed switches often want a per-port address plus one for the switch's own management plane. |
| Management interface | A BMC, IPMI or dedicated OOB port is a full interface with its own address, independent of the host NICs. |
| Virtual interfaces | Bridges, VLAN sub-interfaces and containers may present MAC addresses, but these are usually derived or locally administered at runtime, not assigned at manufacturing. See the U/L bit. |
Decide, per product, how many manufacturer-assigned addresses each unit consumes. That count, call it N, drives the allocation.
Layout approaches
- Contiguous group per unit. Reserve
Nconsecutive addresses per unit. Unit k gets addressesbase + k·Nthroughbase + k·N + (N-1). Simple to compute, simple to verify, and the firmware knows "my Wi-Fi MAC is my base + 1". - Fixed offset per interface. Within each unit's group, interface roles are always at the same offset: Ethernet at +0, Wi-Fi at +1, Bluetooth at +2. The programming station and the firmware agree on the map.
- One-to-many serial mapping. One serial number identifies the unit; the export lists the unit's serial once per address, or once with the address group, depending on what the programmer reads.
Doing this with the allocation tool today
The allocation tool here currently reserves one MAC address and one serial number per unit in a batch. It does not yet model several addresses under one serial. Until it does, the practical approach for a unit that needs N addresses is:
- Size the batch as
units × N, so the reservation covers every interface address the run needs. - Treat the reserved MAC range as groups of
N: the firstNaddresses belong to unit 1, the nextNto unit 2, and so on, with interface roles at fixed offsets inside each group. - Use one serial per unit from a scheme sized to the unit count, and map it to that unit's address group in your own production CSV.
This keeps the addresses contiguous and collision-free; the per-unit grouping is a convention you apply on top of the export. If native multi-address-per-unit support would help your line, tell us about your interface layout.
Related: how to allocate MAC addresses during manufacturing and how MAC addresses are structured.
More guides