<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.34 (Ruby 3.3.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc ipr="trust200902" docName="draft-bellis-unheaded-protocol-foundation-00" category="exp" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Unheaded Protocol">Unheaded: Protocol Foundation — A Mapped Data Bus over IPv6 Hop-by-Hop Options</title>

    <author initials="S." surname="Bellis" fullname="Stevie Bellis">
      <organization>Unheaded</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>stevie@bellis.tech</email>
      </address>
    </author>

    <date year="2026" month="March" day="19"/>

    <area>Internet</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>bpf</keyword> <keyword>bpf-isa</keyword> <keyword>ipv6</keyword> <keyword>hop-by-hop</keyword> <keyword>mapped-data-bus</keyword> <keyword>metadata</keyword> <keyword>packet-tagging</keyword> <keyword>observability</keyword> <keyword>exponent-encoding</keyword> <keyword>limited-domain</keyword> <keyword>computational-completeness</keyword> <keyword>post-quantum-cryptography</keyword> <keyword>address-reclamation</keyword> <keyword>shield-ebpf</keyword> <keyword>anamnesis</keyword> <keyword>kingdom-mode</keyword>

    <abstract>


<?line 114?>

<t>The Unheaded Protocol defines a mapped data bus model that
transforms IPv6 packets into addressable memory by encoding a small
register file directly in the IPv6 Hop-by-Hop Options extension header.</t>

<t>We introduce a 20-byte Monad (register file) that carries program state
through the network. At each hop, a BPF program (the Shim) performs
computation on the Monad. The packet itself becomes the working memory,
using exponent-encoded fields to pack rich metadata into the IPv6
option while remaining fully backward-compatible with existing networks.</t>

<t>To support programs larger than what fits in a single Monad, we
introduce Wotan, a memory and I/O bus that bridges Monad computation
to per-flow ring-buffer storage and external topics. This decouples
the Monad (pure, 20-byte compute) from memory (Wotan's configurable
data planes).</t>

<t>This memo extends the packet format with two additional capabilities:
(1) Kingdom Mode Address Reclamation, which recovers up to 224 bits of
deterministic address space from IPv6 addresses within a controlled L2
fabric for use as extended computational and cryptographic registers;
and (2) Post-Quantum Cryptographic Identity Binding, which cryptographically
binds each service identifier in the Monad to a post-quantum keypair via
the Sophia dictionary system, providing quantum-resistant authentication
of per-packet metadata without increasing wire overhead.</t>

<t>This memo defines the normative packet format, exponent-encoding scheme,
per-hop processing semantics, address reclamation model, post-quantum
identity binding, optional chaos injection for resilience testing, and
the complete computational model (Turing-complete with memory paging).</t>



    </abstract>



  </front>

  <middle>


<?line 146?>

<section anchor="introduction"><name>Introduction</name>

<section anchor="problem-statement"><name>Problem Statement</name>

<t>Classical networking separates computation from data. Computation
happens in applications. Data flows through the network as opaque byte
streams. This creates an expensive impedance mismatch of serialization,
deserialization, protocol translation, middleware, sidecars, and proxies.</t>

<t>The Unheaded Protocol inverts this model: the packet carries
computational state. A 20-byte register file (the Monad) is read and
written by BPF programs at each hop. The packet functions as working
storage of a distributed computation that executes at each
operator-controlled node in the path.</t>

<t>Within a Limited Domain <xref target="RFC8799"></xref> — a single AS, corporation, or
container fleet where every hop is operator-controlled — the protocol
provides:</t>

<t><list style="symbols">
  <t>Inline state: Application state is carried in the packet without
intermediate serialization.</t>
  <t>Per-hop compute: Each hop reads the Monad state directly from the
packet without requiring separate queries or network round-trips.</t>
  <t>Causal ordering: Anamnesis events are ordered by packet arrival at
each hop, enabling causal reconstruction independent of wall-clock
synchronization.</t>
  <t>Quantum-resistant identity: Service identifiers are cryptographically
bound to post-quantum keypairs.</t>
  <t>Address reclamation: Deterministic address prefix bits within the
Limited Domain are reclaimed as extended computational registers.</t>
</list></t>

</section>
<section anchor="scope-and-applicability"><name>Scope and Applicability</name>

<t>This specification defines the complete protocol for deploying a
mapped data bus over IPv6 Hop-by-Hop Options. The protocol is
applicable to Limited Domains (RFC 8799) where all intermediate nodes
are operator-controlled and IPv6 Hop-by-Hop option processing is
enabled.</t>

<t>The protocol is NOT applicable to the public Internet, where
intermediate routers may drop Hop-by-Hop options (RFC 9098, RFC 9673),
nor to paths containing routers that do not process such options.</t>

</section>
<section anchor="cross-references-to-companion-specifications"><name>Cross-References to Companion Specifications</name>

<t>This document is part of the Unheaded Protocol specification family:</t>

<t><list style="symbols">
  <t><strong>Sophia Dictionary Format</strong> <xref target="SOPHIA"></xref>: Defines the serialization,
storage, and distribution mechanism for semantic metadata including
sub-dictionary type systems and QPACK compression headers for
dictionary entries.</t>
  <t><strong>Wotan Memory Protocol</strong> <xref target="WOTAN"></xref>: Defines the memory and I/O bus
including error code taxonomy, helper return codes, and error
recovery procedures.</t>
</list></t>

<t>The three specifications are designed to be read together. The
Foundation specification defines the wire format and per-hop processing
model. Sophia defines the semantic layer that gives meaning to
exponent-encoded fields. Wotan defines the memory model that provides
per-flow state beyond the 20-byte Monad.</t>

</section>
</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref> when, and only when, they appear in all capitals, as shown
here.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>This document uses the following terms:</t>

<dl>
  <dt>Monad:</dt>
  <dd>
    <t>The 20-byte register file embedded in the IPv6 Hop-by-Hop option
header. It travels with the packet and is read and modified at each hop.</t>
  </dd>
  <dt>Shim:</dt>
  <dd>
    <t>A BPF program that executes at each hop, reading the Monad from the
packet, performing computation, and writing back to the packet.</t>
  </dd>
  <dt>Shield:</dt>
  <dd>
    <t>The packet boundary logic at ingress (first hop) that stamps the
packet into existence by adding the Hop-by-Hop option, and at egress
(last hop) that strips the option and commits the packet to the
external network.</t>
  </dd>
  <dt>Wotan:</dt>
  <dd>
    <t>The memory and I/O bus that provides per-flow ring buffers,
persistent storage (WAL), and bridging to external topics.</t>
  </dd>
  <dt>Anamnesis:</dt>
  <dd>
    <t>The non-blocking event log implemented as a BPF ring buffer,
recording packet events for observability and historical replay.</t>
  </dd>
  <dt>Sophia:</dt>
  <dd>
    <t>The exponent dictionary system. BPF hash maps in kernel space,
structured tables in userspace. Hot-swappable vocabulary that
assigns meaning to exponent-encoded field values.</t>
  </dd>
  <dt>Exponent Encoding:</dt>
  <dd>
    <t>A compositional scheme for packing metadata: each field stores a
signed exponent, and the actual value is reconstructed as
base^exponent * multiplier, where base and multiplier are defined
per-field in Sophia.</t>
  </dd>
  <dt>Limited Domain:</dt>
  <dd>
    <t>A network boundary (typically a single AS, corporation, or container
fleet) where the Unheaded Protocol is deployed end-to-end. All hops
within the domain are operator-controlled. Defined in <xref target="RFC8799"></xref>.</t>
  </dd>
  <dt>Kingdom Mode:</dt>
  <dd>
    <t>An operational mode within a Limited Domain where the IPv6 ULA
prefix is known a priori, enabling deterministic address prefix bits
to be reclaimed as extended computational space.</t>
  </dd>
</dl>

</section>
<section anchor="protocol-overview"><name>Protocol Overview</name>

<t>The Unheaded Protocol adds an IPv6 Hop-by-Hop Options extension header
to packets at the Limited Domain ingress. The option contains a 20-byte
register file (Monad) that carries computational state. At each
operator-controlled hop within the domain, a BPF program (Shim) reads
the Monad, performs computation, and writes the updated Monad back to
the packet before forwarding it to the next hop. At egress, Shield
removes the option and forwards a clean IPv6 packet to the external
network.</t>

<t>The Monad's fields are exponent-encoded, allowing rich metadata to be
packed into 8-bit signed values. Field semantics are defined by Sophia
<xref target="SOPHIA"></xref>, a dictionary system stored as BPF hash maps. Ring buffers
(Anamnesis) record packet events at each hop for observability. Per-flow
state beyond the 20-byte Monad is managed by Wotan <xref target="WOTAN"></xref>.</t>

</section>
<section anchor="packet-format"><name>Packet Format</name>

<section anchor="ipv6-hop-by-hop-extension-header"><name>IPv6 Hop-by-Hop Extension Header</name>

<t>The Monad is carried in a single IPv6 Hop-by-Hop Options extension
header option, formatted per RFC 8200 Section 4.</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Next Header  |  Hdr Ext Len  |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                     Option TLV(s)                             |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The Hop-by-Hop extension header MUST precede all other extension
headers. It MUST be processed at each hop per RFC 8200 Section 4.3
and RFC 9673.</t>

</section>
<section anchor="option-type"><name>Option Type</name>

<t>The Monad is encoded as a single option TLV within the Hop-by-Hop
extension header:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type = TBD   |   Len = 20+   |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                     Monad (20 bytes)                          |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Optional: Metadata, Kingdom Flags, Chaos payload            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<dl>
  <dt>Type:</dt>
  <dd>
    <t>To be assigned by IANA. The high-order two bits MUST be 00 (skip on
unrecognized). The third bit MUST be 1 (option data may change
en-route), as the Monad is modified by per-hop processing. The
resulting format is 001xxxxx. Suggested value: 0x3E.</t>
  </dd>
  <dt>Len:</dt>
  <dd>
    <t>The length of the option payload in octets (not including the Type
and Len octets). Minimum value is 20 (Monad only); maximum is 255.</t>
  </dd>
</dl>

</section>
<section anchor="monad-register-file"><name>Monad Register File</name>

<t>The Monad is a 20-byte register file with the following layout. All
multi-byte fields MUST be encoded in network byte order (big-endian).</t>

<figure><artwork><![CDATA[
Offset  Size  Field               Type        Description
------  ----  ------------------  ----------  ---------------------------------
0x00    1     version             raw uint8   Protocol version (current: 0x01)
0x01    1     src_service_id      exponent    Source service (Sophia lookup)
0x02    1     dst_service_id      exponent    Destination service (Sophia)
0x03    1     hop_count           raw uint8   Decremented at each hop (TTL-like)
0x04    1     qos_class           exponent    QoS classification
0x05    1     flow_action         exponent    Action directive
0x06    1     circuit_state       exponent    Circuit breaker state
0x07    1     flags               raw uint8   Bitfield (see Flags section)
0x08    2     latency_hint        raw uint16  Latency hint in microseconds
0x0A    1     deploy_ring         exponent    Deployment ring
0x0B    1     mesh_flags          exponent    Mesh-level flags
0x0C    1     src_prefix_lo       raw uint8   Source routing prefix low octet
0x0D    1     dst_prefix_lo       raw uint8   Destination routing prefix low octet
0x0E    4     scratch[0-3]        raw uint8   Scratch registers (4 bytes)
0x12    2     checksum            raw uint16  CRC-16/CCITT over bytes 0x00-0x13 (with checksum zeroed)
------  ----  ------------------  ----------  ---------------------------------
Total: 20 bytes (0x14)
]]></artwork></figure>

<t><strong>WIRE FORMAT FROZEN</strong>: The Monad register file layout defined above
is FROZEN at version 0x01. No changes to byte offsets, field sizes,
field ordering, or total size (20 bytes) are permitted in this or
future drafts of version 0x01. Any modification to the wire format
constitutes a new protocol version (0x02 or later) and requires a new
IANA version registry entry.</t>

<dl>
  <dt>version:</dt>
  <dd>
    <t>The protocol version, an unsigned 8-bit integer. This document
specifies version 0x01 (current). Version 0 is reserved and MUST NOT be
used. Future versions (2+) are currently undefined.
</t>

    <t>Version Checking (NORMATIVE): Receivers MUST drop packets with
unknown version fields immediately with no error code generation or
fallback processing. Specifically, if the version field != 0x01,
the packet MUST be dropped immediately (silent drop). No version
negotiation, no fallback, no compatibility shim. This eliminates
parser divergence attacks (X4) by ensuring all implementations reject
unknown versions identically.</t>
  </dd>
  <dt>src_service_id:</dt>
  <dd>
    <t>An exponent-encoded field identifying the source service. Semantics
are defined by Sophia dictionary lookup <xref target="SOPHIA"></xref>. Implementations
MUST NOT assume fixed semantics; the meaning is program-defined per
service.</t>
  </dd>
  <dt>dst_service_id:</dt>
  <dd>
    <t>An exponent-encoded field identifying the destination service.
Semantics are defined by Sophia dictionary lookup <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>hop_count:</dt>
  <dd>
    <t>An unsigned 8-bit counter, initially set to a deployment-defined
hop limit (default 64) at Shield ingress. Each hop MUST check
whether hop_count equals 0; if so, the packet MUST be dropped and
an EVENT_ANOMALY MUST be emitted. Otherwise, the hop MUST
decrement hop_count by 1 before forwarding.</t>
  </dd>
  <dt>trace_id:</dt>
  <dd>
    <t>Flow trace correlation is derived from the IPv6 Flow Label (RFC 6437).
The 20-bit Flow Label set by Shield at ingress serves as the trace
correlation identifier.  Shim programs MUST NOT modify the Flow Label.</t>
  </dd>
  <dt>qos_class:</dt>
  <dd>
    <t>An exponent-encoded field specifying the Quality of Service class.
Semantics are defined by Sophia <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>flow_action:</dt>
  <dd>
    <t>An exponent-encoded field specifying the action directive for this
packet. Examples include trace, sample, mirror, rate-limit, or drop.
Semantics are defined by Sophia <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>circuit_state:</dt>
  <dd>
    <t>An exponent-encoded field specifying the circuit breaker state (open,
closed, half-open). Semantics are defined by Sophia <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>flags:</dt>
  <dd>
    <t>An 8-bit bitfield controlling protocol behavior. See Section 5.2.</t>
  </dd>
  <dt>latency_hint:</dt>
  <dd>
    <t>A 16-bit hint encoding the per-hop latency target, in network byte order.
Interpretation is deployment-defined.</t>
  </dd>
  <dt>deploy_ring:</dt>
  <dd>
    <t>An exponent-encoded field specifying the deployment ring (canary,
staging, production). Semantics are defined by Sophia <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>mesh_flags:</dt>
  <dd>
    <t>An exponent-encoded field specifying mesh-level flags (NAT type,
direction, encryption). Semantics are defined by Sophia <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>src_prefix_lo:</dt>
  <dd>
    <t>The low-order octet of the source routing prefix, used by Shim programs
for routing optimization.  Set by Shield at ingress from Sophia policy.</t>
  </dd>
  <dt>dst_prefix_lo:</dt>
  <dd>
    <t>The low-order octet of the destination routing prefix, used by Shim
programs for routing optimization.  Set by Shield at ingress from Sophia
policy.</t>
  </dd>
  <dt>scratch:</dt>
  <dd>
    <t>Four bytes of per-hop scratch storage (scratch[0]-scratch[3]).
Used by Shim programs for temporary computation.  Scratch bytes form
two 16-bit registers: scratch_r0 (bytes 0x0E-0x0F) and scratch_r1
(bytes 0x10-0x11).  When CUSTOM flag is set, scratch_r0 and scratch_r1
carry exponent-encoded values whose semantics are deployment-defined.
Shield MUST zero scratch bytes at ingress unless CUSTOM is set.</t>
  </dd>
  <dt>checksum:</dt>
  <dd>
    <t>A 16-bit CRC-16/CCITT checksum computed over all 20 bytes
(0x00-0x13) of the Monad with the checksum field (0x12-0x13) zeroed during computation. See Section 5.4.</t>
  </dd>
</dl>

<section anchor="extended-register-option"><name>Extended Register Option</name>

<t>The 20-byte primary register file defined above MAY be complemented by
an optional Extended Register Option carried as a second IPv6 HbH option
within the same extension header.  The extended option provides
additional registers (r16-r31) using the complement space principle:
the bitwise inverse of the primary register map identifies available
compute capacity, formalized as a separate option with its own type
code.  This approach derives from the inverted subnet mask (wildcard
mask) formalism established in <xref target="RFC0950"/>.</t>

<t>The Extended Register Option is defined in <xref target="MONAD-EXT-REG"/>.  Nodes
that do not recognize the extended option MUST skip it per <xref target="RFC8200"/>
option type processing rules (act=00).  The primary Monad option format
is unchanged; the extended option is purely additive.</t>

</section>
</section>
<section anchor="flags-bitfield"><name>Flags Bitfield</name>

<t>The flags field (offset 0x0B) is an 8-bit field controlling per-packet
behavior:</t>

<figure><artwork><![CDATA[
 7   6   5   4   3   2   1   0
+---+---+---+---+---+---+---+---+
| C | Y | T | E | S | M |CUST| R |
+---+---+---+---+---+---+---+---+

C (0x80):  CHAOS — Chaos injection active (Yaldabaoth, the chaos injection subsystem)
Y (0x40):  CANARY — Canary deployment path
T (0x20):  TRACED — Full trace active (all hops emit to Anamnesis)
E (0x10):  ENCRYPT — Payload encrypted (intra-Kingdom TLS)
S (0x08):  SAMPLED — Statistically sampled
M (0x04):  MIRROR — Mirror copy (not original)
CUSTOM (0x02): Scratch and checksum fields carry exponent-encoded values
RSVD (0x01): Reserved, MUST be zero
]]></artwork></figure>

<t>Each bit MUST be set or cleared by Shim programs as needed. Shield
MUST ensure that the C, Y, T, E, and S bits are set to consistent
values at ingress based on policy.</t>

<t>CUSTOM (0x02): When set, the scratch fields (0x0E-0x11) and the checksum
field (0x12-0x13) carry exponent-encoded values whose interpretation is
defined by the active Sophia dictionary <xref target="SOPHIA"></xref>.  Shield MUST NOT set
CUSTOM unless configured by policy.</t>

<t>RSVD (0x01): Reserved.  Senders MUST set to zero.  Receivers MUST
ignore.</t>

</section>
<section anchor="checksum-field"><name>Checksum Field</name>

<t>The checksum field (offset 0x12) holds a 16-bit CRC-16/CCITT value
computed over all 20 bytes of the Monad header (offsets 0x00-0x13,
inclusive), with the checksum field itself (offsets 0x12-0x13) zeroed
during computation.</t>

<t>CRC-16/CCITT-FALSE Parameters:</t>

<dl>
  <dt>Polynomial:</dt>
  <dd>
    <t>x^16 + x^12 + x^5 + 1 (0x1021)</t>
  </dd>
  <dt>Initial Value:</dt>
  <dd>
    <t>0xFFFF</t>
  </dd>
  <dt>Input Reflection:</dt>
  <dd>
    <t>false</t>
  </dd>
  <dt>Output Reflection:</dt>
  <dd>
    <t>false</t>
  </dd>
  <dt>Final XOR:</dt>
  <dd>
    <t>0x0000</t>
  </dd>
</dl>

<t>Computation Procedure:</t>

<t>The checksum is computed as follows:</t>

<t><list style="numbers" type="1">
  <t>Create a working copy of the 20-byte Monad header.</t>
  <t>Set bytes 0x12-0x13 (the checksum field) to 0x0000.</t>
  <t>Compute CRC-16/CCITT over all 20 bytes of this modified header.</t>
  <t>Store the resulting 16-bit value at offset 0x12.</t>
</list></t>

<t>This ensures integrity protection over all Monad fields, including
version, flags, flow_label, latency_hint, and reserved fields.</t>

<t>Shield MUST compute the checksum when creating a packet at ingress.
Each hop MUST verify the checksum before processing. Each hop MUST
recompute the checksum after modifying any field in offsets 0x00-0x13.
The checksum field itself (offset 0x12-0x13) MUST NOT be included in
the checksum computation (set to zero during computation).</t>

<t>If a hop detects a checksum failure, the implementation MUST:</t>

<t>(a) Increment a per-interface error counter.</t>

<t>(b) Emit an EVENT_ANOMALY event to Anamnesis if tracing is enabled.</t>

<t>(c) Either drop the packet (RECOMMENDED) or forward it with an
      anomaly flag set, depending on deployment policy.</t>

<t>The CRC-16 checksum provides error detection against accidental bit
corruption only. It does NOT provide integrity protection against
malicious modification. See Security Considerations for guidance on
integrity protection mechanisms.</t>

</section>
</section>
<section anchor="exponent-encoding"><name>Exponent Encoding</name>

<section anchor="overview"><name>Overview</name>

<t>Exponent encoding is a compositional scheme for representing rich
metadata in compact form. An exponent-encoded field is a single octet
interpreted as a signed 8-bit integer (two's complement, range -128 to
+127).</t>

<t>The decoded value is computed as:</t>

<figure><artwork><![CDATA[
decoded = base ^ exponent
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>base is the base value defined by the Sophia dictionary entry <xref target="SOPHIA"></xref>
for this field position. If no Sophia entry exists, the default base
is 2.</t>
  <t>exponent is the signed 8-bit value stored in the field.</t>
  <t>The result is an unsigned integer value.</t>
</list></t>

<t>An optional multiplier (unit scaling factor) may be applied:</t>

<figure><artwork><![CDATA[
decoded = (base ^ exponent) * multiplier
]]></artwork></figure>

<t>The multiplier is also defined per-field in the Sophia dictionary
<xref target="SOPHIA"></xref>. If no entry exists, the multiplier is 1.</t>

<t>Encoders MUST NOT produce exponent values that would cause the decoded
value to exceed 2^64 - 1. Decoders that encounter such values MUST
treat them as errors and emit an anomaly event.</t>

</section>
<section anchor="sophia-dictionary-system"><name>Sophia Dictionary System</name>

<t>Sophia dictionaries are hierarchical structures stored as BPF hash maps
in kernel space and as structured tables in userspace. The full Sophia
dictionary format, including sub-dictionary type systems and QPACK
compression headers, is specified in <xref target="SOPHIA"></xref>. Each exponent field in
the Monad has a corresponding Sophia entry that defines:</t>

<t><list style="symbols">
  <t>Field name and purpose.</t>
  <t>Base value (typically 2, but may be 10 or other values).</t>
  <t>Multiplier for unit scaling.</t>
  <t>Semantic interpretation (lookup table from exponent to meaning).</t>
</list></t>

<section anchor="concrete-example"><name>Concrete Example</name>

<t>For src_service_id (offset 0x01):</t>

<figure><artwork><![CDATA[
Sophia Entry (service_identity):
  exponent = 0x03  (signed byte, value 3)
  base = 2
  multiplier = 1
  decoded = 2^3 * 1 = 8

Lookup: service ID 8 -> "architect" (service name)
        service ID 8 -> "fd00::8" (endpoint address)
        service ID 8 -> 0x0A03 (algorithm ID: ML-KEM-768)
]]></artwork></figure>

<t>For qos_class (offset 0x08):</t>

<figure><artwork><![CDATA[
Sophia Entry (qos_class):
  exponent = 0x02  (signed byte, value 2)
  base = 2
  multiplier = 8  (microseconds per hop)
  decoded = 2^2 * 8 = 32 microseconds

Interpretation: QoS class with 32-microsecond target latency.
]]></artwork></figure>

</section>
<section anchor="sophia-wire-format-and-distribution"><name>Sophia Wire Format and Distribution</name>

<t>Sophia dictionaries MUST be distributed to all Kingdom nodes via Wotan
topics <xref target="WOTAN"></xref>. Each dictionary entry MUST be serialized in CBOR format
(RFC 8949) and identified by a (service_id, field_type) tuple.</t>

<t>A minimal Sophia dictionary that all implementations MUST support
includes:</t>

<figure><artwork><![CDATA[
Root Dictionary:
  0x01 -> service_identity (sub_dict_1)
  0x02 -> flow_action (sub_dict_2)
  0x03 -> qos_class (sub_dict_3)

Sub-Dictionary: service_identity (min 16 entries)
  0x01 -> "shield" (ingress gateway)
  0x02 -> "shim" (internal hop)
  0x03 -> "architect" (application)
  ... (implementation-specific services)

Sub-Dictionary: flow_action (min 8 entries)
  0x00 -> forward (normal)
  0x01 -> trace (full event logging)
  0x02 -> sample (probabilistic logging)
  0x03 -> drop (discard packet)

Sub-Dictionary: qos_class (min 4 entries)
  0x00 -> best-effort
  0x01 -> interactive
  0x02 -> realtime
  0x03 -> bulk
]]></artwork></figure>

<t>Implementations MAY extend these dictionaries with additional entries.
Dictionary version negotiation is performed through the Monad's
reserved field and Anamnesis event correlation.</t>

</section>
</section>
</section>
<section anchor="sophia-dictionary-system-extended"><name>Sophia Dictionary System (Extended)</name>

<t>The Sophia dictionary system is the semantic layer that transforms raw
exponent bytes into meaningful values. It operates at multiple levels.
The full specification of the Sophia dictionary format, including
sub-dictionary type systems, QPACK compression headers for dictionary
entries, and hierarchical knowledge structures, is defined in <xref target="SOPHIA"></xref>.</t>

<section anchor="dictionary-architecture"><name>Dictionary Architecture</name>

<t>Sophia dictionaries are trees, not flat tables. Each byte narrows the
context for the next:</t>

<figure><artwork><![CDATA[
byte_0 = 0x01 -> sophia_root -> dict_id = 1 (service_identity)
byte_1 = 0x03 -> dict_1      -> "architect"

The SAME byte_1 value in DIFFERENT contexts:
[0x01, 0x03] -> service = "architect"
[0x02, 0x03] -> action  = "sample"
[0x03, 0x03] -> qos     = "realtime"
]]></artwork></figure>

<t>With K key positions, the expressible meaning space is:</t>

<figure><artwork><![CDATA[
M = 256^K

K=1:  256 meanings           (8 bits)
K=2:  65,536 meanings        (16 bits)
K=3:  16,777,216 meanings    (24 bits)
K=8:  1.844 x 10^19 meanings (64 bits)
]]></artwork></figure>

</section>
<section anchor="bpf-map-implementation"><name>BPF Map Implementation</name>

<t>Sophia dictionaries are stored as BPF hash maps in kernel space per
RFC 9669. Each lookup is O(1) complexity. A two-level lookup (root map
to sub-dictionary) costs two hash table hits — still under 100
nanoseconds on modern hardware.</t>

<t>Dictionary updates propagate cluster-wide in under 10 milliseconds via
atomic BPF map replacement through Wotan <xref target="WOTAN"></xref>. This allows
hot-swapping of service identifiers, QoS policies, and Shim behavior
without restarting any kernel components.</t>

</section>
<section anchor="minimum-required-dictionary"><name>Minimum Required Dictionary</name>

<t>All implementations MUST support the following minimum Sophia dictionary:</t>

<figure><artwork><![CDATA[
Root entries (1 byte key):
  0x01 = service_identity    (sub_dict_1)
  0x02 = flow_action         (sub_dict_2)
  0x03 = qos_class           (sub_dict_3)
  0x04 = deploy_ring         (sub_dict_4)
  0x05 = circuit_state       (sub_dict_5)
  0x06 = mesh_flags          (sub_dict_6)

service_identity (sub_dict_1):
  Must include entries for all active service IDs in the Kingdom.
  Each entry maps to (service_name, endpoint_address, metadata).

flow_action (sub_dict_2):
  0x00 = FORWARD      (default: pass packet to next hop)
  0x01 = TRACE        (emit full event to Anamnesis)
  0x02 = SAMPLE       (emit with probabilistic probability)
  0x03 = DROP         (discard packet)
  0x04 = MIRROR       (clone to monitoring interface)
  (0x10-0x14 reserved for PQC key lifecycle events)

qos_class (sub_dict_3):
  0x00 = BULK         (low priority, best effort)
  0x01 = INTERACTIVE  (medium priority, <100ms latency)
  0x02 = REALTIME     (high priority, <10ms latency)

deploy_ring (sub_dict_4):
  0x00 = CANARY       (test deployment)
  0x01 = STAGING      (pre-production)
  0x02 = PRODUCTION   (user-facing)

circuit_state (sub_dict_5):
  0x00 = CLOSED       (normal operation)
  0x01 = OPEN         (circuit breaker triggered)
  0x02 = HALF_OPEN    (recovery attempt)

mesh_flags (sub_dict_6):
  0x00 = DEFAULT      (standard routing)
  0x01 = NAT_INGRESS  (behind NAT)
  0x02 = NAT_EGRESS   (acting as NAT)
  (implementation-specific flags beyond 0x02)
]]></artwork></figure>

</section>
</section>
<section anchor="iana-registration-procedures"><name>IANA Registration Procedures</name>

<t>This section provides a step-by-step guide for registering new metric
types, extension headers, and protocol parameters within the Unheaded
Protocol Parameters registry group.</t>

<section anchor="overview-1"><name>Overview</name>

<t>The Unheaded Protocol defines 12 IANA registries (see <xref target="iana-considerations"></xref>).
New allocations within these registries follow the registration
procedures specified for each registry (Standards Action, Specification
Required, Expert Review, or First Come First Served per RFC 8126).</t>

</section>
<section anchor="step-by-step-registration-guide"><name>Step-by-Step Registration Guide</name>

<t>To register a new metric type or protocol extension:</t>

<section anchor="step-1-identify-the-target-registry"><name>Step 1: Identify the Target Registry</name>

<t>Determine which of the 12 registries your allocation falls under:</t>

<figure><artwork><![CDATA[
Registry                              Policy
------------------------------------  -------------------------
Monad Protocol Version Numbers        Standards Action
Monad Flags                           Specification Required
Monad Flow Actions                    Expert Review
Kingdom Mode Values                   Standards Action
IPv6 Hop-by-Hop Option Type           IETF Review
IPv6 Next Header Type                 Standards Action
Sophia Dictionary Namespace           First Come First Served
Anamnesis Event Types                 Specification Required
Error Codes                           Specification Required
TLV Type Allocations                  Specification Required
PQC Algorithm Identifiers             Specification Required
Wotan Topic Namespace                 Expert Review
]]></artwork></figure>

</section>
<section anchor="step-2-prepare-the-registration-request"><name>Step 2: Prepare the Registration Request</name>

<t>A registration request MUST include:</t>

<t><list style="numbers" type="1">
  <t><strong>Name</strong>: A human-readable identifier for the allocation.</t>
  <t><strong>Code Point</strong>: The requested numeric value (or "TBD" for IANA
assignment).</t>
  <t><strong>Description</strong>: A clear, concise description of the semantic meaning.</t>
  <t><strong>Specification Reference</strong>: A reference to the document that fully
specifies the allocation's behavior.</t>
  <t><strong>Wire Format Impact</strong>: A statement confirming whether the allocation
changes the Monad wire format (MUST NOT for v0x01 allocations) or
uses extension headers only.</t>
</list></t>

</section>
<section anchor="step-3-submit-the-registration"><name>Step 3: Submit the Registration</name>

<t>For registries requiring Expert Review or Specification Required:</t>

<t><list style="numbers" type="1">
  <t>Write an Internet-Draft describing the allocation.</t>
  <t>Include the allocation in the IANA Considerations section.</t>
  <t>Submit the draft to the IETF for review.</t>
  <t>The designated expert(s) will evaluate per the registry policy.</t>
</list></t>

<t>For First Come First Served registries (Sophia Dictionary Namespace):</t>

<t><list style="numbers" type="1">
  <t>Submit the registration template directly to IANA.</t>
  <t>IANA assigns the allocation without expert review.</t>
</list></t>

</section>
<section anchor="step-4-verify-non-conflict"><name>Step 4: Verify Non-Conflict</name>

<t>Before submitting, verify that:</t>

<t><list style="numbers" type="1">
  <t>The requested code point is not already allocated.</t>
  <t>The allocation does not conflict with existing semantics.</t>
  <t>The allocation does not require changes to the frozen wire format.</t>
</list></t>

</section>
</section>
<section anchor="example-registration-unheadedmetricv1"><name>Example Registration: UNHEADED_METRIC_V1</name>

<t>The following is an example registration for a new metric type
carried in an IPv6 Hop-by-Hop extension header.</t>

<section anchor="unheadedmetricv1-definition"><name>UNHEADED_METRIC_V1 Definition</name>

<figure><artwork><![CDATA[
Name:           UNHEADED_METRIC_V1
Type:           0x2A (42)
Location:       IPv6 Hop-by-Hop extension header (separate option
                from the Monad option)
Size:           52 bytes
Critical:       No (receivers that do not understand this option
                MUST skip it per RFC 8200 option type processing)
]]></artwork></figure>

</section>
<section anchor="wire-format"><name>Wire Format</name>

<t>UNHEADED_METRIC_V1 is carried as a separate option TLV within the
same Hop-by-Hop extension header that contains the Monad option.
It does NOT modify the 20-byte Monad wire format.</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type = 0x2A  |   Len = 52    |    Metric Version = 0x01      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Service ID (4 bytes)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Metric Type         |          Metric Flags         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Metric Value (8 bytes)                      |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Timestamp (8 bytes)                         |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Latency Bucket (8 bytes)                    |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   Flow Label Hash (8 bytes)                   |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  Reserved (4 bytes)                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Fields:</t>

<dl>
  <dt>Metric Version:</dt>
  <dd>
    <t>Unsigned 16-bit integer. Current version: 0x01.</t>
  </dd>
  <dt>Service ID:</dt>
  <dd>
    <t>32-bit identifier of the service emitting the metric. Maps to
Sophia service_identity entries <xref target="SOPHIA"></xref>.</t>
  </dd>
  <dt>Metric Type:</dt>
  <dd>
    <t>16-bit metric classification per the Sophia observability entry
schema (0=counter, 1=gauge, 2=histogram, 3=summary).</t>
  </dd>
  <dt>Metric Flags:</dt>
  <dd>
    <t>16-bit bitfield. Bit 0: aggregatable. Bit 1: per-hop. Bit 2:
cumulative. Bits 3-15: reserved (MUST be zero).</t>
  </dd>
  <dt>Metric Value:</dt>
  <dd>
    <t>64-bit unsigned integer representing the metric sample value.</t>
  </dd>
  <dt>Timestamp:</dt>
  <dd>
    <t>64-bit unsigned integer representing nanoseconds since Unix epoch.</t>
  </dd>
  <dt>Latency Bucket:</dt>
  <dd>
    <t>64-bit unsigned integer encoding the latency histogram bucket
index (Prometheus-compatible bucketing).</t>
  </dd>
  <dt>Flow Label Hash:</dt>
  <dd>
    <t>64-bit hash of the IPv6 Flow Label for correlation with Anamnesis
events and Wotan per-flow state <xref target="WOTAN"></xref>.</t>
  </dd>
  <dt>Reserved:</dt>
  <dd>
    <t>32 bits. MUST be zero on send. MUST be ignored on receive.</t>
  </dd>
</dl>

</section>
<section anchor="registration-template"><name>Registration Template</name>

<figure><artwork><![CDATA[
Registry:       Unheaded TLV Type Allocations
Type:           0x2A
Name:           UNHEADED_METRIC_V1
Critical:       No (C=0)
Length:         52 bytes (fixed)
Reference:      [this document]
]]></artwork></figure>

</section>
<section anchor="deployment-notes"><name>Deployment Notes</name>

<t>UNHEADED_METRIC_V1 is an OPTIONAL extension. Implementations that do
not recognize Type 0x2A MUST skip the option per RFC 8200 processing
rules (high-order bits 00 = skip on unrecognized). The 20-byte Monad
wire format is NOT modified by this extension.</t>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="wire-format-immutability-threat-model"><name>Wire Format Immutability Threat Model</name>

<t>The Monad wire format is frozen at version 0x01 (20 bytes). This
immutability is a security property, not merely a versioning decision.</t>

<section anchor="threat-parser-divergence-attacks"><name>Threat: Parser Divergence Attacks</name>

<t>If implementations parse different wire formats under the same version
number, an attacker can craft packets that are interpreted differently
by different hops (parser divergence). This enables:</t>

<t><list style="symbols">
  <t>Policy bypass: One hop reads a DROP action where another reads
FORWARD.</t>
  <t>State corruption: Monad field values are misaligned between hops.</t>
  <t>Fingerprint evasion: Packets evade IDS/IPS by exploiting parser
differences.</t>
</list></t>

<t>Mitigation: All implementations of version 0x01 MUST parse exactly
20 bytes at the offsets specified in Section 5.1. Any deviation from
the frozen wire format constitutes a protocol violation. The version
field (offset 0x00) MUST be checked first; unknown versions MUST
cause immediate silent drop.</t>

</section>
<section anchor="threat-wire-format-modification-via-extension"><name>Threat: Wire Format Modification via Extension</name>

<t>An attacker or misconfigured implementation could attempt to redefine
the meaning of existing Monad fields by registering a new extension
that changes their interpretation.</t>

<t>Mitigation: Extensions (TLV types, Kingdom Mode Extended Registers,
UNHEADED_METRIC_V1) MUST be carried in separate option TLVs within
the Hop-by-Hop extension header. They MUST NOT redefine the meaning
of any field at offsets 0x00-0x13 of the Monad.</t>

</section>
<section anchor="verification-procedures"><name>Verification Procedures</name>

<t>Implementations SHOULD perform the following verification checks to
ensure wire format integrity:</t>

<t><list style="numbers" type="1">
  <t><strong>Version Check</strong>: Offset 0x00 MUST equal 0x01. Silent drop on
mismatch.</t>
  <t><strong>Size Check</strong>: Monad option Len field MUST be &gt;= 20. Drop on
mismatch.</t>
  <t><strong>Checksum Check</strong>: CRC-16/CCITT over all 20 bytes (0x00-0x13 with checksum field zeroed) MUST match
bytes 0x12-0x13. Drop or flag on mismatch.</t>
  <t><strong>Flags Check</strong>: Bit 0 (RSVD) MUST be zero. Flag anomaly if set.</t>
  <t><strong>HbH Count Check</strong>: Exactly zero or one Hop-by-Hop extension
headers per packet. Drop on multiple.</t>
</list></t>

</section>
</section>
<section anchor="extension-header-sanitization"><name>Extension Header Sanitization</name>

<t>Packets entering the Limited Domain from external sources MUST have any
existing Hop-by-Hop options replaced or removed. External packets MUST
NOT carry Unheaded Monad options. Packets exiting the Limited Domain
MUST have their Hop-by-Hop options stripped before reaching the external
network.</t>

<t>These requirements apply to both standard Monad fields and Kingdom Mode
Extended Registers.</t>

<t>Shield ingress MUST validate that ingress packets do not already carry
the Unheaded Monad option type. If found, the packet MUST be dropped and
an anomaly event MUST be logged.</t>

<t>Shield egress MUST validate that the ULA prefix in any Kingdom Mode
packet matches the configured Kingdom prefix. If mismatch is detected,
the packet MUST be dropped.</t>

</section>
<section anchor="bpf-containment"><name>BPF Containment</name>

<t>Shim programs are verified by the kernel BPF verifier per RFC 9669, which
ensures:</t>

<t><list style="symbols">
  <t>No out-of-bounds memory access.</t>
  <t>Bounded loop execution (no infinite loops).</t>
  <t>No unauthorized kernel function calls.</t>
  <t>Stack safety and register constraints.</t>
</list></t>

<t>Shim program loading REQUIRES CAP_BPF and CAP_NET_ADMIN capabilities (or
equivalent). Implementations MUST use Linux kernel version 5.17 or later.</t>

</section>
<section anchor="integrity"><name>Integrity</name>

<t>The CRC-16 checksum detects accidental bit corruption only. It does NOT
provide integrity protection against malicious modification.</t>

<t>Deployments requiring integrity protection against compromised
intermediate nodes MUST use one of:</t>

<t>(a) IPsec ESP (RFC 4303) to protect the entire packet including
      extension headers.</t>

<t>(b) The optional HMAC field (not defined in this document) appended
      to the Monad, using a pre-shared key distributed via Sophia
      <xref target="SOPHIA"></xref>.</t>

<t>(c) ML-DSA-65 (FIPS 204) signatures at Shield boundaries for
      post-quantum integrity.</t>

<t>The choice of integrity mechanism is a deployment decision outside the
scope of this specification.</t>

</section>
<section anchor="trust-boundary"><name>Trust Boundary</name>

<t>The trust boundary is the Limited Domain boundary. Within the domain, all
Shim programs and Wotan instances are operator-controlled. Cross-domain
routing is NOT supported. Inter-domain traffic MUST be encapsulated
(IP-in-IP or VPN tunnel) with the Hop-by-Hop option stripped at the
egress boundary and reconstructed at the ingress boundary of the next
domain.</t>

</section>
<section anchor="post-quantum-threat-model"><name>Post-Quantum Threat Model</name>

<t>PQC identity binding (Section 9) protects against:</t>

<t><list style="symbols">
  <t>Harvest-now-decrypt-later attacks on metadata correlation.</t>
  <t>Service identity spoofing by a quantum-capable adversary within the
Limited Domain.</t>
  <t>Key compromise via classical cryptanalysis of traditional key
agreement algorithms.</t>
</list></t>

<t>The hybrid PQ/T mode (RFC 9370) ensures security during transition while
CRQCs are not yet available.</t>

</section>
<section anchor="kingdom-mode-threat-model"><name>Kingdom Mode Threat Model</name>

<t>Kingdom Mode Extended Registers (Section 8) are only valid within the
Limited Domain. An external attacker who can inject packets with forged
ULA prefixes and K flags set could:</t>

<t><list style="symbols">
  <t>Forge PQC fingerprints to bypass per-hop verification.</t>
  <t>Inject false Extended Register values to manipulate Shim program
behavior.</t>
</list></t>

<t>Shield ingress MUST validate ULA prefix provenance and MUST reject Kingdom
Mode packets from outside the domain.</t>

</section>
</section>
<section anchor="backwards-compatibility-statement-draft-05-to-draft-06"><name>Backwards Compatibility Statement (draft-05 to draft-06)</name>

<t>This section formally documents that the transition from draft-05 to
draft-06 is non-breaking.</t>

<section anchor="wire-format-1"><name>Wire Format</name>

<t>The Monad wire format (20 bytes, version 0x01) is UNCHANGED between
draft-05 and draft-06. All field offsets, sizes, types, and the total
size remain identical. Implementations conforming to draft-05 will
correctly parse and process packets conforming to draft-06, and vice
versa.</t>

</section>
<section anchor="registry-additions"><name>Registry Additions</name>

<t>Draft-06 adds the UNHEADED_METRIC_V1 example registration (Type 0x2A,
52 bytes in a separate HbH option TLV). This is a purely additive
extension. Implementations that do not recognize Type 0x2A will skip
the option per RFC 8200 processing rules. No existing registry entries
are modified or removed.</t>

</section>
<section anchor="new-sections"><name>New Sections</name>

<t>The following sections are new in draft-06 and do not modify any
existing protocol behavior:</t>

<t><list style="numbers" type="1">
  <t>IANA Registration Procedures (Section 9): Informational guidance
for new registrations.</t>
  <t>Security Considerations — Wire Format Immutability Threat Model
(Section 10.1): Documents threats and mitigations for the frozen
wire format.</t>
  <t>Cross-References to Sophia draft-03 <xref target="SOPHIA"></xref> and Wotan draft-03
<xref target="WOTAN"></xref>.</t>
  <t>This backwards compatibility statement.</t>
</list></t>

</section>
<section anchor="interoperability"><name>Interoperability</name>

<t>A deployment running a mix of draft-05 and draft-06 implementations
will operate correctly. Draft-06 implementations produce identical
wire-format packets to draft-05 implementations. The only difference
is that draft-06 implementations MAY additionally produce
UNHEADED_METRIC_V1 options, which draft-05 implementations will skip
per standard HbH option processing.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>All registries defined in this document are placed in a new
"Unheaded Protocol Parameters" registry group, consistent with
IANA practice for protocol families (cf. "QUIC Transport Parameters"
for <xref target="RFC9000"></xref>).</t>

<section anchor="ipv6-hop-by-hop-option-type"><name>IPv6 Hop-by-Hop Option Type</name>

<t>A new IPv6 Hop-by-Hop option type is requested:</t>

<figure><artwork><![CDATA[
Type:               TBD (suggested: 0x3E)
Name:               Unheaded Monad Option
Change Controller:  IESG
Reference:          This document
]]></artwork></figure>

<t>The high-order two bits MUST be 00 (skip on unrecognized) and the third
bit MUST be 1 (option data may change en-route). This yields the format
001xxxxx.</t>

</section>
<section anchor="monad-protocol-version-registry"><name>Monad Protocol Version Registry</name>

<t>IANA is requested to create a new registry entitled "Monad Protocol
Version Numbers" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Standards Action <xref target="RFC8126"></xref></t>

<figure><artwork><![CDATA[
Value       Description                     Reference
-------     ---------------------------     ---------
0x00        Reserved (MUST NOT be used)     [this document]
0x01        Unheaded Protocol v1            [this document]
0x02-0xEF   Unassigned
0xF0-0xFE   Reserved for Experimental Use   [this document]
0xFF        Reserved (MUST NOT be used)     [this document]
]]></artwork></figure>

<t>The version field occupies offset 0x00 of the Monad register file
(Section 5.3). Receivers MUST drop packets with unknown version
values as specified in Section 5.3.</t>

</section>
<section anchor="monad-flags-bitfield-registry"><name>Monad Flags Bitfield Registry</name>

<t>IANA is requested to create a new registry entitled "Monad Flags"
in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Specification Required <xref target="RFC8126"></xref></t>

<t>The flags field occupies offset 0x07 of the Monad register file
(Section 5.5).</t>

<figure><artwork><![CDATA[
Bit   Name      Description                                     Reference
---   --------  ------------------------------------------      ---------
7     CHAOS     Chaos injection active (Yaldabaoth, the chaos injection subsystem)  [this document]
6     CANARY    Canary deployment path marker                    [this document]
5     TRACED    Full trace active (all hops emit to Anamnesis)   [this document]
4     ENCRYPT   Payload encrypted (intra-Kingdom TLS)            [this document]
3     SAMPLED   Statistical sampling active                      [this document]
2     MIRROR    Mirror copy (not original packet)                [this document]
1     CUSTOM    Scratch fields carry exponent-encoded values     [this document]
0     RSVD      Reserved. Senders MUST set to zero.              [this document]
]]></artwork></figure>

</section>
<section anchor="monad-flow-action-registry"><name>Monad Flow Action Registry</name>

<t>IANA is requested to create a new registry entitled "Monad Flow
Actions" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Expert Review <xref target="RFC8126"></xref></t>

<figure><artwork><![CDATA[
Value       Name              Description                       Reference
-------     --------          ---------------------------       ---------
0x00        FORWARD           Normal forwarding (default)       [this document]
0x01        TRACE             Full event logging to Anamnesis   [this document]
0x02        SAMPLE            Probabilistic event logging       [this document]
0x03        DROP              Discard packet                    [this document]
0x04        MIRROR            Clone to monitoring interface     [this document]
0x05        RATE_LIMIT        Apply rate limiting policy        [this document]
0x06        REDIRECT          Redirect to alternate dest        [this document]
0x07        INJECT            Inject synthetic packet           [this document]
0x08-0x0F   Unassigned
0x10        KEY_ROTATE        PQC key rotation event            [this document]
0x11        KEY_REVOKE        PQC key revocation event          [this document]
0x12        KEY_DISTRIBUTE    PQC key distribution event        [this document]
0x13        KEY_VERIFY        PQC key verification event        [this document]
0x14        KEY_CHALLENGE     PQC challenge-response            [this document]
0x15-0xEF   Unassigned
0xF0-0xFE   Experimental Use                                    [this document]
0xFF        Reserved          MUST NOT be used                  [this document]
]]></artwork></figure>

</section>
<section anchor="kingdom-mode-registry"><name>Kingdom Mode Registry</name>

<t>IANA is requested to create a new registry entitled "Kingdom Mode
Values" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Standards Action <xref target="RFC8126"></xref></t>

<figure><artwork><![CDATA[
Value   Name            Description                             Reference
-----   -----------     ----------------------------------      ---------
0b00    NORMAL          Standard processing                     [this document]
0b01    PRIORITY        Priority processing with address-aware  [this document]
0b10    EXPERIMENTAL    Development/testing mode                [this document]
0b11    RESERVED        Reserved. MUST NOT be used.             [this document]
]]></artwork></figure>

</section>
<section anchor="ipv6-next-header-type-allocation"><name>IPv6 Next Header Type Allocation</name>

<figure><artwork><![CDATA[
Next Header:    0xFE (254)
Name:           Unheaded Monad Protocol
Change Controller: IESG
Reference:      This document
]]></artwork></figure>

<t>Note: This allocation is reserved for future use and is not required by
the normative protocol path, which uses IPv6 Hop-by-Hop options.</t>

</section>
<section anchor="ipv6-flow-label-per-rfc-6437"><name>IPv6 Flow Label Per RFC 6437</name>

<t>Monad packets MUST use the IPv6 Flow Label field as a packet trace
identifier per RFC 6437.</t>

</section>
<section anchor="sophia-dictionary-namespace-registry"><name>Sophia Dictionary Namespace Registry</name>

<figure><artwork><![CDATA[
Registry Name:  Unheaded Sophia Dictionary Namespace
Template:       Dictionary Name, Program Name, Version,
                Organization, Contact Email
Policy:         First Come First Served
]]></artwork></figure>

</section>
<section anchor="anamnesis-event-type-registry"><name>Anamnesis Event Type Registry</name>

<figure><artwork><![CDATA[
Registry Name:  Unheaded Anamnesis Event Types
Policy:         Specification Required

Initial entries:
  EVENT_BORN (0x00)      Packet created at Shield (birth)
  EVENT_COMPUTED (0x01)  Shim executed, Monad updated
  EVENT_WOTAN_RD (0x02)  Wotan memory read
  EVENT_WOTAN_WR (0x03)  Wotan memory write
  EVENT_CHAOS (0x04)     Chaos mode applied
  EVENT_ROLLBACK (0x05)  Monad rolled back
  EVENT_DIED (0x06)      Packet reached Shield (death)
  EVENT_KEY_OP (0x07)    PQC key lifecycle event
  EVENT_ANOMALY (0x08)   Integrity or version error
]]></artwork></figure>

</section>
<section anchor="error-code-registry"><name>Error Code Registry</name>

<figure><artwork><![CDATA[
Registry Name:  Unheaded Protocol Error Codes
Policy:         Specification Required

Initial entries:
  NO_ERROR (0x00)                    No error (data packet)
  CRC_VALIDATION_FAILED (0x01)       CRC-16 checksum mismatch
  VERSION_NOT_SUPPORTED (0x02)       Unknown Monad version
  FLOW_LABEL_INVALID (0x03)          IPv6 flow label validation failed
  ARITHMETIC_OVERFLOW (0x04)         Exponent decoding overflow
  WOTAN_BOUNDS_CHECK_FAILED (0x05)   Wotan helper offset out of bounds
  MULTIPLE_HBH_HEADERS (0x06)        Multiple HbH options present
  UNKNOWN_CRITICAL_TLV (0x07)        Unknown critical TLV type
  WAL_SEQNO_DISCONTINUITY (0x08)     WAL sequence number gap detected
  INSUFFICIENT_BUFFER_SPACE (0x09)   No space for Monad in packet
  FLOW_STATE_CORRUPTION (0x0A)       Wotan flow state invalid
  TLS_HANDSHAKE_FAILURE (0x0B)       TLS/QUIC handshake error
  QUIC_VERSION_MISMATCH (0x0C)       QUIC version negotiation failed
  RESERVED (0x0D)                    Reserved for future use
  0x0E-0x1E                          Unallocated (future use)
  0x1F-0xFF                          Private use (testing/greasing)
]]></artwork></figure>

</section>
<section anchor="tlv-type-registry-extended"><name>TLV Type Registry (Extended)</name>

<figure><artwork><![CDATA[
Registry Name:  Unheaded TLV Type Allocations
Policy:         Specification Required

Reserved Range: 0x00-0x1F (Monad Foundation)
Reserved Range: 0x20-0x3F (Sophia Dictionary)
Reserved Range: 0x40-0x5F (Wotan Memory)
Reserved Range: 0x60-0x7F (Future Extensions)

With critical bit:
  0x80-0x9F (Monad Foundation, critical)
  0xA0-0xBF (Sophia Dictionary, critical)
  0xC0-0xDF (Wotan Memory, critical)
  0xE0-0xFF (Future Extensions, critical)

Initial entries:
  0x01 (Ring Path Counter, optional, 4 bytes, this document)
  0x2A (UNHEADED_METRIC_V1, optional, 52 bytes, this document)
]]></artwork></figure>

</section>
<section anchor="pqc-algorithm-registry"><name>PQC Algorithm Registry</name>

<figure><artwork><![CDATA[
Registry Name:  Unheaded PQC Algorithm Identifiers
Policy:         Specification Required

Initial entries:
  ML-KEM-768 (0x01, 1184, FIPS 203)
  ML-KEM-1024 (0x02, 1568, FIPS 203)
  ML-DSA-65 (0x03, 1952, FIPS 204)
  ML-DSA-87 (0x04, 2592, FIPS 204)
  SLH-DSA-SHA2-128s (0x05, 32, FIPS 205)
]]></artwork></figure>

</section>
<section anchor="mbc-opcode-numbers-new-in-draft-06-update"><name>MBC Opcode Numbers (NEW in draft-06 update)</name>

<t>IANA is requested to create a new registry entitled "UPC MBC Opcode
Numbers" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Specification Required <xref target="RFC8126"></xref></t>

<t>The MBC (Monad Bytecode) ISA defines the instruction set for the
Unheaded Protocol Computer (UPC), a Turing-complete computational
model operating within BPF programs.  Each instruction is a 32-bit
word with the opcode in bits [31:24].</t>

<figure><artwork><![CDATA[
Value   Mnemonic    Description                                   Reference
-----   --------    -------------------------------------------   ---------
0x00    NOP         No operation                                  [this document]
0x01    ADD         dst = dst + src                               [this document]
0x02    SUB         dst = dst - src                               [this document]
0x03    MUL         dst = dst * src                               [this document]
0x04    DIV         dst = dst / src (unsigned)                    [this document]
0x05    MOD         dst = dst % src (unsigned)                    [this document]
0x06    NEG         dst = -dst                                    [this document]
0x07    AND         dst = dst & src                               [this document]
0x08    OR          dst = dst | src                               [this document]
0x09    XOR         dst = dst ^ src                               [this document]
0x0A    NOT         dst = ~dst                                    [this document]
0x0B    SHL         dst = dst << imm16                            [this document]
0x0C    SHR         dst = dst >> imm16 (logical)                  [this document]
0x0D    SAR         dst = dst >> imm16 (arithmetic)               [this document]
0x0E    MOV         dst = src                                     [this document]
0x0F    MOVI        dst = zero_extend(imm16)                      [this document]
0x10    CMP         flags = cmp(dst, src)                         [this document]
0x17    INT         Software interrupt (push flags+PC, jmp IVT)   [this document]
0x18    IRET        Return from interrupt (pop PC+flags)          [this document]
0x1A    PUSH        SP -= 1; ram[SP] = regs[dst]                  [this document]
0x1B    POP         regs[dst] = ram[SP]; SP += 1                  [this document]
0x1C    LOAD_IMM32  regs[dst][31:16] = imm16                      [this document]
0x1D    ADDI        dst = dst + sign_extend(imm16)                [this document]
0x20    JMP         pc += imm16_signed (unconditional)            [this document]
0x21    JZ          if Z: pc += imm16_signed                      [this document]
0x22    JNZ         if !Z: pc += imm16_signed                     [this document]
0x23    JN          if N: pc += imm16_signed                      [this document]
0x24    JP          if !N: pc += imm16_signed                     [this document]
0x25    JC          if C: pc += imm16_signed                      [this document]
0x26    JNC         if !C: pc += imm16_signed                     [this document]
0x27    CALL        push(PC+1); pc = imm16                        [this document]
0x28    RET         Pop PC from stack                              [this document]
0x29    JMPR        pc = regs[dst] (indirect jump)                [this document]
0x2A    CALLR       push(PC+1); pc = regs[dst] (indirect call)    [this document]
0x30    LD          dst = ram[src + imm16] (32-bit load)          [this document]
0x31    ST          ram[dst + imm16] = src (32-bit store)         [this document]
0x32    LDB         dst = ram[src + imm16] (byte load)            [this document]
0x33    STB         ram[dst + imm16] = src & 0xFF (byte store)    [this document]
0x34    LDH         dst = ram[src + imm16] (16-bit load)          [this document]
0x35    STH         ram[dst + imm16] = src & 0xFFFF (16-bit store)[this document]
0x36    SHLR        dst = dst << (src & 31) (register shift)      [this document]
0x37    SHRR        dst = dst >> (src & 31) (logical, register)   [this document]
0x38    SARR        dst = dst >> (src & 31) (arithmetic, register)[this document]
0x39    MULH        dst = (i64(dst)*i64(src))>>32 (signed high)   [this document]
0x3A    MULHU       dst = (u64(dst)*u64(src))>>32 (unsigned high) [this document]
0x3B    CLI         Clear interrupt flag (disable interrupts)     [this document]
0x3C    STI         Set interrupt flag (enable interrupts)        [this document]
0x3D    XCHG        Atomic exchange: dst <-> ram[src+imm]         [this document]
0x3E    CAS         Compare-and-swap: if ram==r0 then ram=r2      [this document]
0x40    SYSCALL     Invoke I/O callback; imm16 = syscall number   [this document]
0x41-0xFE           Unassigned
0xFF    HALT        Halt execution; sets halted flag               [this document]
]]></artwork></figure>

<section anchor="mbc-instruction-encoding"><name>MBC Instruction Encoding</name>

<t>All MBC instructions use a fixed 32-bit encoding:</t>

<figure><artwork><![CDATA[
 31       24 23    20 19    16 15                 0
+-----------+-------+-------+---------------------+
|  Opcode   |  Dst  |  Src  |       Imm16         |
|  (8 bits) | (4 b) | (4 b) |    (16 bits)        |
+-----------+-------+-------+---------------------+
]]></artwork></figure>

<t>Dst and Src index into the 16-entry register file (r0-r15).
Register r15 is the stack pointer (SP).  CPU status flags:
bit 0 = Zero (Z), bit 1 = Negative (N), bit 2 = Carry (C).</t>

</section>
</section>
<section anchor="mbc-syscall-numbers-new-in-draft-06-update"><name>MBC Syscall Numbers (NEW in draft-06 update)</name>

<t>IANA is requested to create a new registry entitled "UPC MBC Syscall
Numbers" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Expert Review <xref target="RFC8126"></xref></t>

<t>MBC syscalls are invoked via the SYSCALL instruction (opcode 0x40).
The syscall number is carried in imm16.  Two syscall classes exist:
native MBC syscalls (0x01-0x0F) and Linux-compatible syscalls
(dispatched via INT 0x80 with syscall number in r0).</t>

<section anchor="native-mbc-syscalls"><name>Native MBC Syscalls</name>

<figure><artwork><![CDATA[
Value   Name              Description                             Reference
-----   --------          -----------------------------------     ---------
0x01    SYS_DRAW_FRAME    Copy pixel buffer to screen_map         [this document]
0x02    SYS_GET_KEY       Read keyboard state from kbd_map        [this document]
0x03    SYS_GET_TICKS     Return bpf_ktime_get_ns() / 1000000    [this document]
0x04    SYS_SLEEP         Set sleep_until = now + r0 * 1000000    [this document]
0x05-0x0F                 Unassigned (native syscalls)
]]></artwork></figure>

</section>
<section anchor="linux-compatible-syscalls-int-0x80"><name>Linux-Compatible Syscalls (INT 0x80)</name>

<figure><artwork><![CDATA[
Value   Name              Description                             Reference
-----   --------          -----------------------------------     ---------
1       SYS_EXIT          Halt CPU with exit code                 [this document]
2       SYS_FORK          Create child process (simplified)       [this document]
3       SYS_READ          Read from file descriptor               [this document]
4       SYS_WRITE         Write to file descriptor                [this document]
5       SYS_OPEN          Open a file                             [this document]
6       SYS_CLOSE         Close a file descriptor                 [this document]
7       SYS_WAITPID       Wait for child process                  [this document]
11      SYS_EXECVE        Execute a program                       [this document]
20      SYS_GETPID        Get process (instance) ID               [this document]
45      SYS_BRK           Set/query program break (heap end)      [this document]
54      SYS_IOCTL         Device control                          [this document]
90      SYS_MMAP          Map memory                              [this document]
91      SYS_MUNMAP         Unmap memory                           [this document]
120     SYS_CLONE         Create child process/thread             [this document]
122     SYS_UNAME         Get system information                  [this document]
146     SYS_WRITEV        Write scatter/gather                    [this document]
158     SYS_SCHED_YIELD   Yield the processor                     [this document]
162     SYS_NANOSLEEP     High-resolution sleep                   [this document]
190     SYS_VFORK         Create child, suspend parent            [this document]
265     SYS_CLOCK_GETTIME Get clock time                          [this document]
]]></artwork></figure>

</section>
</section>
<section anchor="upc-memory-region-types-new-in-draft-06-update"><name>UPC Memory Region Types (NEW in draft-06 update)</name>

<t>IANA is requested to create a new registry entitled "UPC Memory
Region Types" in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Specification Required <xref target="RFC8126"></xref></t>

<t>The UPC memory model defines a 32-bit flat address space with
memory-mapped I/O regions.  Each region has a defined base address,
size, and access semantics.</t>

<figure><artwork><![CDATA[
Base Address    Size        Name          Description               Reference
-----------     --------    ----------    ------------------------  ---------
0x0000_0000     448 KiB     RAM           General-purpose RAM       [this document]
0x0006_8000     4 bytes     KBD_IO        Keyboard I/O word         [this document]
0x0007_0000     64 000 B    SCREEN        Screen I/O (320x200 8bpp) [this document]
0x000F_0000     128 KiB     DEBUG         Debug region              [this document]
0x0011_0000     4 MiB       WAD           WAD data region           [this document]
0x0052_0000     16 MiB      HEAP          Heap (bump allocator)     [this document]
0x03F0_0000     (grows down) STACK        Stack (grows downward)    [this document]
0x0200_0000*    4 MiB       RAMDISK       Block device (512B blocks)[this document]
]]></artwork></figure>

<t>*RAMDISK base is in word-addressed space (0x200000 words = 32 MiB byte offset).</t>

<section anchor="upc-memory-hierarchy"><name>UPC Memory Hierarchy</name>

<figure><artwork><![CDATA[
Level   Name                  Size            Latency       Type
-----   --------------------  -----------     ----------    ----------
L0      Monad Register File   20 bytes        ~ns           In-packet
L1      BPF Map Cache         variable        ~100-200 ns   Per-hop
L2      Wotan Ring Buffer     configurable    ~1-10 us      Per-flow
L3      Write-Ahead Log       disk-backed     ~100 us-1 ms  Persistent
L4      Sophia Dictionaries   BPF maps        ~100-200 ns   Instruction decode
]]></artwork></figure>

</section>
<section anchor="upc-interrupt-vector-table"><name>UPC Interrupt Vector Table</name>

<figure><artwork><![CDATA[
Vector   Name               Description                       Reference
------   --------           -----------------------------------  ---------
0x20     VECTOR_TIMER       Timer interrupt (~12 Hz)            [this document]
0x21     VECTOR_KEYBOARD    Keyboard interrupt                  [this document]
0x80     VECTOR_SYSCALL     Software syscall interrupt          [this document]
]]></artwork></figure>

<t>Timer ticks at every 3rd XDP hop (~35 Hz XDP / 3 = ~12 Hz timer).
Maximum concurrent processes: 4 (Level 4c scheduler).</t>

</section>
</section>
<section anchor="upc-event-types-new-in-draft-06-update"><name>UPC Event Types (NEW in draft-06 update)</name>

<t>IANA is requested to create a new registry entitled "UPC Event Types"
in the "Unheaded Protocol Parameters" registry group.</t>

<t>Registration Policy: Specification Required <xref target="RFC8126"></xref></t>

<t>UPC events are emitted to Anamnesis ring buffers by the compute engine.</t>

<figure><artwork><![CDATA[
Value   Name                  Description                       Reference
-----   --------------------  -----------------------------------  ---------
0x10    EVENT_COMPUTE_HOP     One MBC instruction executed         [this document]
0x11    EVENT_CACHE_MISS      L1 cache miss, Wotan staging needed  [this document]
0x12    EVENT_MEM_WRITE       Dirty page written, Wotan flush      [this document]
0x13    EVENT_MEM_STAGED      Wotan staged page into L1            [this document]
0x14    EVENT_SCREEN_WRITE    SYSCALL DG_DrawFrame emitted         [this document]
0x15    EVENT_KEY_READ        SYSCALL DG_GetKey executed           [this document]
0x16    EVENT_COMPUTE_HALT    HALT syscall executed                [this document]
0x17    EVENT_COMPUTE_STALL   Stall (cache miss, sleep)            [this document]
0x18    EVENT_TTY_WRITE       TTY write (SYS_WRITE to fd 1/2)     [this document]
0x19    EVENT_CONTEXT_SWITCH  Scheduler context switch             [this document]
0x1A-0x1F                     Unassigned (compute events)
]]></artwork></figure>

</section>
<section anchor="pqc-authentication-value-format"><name>PQC Authentication Value Format</name>

<t>The PQC authentication value is a 12-byte structure carried in the
Monad scratch bytes (offsets 0x0E-0x13) when both the SAMPLED (bit 3)
and CUSTOM (bit 1) flags are set in the Monad flags field.</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       SigRef (32 bits)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     KeyRef (16 bits)          |       HashPfx[0:1]            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       HashPfx[2:3]            |       SeqNum (16 bits)        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Fields:</t>

<dl>
  <dt>SigRef:</dt>
  <dd>
    <t>32-bit index into the Sophia PQC_SIG_MAP BPF map.  References the
full post-quantum signature (which may be kilobytes in size).</t>
  </dd>
  <dt>KeyRef:</dt>
  <dd>
    <t>16-bit index into the Sophia PQC_KEY_MAP BPF map.  References the
corresponding public key.</t>
  </dd>
  <dt>HashPfx:</dt>
  <dd>
    <t>4-byte prefix of SHA-256(signature).  Enables fast signature
identification without full map lookup.</t>
  </dd>
  <dt>SeqNum:</dt>
  <dd>
    <t>16-bit per-flow sequence number for replay protection.  MUST be
monotonically increasing within each flow.</t>
  </dd>
</dl>

<section anchor="pqc-algorithm-identifiers"><name>PQC Algorithm Identifiers</name>

<figure><artwork><![CDATA[
Value   Algorithm         Key Size    Standard      Reference
-----   --------          ---------   ----------    ---------
0x01    SLH-DSA           variable    FIPS 205      [this document]
0x02    ML-DSA            variable    FIPS 204      [this document]
0x03    FN-DSA            variable    FIPS 206      [this document]
0x04    ML-KEM            variable    FIPS 203      [this document]
0x05    HQC               variable    FIPS 207      [this document]
]]></artwork></figure>

</section>
<section anchor="pqc-signature-verification-status"><name>PQC Signature Verification Status</name>

<figure><artwork><![CDATA[
Value   Status           Description                          Reference
-----   --------         -----------------------------------  ---------
0x00    Pending          Not yet verified                     [this document]
0x01    Valid            Verification passed                  [this document]
0x02    Invalid          Verification failed                  [this document]
0x03    Expired          Key expired or revoked               [this document]
0x04    Unsupported      Algorithm not supported              [this document]
]]></artwork></figure>

</section>
<section anchor="compliance-tiers-kingdom-mode-k1k0"><name>Compliance Tiers (Kingdom Mode K1|K0)</name>

<figure><artwork><![CDATA[
Value   Tier              Description                         Reference
-----   --------          -----------------------------------  ---------
0x00    None              No PQC required                     [this document]
0x01    Standard          At least one PQC signature          [this document]
0x02    Enhanced          PQC + specific algorithm reqs       [this document]
0x03    Sovereign         2-of-3 cross-algorithm multi-sig    [this document]
]]></artwork></figure>

</section>
</section>
<section anchor="upcflat-binary-format-specification"><name>UPCFlat Binary Format Specification</name>

<t>The UPCFlat binary format is the executable format for UPC programs.
A UPCFlat binary is a flat memory image loaded directly into the
ROM_MAP BPF hash map at program start.</t>

<section anchor="file-header"><name>File Header</name>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Magic (0x55504346 = "UPCF")                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Version    |    Flags      |      Entry Point (16 bits)    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Text Size (32 bits)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Data Size (32 bits)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     BSS Size (32 bits)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Stack Size (32 bits)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Magic: 0x55504346 ("UPCF" in ASCII).</t>

<t>Version: Binary format version (currently 0x01).</t>

<t>Flags: Bit 0 = requires MMU.  Bit 1 = uses interrupts.
Bit 2 = uses block device.  Bits 3-7 reserved (MUST be zero).</t>

<t>Entry Point: Initial PC value (index into text section).</t>

<t>Text Size: Size of the text (code) section in bytes.</t>

<t>Data Size: Size of the initialized data section in bytes.</t>

<t>BSS Size: Size of the zero-initialized data section in bytes.</t>

<t>Stack Size: Requested stack size in bytes.  Default: 0xFFFF_0000.</t>

</section>
<section anchor="sect-layout"><name>Section Layout</name>

<figure><artwork><![CDATA[
Offset              Content
---------           ----------------------------------
0x00                UPCFlat header (24 bytes)
0x18                Text section (.text, MBC instructions)
0x18 + text_size    Data section (.data, initialized globals)
]]></artwork></figure>

<t>BSS is not stored in the binary; it is zero-filled at load time.
The stack grows downward from the address specified by REG_SP_DEFAULT
(0xFFFF_0000).</t>

</section>
</section>
<section anchor="unfs-filesystem-specification"><name>UNFS Filesystem Specification</name>

<t>The Unheaded Network Filesystem (UNFS) is a minimal filesystem for
UPC programs operating on the ramdisk block device.  UNFS uses fixed-
size directory entries and contiguous file allocation.</t>

<section anchor="superblock-block-0"><name>Superblock (Block 0)</name>

<figure><artwork><![CDATA[
Offset   Size     Field           Description
------   -----    --------        -----------------------------------
0x00     4        magic           0x554E4653 ("UNFS")
0x04     4        total_blocks    Total blocks in filesystem
0x08     4        free_blocks     Number of free blocks
0x0C     4        root_inode      Block number of root directory
0x10     2        block_size      Block size in bytes (512)
0x12     2        version         Filesystem version (0x01)
0x14     4        flags           Mount flags (bit 0 = read-only)
0x18     8        reserved        Reserved (MUST be zero)
]]></artwork></figure>

</section>
<section anchor="directory-entry-32-bytes"><name>Directory Entry (32 bytes)</name>

<figure><artwork><![CDATA[
Offset   Size     Field           Description
------   -----    --------        -----------------------------------
0x00     16       name            Null-terminated filename (15 chars max)
0x10     4        start_block     First block of file data
0x14     4        size_bytes      File size in bytes
0x18     2        flags           Entry flags (bit 0 = directory)
0x1A     2        permissions     Unix-style permissions (rwxrwxrwx)
0x1C     4        reserved        Reserved (MUST be zero)
]]></artwork></figure>

</section>
<section anchor="design-constraints"><name>Design Constraints</name>

<t><list style="symbols">
  <t>Maximum filename length: 15 characters (null-terminated in 16 bytes)</t>
  <t>Maximum file size: limited by contiguous block allocation</t>
  <t>Block size: 512 bytes (matching mbc_block::BLOCK_SIZE)</t>
  <t>Total blocks: 8192 (matching mbc_block::TOTAL_BLOCKS, 4 MiB ramdisk)</t>
  <t>No journaling (WAL provides crash recovery at the Wotan level)</t>
  <t>Contiguous allocation only (no fragmentation handling)</t>
</list></t>

<?line 1850?>

</section>
</section>
</section>
<section anchor="authors-address"><name>Author's Address</name>

<t>Stevie Bellis
Unheaded
Email: stevie@bellis.tech</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC8200">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="86"/>
  <seriesInfo name="RFC" value="8200"/>
  <seriesInfo name="DOI" value="10.17487/RFC8200"/>
</reference>
<reference anchor="RFC9669">
  <front>
    <title>BPF Instruction Set Architecture (ISA)</title>
    <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
    <date month="October" year="2024"/>
    <abstract>
      <t>eBPF (which is no longer an acronym for anything), also commonly referred to as BPF, is a technology with origins in the Linux kernel that can run untrusted programs in a privileged context such as an operating system kernel. This document specifies the BPF instruction set architecture (ISA).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9669"/>
  <seriesInfo name="DOI" value="10.17487/RFC9669"/>
</reference>
<reference anchor="RFC9673">
  <front>
    <title>IPv6 Hop-by-Hop Options Processing Procedures</title>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <date month="October" year="2024"/>
    <abstract>
      <t>This document specifies procedures for processing IPv6 Hop-by-Hop options in IPv6 routers and hosts. It modifies the procedures specified in the IPv6 Protocol Specification (RFC 8200) to make processing of the IPv6 Hop-by-Hop Options header practical with the goal of making IPv6 Hop-by-Hop options useful to deploy and use at IPv6 routers and hosts. This document updates RFC 8200.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9673"/>
  <seriesInfo name="DOI" value="10.17487/RFC9673"/>
</reference>
<reference anchor="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</reference>
<reference anchor="RFC9114">
  <front>
    <title>HTTP/3</title>
    <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9114"/>
  <seriesInfo name="DOI" value="10.17487/RFC9114"/>
</reference>
<reference anchor="RFC6437">
  <front>
    <title>IPv6 Flow Label Specification</title>
    <author fullname="S. Amante" initials="S." surname="Amante"/>
    <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
    <author fullname="S. Jiang" initials="S." surname="Jiang"/>
    <author fullname="J. Rajahalme" initials="J." surname="Rajahalme"/>
    <date month="November" year="2011"/>
    <abstract>
      <t>This document specifies the IPv6 Flow Label field and consolidates the flow label semantics information previously scattered in separate RFCs. The flow label is used by a source to label sequences of packets for which it requests special handling by the IPv6 network. This document obsoletes RFCs 3697.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6437"/>
  <seriesInfo name="DOI" value="10.17487/RFC6437"/>
</reference>
<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without version negotiation. These characteristics make it different from earlier binary serializations such as ASN.1. CBOR was inspired by MessagePack, JSON, and ASN.1. This document obsoletes RFC 7049.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC0768">
  <front>
    <title>User Datagram Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="August" year="1980"/>
  </front>
  <seriesInfo name="STD" value="6"/>
  <seriesInfo name="RFC" value="768"/>
  <seriesInfo name="DOI" value="10.17487/RFC0768"/>
</reference>
<reference anchor="RFC0791">
  <front>
    <title>Internet Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="September" year="1981"/>
  </front>
  <seriesInfo name="STD" value="5"/>
  <seriesInfo name="RFC" value="791"/>
  <seriesInfo name="DOI" value="10.17487/RFC0791"/>
</reference>
<reference anchor="RFC0792">
  <front>
    <title>Internet Control Message Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="September" year="1981"/>
  </front>
  <seriesInfo name="STD" value="5"/>
  <seriesInfo name="RFC" value="792"/>
  <seriesInfo name="DOI" value="10.17487/RFC0792"/>
</reference>
<reference anchor="RFC0793">
  <front>
    <title>Transmission Control Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="September" year="1981"/>
  </front>
  <seriesInfo name="RFC" value="793"/>
  <seriesInfo name="DOI" value="10.17487/RFC0793"/>
</reference>
<reference anchor="RFC1918">
  <front>
    <title>Address Allocation for Private Internets</title>
    <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
    <author fullname="B. Moskowitz" initials="B." surname="Moskowitz"/>
    <author fullname="D. Karrenberg" initials="D." surname="Karrenberg"/>
    <author fullname="G. J. de Groot" initials="G. J." surname="de Groot"/>
    <author fullname="E. Lear" initials="E." surname="Lear"/>
    <date month="February" year="1996"/>
    <abstract>
      <t>This document describes address allocation for private internets. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="5"/>
  <seriesInfo name="RFC" value="1918"/>
  <seriesInfo name="DOI" value="10.17487/RFC1918"/>
</reference>
<reference anchor="RFC4193">
  <front>
    <title>Unique Local IPv6 Unicast Addresses</title>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <author fullname="B. Haberman" initials="B." surname="Haberman"/>
    <date month="October" year="2005"/>
    <abstract>
      <t>This document defines an IPv6 unicast address format that is globally unique and is intended for local communications, usually inside of a site. These addresses are not expected to be routable on the global Internet. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4193"/>
  <seriesInfo name="DOI" value="10.17487/RFC4193"/>
</reference>
<reference anchor="RFC4303">
  <front>
    <title>IP Encapsulating Security Payload (ESP)</title>
    <author fullname="S. Kent" initials="S." surname="Kent"/>
    <date month="December" year="2005"/>
    <abstract>
      <t>This document describes an IP Encapsulating Security Payload (ESP) protocol, which provides origin authentication, integrity checking, and confidentiality to IP datagrams. These services are provided at the IP layer, above the IP header and before any higher layer protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="41"/>
  <seriesInfo name="RFC" value="4303"/>
  <seriesInfo name="DOI" value="10.17487/RFC4303"/>
</reference>
<reference anchor="RFC8126">
  <front>
    <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
    <author fullname="M. Cotton" initials="M." surname="Cotton"/>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="T. Narten" initials="T." surname="Narten"/>
    <date month="June" year="2017"/>
    <abstract>
      <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
      <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
      <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="26"/>
  <seriesInfo name="RFC" value="8126"/>
  <seriesInfo name="DOI" value="10.17487/RFC8126"/>
</reference>
<reference anchor="RFC8300">
  <front>
    <title>Network Service Header (NSH)</title>
    <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn"/>
    <author fullname="U. Elzur" initials="U." role="editor" surname="Elzur"/>
    <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
    <date month="January" year="2018"/>
    <abstract>
      <t>This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs). The NSH also provides a mechanism for metadata exchange along the instantiated service paths. The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8300"/>
  <seriesInfo name="DOI" value="10.17487/RFC8300"/>
</reference>
<reference anchor="RFC8754">
  <front>
    <title>IPv6 Segment Routing Header (SRH)</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8754"/>
  <seriesInfo name="DOI" value="10.17487/RFC8754"/>
</reference>
<reference anchor="RFC8799">
  <front>
    <title>Limited Domains and Internet Protocols</title>
    <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
    <author fullname="B. Liu" initials="B." surname="Liu"/>
    <date month="July" year="2020"/>
    <abstract>
      <t>There is a noticeable trend towards network behaviors and semantics that are specific to a particular set of requirements applied within a limited region of the Internet. Policies, default parameters, the options supported, the style of network management, and security requirements may vary between such limited regions. This document reviews examples of such limited domains (also known as controlled environments), notes emerging solutions, and includes a related taxonomy. It then briefly discusses the standardization of protocols for limited domains. Finally, it shows the need for a precise definition of "limited domain membership" and for mechanisms to allow nodes to join a domain securely and to find other members, including boundary nodes.</t>
      <t>This document is the product of the research of the authors. It has been produced through discussions and consultation within the IETF but is not the product of IETF consensus.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8799"/>
  <seriesInfo name="DOI" value="10.17487/RFC8799"/>
</reference>
<reference anchor="RFC9098">
  <front>
    <title>Operational Implications of IPv6 Packets with Extension Headers</title>
    <author fullname="F. Gont" initials="F." surname="Gont"/>
    <author fullname="N. Hilliard" initials="N." surname="Hilliard"/>
    <author fullname="G. Doering" initials="G." surname="Doering"/>
    <author fullname="W. Kumari" initials="W." surname="Kumari"/>
    <author fullname="G. Huston" initials="G." surname="Huston"/>
    <author fullname="W. Liu" initials="W." surname="Liu"/>
    <date month="September" year="2021"/>
    <abstract>
      <t>This document summarizes the operational implications of IPv6 extension headers specified in the IPv6 protocol specification (RFC 8200) and attempts to analyze reasons why packets with IPv6 extension headers are often dropped in the public Internet.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9098"/>
  <seriesInfo name="DOI" value="10.17487/RFC9098"/>
</reference>
<reference anchor="RFC9180">
  <front>
    <title>Hybrid Public Key Encryption</title>
    <author fullname="R. Barnes" initials="R." surname="Barnes"/>
    <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
    <author fullname="B. Lipp" initials="B." surname="Lipp"/>
    <author fullname="C. Wood" initials="C." surname="Wood"/>
    <date month="February" year="2022"/>
    <abstract>
      <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
      <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9180"/>
  <seriesInfo name="DOI" value="10.17487/RFC9180"/>
</reference>
<reference anchor="RFC9197">
  <front>
    <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
    <author fullname="F. Brockners" initials="F." role="editor" surname="Brockners"/>
    <author fullname="S. Bhandari" initials="S." role="editor" surname="Bhandari"/>
    <author fullname="T. Mizrahi" initials="T." role="editor" surname="Mizrahi"/>
    <date month="May" year="2022"/>
    <abstract>
      <t>In situ Operations, Administration, and Maintenance (IOAM) collects operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document discusses the data fields and associated data types for IOAM. IOAM-Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6. IOAM can be used to complement OAM mechanisms based on, e.g., ICMP or other types of probe packets.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9197"/>
  <seriesInfo name="DOI" value="10.17487/RFC9197"/>
</reference>
<reference anchor="RFC9288">
  <front>
    <title>Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</title>
    <author fullname="F. Gont" initials="F." surname="Gont"/>
    <author fullname="W. Liu" initials="W." surname="Liu"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>This document analyzes the security implications of IPv6 Extension Headers and associated IPv6 options. Additionally, it discusses the operational and interoperability implications of discarding packets based on the IPv6 Extension Headers and IPv6 options they contain. Finally, it provides advice on the filtering of such IPv6 packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9288"/>
  <seriesInfo name="DOI" value="10.17487/RFC9288"/>
</reference>
<reference anchor="RFC9370">
  <front>
    <title>Multiple Key Exchanges in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
    <author fullname="CJ. Tjhai" initials="CJ." surname="Tjhai"/>
    <author fullname="M. Tomlinson" initials="M." surname="Tomlinson"/>
    <author fullname="G. Bartlett" initials="G." surname="Bartlett"/>
    <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
    <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
    <author fullname="O. Garcia-Morchon" initials="O." surname="Garcia-Morchon"/>
    <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
    <date month="May" year="2023"/>
    <abstract>
      <t>This document describes how to extend the Internet Key Exchange Protocol Version 2 (IKEv2) to allow multiple key exchanges to take place while computing a shared secret during a Security Association (SA) setup.</t>
      <t>This document utilizes the IKE_INTERMEDIATE exchange, where multiple key exchanges are performed when an IKE SA is being established. It also introduces a new IKEv2 exchange, IKE_FOLLOWUP_KE, which is used for the same purpose when the IKE SA is being rekeyed or is creating additional Child SAs.</t>
      <t>This document updates RFC 7296 by renaming a Transform Type 4 from "Diffie-Hellman Group (D-H)" to "Key Exchange Method (KE)" and renaming a field in the Key Exchange Payload from "Diffie-Hellman Group Num" to "Key Exchange Method". It also renames an IANA registry for this Transform Type from "Transform Type 4 - Diffie- Hellman Group Transform IDs" to "Transform Type 4 - Key Exchange Method Transform IDs". These changes generalize key exchange algorithms that can be used in IKEv2.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9370"/>
  <seriesInfo name="DOI" value="10.17487/RFC9370"/>
</reference>
<reference anchor="RFC9486">
  <front>
    <title>IPv6 Options for In Situ Operations, Administration, and Maintenance (IOAM)</title>
    <author fullname="S. Bhandari" initials="S." role="editor" surname="Bhandari"/>
    <author fullname="F. Brockners" initials="F." role="editor" surname="Brockners"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>In situ Operations, Administration, and Maintenance (IOAM) records operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document outlines how IOAM Data-Fields are encapsulated in IPv6.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9486"/>
  <seriesInfo name="DOI" value="10.17487/RFC9486"/>
</reference>
<reference anchor="RFC9631">
  <front>
    <title>The IPv6 Compact Routing Header (CRH)</title>
    <author fullname="R. Bonica" initials="R." surname="Bonica"/>
    <author fullname="Y. Kamite" initials="Y." surname="Kamite"/>
    <author fullname="A. Alston" initials="A." surname="Alston"/>
    <author fullname="D. Henriques" initials="D." surname="Henriques"/>
    <author fullname="L. Jalil" initials="L." surname="Jalil"/>
    <date month="August" year="2024"/>
    <abstract>
      <t>This document describes an experiment in which two new IPv6 Routing headers are implemented and deployed. Collectively, they are called the Compact Routing Header (CRH). Individually, they are called CRH-16 and CRH-32.</t>
      <t>One purpose of this experiment is to demonstrate that the CRH can be implemented and deployed in a production network. Another purpose is to demonstrate that the security considerations described in this document can be addressed with Access Control Lists (ACLs). Finally, this document encourages replication of the experiment.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9631"/>
  <seriesInfo name="DOI" value="10.17487/RFC9631"/>
</reference>

<reference anchor="MONAD-EXT-REG" target="draft-bellis-unheaded-monad-extended-register-00">
  <front>
    <title>Monad Extended Register Option for the Unheaded Protocol</title>
    <author initials="S." surname="Bellis" fullname="Stevie Bellis">
      <organization></organization>
    </author>
    <date year="2026" month="February"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-bellis-unheaded-monad-extended-register-00"/>
</reference>


<reference anchor="RFC0950">
  <front>
    <title>Internet Standard Subnetting Procedure</title>
    <author fullname="J.C. Mogul" initials="J.C." surname="Mogul"/>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="August" year="1985"/>
    <abstract>
      <t>This memo discusses the utility of "subnets" of Internet networks, which are logically visible sub-sections of a single Internet network. For administrative or technical reasons, many organizations have chosen to divide one Internet network into several subnets, instead of acquiring a set of Internet network numbers. This memo specifies procedures for the use of subnets. These procedures are for hosts (e.g., workstations). The procedures used in and between subnet gateways are not fully described. Important motivation and background information for a subnetting standard is provided in RFC-940. This RFC specifies a protocol for the ARPA-Internet community. If subnetting is implemented it is strongly recommended that these procedures be followed.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="5"/>
  <seriesInfo name="RFC" value="950"/>
  <seriesInfo name="DOI" value="10.17487/RFC0950"/>
</reference>

<reference anchor="FIPS203" target="https://csrc.nist.gov/pubs/fips/203/final">
  <front>
    <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="FIPS204" target="https://csrc.nist.gov/pubs/fips/204/final">
  <front>
    <title>Module-Lattice-Based Digital Signature Standard</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="FIPS205" target="https://csrc.nist.gov/pubs/fips/205/final">
  <front>
    <title>Stateless Hash-Based Digital Signature Standard</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="SOPHIA" >
  <front>
    <title>Sophia Dictionary Format for the Unheaded Protocol</title>
    <author initials="S." surname="Bellis">
      <organization></organization>
    </author>
    <date year="2026" month="March"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-bellis-unheaded-sophia-dictionary-00"/>
</reference>
<reference anchor="WOTAN" >
  <front>
    <title>Wotan Memory Protocol for the Unheaded Protocol</title>
    <author initials="S." surname="Bellis">
      <organization></organization>
    </author>
    <date year="2026" month="March"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-bellis-unheaded-wotan-memory-00"/>
</reference>


    </references>

</references>


<?line 1755?>

<section anchor="changes-from-draft-bellis-unheaded-protocol-foundation-05"><name>Changes from draft-bellis-unheaded-protocol-foundation-05</name>

<t>The following changes are made in draft-06:</t>

<t><list style="numbers" type="1">
  <t><strong>IANA Registration Procedures (NEW)</strong>: Added Section 9 with a
step-by-step guide for registering new metric types and protocol
extensions within the Unheaded Protocol Parameters registry group.
Includes guidance on identifying the target registry, preparing the
registration request, and verifying non-conflict with existing
allocations.</t>
  <t><strong>UNHEADED_METRIC_V1 Example Registration (NEW)</strong>: Added a complete
example registration for UNHEADED_METRIC_V1 (Type 0x2A, 52 bytes)
as a separate HbH extension header option. This serves as a
reference implementation for future IANA registrations. The 20-byte
Monad wire format is NOT modified.</t>
  <t><strong>Cross-References to Companion Specifications (NEW)</strong>: Added
explicit cross-references to Sophia draft-03 <xref target="SOPHIA"></xref> and Wotan
draft-03 <xref target="WOTAN"></xref> throughout the document. Section 1.2 introduces
the specification family structure. Sophia and Wotan references
are updated from draft-02 to draft-03.</t>
  <t><strong>Security Considerations — Wire Format Immutability (NEW)</strong>: Added
Section 10.1 documenting the threat model for wire format
immutability, including parser divergence attacks, wire format
modification via extension, and verification procedures.</t>
  <t><strong>Backwards Compatibility Statement (NEW)</strong>: Added Section 11
formally documenting that the transition from draft-05 to draft-06
is non-breaking. Wire format, registry entries, and interoperability
are all preserved.</t>
  <t><strong>Wire Format FROZEN Statement (ENHANCED)</strong>: Added explicit
"WIRE FORMAT FROZEN" statement in Section 5.1 clarifying that no
changes to byte offsets, field sizes, field ordering, or total size
are permitted in version 0x01.</t>
  <t><strong>TLV Type Registry Updated</strong>: Added UNHEADED_METRIC_V1 (0x2A) to
the TLV Type Registry initial entries.</t>
  <t><strong>UPC MBC ISA Opcode Registry (NEW)</strong>: Added IANA registry for MBC
opcode numbers (0x00-0xFF) with 48 initial entries covering
arithmetic, logical, stack, branch, memory, atomic, interrupt,
and system operations.  Includes 32-bit instruction encoding format.</t>
  <t><strong>UPC MBC Syscall Number Registry (NEW)</strong>: Added IANA registry for
MBC syscall numbers with two classes: native MBC syscalls (4 entries,
0x01-0x04) and Linux-compatible syscalls via INT 0x80 (20 entries,
following i386 ABI numbering).</t>
  <t><strong>UPC Memory Region Types Registry (NEW)</strong>: Added IANA registry
defining the UPC 32-bit flat address space layout with 8 memory
regions (RAM, KBD_IO, SCREEN, DEBUG, WAD, HEAP, STACK, RAMDISK).
Includes memory hierarchy (L0-L4) and interrupt vector table.</t>
  <t><strong>UPC Event Types Registry (NEW)</strong>: Added IANA registry for UPC
compute engine event types (0x10-0x19) emitted to Anamnesis ring
buffers, covering instruction execution, cache operations, screen
I/O, TTY writes, and scheduler context switches.</t>
  <t><strong>PQC Authentication Value Format (NEW)</strong>: Added specification for
the 12-byte PQC value carried in Monad scratch bytes (SigRef u32,
KeyRef u16, HashPfx [u8;4], SeqNum u16).  Includes algorithm IDs,
verification status codes, and compliance tiers.</t>
  <t><strong>UPCFlat Binary Format (NEW)</strong>: Added specification for the UPC
executable format with 24-byte header (magic 0x55504346, entry
point, text/data/BSS/stack sizes) and flat memory image layout.</t>
  <t><strong>UNFS Filesystem Specification (NEW)</strong>: Added specification for
the Unheaded Network Filesystem with superblock format, 32-byte
directory entries, contiguous allocation, and 512-byte blocks on
4 MiB ramdisk.</t>
  <t><strong>Updated Date</strong>: Changed date from 2026-03-05 to 2026-03-15.</t>
</list></t>

<t>All changes in draft-06 are purely additive. No existing wire format,
registry entry, processing rule, or normative requirement from draft-05
is modified or removed.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The Linux kernel BPF community (Alexei Starovoitov, Daniel Borkmann,
Song Liu) for the infrastructure enabling per-packet computation in the
kernel datapath.</t>

<t>The authors of RFC 9669 (BPF ISA), RFC 8799 (Limited Domains), and
RFC 9673 (Hop-by-Hop Processing Rehabilitation) for the foundational
protocols that make this design possible.</t>

<t>This document was co-authored with assistance from Claude (Anthropic).</t>

</section>


  </back>

<!-- ##markdown-source:
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
7oP/H/IXo+LLGwEA

-->

</rfc>

