Reservations

This MAC always gets this IP via DHCP. Not a static NIC. Not an exclude.

A Lattice reservation is the Microsoft DHCP reservation: this MAC (or DUID / client-id) always gets this IP on this subnet, and nobody else does.

It is not a static NIC you configured on the server. That is an assignment (Static server). It is not an exclusion. excludes. First subnet: first-subnet.


1. When to use which

You wantLattice
Printer / phone / badge reader always gets .10 via DHCPAdd address → DHCP client (reservation)
ESXi / a Windows server with a static NIC, no DHCPAdd address → Static server (assignment). Counts on the license.
Gateway, HSRP/VRRP VIP, “don’t ever Offer this”Don’t offer (exclude)
Temporary “keep current Microsoft lease IP” during cutoverReservation seeded from the old lease dump, then delete later. migrate §5

Dynamic laptops belong in the pool, not in hundreds of reservations.


2. Click path

Subnet → Add addressDHCP client.

  • IP inside the subnet, not in an exclude
  • At least one identity: MAC, client-id, or DUID (v6)
  • Hostname optional (DDNS uses it as the single DNS label)

Microsoft ClientId is typically a hyphenated MAC (F0-DE-F1-7A-00-5E). Lattice wants lowercase aa:bb:cc:dd:ee:ff. Normalize in Excel before a bulk import. migrate §4.

A reservation counts as a managed IP on the license even when the device is offline. Stale printers from 2019 still meter. Work → Stale (~90 days, no lease, no ping) is the queue — list, don’t auto-delete.


3. Behavior

  • Discover from that MAC: Offer only the reserved IP.
  • Another client cannot have it (NAK / not offered).
  • Release / expire: inventory stays reserved, not free-for-the-pool.
  • Force-release a live lease on a reserved IP: the IP is still reserved; the next Discover of that MAC gets it again.

Work → Wrong MAC: a live lease on this IP whose MAC is not the reservation. Someone statically addressed the printer’s IP, or a second device. Do not “fix” it by deleting the reservation until you know which device is real.

Work → Hostnames: two reservations named hp-01. DDNS last-writer-wins. Rename one.


4. API / migration

POST /api/v1/subnets/{id}/reservations with ip + mac. Do not import the Microsoft lease table as live lease rows. Turning old active bindings into reservations is a cutover trick, not a lease import. migrate.