Summary

  • IANA’s LACNIC IPv6 dashboard, based on data published on 8 September 2026, displays 978,428 /32 units as available, a monthly average of 57 and necessary space of 513. The latter reconciles visibly as nine months of the displayed average.
  • The dashboard’s 11,846 fragment rows from /33 to /48 sum to exactly 210 /32 equivalents. Subtracting all 210 from the source file’s exact available quantity of 978,637.613 gives 978,427.613, which rounds to the displayed 978,428.
  • In the delegated source file, however, only 7,514 fragment rows, equivalent to 198.613 /32s, carry the status available; the remainder are marked reserved, assigned or allocated. The global policy defines fragmented space as available blocks smaller than an RIR’s minimum allocation size.
  • The numerical fit is evidence of a question, not proof of an error. IANA and LACNIC should publish a source-hashed, status-aware eligibility worksheet showing the selected rows, the expiring-reservation term and the rounding rule used for each allocation-clock run.

The number 978,428 looks like the end of a calculation. It is better understood as the beginning of an audit.

IANA’s dashboard for LACNIC’s IPv6 allocation eligibility presents four compact judgments. Available space is 978,428. Necessary space is 513. The monthly average is 57. The allocation status is “Not Eligible”, with 93 per cent of the current /12 shown as remaining. Each figure appears clean enough to travel into a board paper, a policy presentation or a forecast without its working.

One part of the working is visible. The global allocation policy says an RIR’s necessary space is nine times its average monthly allocation. Fifty-seven multiplied by nine is 513. No hidden convention is needed to move from the displayed demand rate to the displayed threshold.

The available-space figure also admits an unusually close reconstruction. LACNIC’s extended delegated statistics file contains an exact IPv6 quantity marked available: 978,637.6130981445 units of /32. The dashboard lists 11,846 smaller prefixes, from /33 through /48, as fragments. Expressed in /32 equivalents, those rows total exactly 210. Subtract 210 and the result is 978,427.6130981445. Rounded to a whole /32, it is 978,428—the dashboard number.

That alignment is strong. It is not complete.

A perfect subtraction with an unresolved selector

The global policy’s formula defines available space as currently free addresses, plus reservations expiring during the following three months, minus fragmented space. It then defines fragmented space more narrowly: available blocks smaller than the RIR’s minimum allocation size. LACNIC’s published IPv6 allocation policy identifies /32 as the ordinary minimum allocation size. Those rules make the status of a sub-/32 row consequential.

The 11,846 rows behind the 210-unit fragment total do not all have the same status in LACNIC’s source file. Of them, 7,514 are marked available; they represent 198.61309814453125 /32 equivalents. Another 2,874 rows are reserved, equal to 9.594024658203125 /32s. There are 1,456 assigned rows, equal to 1.7928466796875, and two allocated rows, equal to 0.000030517578125.

Together, those four groups are exactly the 210 shown by the dashboard’s fragment histogram. But the policy definition points specifically to available fragments. If only the rows marked available are subtracted from the exact source quantity marked available, the result is exactly 978,439—not 978,428.

The eleven-unit gap between 978,439 and 978,428 is not a finding of waste, double counting or policy breach. Public evidence does not disclose the value of reservations due to expire in the following three months. It does not disclose whether the dashboard’s source snapshot treats status as a direct selector, maps some statuses into a different operational class, or applies transformations not represented in the public delegated file. Nor does the neat all-status subtraction prove that the internal program simply deducted every small row. It proves only that such an arithmetic path fits the displayed result.

This distinction matters because transparent arithmetic can be mistaken for transparent accounting. A reader can reproduce one route to the answer while remaining unable to show that it is the authorised route. In financial reporting, a total that can be reconstructed by an accidental grouping would not eliminate the need for a reconciliation schedule. Address stewardship deserves the same discipline.

The dashboard joins two kinds of evidence

The IANA page and the LACNIC file serve different purposes. The dashboard implements a global allocation clock: it asks when an RIR is eligible to receive another large IPv6 block from the IANA free pool. The delegated statistics file is a public registry extract. It records resource ranges, dates and statuses according to a documented interchange format. Neither document promises to be a complete audit trail for the other.

That is precisely why a bridge is needed.

The dashboard says its view is based on LACNIC data published on 8 September 2026. The source file’s header says the same date and records 97,136 entries. Its MD5 file permits a reader to establish that the downloaded object is the published object, not a locally altered copy. These are valuable provenance anchors. They identify the input family and snapshot date.

They do not identify the rows selected into each term of the formula. A user cannot tell which prefixes form “currently free addresses”, which reservations fall inside the three-month expiry window, which smaller blocks qualify as fragmented, or at which stage fractional /32 values become whole dashboard units. The displayed fragment table reveals prefix-length counts, but not status, input row keys or the policy role assigned to each row.

The result is an evidence chain with a strong first and last link and an undocumented joint in the middle. At one end is a signed or hashable public source object. At the other is a public policy outcome. Between them sits the row-selection logic that makes the outcome governable.

Why the eleven-unit difference is more useful than an accusation

The tempting story is that one party has made a mistake. It is also the least responsible story the evidence supports.

The dashboard may incorporate a reservation-expiry adjustment not exposed in the public file. The meaning of reserved in the interchange data may not map one-for-one to the policy formula’s reservations. A historical or implementation-specific convention may make certain small blocks count as unavailable fragments despite their exported status. The exact current-space number could be derived from a more authoritative internal register and merely appear to match the public all-status total after rounding. Any of these possibilities would change the interpretation.

The public sources examined here do not choose among them. They therefore do not prove that LACNIC has less usable IPv6 space than stated, that an allocation has been delayed, or that any member has been denied resources. The dashboard says “Not Eligible” because the shown current space is far above the shown necessary-space threshold. An eleven-/32 reconciliation difference would not remotely reverse that status in the current snapshot.

The gap is still useful. It identifies the exact question a control should answer: which status-bearing rows, under which policy classification and expiry rule, produced the 210-unit deduction? That is narrower than a general demand for “more transparency”. It can be answered with a small, repeatable artefact.

What the eligibility worksheet should contain

The useful publication is not another prose explanation. It is a machine-readable worksheet issued for every dashboard refresh.

Its header should identify the RIR, snapshot date, global-policy version and calculation run. It should name the exact delegated source object and publish a cryptographic hash, not merely a mutable URL. Where an internal registry extract is authoritative, the worksheet can identify its schema version and publish a commitment to the selected rows without exposing non-public registration data.

The worksheet should then separate the formula into three ledgers. The first is currently free space. It lists or commits to the prefixes included, their source statuses, their sizes normalised to /32, and the rule that admits them. The second is reservations expiring in the following three months. It shows the measurement boundary, expiry date, size and whether the reservation was already present in the free-space term. The third is fragmented space. It records each selected prefix, length, /32 equivalent, exported status and the reason it is treated as available but below the minimum allocation size.

For public addresses, the underlying prefixes are already visible in the delegated dataset and dashboard. The worksheet need not reveal member names, ticket contents or operational contacts. If a row derives from a non-public reservation record, a salted or otherwise appropriately designed commitment can preserve lineage while a restricted auditor sees the full row. The public aggregate should still state the count and size by status and expiry bucket.

Rounding belongs in the worksheet, too. The source file can express fractional /32 quantities; the dashboard displays whole numbers. The calculation should preserve exact rational quantities until the final presentation step and state whether the public number is rounded to nearest, floored or transformed earlier. A reader should never have to infer the rounding convention from a coincidence.

Finally, the worksheet should present the three formula inputs, the calculated available-space result, the monthly average window, the nine-month multiplication and the resulting eligibility decision. The human page can remain simple. A link labelled “calculation receipt” can carry the dense evidence.

Status is policy information, not decoration

The RIR statistics exchange format cautions users about what delegated data can and cannot mean. Status values are not a substitute for every internal registry concept, and the format is designed for cross-registry exchange rather than for reconstructing every operational workflow. That limitation is another argument for an explicit mapping, not an excuse to guess one.

When a policy uses the word “available”, an exported row bearing the same word creates a natural expectation. If the two terms differ, the calculation receipt should say so. Perhaps policy-available is a derived class composed of several registry statuses. Perhaps an available row is excluded because it cannot meet contiguity or minimum-size rules. Perhaps a reserved block approaching expiry is added in one formula term and removed as fragmentation in another. Each may be defensible. None should be left implicit when the result controls eligibility.

This is particularly important for small fragments. Converting prefixes to /32 equivalents makes arithmetic possible, but it can erase operational distinctions. Two hundred and ten /32 equivalents distributed among 11,846 pieces are not interchangeable with a contiguous block of the same area. The global policy recognises this by deducting fragmentation. Yet status tells us whether a piece is even a candidate for that deduction. Size and status are separate dimensions; a histogram showing only size cannot settle both.

The source partition demonstrates the point. The reserved rows contribute most of the difference between 210 and 198.613. The assigned rows add nearly another 1.793. Those are not rounding dust. They are categories with distinct names and potentially distinct policy roles. A status-aware bridge would make the role explicit without asking readers to reverse-engineer code.

A control for continuity, not merely disclosure

The value of a calculation receipt extends beyond satisfying curious readers. It protects the allocation clock through staff changes, software migrations and policy revisions.

Today’s dashboard can be recomputed against today’s code and database. Five years later, the same result may be difficult to explain if a status vocabulary has changed, a dataset format has been revised or a reservation rule has moved. A source-hashed worksheet freezes the decisive interpretation at the time it was used. It allows a successor to distinguish a changed inventory from a changed rule.

That makes recalculation safer. If a policy amendment changes the minimum allocation size or eligibility formula, IANA can run the new logic over the same committed input and publish a before-and-after diff. If a source row is corrected, the system can show which term changed and whether the eligibility date moved. If a software release changes only formatting, the calculation hashes should remain stable.

It also creates a sensible division of responsibility. LACNIC can attest to the resource-state extract and the semantics of its exported statuses. IANA can attest to the global-policy mapping and calculation. An independent party can recompute the public totals. No one actor must disclose every internal detail, and no reader must trust a screenshot as the complete record.

The right standard of proof

A public infrastructure number can be reliable without being fully reproducible from public data. Operational systems often contain legitimate non-public state. The obligation is not to make every database row public. It is to say which public and private classes affected a public governance decision, and to offer enough committed evidence for authorised review.

The present LACNIC page already does more than many dashboards. It names its data date, exposes the formula inputs, lists fragment counts by prefix length and links to the governing policy. Those choices made the 210-unit reconstruction possible. They also made the unresolved selector visible.

That visibility should not be punished with an overclaim. There is no evidence here of exhaustion, scarcity, misallocation or a wrong eligibility verdict. LACNIC’s listed free space is hundreds of thousands of /32 units above the necessary-space threshold. The issue is not whether another /12 should be issued tomorrow. It is whether the same public record would remain intelligible when the margin becomes smaller, the status mix changes or a policy decision is contested.

Controls are cheapest before the disputed case. A worksheet can be generated alongside the dashboard now, while the input mappings are known. Waiting for the eligibility boundary would turn a routine provenance question into an argument over reconstructed history.

The most interesting fact on IANA’s LACNIC clock is therefore not 978,428. It is that 978,428 can be reached by subtracting every visible fragment even though the policy term appears to ask for available fragments. The arithmetic closes; the status bridge does not.

A good registry receipt would close both.

Sources