<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mayer-ioam-gob-01" category="exp" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="IOAM GOB">Global Opaque Block for IOAM Pre-allocated Trace Option</title>
    <seriesInfo name="Internet-Draft" value="draft-mayer-ioam-gob-01"/>
    <author initials="A." surname="Mayer" fullname="Andrea Mayer">
      <organization>Univ. of Rome Tor Vergata / CNIT / Common Net</organization>
      <address>
        <email>andrea.mayer@uniroma2.it</email>
      </address>
    </author>
    <author initials="S." surname="Salsano" fullname="Stefano Salsano">
      <organization>Univ. of Rome Tor Vergata / CNIT</organization>
      <address>
        <email>stefano.salsano@uniroma2.it</email>
      </address>
    </author>
    <date year="2026" month="March" day="19"/>
    <area>AREA</area>
    <workgroup>WG Working Group</workgroup>
    <keyword>IOAM</keyword>
    <keyword>IPv6</keyword>
    <keyword>In-band telemetry</keyword>
    <keyword>Metadata</keyword>
    <abstract>
      <?line 96?>

<t>Extensible metadata carried within the IOAM Pre-allocated Trace Option
(PTO) can support packet-level, flow-level, or path-level processing
beyond per-node trace data. This document defines the Global Opaque
Block (GOB), an extension to the IOAM PTO that introduces a single
pre-allocated global metadata region placed between the PTO fixed header
and the node data list. The GOB carries an explicit length and schema
identifier, preserves the pre-allocated PTO processing model, and can be
used to transport Extensible In-band Processing (EIP) Information
Elements or other structured metadata formats.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://eip-home.github.io/ioam-gob/draft-mayer-ioam-gob.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mayer-ioam-gob/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        EIP SIG mailing list (<eref target="mailto:eip@cnit.it"/>),
        which is archived at <eref target="http://postino.cnit.it/cgi-bin/mailman/private/eip/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/eip-home/ioam-gob"/>.</t>
    </note>
  </front>
  <middle>
    <?line 108?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The IOAM Pre-allocated Trace Option (PTO) defined in <xref target="RFC9197"/> and
<xref target="RFC9486"/> provides a structured way to carry in-band operational and
telemetry information along a packet path. In the PTO model, the
encapsulating node pre-allocates space for node data that can be filled
by IOAM-capable nodes along the path.</t>
      <t>This document defines an extension to the IOAM PTO called the Global
Opaque Block (GOB). The GOB is a global metadata region that appears
once in the PTO, immediately after the PTO fixed header and before the
per-node node data list. The GOB is identified by a presence bit in the
PTO header and includes its own length and schema fields.</t>
      <t>The GOB enables the carriage of structured global metadata within the
IOAM PTO, while preserving the existing PTO processing model for
per-node trace data. In particular, the GOB can carry Extensible
In-band Processing (EIP) Information Elements or other schema-driven
metadata formats, without modifying the semantics of the node data list.</t>
      <t>The GOB is pre-allocated by the encapsulating node. Transit nodes <bcp14>MAY</bcp14>
read or update the GOB payload, subject to the bounds established at
encapsulation time, but they <bcp14>MUST NOT</bcp14> alter the overall GOB size or the
layout of the enclosing PTO option.</t>
      <t>This document specifies the GOB format, length and alignment rules, and
processing behavior for encapsulating, transit, and egress or collector
nodes.</t>
      <t>An implementation and experimental evaluation of the proposed GOB approach
within the Linux IOAM framework are described in <xref target="mayer26noms"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used in this document:</t>
      <dl>
        <dt>GOB:</dt>
        <dd>
          <t>Global Opaque Block. A structured global metadata region inserted into
the IOAM PTO.</t>
        </dd>
        <dt>GOB Header:</dt>
        <dd>
          <t>The 4-octet fixed header of the GOB, containing the GOB Len and Schema
fields.</t>
        </dd>
        <dt>GOB Payload:</dt>
        <dd>
          <t>The payload that follows the GOB Header. Its size is determined by the
GOB Len field.</t>
        </dd>
        <dt>PTO:</dt>
        <dd>
          <t>The IOAM Pre-allocated Trace Option defined in <xref target="RFC9197"/> and
<xref target="RFC9486"/>.</t>
        </dd>
        <dt>Node Data List:</dt>
        <dd>
          <t>The sequence of pre-allocated per-node data slots defined by the PTO
format.</t>
        </dd>
        <dt>Ingress Node:</dt>
        <dd>
          <t>The encapsulating node that inserts the IOAM PTO and, when present,
allocates and initializes the GOB.</t>
        </dd>
        <dt>Transit Node:</dt>
        <dd>
          <t>An IOAM-capable node along the path that may process the PTO and may
read or update the GOB payload.</t>
        </dd>
        <dt>Egress or Collector Node:</dt>
        <dd>
          <t>A node that removes, terminates, exports, or otherwise interprets the
IOAM information carried in the packet.</t>
        </dd>
        <dt>Schema:</dt>
        <dd>
          <t>A 24-bit identifier that specifies how the GOB Payload is to be
interpreted.</t>
        </dd>
      </dl>
    </section>
    <section anchor="design-overview">
      <name>Design Overview</name>
      <t>The GOB extends the IOAM PTO with a global metadata area that is
logically distinct from the per-node node data list. It is intended for
metadata that applies to the packet, flow, or path as a whole, rather
than to a specific transit node.</t>
      <t>The GOB appears at most once in a PTO option. When present, it is placed
immediately after the PTO fixed header and before the start of the node
data list. The GOB consists of a fixed 4-octet header followed by a
variable-length payload.</t>
      <t>The GOB preserves the pre-allocated nature of the PTO model. The ingress
node allocates the GOB space at encapsulation time and determines its
size, its schema, and the overall PTO layout. Transit nodes <bcp14>MAY</bcp14> modify
the contents of the GOB payload, but <bcp14>MUST NOT</bcp14> modify the GOB Len field,
the Schema field, or any PTO fixed-header fields that precede the GOB.</t>
      <t>The GOB is intended to support structured metadata formats. One relevant
use case is the carriage of Extensible In-band Processing (EIP)
Information Elements, but the mechanism is not restricted to EIP and may
be used with other schema-driven payload formats.</t>
      <t>The addition of the GOB does not change the semantics of the per-node
node data list. The GOB complements the PTO by adding a global opaque
area while leaving the existing per-node trace structure intact.</t>
    </section>
    <section anchor="gob-format">
      <name>GOB Format</name>
      <section anchor="pto-layout-with-gob">
        <name>PTO Layout with GOB</name>
        <t>When the Global Opaque Block (GOB) is present, the IOAM
Pre-allocated Trace Option (PTO) is extended by inserting a single GOB
between the PTO fixed header and the Node Data List.</t>
        <t>The resulting layout is:</t>
        <ol spacing="normal" type="1"><li>
            <t>PTO fixed header</t>
          </li>
          <li>
            <t>GOB Header</t>
          </li>
          <li>
            <t>GOB Payload</t>
          </li>
          <li>
            <t>Node Data List</t>
          </li>
          <li>
            <t>Tail padding, if required to satisfy alignment of the enclosing
Hop-by-Hop Options header</t>
          </li>
        </ol>
        <t>The GOB is indicated by the G bit in the PTO fixed header. If the G bit
is clear, no GOB is present and PTO processing follows the base PTO
format.</t>
        <t>The GOB appears at most once in a PTO option.</t>
      </section>
      <section anchor="gob-header-fields">
        <name>GOB Header Fields</name>
        <t>The GOB Header is 4 octets long and contains the following fields:</t>
        <dl>
          <dt>GOB Len:</dt>
          <dd>
            <t>An 8-bit field that specifies the size of the GOB Payload in units of
4 octets.</t>
          </dd>
          <dt>Schema:</dt>
          <dd>
            <t>A 24-bit field that identifies the format of the GOB Payload.</t>
          </dd>
        </dl>
        <t>The total size of the GOB is therefore:</t>
        <artwork><![CDATA[
GOB_PLEN = GOB_Len * 4
GOB_SIZE = 4 + GOB_PLEN
]]></artwork>
        <t>where the first 4 octets correspond to the GOB Header itself.</t>
        <t>The Schema field allows the GOB Payload to be interpreted according to
a structured format. One important use case is the carriage of
Extensible In-band Processing (EIP) Information Elements, but the GOB
is not limited to EIP and may carry other schema-driven metadata
formats.</t>
      </section>
      <section anchor="byte-level-layout">
        <name>Byte-Level Layout</name>
        <t>The following figure shows the byte-level layout of the IOAM PTO with
the GOB present.</t>
        <figure>
          <name>IOAM PTO with Global Opaque Block (GOB)</name>
          <artwork><![CDATA[
Offset      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
     40    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |   Next Header |  Hdr Ext Len  |   PadN Opt    | PadN OptLen   |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |    Opt Type   |  IOAM Opt Len |   Reserved    |   IOAM Type   |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |  Namespace-ID  (16b)          |NodeLen  | Flags |RemainingLen |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |         IOAM Trace-Type (24b)                 |Reserved |Ve |G|
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           | GOB Len (8b)  | Schema (24b)                                  |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                                                               |
           ~                           GOB Payload                         ~
           |                                                               |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                                                               |
           ~                          Node Data List                       ~
           |                                                               |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                           Padding                             |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>More explicitly, the internal structure is:</t>
        <figure>
          <name>Detailed PTO layout with GOB, Node Data List, and tail padding</name>
          <artwork><![CDATA[
Offset      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
     40    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |   Next Header |  Hdr Ext Len  |   PadN Opt    | PadN OptLen   |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |    Opt Type   |  IOAM Opt Len |   Reserved    |   IOAM Type   |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
           |  Namespace-ID  (16b)          |NodeLen  | Flags |RemainingLen | |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (A)
           |         IOAM Trace-Type (24b)                 |Reserved |Ve |G| |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
  GOB_HDR  | GOB Len (8b)  | Schema (24b)                                  |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
           |                                                               | P
    Y =    |                           GOB Payload                         | a
 GOB_SIZE  |                                                               | y
           ~                                                               ~ l
           |                                                               | o
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
           |                                                               | |
           |                       Node Data List [0]                      | |
           |                                                               | |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ D
           |                                                               | a
           |                       Node Data List [1]                      | t
           |                                                               | a
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ~                              ...                              ~ S
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ p
           |                                                               | a
           |                      Node Data List [n-1]                     | c
           |                                                               | e
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
           |                                                               | |
           |                       Node Data List [n]                      | |
           |                                                               | |
     Y'    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
           |   PadN Opt    | PadN OptLen   |  Padding 16 bits              |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ALG(Y',8) \_________________________8-byte aligned ________________________/
   = Y''
]]></artwork>
        </figure>
        <t>The GOB Header is placed immediately after the PTO fixed header. The GOB
Payload immediately follows the GOB Header. The Node Data List begins
immediately after the GOB Payload. Any final tail padding is added only
to satisfy alignment requirements of the enclosing Hop-by-Hop Options
header.</t>
      </section>
    </section>
    <section anchor="length-and-alignment-rules">
      <name>Length and Alignment Rules</name>
      <t>This section defines the length relations used when the GOB is present
in the IOAM PTO.</t>
      <section anchor="gob-length">
        <name>GOB Length</name>
        <t>The GOB Payload length is determined by the GOB Len field:</t>
        <artwork><![CDATA[
GOB_PLEN = GOB_Len * 4
]]></artwork>
        <t>The total GOB size, including the fixed 4-octet GOB Header, is:</t>
        <artwork><![CDATA[
GOB_SIZE = 4 + GOB_PLEN
]]></artwork>
        <t>The GOB Len field is set by the ingress node at encapsulation time.</t>
        <t>Transit nodes <bcp14>MAY</bcp14> modify the content of the GOB Payload, but <bcp14>MUST NOT</bcp14>
modify the GOB Len field and therefore <bcp14>MUST NOT</bcp14> alter the total GOB
size.</t>
      </section>
      <section anchor="internal-pto-offsets">
        <name>Internal PTO Offsets</name>
        <t>Let:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Y</tt> be the offset immediately following the GOB Payload;</t>
          </li>
          <li>
            <t><tt>Y'</tt> be the offset immediately following the Node Data List;</t>
          </li>
          <li>
            <t><tt>Y''</tt> be the IOAM option length rounded up to the next multiple of
8 octets.</t>
          </li>
        </ul>
        <t>Then:</t>
        <artwork><![CDATA[
Y   = (sizeof(IOAM_TLV) - 2) + sizeof(IOAM_PTO_HDR) + GOB_SIZE
Y'  = Y + RemainingLen * 4
Y'' = ALIGN(Y', 8)
]]></artwork>
        <t>In these expressions:</t>
        <ul spacing="normal">
          <li>
            <t><tt>sizeof(IOAM_TLV) - 2</tt> excludes the <tt>Option Type</tt> and <tt>Option Length</tt>
octets already accounted for in the option layout;</t>
          </li>
          <li>
            <t><tt>sizeof(IOAM_PTO_HDR)</tt> is the fixed PTO header size;</t>
          </li>
          <li>
            <t><tt>RemainingLen</tt> retains its PTO meaning and determines the amount of
pre-allocated space associated with the Node Data List.</t>
          </li>
        </ul>
        <t>The Node Data List therefore starts immediately after the GOB and spans
<tt>RemainingLen * 4</tt> octets.</t>
      </section>
      <section anchor="ioam-option-length-and-hop-by-hop-header-length">
        <name>IOAM Option Length and Hop-by-Hop Header Length</name>
        <t>The IOAM Option Length field <bcp14>MUST</bcp14> be set to <tt>Y''</tt>, that is, to the total
internal length of the IOAM option after rounding up to the required
alignment.</t>
        <t>The enclosing Hop-by-Hop Options header length is derived from the total
size of the header, including:</t>
        <ul spacing="normal">
          <li>
            <t>the 2-octet <tt>Next Header</tt> and <tt>Hdr Ext Len</tt> fields;</t>
          </li>
          <li>
            <t>any PadN option used to align the start of the IOAM option;</t>
          </li>
          <li>
            <t>the IOAM option itself, including any final tail padding.</t>
          </li>
        </ul>
        <t>Let <tt>HBH_LEN</tt> denote the total Hop-by-Hop Options header size in octets.
Then:</t>
        <artwork><![CDATA[
HBH_LEN = ALIGN(4 + sizeof(IOAM_PTO_HDR) + GOB_SIZE
                + RemainingLen * 4, 8)
]]></artwork>
        <t>where the leading 4 octets account for:</t>
        <ul spacing="normal">
          <li>
            <t>2 octets for <tt>Next Header</tt> and <tt>Hdr Ext Len</tt>;</t>
          </li>
          <li>
            <t>2 octets for the PadN option that aligns the IOAM option start.</t>
          </li>
        </ul>
        <t>The IPv6 <tt>Hdr Ext Len</tt> field is encoded as:</t>
        <artwork><![CDATA[
Hdr Ext Len = HBH_LEN / 8 - 1
]]></artwork>
      </section>
      <section anchor="alignment-semantics">
        <name>Alignment Semantics</name>
        <t>As specified in <xref target="RFC8200"/>, the Hop-by-Hop Options header is encoded so
that its total length is a multiple of 8 octets, and the Hdr Ext Len
field carries that length in 8-octet units, not including the first
8 octets.</t>
        <t>The final tail padding used to align the enclosing Hop-by-Hop Options
header to an 8-octet boundary is not part of the GOB and is not part of
the Node Data List.</t>
        <t>More specifically:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Y</tt> identifies the end of the GOB;</t>
          </li>
          <li>
            <t><tt>Y'</tt> identifies the end of the Node Data List;</t>
          </li>
          <li>
            <t><tt>Y''</tt> identifies the aligned end of the IOAM option.</t>
          </li>
        </ul>
        <t>The difference between <tt>Y'</tt> and <tt>Y''</tt> is due only to final alignment
padding and does not carry GOB or node-data semantics.</t>
      </section>
      <section anchor="preservation-of-pto-semantics">
        <name>Preservation of PTO Semantics</name>
        <t>The presence of the GOB does not alter the semantics of <tt>RemainingLen</tt>
or the pre-allocated nature of the PTO.</t>
        <t>The ingress node determines, at encapsulation time:</t>
        <ul spacing="normal">
          <li>
            <t>the GOB size;</t>
          </li>
          <li>
            <t>the start of the Node Data List;</t>
          </li>
          <li>
            <t>the size of the Node Data List;</t>
          </li>
          <li>
            <t>the final aligned IOAM option length.</t>
          </li>
        </ul>
        <t>Transit nodes operate only within the pre-allocated bounds of the GOB
Payload and the Node Data List, and <bcp14>MUST NOT</bcp14> change the overall layout
of the PTO option.</t>
        <t>In this way, the pre-allocated model of the PTO is preserved while
extending the option with a structured global metadata region.</t>
      </section>
    </section>
    <section anchor="processing-semantics">
      <name>Processing Semantics</name>
      <section anchor="ingress-node-behavior">
        <name>Ingress Node Behavior</name>
        <t>An ingress node that inserts a GOB into the PTO:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> set the G bit to 1;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> allocate the full GOB space at encapsulation time;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> set the GOB Len field;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> set the Schema field;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> determine the final PTO layout, including the GOB, the Node Data
List, and any required tail padding.</t>
          </li>
        </ul>
        <t>The ingress node <bcp14>MAY</bcp14> initialize the GOB Payload with structured
metadata, zero values, or other schema-defined initial content.</t>
      </section>
      <section anchor="transit-node-behavior">
        <name>Transit Node Behavior</name>
        <t>A transit node that processes a PTO containing a GOB:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MAY</bcp14> read the GOB Payload;</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> update fields within the GOB Payload, subject to the schema in
use;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> modify the GOB Len field;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> modify the Schema field;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> modify PTO fixed-header fields that precede the GOB;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> change the overall size or layout of the PTO option.</t>
          </li>
        </ul>
        <t>A transit node <bcp14>MUST</bcp14> confine any GOB update to the pre-allocated GOB
Payload bounds established by the ingress node.</t>
      </section>
      <section anchor="egress-or-collector-behavior">
        <name>Egress or Collector Behavior</name>
        <t>An egress or collector node that processes a PTO containing a GOB:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MAY</bcp14> parse the GOB Payload according to the Schema field;</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> export the GOB content as structured metadata or as raw bytes;</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> ignore the GOB Payload if the Schema value is unknown or not
supported.</t>
          </li>
        </ul>
        <t>If the Schema value is unknown, the node <bcp14>MUST NOT</bcp14> infer semantics beyond
the presence and length of the GOB.</t>
      </section>
    </section>
    <section anchor="relation-to-pto-semantics">
      <name>Relation to PTO Semantics</name>
      <t>The GOB preserves the pre-allocated semantics of the IOAM PTO.</t>
      <t>The ingress node continues to determine the overall PTO allocation at
encapsulation time. This includes the size of the node data list and,
when present, the size of the GOB. Transit nodes operate only within the
pre-allocated space and do not change the overall layout of the PTO.</t>
      <t>The Node Data List retains its existing semantics and processing model.
The GOB does not redefine the per-node trace data structure and does not
replace the node data list. Instead, it introduces a distinct global
metadata region placed before the node data list.</t>
      <t>In this sense, the pre-allocated nature of the PTO applies both to the
per-node trace space and to the GOB. The GOB extends the PTO with a
global opaque area while preserving the original PTO processing model.</t>
    </section>
    <section anchor="schema-semantics-and-extensibility">
      <name>Schema Semantics and Extensibility</name>
      <t>The Schema field identifies the format of the GOB Payload.</t>
      <t>A Schema value may identify:</t>
      <ul spacing="normal">
        <li>
          <t>a sequence of EIP Information Elements;</t>
        </li>
        <li>
          <t>another structured metadata format defined by a specification;</t>
        </li>
        <li>
          <t>a locally defined or domain-specific format.</t>
        </li>
      </ul>
      <t>This document defines the GOB container, but does not define the
internal syntax of individual schema-specific payloads. The semantics of
the GOB Payload therefore depend on the specification associated with
the Schema value in use.</t>
      <t>Future specifications may define registries, allocation policies, or
schema-specific processing rules for GOB Payload formats.</t>
      <t>A Schema value of 0 indicates a locally defined or domain-specific
format. Future specifications that define registries or allocation
policies for Schema values <bcp14>MUST</bcp14> preserve this reservation.</t>
    </section>
    <section anchor="integration-with-eip">
      <name>Integration with EIP</name>
      <t>One important use of the GOB is the carriage of Extensible In-band
Processing (EIP) Information Elements.</t>
      <t>The GOB provides a natural container for EIP within the IOAM PTO because
it offers a single global metadata region with explicit length and
schema identification, distinct from the per-node trace data. This makes
it suitable for metadata that is flow-level, packet-level, or path-level
rather than node-local.</t>
      <t>Earlier work explored the integration of EIP into the IOAM framework
through a different approach based on IOAM data fields
<xref target="salsano25cscn"/>. The GOB-based approach defined in this document
provides an alternative integration model based on a pre-allocated
global metadata region within the PTO.</t>
      <t>The GOB is a general container for structured metadata. It can carry
EIP Information Elements, but it is not limited to EIP.</t>
      <t>The GOB-based integration has also been described and experimentally
evaluated in <xref target="mayer26noms"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The GOB introduces a global metadata region that may be read or modified
by on-path nodes. Unauthorized access to, or modification of, the GOB
Payload can affect telemetry interpretation, service behavior, or policy
enforcement.</t>
      <t>For this reason, deployments of the GOB <bcp14>SHOULD</bcp14> be limited to controlled
or trusted domains, consistent with the limited-domain assumptions often
applied to IOAM deployments.</t>
      <t>The security implications of the GOB Payload also depend on the Schema
in use. Some schemas may carry purely observational metadata, while
others may influence packet treatment or convey more sensitive
information. Schema-specific specifications <bcp14>SHOULD</bcp14> describe any
additional confidentiality, integrity, or authorization requirements.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines the Global Opaque Block (GOB) as an extension to
the IOAM Pre-allocated Trace Option.</t>
      <t>Two possible standardization approaches can be considered.</t>
      <t>A first approach is to reuse the existing codepoint of the IOAM
Pre-allocated Trace Option and extend its format by defining the G bit
and the associated GOB fields. In general, such an approach would be
questionable, because it introduces a format extension that is not
backward compatible with implementations that interpret the PTO
according to the current specification and do not support the GOB
extension.</t>
      <t>However, IOAM is typically intended for deployment in limited domains,
under the operational control of a single administrative entity. In such
environments, the operator can control software versions and protocol
support across the involved devices. For this reason, a non-backward-
compatible extension of the PTO format may still be a viable
standardization choice in this specific context, provided that the
deployment domain is managed in a coordinated manner.</t>
      <t>A second approach is to define a new codepoint for a PTO variant that
supports the Global Opaque Block. In this case, the presence or absence
of the GOB can still be indicated by the G bit, while the use of a
distinct codepoint provides explicit protocol separation from the
current PTO format and avoids ambiguity for non-updated
implementations.</t>
      <t>This version of the document does not request IANA actions. Future
versions may request updates to the relevant IOAM or IPv6 registries,
depending on which standardization approach is selected.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="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="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="IANA-ioam-types" target="https://www.iana.org/assignments/ioam/ioam.xhtml#data-field-types">
          <front>
            <title>IOAM Data Field Types</title>
            <author initials="" surname="IANA" fullname="IANA">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-ipv6-parameters" target="https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml">
          <front>
            <title>Internet Protocol Version 6 (IPv6) Parameters</title>
            <author initials="" surname="IANA" fullname="IANA">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="draft-eip-arch" target="https://datatracker.ietf.org/doc/draft-eip-arch/">
          <front>
            <title>Extensible In-band Processing (EIP) Architecture and Framework</title>
            <author initials="S." surname="Salsano" fullname="Stefano Salsano">
              <organization/>
            </author>
            <author initials="H." surname="ElBakoury" fullname="Hesham ElBakoury">
              <organization/>
            </author>
            <author initials="D. R." surname="Lopez" fullname="Diego R. Lopez">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <refcontent>Internet-Draft draft-eip-arch</refcontent>
        </reference>
        <reference anchor="salsano25cscn">
          <front>
            <title>Integrating Extensible In-Band Processing (EIP) into the IOAM Framework: A Unified Approach to In-Packet Telemetry and Metadata</title>
            <author initials="S." surname="Salsano" fullname="Stefano Salsano">
              <organization/>
            </author>
            <author initials="A." surname="Mayer" fullname="Andrea Mayer">
              <organization/>
            </author>
            <author initials="G." surname="Sidoretti" fullname="Giulio Sidoretti">
              <organization/>
            </author>
            <author initials="P." surname="Loreti" fullname="Pierpaolo Loreti">
              <organization/>
            </author>
            <author initials="L." surname="Bracciale" fullname="Lorenzo Bracciale">
              <organization/>
            </author>
            <author initials="H." surname="ElBakoury" fullname="Hesham ElBakoury">
              <organization/>
            </author>
            <author initials="D. R." surname="Lopez" fullname="Diego R. Lopez">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <refcontent>IEEE CSCN 2025 Conference</refcontent>
        </reference>
        <reference anchor="mayer26noms">
          <front>
            <title>Integrating the Global Opaque Block into the IOAM Framework: A Unified Approach to In-Packet Telemetry and Metadata</title>
            <author initials="A." surname="Mayer" fullname="Andrea Mayer">
              <organization/>
            </author>
            <author initials="S." surname="Salsano" fullname="Stefano Salsano">
              <organization/>
            </author>
            <author initials="G." surname="Sidoretti" fullname="Giulio Sidoretti">
              <organization/>
            </author>
            <author initials="P." surname="Loreti" fullname="Pierpaolo Loreti">
              <organization/>
            </author>
            <author initials="L." surname="Bracciale" fullname="Lorenzo Bracciale">
              <organization/>
            </author>
            <author initials="H." surname="ElBakoury" fullname="Hesham ElBakoury">
              <organization/>
            </author>
            <author initials="D. R." surname="Lopez" fullname="Diego R. Lopez">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <refcontent>IEEE/IFIP NOMS 2026</refcontent>
        </reference>
      </references>
    </references>
    <?line 651?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TBD.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
t1jOx6i4v9uYgnHWlGn4YH8k/heuX/bNG2AAAA==

-->

</rfc>
