DHCP lease time and planning

RFC T1 renewals. Lattice default is one day. Cap is managed IPs, not packets per second.

DHCP load is how often clients talk, not how many addresses sit in the drawing. Clients renew on a timer the protocol defines. Lattice’s default lease is the campus number that keeps that timer quiet.

This page is for the person who sets lease time on a subnet. First subnet: first-subnet. Cap vs meter: license. HA: ha.


How clients renew

RFC 2131 §4.4.5 sets two times on every lease:

  • T1 (renew) — half the lease. Unicast to the server that Acked.
  • T2 (rebind) — 87.5% of the lease. Broadcast if T1 failed.

Leave both blank on the subnet unless you have a reason. Background load is then:

renewals/s ≈ N / (0.5 × lease_seconds)

Same N, shorter lease → more talk. That is true on every DHCP server.

Clients30 min1 hour8 hours1 day7 days
1,00011
10,0001161
25,000281421
100,0001115672
250,0002781391761

A dash is under 1/s. These are the RFC formula, rounded the usual way.

There are two loads, not one:

  1. Steady state — those T1 renewals, plus new arrivals.
  2. First-grant storm — power restore, a VLAN reset, or a cutover: many thousands of Discovers at once.

Size the lease so background T1 stays small. The storm is then headroom, not the daily load.

Cisco Prime Network Registrar 11.4 prints the same T1 arithmetic (their 100,000 @ 30 min = 111/s is the same row), calls the storm an avalanche, and tells operators to keep steady-state to a few hundred operations per second (they strongly recommend ≤ 500/s) so the storm still fits. That is independent confirmation, not a Lattice ceiling. The same chapter notes the grant path is disk-write bound: commit the lease before Ack. Lattice does the same (Postgres, then Ack). Extra dhcpd processes do not create extra writers.


Lease times vendors ship

Practice, not protocol. The RFC does not pick a duration.

SourceWhat they ship or recommend
Cisco IOS DHCPDefault lease is one day.
Microsoft DHCPDefault scope lease is eight days. Hours for VPN / mobile; longer for printers and phones.
Cisco CNR default policySeven days (604800 s).
Cisco CNR, Managing LeasesActive networks: one to three days. Inactive: four to ten days. Short leases demand the server be continuously available.

What Lattice recommends

New subnets default to 86400 seconds (one day). Leave it unless the VLAN is a special case.

VLANLeaseWhy
Campus / desktop / office Wi-Fi1 day (default)Same as Cisco IOS. T1 is quiet even at Org and Scale.
Guest / BYOD, tight pool4–8 hoursRecycles addresses. Background T1 stays small.
Guest, tiny pool, more devices than addressesas short as 1 hourRecycle until you get more space — not a campus default.
Printers, APs, phones that stay7 days, or a reservationA reservation is better than a long dynamic lease.
Cutover / labHours, then put it backShorten the old server the day before a migrate. Do not leave 30 minutes on production.

Do not set 30 minutes campus-wide. That is a lab/debug value. At 100,000 clients it is 111 renewals/s of background before anyone boots (RFC table above). The same count at one day is about 2/s.

Overview Hold is mean MAC lifetime vs lease time. Devices that live 40 minutes on a 24-hour guest /24 need a shorter lease on that subnet, not a bigger prefix.


Reading it for Lattice entitlements

The license cap is managed IPs (leased + reserved + quarantined + assigned). It is not a packets-per-second rating. Caps below match pricing. Background T1 at RFC 50%:

Cap30 min1 hour8 hours1 day7 days
Community 1,00011
Starter 5,00063
Professional 10,0001161
Team 25,000281421
Org 50,000562831
Scale 100,0001115672

At one day, Scale (100,000) is about two renewals per second. That is the campus plan. 30-minute leases at Org or Scale turn the daily load into the storm. Enterprise (over 100,000) is a quote — same T1 arithmetic on whatever cap is on the file.

First-grant storms (power restore, first day on a new VLAN, migrate cutover) are the headroom case. Lattice has one Postgres writer; extra dhcpd nodes put DHCP next to clients and let either node Ack — they do not multiply first-grant.


Where to set it

Subnet → Settings → lease time (seconds). Default 86400. NTP/chrony on every Lattice node is required; lease expiry is wall-clock.

Related: first-subnet, license, ha, migrate, admin.