<?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.29 (Ruby 3.2.3) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cxx-ippm-ioamaggr-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="ioam-aggr">Aggregation Trace Option for In-situ Operations, Administration, and Maintenance (IOAM)</title>
    <seriesInfo name="Internet-Draft" value="draft-cxx-ippm-ioamaggr-03"/>
    <author initials="A." surname="Clemm" fullname="Alexander Clemm">
      <organization>Sympotech</organization>
      <address>
        <email>ludwig@clemm.org</email>
      </address>
    </author>
    <author initials="L." surname="Metzger" fullname="Laurent Metzger">
      <organization>Ostschweizer Fachhochschule - OST</organization>
      <address>
        <email>laurent.metzger@ost.ch</email>
      </address>
    </author>
    <author initials="R." surname="Bister" fullname="Ramon Bister">
      <organization>Ostschweizer Fachhochschule - OST</organization>
      <address>
        <email>ramon.bister@ost.ch</email>
      </address>
    </author>
    <author initials="S." surname="Dellsperger" fullname="Severin Dellsperger">
      <organization>Ostschweizer Fachhochschule - OST</organization>
      <address>
        <email>severin.dellsperger@ost.ch</email>
      </address>
    </author>
    <date year="2025" month="April" day="24"/>
    <workgroup>IPPM</workgroup>
    <abstract>
      <?line 61?>

<t>The purpose of this memo is to describe a new option type for In-Situ Operations, Administration, and Maintenance (IOAM). This option type allows to aggregate IOAM data along a network path. Aggregates include functions such as the sum, average, minimum, or maximum of a given data parameter.</t>
    </abstract>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This memo proposes a new option type for In-Situ Operations, Administration, and Maintenance (IOAM) <xref target="RFC9197"/>. The IOAM Aggregate option type allows aggregating IOAM data along a network path. Aggregates include functions such as the sum, average, minimum, or maximum of a given data parameter.</t>
      <t>Many applications interested in telemetry data across a path are not so much interested in each individual node's telemetry, but an aggregate to paint a more holistic picture. An example of an aggregate could be a sum (for example, the sum of packet dwell times experienced across a path), an average (for example, the average dwell time experienced across a path), or a minimum or maximum (for example, of the dwell time experienced on any hop across the path, along with the node ID where the extreme was experienced). Other applications include sustainable networking, where (for example) the carbon-intensity of a path as a whole needs to be determined as an input to applications that attempt to minimize pollution attributable to specific networking traffic.</t>
      <t>The aggregation option type proposed in this memo addresses the needs of those applications. Rather than collecting individual IOAM data parameters at each node and exporting them for further processing, IOAM Aggregate allows preprocessing telemetry data into an aggregate as a packet traverses a path. Aggregating parameters along the path, instead of merely collecting them, offers the following advantages:</t>
      <ul spacing="normal">
        <li>
          <t>It keeps the packet size constant. This avoids problems such as the possibility of packets exceeding their MTU and need for fragmentation and reassembly in case of longer data paths, or deteriorating packet delays as packets grow in size along a path.</t>
        </li>
        <li>
          <t>It reduces the volume of data to be exported.</t>
        </li>
        <li>
          <t>It obviates the need to correlate data exported from individual nodes as belonging to the same flow, when compared with processing of postcard telemetry data <xref target="RFC9326"/>.</t>
        </li>
        <li>
          <t>It significantly reduces the amount of processing that needs to be done by applications, simplifying their development and deployment.</t>
        </li>
        <li>
          <t>It enables greater network intelligence, such as taking actions on aggregates when certain thresholds are exceeded.</t>
        </li>
      </ul>
      <t>Aggregating parameters does require a small amount of processing (such as, arithmetic operations to add to a sum, or a comparison operation to determine a minimum) at each hop, requiring some additional processing cycles. This is a small tradeoff to be aware of when choosing this option. We believe that this tradeoff will be acceptable in many implementations and deployment scenarios.</t>
    </section>
    <section anchor="background">
      <name>Background</name>
      <t><xref target="RFC9197"/> defines the scope of IOAM as well as the different IOAM nodes. The following section reiterates those roles and explains how they are applied in the context of IOAM Aggregation.</t>
      <t>IOAM is focused on "limited domains", as defined in <xref target="RFC8799"/>. IOAM is not targeted for a deployment on the global Internet, which would incur additional considerations such as the crossing of Trust Boundaries, authentication of IOAM data, or the desire to obfuscate domain internals to outside parties. The part of the network that employs IOAM is referred to as the "IOAM-Domain".</t>
      <t>An IOAM-Domain consists of "IOAM encapsulating nodes", "IOAM decapsulating nodes", and "IOAM transit nodes", as depicted in <xref target="FIG-ioam-roles"/>.</t>
      <figure anchor="FIG-ioam-roles">
        <name>Roles of IOAM nodes</name>
        <artwork><![CDATA[
                                                      Export of
                                                  IOAM data (opt.)
                                                          ^
                                                          |
User     +--------+     +--------+     +--------+     +---+----+
packets  |Encapsu-|     | Transit|     | Transit|     |Decapsu-|
-------->|lating  |====>| Node   |====>| Node   |====>|lating  |-->
         |Node    |     | A      |     | B      |     |Node    |
         +--------+     +--------+     +--------+     +--------+
]]></artwork>
      </figure>
      <t>The role of these nodes is as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The Encapsulating Node originates the IOAM aggregation. It adds the IOAM Aggregation Option to the packet for which telemetry data is to be aggregated across the path and populates the fields with their initial values.</t>
        </li>
        <li>
          <t>The Transit Node is an IOAM-enabled node that aggregates the value of its own telemetry with the aggregate in the packet, updating the aggregation data as needed.</t>
        </li>
        <li>
          <t>The Decapsulating Node terminates the IOAM aggregation. It aggregates the value of its own telemetry with the aggregate in the packet and updates the aggregation data as needed. It subsequently exports the aggregated data, specifically, including the value of the aggregate itself as well as auxiliary data as applicable (e.g. node ID for min, max, and in case of errors).</t>
        </li>
      </ul>
    </section>
    <section anchor="ioam-aggregation-option-type">
      <name>IOAM Aggregation Option-Type</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>This section defines the data fields for the IOAM Aggregation Option Type format. Like other IOAM Aggregation Option Types, these data fields can be mapped into a number of transport protocols <xref target="RFC9378"/>. For example, transport over IPv6 <xref target="RFC8200"/> has been defined in <xref target="RFC9486"/>.</t>
        <t>The format of the IOAM Aggregation Option Type data fields is depicted in <xref target="FIG-ioam-aggr-option-hdr"/>.</t>
        <figure anchor="FIG-ioam-aggr-option-hdr">
          <name>IOAM Aggregation Option Type Format</name>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Namespace-ID           | Flags |       Reserved        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IOAM Data Param                 |  Aggregator   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Aggregate                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Auxil-data Node-ID                 |   Hop Count   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The total length of the IOAM Aggregation Option Type data fields is fixed at 16 octets (word-aligned). These 16 octets hold header information as well as aggregation data in the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Namespace-ID: 16-bit identifier of an IOAM-Namespace, as defined in <xref target="RFC9197"/>. The Namespace-ID is populated by the encapsulating node and MUST NOT be changed by any of the intermediate nodes. The Namespace-ID value of 0x0000 is defined as the "Default-Namespace-ID" and MUST be known to all the nodes implementing IOAM. For any other Namespace-ID value that does not match any Namespace-ID the node is configured to operate on, the node MUST NOT change the contents of the IOAM-Data-Fields except for the Namespace Flag (see below).</t>
          </li>
          <li>
            <t>Flags: 4-bit field to indicate errors that were encountered when attempting to process the IOAM Aggregation Option along the path. Once a flag is set, no further aggregation occurs along the path. An intermediate node that encounters an error during processing of the IOAM Aggregation that prevents it from updating the aggregate as requested MUST set the corresponding flag to 1. In order to facilitate troubleshooting, it also MUST set the value of the Auxil-data Node-ID field to its own Node-ID. The encapsulating node MUST set the value of Flags to zero upon transmission. When an intermediate node encounters receives a packet in which any of the Flags are non-zero, the node MUST NOT perform further IOAM operations on that packet; instead, the IOAM data MUST be forwarded as-is unchanged. The following flags are defined:
            </t>
            <ul spacing="normal">
              <li>
                <t>Flag 1: Aggregator not supported</t>
              </li>
              <li>
                <t>Flag 2: Unsupported IOAM data parameter</t>
              </li>
              <li>
                <t>Flag 3: Unsupported Namespace</t>
              </li>
              <li>
                <t>Flag 4: Any other error</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Reserved: An IOAM encapsulating node MUST set the value to zero upon transmission. IOAM transit nodes MUST ignore the received value.</t>
          </li>
          <li>
            <t>IOAM Data Param: This field identifies the data parameter that is to be aggregated across the nodes. It MUST be set by the IOAM encapsulating node. IOAM transit nodes MUST NOT change it. Contrary to IOAM Trace-Type in the pre-allocated and incremental trace option types, only a single parameter is aggregated at a time. Accordingly, the data parameter to be aggregated is not identified by a particular bit, but by a value.</t>
          </li>
          <li>
            <t>Aggregator: This 8-bit field identifies the aggregation function that is to be applied. Its value MUST be set by the IOAM encapsulating node. IOAM transit nodes MUST not change it. The following aggregators are defined:
            </t>
            <ul spacing="normal">
              <li>
                <t>Sum (value: 0b1)</t>
              </li>
              <li>
                <t>Min (value: 0b10)</t>
              </li>
              <li>
                <t>Max (value: 0b100)</t>
              </li>
              <li>
                <t>Average (value: 0b1000)</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Aggregate: This 32-bit field contains the aggregated value. Its value is initialized by the encapsulating node,in general by simply recording the value of its data parameter that is to be aggregated. The field is updated by each subsequent node pre the requested aggregation, including IOAM transit nodes as well as the IOAM decapsulating node (prior to performing decapsulation).</t>
          </li>
          <li>
            <t>Auxil-data Node-ID: This 24-bit field contains a Node-ID. It MUST be set by the encapsulating node to its own Node ID.
Subsequent nodes (IOAM transit nodes, as well as the IOAM decapsulating node prior to performing decapsulation) MUST update the value to their own Node-ID IF AND ONLY IF one of the following conditions hold, otherwise they MUST NOT change its value:
            </t>
            <ul spacing="normal">
              <li>
                <t>When a flag is set by the node (i.e., the first time any type of error is encountered along the path)</t>
              </li>
              <li>
                <t>When the aggregator is one of Min or Max, and a new minimum respectively maximum is encountered. The value of the Auxil-data Node-ID field is hence used to record where the minimum respectively maximum value was first encountered. (When a node matches an existing minimum or maximum but does not beat it, the Node-ID is not updated.)</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Hop Count. This 8-bit fields contain a hop count to record the number of nodes along the path that successfully processed the IOAM Aggregation. The encapsulating node MUST set the value to 1, and each subsequent node (transit nodes, as well as the decapsulating node prior to performing decapsulation) MUST increment its value by 1. If the Hop Count at a node exceeds 255, that node MUST set the Hop Count to 0 and set Flag 4 ("any other error") to prevent further processing of the IOAM Aggregation.</t>
          </li>
        </ul>
      </section>
      <section anchor="discussion">
        <name>Discussion</name>
        <t>This section explains some design choices and points out items that may be subjected to further discussion.</t>
        <ul spacing="normal">
          <li>
            <t>Single versus multiple parameters. The Aggregation Option Type allows to only aggregate one data parameter at a time. This allows to keep the format of the data structure simple and of fixed size. This facilitates processing. It also limits the number of processing cycles that need to be spent for aggregation at each node. An application seeking to perform multiple types of aggregation at a time will need to apply different types of aggregation for different packets.</t>
          </li>
          <li>
            <t>IOAM data parameter identification. Unlike other IOAM Option Types, data parameters are not represented by a bit position in a field but by a 24-bit identifier. This allows to support a greater number of parameters. In order to facilitate compatibility, initially only identifiers SHOULD be used that utilize bits 12 through 22, with other bits set to 0. The assignment of IOAM data parameter identifiers is at this point up to the network operator, with IOAM data parameters being specific to an IOAM name space. It is conceivable that a global namespace and a corresponding IANA registry for IOAM data parameters would be introduced at a later point in time.</t>
          </li>
          <li>
            <t>Average aggregator. An average can be easily derived from dividing a sum obtained across all nodes by the hop count. Avoiding division operations along the path can save considerable processing cycles. It is FFS if the average aggregator is really required.</t>
          </li>
          <li>
            <t>Simultaneous use with other IOAM Option Types. There are use cases conceivable that would benefit from also adding a trace of which nodes were actually traversed on the path. The possibility to do so is already provided with other IOAM Option Types and does not need to be added here. In order to use multiple IOAM Option Types simultaneously, applications can use one of several alternatives. In one alternative, multiple IOAM Option Types with their corresponding data structures are simultaneously used in the same packet. In another alternative, different packets of the same flow are each send with a different IOAM Option Type, a form of sampling which however provides no absolute guarantees of path congruency (i.e., different packets traversing the exact same path).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>The following describes a number of use cases in which the IOAM Aggregation Trace Option can be applied in order to illustrate its use. Many more such use cases can be identified.</t>
      <ul spacing="normal">
        <li>
          <t>Determination of energy-related metrics along a path. Energy metrics related to networking paths have been proposed as a way to optimize routing decisions for more sustainable networking (e.g. <xref target="I-D.petra-path-energy-api"/>). IOAM Aggregation Trace Option allows to easily determine such metrics by aggregating the contributions of nodes along the path without need for post-processing or coordination by controllers. An implementation of this has been successfully demonstrated <xref target="NetSoft2024"/>.</t>
        </li>
        <li>
          <t>Identification of outliers to aid in diagnosing and troubleshooting of performance issues in the delivery of service instances. One use case for IOAM concerns collecting parameters such as the dwell time of packets at each node to aid in diagnosing latency issues. Of particular interest is the determination of the respective outlier on the path in order to identify if any node in particular might be the culprit. Using the IOAM Aggregation Trace Option allows delivering data about the particular outlier without the need to collect and then process a larger number of data items from each node across lengthy paths, making diagnosis a lot more efficient.</t>
        </li>
        <li>
          <t>Aggregation of packet dwell times across networking paths as a way to optimize networks to better meet service level objectives related to latency. Providing networking services that meet latency-related service level objectives is a well-documented problem and focus of the networking community. Some approaches focus on the dwell time of packets as one component of their solution, i.e. the time spent by routers in processing packets <xref target="I-D.eckert-detnet-glbf"/>. Using the IOAM Aggregation Trace Option allows to directly act on an aggregate, i.e. the data of interest, without having to go through additional steps to first collect and process large numbers of individual raw data items.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A malicious node along the path could attempt to forge the aggregate, resulting in a wrong aggregate to be reported. This might mislead applications. Likewise, a malicious node along the path could set a flag to trick other nodes not to process the aggregate any further, or clear a flag to make a distorted result appear legitimate. To avoid this, network operators need to ensure that their network nodes can be trusted and are not compromised.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA requests are TBD. Future versions of this document may request the establishment of a registry for Aggregators as well as for IOAM Data Parameters.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <ul spacing="normal">
        <li>
          <t>Reto Furrer, OST</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative 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="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="RFC9326">
          <front>
            <title>In Situ Operations, Administration, and Maintenance (IOAM) Direct Exporting</title>
            <author fullname="H. Song" initials="H." surname="Song"/>
            <author fullname="B. Gafni" initials="B." surname="Gafni"/>
            <author fullname="F. Brockners" initials="F." surname="Brockners"/>
            <author fullname="S. Bhandari" initials="S." surname="Bhandari"/>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>In situ Operations, Administration, and Maintenance (IOAM) is used for recording and collecting operational and telemetry information. Specifically, IOAM allows telemetry data to be pushed into data packets while they traverse the network. This document introduces a new IOAM option type (denoted IOAM-Option-Type) called the "IOAM Direct Export (DEX) Option-Type". This Option-Type is used as a trigger for IOAM data to be directly exported or locally aggregated without being pushed into in-flight data packets. The exporting method and format are outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9326"/>
          <seriesInfo name="DOI" value="10.17487/RFC9326"/>
        </reference>
        <reference anchor="RFC9378">
          <front>
            <title>In Situ Operations, Administration, and Maintenance (IOAM) Deployment</title>
            <author fullname="F. Brockners" initials="F." role="editor" surname="Brockners"/>
            <author fullname="S. Bhandari" initials="S." role="editor" surname="Bhandari"/>
            <author fullname="D. Bernier" initials="D." surname="Bernier"/>
            <author fullname="T. Mizrahi" initials="T." role="editor" surname="Mizrahi"/>
            <date month="April" year="2023"/>
            <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 provides a framework for IOAM deployment and provides IOAM deployment considerations and guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9378"/>
          <seriesInfo name="DOI" value="10.17487/RFC9378"/>
        </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="I-D.petra-path-energy-api">
          <front>
            <title>Path Energy Traffic Ratio API (PETRA)</title>
            <author fullname="Alberto Rodriguez-Natal" initials="A." surname="Rodriguez-Natal">
              <organization>Cisco</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Alejandro Muniz" initials="A." surname="Muniz">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Marisol Palmero" initials="M." surname="Palmero">
              <organization>Cisco</organization>
            </author>
            <author fullname="Fernando Munoz" initials="F." surname="Munoz">
              <organization>Cisco</organization>
            </author>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>Cisco</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document describes an API to query a network regarding its
   Energy Traffic Ratio for a given path.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-petra-path-energy-api-02"/>
        </reference>
        <reference anchor="I-D.eckert-detnet-glbf">
          <front>
            <title>Deterministic Networking (DetNet) Data Plane - guaranteed Latency Based Forwarding (gLBF) for bounded latency with low jitter and asynchronous forwarding in Deterministic Networks</title>
            <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
              <organization>Futurewei Technologies USA</organization>
            </author>
            <author fullname="Alexander Clemm" initials="A." surname="Clemm">
              <organization>Sympotech</organization>
            </author>
            <author fullname="Stewart Bryant" initials="S." surname="Bryant">
              <organization>Independent</organization>
            </author>
            <author fullname="Stefan Hommes" initials="S." surname="Hommes">
              <organization>ZF Friedrichshafen AG</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This memo proposes a mechanism called "guaranteed Latency Based
   Forwarding" (gLBF) as part of DetNet for hop-by-hop packet forwarding
   with per-hop deterministically bounded latency and minimal jitter.

   gLBF is intended to be useful across a wide range of networks and
   applications with need for high-precision deterministic networking
   services, including in-car networks or networks used for industrial
   automation across on factory floors, all the way to ++100Gbps
   country-wide networks.

   Contrary to other mechanisms, gLBF does not require network wide
   clock synchronization, nor does it need to maintain per-flow state at
   network nodes, avoiding drawbacks of other known methods while
   leveraging their advantages.

   Specifically, gLBF uses the queuing model and calculus of Urgency
   Based Scheduling (UBS, [UBS]), which is used by TSN Asynchronous
   Traffic Shaping [TSN-ATS]. gLBF is intended to be a plug-in
   replacement for TSN-ATN or as a parallel mechanism beside TSN-ATS
   because it allows to keeping the same controller-plane design which
   is selecting paths for TSN-ATS, sizing TSN-ATS queues, calculating
   latencies and admitting flows to calculated paths for calculated
   latencies.

   In addition to reducing the jitter compared to TSN-ATS by additional
   buffering (dampening) in the network, gLBF also eliminates the need
   for per-flow, per-hop state maintenance required by TSN-ATS.  This
   avoids the need to signal per-flow state to every hop from the
   controller-plane and associated scaling problems.  It also reduces
   implementation cost for high-speed networking hardware due to the
   avoidance of additional high-speed speed read/write memory access to
   retrieve, process and update per-flow state variables for a large
   number of flows.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-eckert-detnet-glbf-04"/>
        </reference>
        <reference anchor="NetSoft2024">
          <front>
            <title>Towards Sustainable Networking: Unveiling Energy Efficiency Through Hop and Path Efficiency Indicators in Computer Networks.</title>
            <author initials="R." surname="Bister" fullname="R. Bister">
              <organization/>
            </author>
            <author initials="A." surname="Clemm" fullname="A. Clemm">
              <organization/>
            </author>
            <author initials="S." surname="Dellsperger" fullname="S. Dellsperger">
              <organization/>
            </author>
            <author initials="R." surname="Furrer" fullname="R. Furrer">
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
          <seriesInfo name="IEEE 10th International Conference on Network Softwarization (NetSoft)" value=""/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81cbXPcNpL+Pr8C5Xw4qTIzJctOYutqt1axrF1dxZYrkuvq
6uruCkNiZrAmCR5BajSxs799n+4GSHBmpDiOr+q0lY1EgkCjX59uNDKbzSaZ
y221OlNdu5y9mExa2xbmTJ2vVo1Z6da6St02OjPquuY/lq5RV9XM27bDI9Pw
ED9V53lpK+tbeTBVusrVG22r1lS6wudHV9fnb44nerFozN2Zsk6XM41FJrnL
Kl1iybzRy3aW3d/PbF2XMxpBA2YnzyYb0Hf17t2bia2bM9U2nW9PT05enpxO
Mt2alWu2Z8q3+WTiW6z7P7pwFSbcGj+p7Zn6z9ZlU+Vd0zZmCVL9tpRfMleW
pmr9f00mumvXrjmbKDXDP/xjKw8+zNWrwpRlfCiknhfmHguZZvzSNaDzZlvW
rjXZOj41pbbFmSq6fGNXf8nogzlG7i3101y9Me0vK9OMF/tJdw2o3H3Ji137
1mfrjbG/gJZLna3XLlvjSVcYNVPXN7e7RMhc81Lm+ovz7ZwpHZPy81z9CFnu
UvKzLqEB4zdfREZDE80XPNFDNNzM1YUpCg8d22PJjbkzja0ODfgierzMN8+H
+SJZk8o1JXT6zpBy/Hz56uXTlz+cTSa2Wu68eAGVjL/+8PJlHP7s9Pv+1x9e
xF+fv+CnV7OLeW1gNLNat+uZqbD2dqahteGlyT6Ypp3lpq1MO1sViyW9eWva
G7eEDZw+P+OtBKt9cus2usm9uoGFwPj0AhvG4I1rPrCRv6/ujC3wq3rNS6nX
y6XNrKmyrbpdN65brdXfXM3W+w4Upe+vqtzC3FzjISD1ypV1B/HF6f38CVMy
GBL99CKNGrSjWLvvd8xt9/VBnTiwxmXXNOF9Dgdxpk6fq3/rKqOIY/zYQ97G
kxDhWV6/fq2enmC3V3BXTcUeTBfYYrU0MBd4L6h92KcixoPJ9hdxjkdBFseq
J2Mym82UXpAvzNrJ5HZtVN01tfOYZ6natfWqNKVT+HfrVG581tiFUVpVZqOc
uNl2W5voa2++zNfOIVEskU6oi8JteFUd/LtRNJa4pBW5zRWTITsllZz3kcCQ
2DN4MdDVVRmTonyXrZXGjNij70qQAkPSKzNVRGFJT7CHUt/T77R7rVawmEoW
rDUcgQHL5xPmWWnzvDCTyTckiMblHa9CHIwsqxtHfPRfnVnq48dg27/+SowL
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
AA==

-->

</rfc>
