<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-masque-connect-udp-ecn-dscp-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title>ECN and DSCP support for HTTPS's Connect-UDP</title>
    <seriesInfo name="Internet-Draft" value="draft-westerlund-masque-connect-udp-ecn-dscp-00"/>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="07"/>
    <area>WIT</area>
    <workgroup>MASQUE</workgroup>
    <keyword>quic</keyword>
    <keyword>http</keyword>
    <keyword>datagram</keyword>
    <keyword>udp</keyword>
    <keyword>proxy</keyword>
    <keyword>tunnels</keyword>
    <keyword>quic in quic</keyword>
    <keyword>turtles all the way down</keyword>
    <keyword>masque</keyword>
    <keyword>http-ng</keyword>
    <abstract>
      <?line 59?>

<t>HTTP's Extended Connect's Connect-UDP protocol enables a client to
proxy a UDP flow from the HTTP server towards a specified target IP
address and UDP port. QUIC and Real-time transport protocol (RTP) are examples
of transport protocols that use UDP and support Explicit Congestion
Notification (ECN) and provide the necessary feedback. This document specifies
how ECN and DSCP can be supported through an extension to the Connect-UDP
protocol for HTTP.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://gloinul.github.io/masque-ecn/#go.draft-westerlund-masque-connect-udp-ecn.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-westerlund-masque-connect-udp-ecn-dscp/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        MASQUE Working Group mailing list (<eref target="mailto:masque@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/masque/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/masque/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/gloinul/masque-ecn"/>.</t>
    </note>
  </front>
  <middle>
    <?line 70?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Connect-UDP, as currently defined, limits the Explicit Congestion Notification
(ECN) <xref target="RFC3168"/> exchange between the HTTP server and the target. There is no
support for carrying the ECN bits between the HTTP Connect-UDP client and the
HTTP server proxying the UDP flow. Thus, it is not possible to establish the
end-to-end ECN information flow necessary to support either classic ECN
<xref target="RFC3168"/> or L4S <xref target="RFC9484"/>.</t>
      <t>Diffserv <xref target="RFC2475"/> enables differential network treatment of packets.
Connect-UDP, as currently defined, lacks support for carrying the DSCP
field <xref target="RFC2474"/> through the tunnel.</t>
      <t>This document specifies two Connect-UDP extensions that enable end-to-end ECN
and DSCP for proxied connections: an ECN-zero-bytes extension, which adds no
overhead by encoding the ECN value directly into the Context ID; and an
ECN/DSCP extension, which carries both DSCP and ECN in the HTTP Datagram
payload. For these two extensions, this document specifies negotiation and
defines a new Datagram context that carries the DSCP and ECN bits and the UDP
payload, replacing the context defined in <xref target="RFC9298"/>.</t>
      <t>An alternative to this extension is Connect-IP <xref target="RFC9484"/>; however, it carries
a full IP header between the HTTP client and server, resulting in significantly
more overhead than this extension, which requires zero or one byte to carry
both the DSCP and ECN bits.</t>
      <t>To define a solution that can be combined with other extensions, and thus other
contexts, without redefining each combination, the extensions defined in this
document indicate not only the ECN and DSCP values but also the next Context ID.
The ECN-zero-bytes extension defines three additional Context ID values that are
bound to an HTTP Datagram payload identifying the Context ID and indicate whether
the packet was marked with ECT(0), ECT(1), or CE, respectively.</t>
      <t>An endpoint should not enable both extensions defined in this document, as that
would lead to confusion if both extensions indicate different ECN values.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</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 target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="sec-CONTEXT-ECN">
      <name>ECN-zero-byte Extension</name>
      <t>For a zero-overhead encoding, the ECN bits can be indicated by using different
Context IDs. At the same time, the Context ID indicates which Context ID would
otherwise have been used to identify the structure of the rest of the HTTP
payload, which we call the payload-identifying context ID, or short payload
ID. Often this is the basic UDP-payload context (Context ID 0) as defined by
<xref target="RFC9298"/>.</t>
      <t>The core of this solution is to define additional Context IDs (A, B, and C) for
a Connect-UDP stream that indicate ECN values other than Not-ECT, i.e., ECT(1),
ECT(0), or CE <xref target="RFC3168"/>. This idea is shown in <xref target="ECN-Encoding-Table"/>.</t>
      <table anchor="ECN-Encoding-Table">
        <name>ECN Encoding Table</name>
        <thead>
          <tr>
            <th align="right">Context ID Value</th>
            <th align="left">ECN bit</th>
            <th align="left">ECN Value</th>
            <th align="left">Payload ID</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">0</td>
            <td align="left">0b00</td>
            <td align="left">Not-ECT</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">A</td>
            <td align="left">0b01</td>
            <td align="left">ECT(1)</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">B</td>
            <td align="left">0b10</td>
            <td align="left">ECT(0)</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">C</td>
            <td align="left">0b11</td>
            <td align="left">CE</td>
            <td align="left">0</td>
          </tr>
        </tbody>
      </table>
      <t>No new Context ID value is defined to represent Not-ECT, since using a Context
ID without this extension would, by default, imply Not-ECT. Additionally,
Context IDs are defined to represent the combination of an ECN value other than
Not-ECT and the payload-identifying Context ID. If an application uses more
Context ID values than just zero, additional Context IDs must be defined.</t>
      <t>This extension results in four times as many Context IDs within a single
Connect-UDP stream. We expect that this is acceptable in most cases, as a total
of 64 Context IDs can be encoded in a single byte, thus resulting in no packet
expansion. However, for applications that have more than 16 original Context IDs
(including zero), it is recommended to use the ECN/DSCP extension
<xref target="sec-DSCP-ECN"/>, which only doubles the number of Context IDs but requires an
additional byte in the payload.</t>
      <t>An endpoint enabling this extension MUST define all three ECN values, even if
the ECN-enabled application expects that only one ECT value (and CE) is used.
This is because of transmission errors or erroneous remarking in the network,
where the other ECT codepoint, as well as Not-ECT, may be observed.</t>
      <t>Negotiation of the conetxt ID values is defined using both
HTTP headers and capsulses in <xref target="sec-neg-ECN-Zero"/>.</t>
    </section>
    <section anchor="sec-DSCP-ECN">
      <name>DSCP/ECN Extension</name>
      <t>The HTTP Datagram Payload format is defined in <xref target="RFC9484"/> as depicted below.</t>
      <figure anchor="dgram-format">
        <name>ECN enabled UDP Proxying HTTP Datagram Format</name>
        <artwork type="ascii-art"><![CDATA[
UDP Proxying HTTP Datagram Payload {
  Context ID (i),
  UDP Proxying Payload (..)
}
]]></artwork>
      </figure>
      <t>For the ECN/DSCP extension, the ECN/DSCP UDP Proxying Payload is defined in the following way:</t>
      <figure anchor="UDP-Proxying-Payload">
        <name>ECN/DSCP UDP Proxying Payload</name>
        <artwork type="ascii-art"><![CDATA[
ECN/DSCP UDP Proxying Payload {
  DSCP(6),
  ECN(2),
  UDP Proxying Payload (..) # Payload per another Context ID definition
}
]]></artwork>
      </figure>
      <t>DSCP: A six bit field carrying the Differentiated Service Code Point
    as defined by <xref target="RFC2474"/> associated with this UDP Proxying Payload.</t>
      <t>ECN: A two bit field carrying the IP ECN bits as defined by Section 5
    of <xref target="RFC3168"/> to be set or as received on the IP/UDP packet
    carrying the UDP Datagram payload included.</t>
      <t>UDP Proxying Payload: Another UDP Proxying Payload following the ECN
    carrying byte. This uses another Context ID as negotiated,
    e.g. Context ID 0.  Thus enabling this byte to be combined with
    any other payload.</t>
      <t>This format used a negotiated context ID that MUST be non-zero. It
MUST also negotiate the payload-identifying context ID.</t>
    </section>
    <section anchor="sec-neg-ECN">
      <name>Negotiating Extensions Usage</name>
      <t>This section defines capability negotation and Context ID
configuration for the two defined extensions.</t>
      <t>Note that Context Identifiers are defined as QUIC varints (see Section 16 of
<xref target="RFC9000"/>) and support values up to 4,611,686,018,427,387,903, which is
larger than what a Structure Header Integer supports (limited to
999,999,999,999,999). We foresee no issues with this limitation, as Context
Identifiers should primarily use the single-byte representation for efficiency,
i.e., they should rarely exceed 63.</t>
      <section anchor="sec-neg-ECN-Zero">
        <name>ECN-zero-byte Extension</name>
        <t>To use the ECN-zero-byte extension three Context IDs need to be configured
relative to the Context ID that identifies the actual HTTP Datagram payload.</t>
        <t>A configuration of ECN signaling is represented by a four-tuple with the
following format:</t>
        <figure anchor="ECN-CAP-CONTEXT-Format">
          <name>ECN CONTEXT ASSIGNMENT Format</name>
          <artwork type="ascii-art"><![CDATA[
ECN_CONTEXT_ASSIGNMENT {
  ECT_1_CONTEXT (i),
  ECT_0_CONTEXT (i),
  CE_CONTEXT (i),
  PAYLOAD_CONTEXT (i)
}
]]></artwork>
        </figure>
        <dl>
          <dt>ECT_1_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value ECT(1).</t>
          </dd>
          <dt>ECT_0_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value ECT(0).</t>
          </dd>
          <dt>CE_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value CE.</t>
          </dd>
          <dt>PAYLOAD_CONTEXT:</dt>
          <dd>
            <t>The payload-identifiying context ID indicating the actual encoding of the
start of the HTTP Datagram payload.</t>
          </dd>
        </dl>
        <section anchor="http-structured-field">
          <name>HTTP Structured field</name>
          <t>ECN-Context-ID is a Structured Header Field <xref target="RFC9651"/>. Its value is a List
consisting of zero or more Inner Lists, where the Inner List contains four
Integer Items. The Integer Items MUST be non-negative, as they are context
identifiers defined in <xref target="RFC9298"/>. The four Context IDs are those defined in
<xref target="ECN-CAP-CONTEXT-Format"/>, in that order.</t>
          <t>When the header is included in an Extended Connect request, it indicates, first
of all, support for this ECN extension. Secondly, it may define one or more
4-item inner lists of Context IDs for the requestor-to-responder direction.
If no 4-item inner lists of Context IDs are included, then this header only
indicates support for the extension, and the Context IDs MAY be signaled using
capsules.</t>
          <t>When the request includes the ECN-Context-ID header, the responder MAY include
this header in the response. If included, it defines the Context ID used in the
responder-to-requestor direction.</t>
          <t>The following example indicates support for ECN-zero-byte-extension and
defines two sets of Context IDs: ID=5, 6, 7 (ECT(1), ECT(0), CE) combined with
Context ID 4; and ID=1, 2, 3 combined with the default ID=0 as defined in
<xref target="RFC9298"/>, i.e., a plain UDP payload.</t>
          <figure anchor="ECN-Context-ID-example">
            <name>Example of ECN-Context-ID header</name>
            <artwork type="ascii-art"><![CDATA[
ECN-Context-ID: (5,6,7,4), (1,2,3,0)
]]></artwork>
          </figure>
        </section>
        <section anchor="ecn-context-id-assignment-capsule">
          <name>ECN Context ID Assignment Capsule</name>
          <t>The ECN_CONTEXT_ASSIGN capsule is used to assign Context ID values to the
ECN-zero-byte extension.</t>
          <figure anchor="ECN-CAP-Format">
            <name>ECN_CONTEXT_ASSIGN Capsule Format</name>
            <artwork type="ascii-art"><![CDATA[
ECN_CONTEXT_ASSIGN Capsule {
  Type (i) = TBA_2
  Length (i),
  ECN_CONTEXT_ASSIGNMENT (..) ...,
}
]]></artwork>
          </figure>
          <t>Type and Length as defined by Section 3.2 of the HTTP Capsule specification
<xref target="RFC9297"/>. The capsule value is the ECN_CONTEXT_ASSIGNMENT defined above in
<xref target="ECN-CAP-CONTEXT-Format"/>. Thus, the capsule value consists of zero or more
ECN_CONTEXT_ASSIGNMENT four-tuples.</t>
        </section>
      </section>
      <section anchor="ecndscp-extension">
        <name>ECN/DSCP extension</name>
        <t>This section defines the negotiation of the ECN/DSCP extension defined in
<xref target="sec-DSCP-ECN"/>. It defines both an HTTP header field (DSCP-ECN-Context-ID)
that can be included in the Extended Connect request, and a capsule.</t>
        <section anchor="http-structured-header">
          <name>HTTP Structured Header</name>
          <t>DSCP-ECN-Context-ID is a Structured Header Field <xref target="RFC9651"/>. Its
value is a List of zero or more Inner Lists, where each Inner List
contains two Integer Items. The Integer Items MUST be non-negative, as
they are context identifiers defined by <xref target="RFC9298"/>. The first Integer
Item is the Context ID being defined, and the second Integer Item is
the Context ID for the payload following the ECN/DSCP byte.</t>
          <t>When the header is included in an Extended Connect request, it indicates, first
of all, support for the ECN/DSCP extension. Secondly, it may define one or more
context ID pairs for the requestor-to-responder direction. If no context ID
pairs are included, then this header only indicates support for the extension,
and it may be configured using capsules.</t>
          <t>When the request includes the DSCP-ECN-Context-ID header, the responder MAY
include this header in the response. If included, it defines the Context ID
used in the responder-to-requestor direction</t>
          <t>The following example indicates supoprt of the ECN/DSCP extension and defines
three Context IDs: Context ID 1 combined with Context ID 4, Context ID 2
combined with Context ID 5, and Context ID 3 combined with the default Context
ID 0 as defined in <xref target="RFC9298"/>, i.e., a plain UDP payload.</t>
          <figure anchor="DSCP-ECN-Context-ID-example">
            <name>Example of ECN-Context-ID header</name>
            <artwork type="ascii-art"><![CDATA[
DSCP-ECN-Conext-ID: (4,1), (5,2), (3,0)
]]></artwork>
          </figure>
        </section>
        <section anchor="dscpecn-context-id-assignment-capsule">
          <name>DSCP/ECN Context ID Assignment Capsule</name>
          <t>The DSCP_ECN_CONTEXT_ASSIGN capsule is used to assign context ID values for the
DSCP/ECN extension.</t>
          <figure anchor="DSCP-ECN-CAP-Format">
            <name>DSCP_ECN_CONTEXT_ASSIGN Capsule Format</name>
            <artwork type="ascii-art"><![CDATA[
DSCP_ECN_CONTEXT_ASSIGN Capsule {
  Type (i) = TBA_2
  Length (i),
  CONTEXT ASSIGNMENT (..) ...,
}
]]></artwork>
          </figure>
          <t>Type and Length as defined by the HTTP Capsule specification in <xref section="3.2" sectionFormat="of" target="RFC9297"/>. The capsule value is defined below.</t>
          <figure anchor="DSCP-ECN-CAP-CONTEXT-Format">
            <name>CONTEXT ASSIGNMENT Format</name>
            <artwork type="ascii-art"><![CDATA[
CONTEXT ASSIGNMENT {
  ASSIGNED_CONTEXT (i),
  NEXT_PAYLOAD_CONTEXT (i)
}
]]></artwork>
          </figure>
          <t>The capsule value consists of zero or more CCONTEXT ASSIGNMENT pair values.
Each pair consists of these two fields:</t>
          <t>ASSIGNED_CONTEXT: : The context ID identifying that the indicated HTTP datagram
payload starts with the ECN/DSCP UDP Proxying Payload.</t>
          <dl>
            <dt>NEXT_PAYLOAD_CONTEXT:</dt>
            <dd>
              <t>The context ID identifying the following payload in each
HTTP datagram after the ECN/DSCP UDP Proxying Payload.</t>
            </dd>
          </dl>
          <t>This capsule is sent by either endpoints to configure or extend the
configuration of context IDs. The receiving HTTP
endpoint MUST send back its corresponding DSCP_ECN_CONTEXT_ASSIGN capsule,
which may be empty if the peer does not intend to provide any context IDs.</t>
        </section>
      </section>
    </section>
    <section anchor="tunnels-and-dscp-and-ecn-marking-interactions">
      <name>Tunnels and DSCP and ECN marking interactions</name>
      <section anchor="tunnel-endpoint-marking">
        <name>Tunnel Endpoint Marking</name>
        <t>The Tunnel Endpoint, when receiving an IP/UDP packet belonging to a Connect-UDP
request with the ECN/DSCP extension enabled, copies the six DSCP bits and the
two ECN bits from the IP header into the DSCP and ECN fields, respectively, in
the HTTP Datagram payload using the relevant Context ID. When using the ECN-only
extension, the two ECN bits in the incoming IP/UDP packet are used to select the
appropriate Context ID.</t>
        <t>For the ECN/DSCP extension, the Tunnel Endpoint on egress copies the DSCP and
ECN extension field values into the IP/UDP packet it creates for this UDP
Proxying payload. For the ECN extension, the Context ID value is used to
determine which value to write in the outgoing IP/UDP packet’s ECN field.</t>
        <t>A Tunnel endpoint which is unable to read or set the ECN Field SHALL NOT
enable the ECN extension.</t>
      </section>
      <section anchor="dscp-remarking-considerations">
        <name>DSCP Remarking Considerations</name>
        <t>The tunnel may interconnect two different administrative domains that use
DSCP values differently. Thus, the endpoints likely need to perform remarking
of DSCP field values, similar to what an inter-domain router would. Depending on
use cases and deployment, the HTTP client can be in different network domains
with different DSCP usages. An HTTP server that, based on user identification,
connects the HTTP client to different network domains behind it may also need
to support multiple external domains.</t>
        <t>The above complications in handling DSCP make it impossible to provide a
standardized remarking instruction. Instead, the deployment will have to define
whether remarking is handled by the HTTP server, the HTTP client, or both,
considering the tunnel a specific network domain in itself.</t>
      </section>
      <section anchor="tunnel-transport-connection-ecn-interactions-and-congestion-control">
        <name>Tunnel Transport Connection ECN Interactions and Congestion Control</name>
        <t>The primary goal of the ECN extension is to enable ECN usage between the proxy
and the target and to have the end-to-end transport react to that ECN. However,
different potential models exist for providing ECN interactions for the tunnel,
i.e., between the HTTP client and server. The choice depends on how the tunnel
is configured and what additional support has been implemented for the
Connect-UDP protocol.</t>
        <t>For HTTP tunnels (not using HTTP/3 <xref target="RFC9114"/>, HTTP/3 using data streams, or
HTTP/3 with datagrams but with congestion control enabled) the tunnel will
consist of one or possibly several chained congestion-controlled transport
connections. In this case, ECN may be enabled independently on each underlying
transport connection. However, in this scenario, it is not possible to have a
one-to-one correspondence between lower-layer ECN markings and tunneled HTTP
datagrams, nor to avoid reacting at both the tunnel-transport layer and the
end-to-end layer. Instead, the only practical choice is to have each HTTP-layer
hop run an ECN-marking AQM governed by its transport connection, which marks
the ECN field in the HTTP datagram or drops the datagram when a queue builds.
In other words, each HTTP transport connection is treated as a single IP link
in the end-to-end chain.</t>
        <t>For tunnels using HTTP/3 with datagrams, where the QUIC connection disables
congestion control on packets containing HTTP datagrams as discussed in Section
6 of <xref target="RFC9298"/>, the ECN marking on tunneled packets can be propagated between
the IP packet of the transport connection and the end-to-end packet. This
represents a specific implementation of IP-in-IP tunnels with tightly coupled
shim headers as discussed in <xref target="RFC9601"/>. It is implemented as
Feed-Forward-and-Up as discussed in <xref target="RFC9599"/>, and MUST use the normal mode on
tunnel ingress and follow the specified default behavior on egress as defined in
<xref target="RFC6040"/>.</t>
      </section>
      <section anchor="tunnel-transport-connection-dscp-interactions">
        <name>Tunnel Transport Connection DSCP Interactions</name>
        <t>For HTTP tunnels not using HTTP/3 <xref target="RFC9114"/>, HTTP/3 using data streams, or
HTTP/3 with datagrams but without disabling congestion control, the tunnel will
consist of one or possibly several chained congestion-controlled transport
connections. These transport connections can use only a single DSCP code point
to avoid inconsistent network treatment that might confuse the congestion
controller and retransmission mechanism. Thus, even if the tunneled packets use
different DSCP values, the transport connection must settle on a single,
suitable DSCP value. However, if the QUIC multipath extension
<xref target="I-D.ietf-quic-multipath"/> is used, each path can have a different DSCP value.
In this latter case, packets with different DSCP values can be mapped to
different paths with the appropriate network treatment as indicated by their
DSCP values.</t>
        <t>For tunnels using HTTP/3 with datagrams and where the QUIC connection disables
congestion control on packets containing HTTP datagrams, as discussed in
Section 6 of <xref target="RFC9298"/>, the QUIC packets can be marked using the most
suitable DSCP value based on the encapsulated packet. In cases where the tunnel
connection is sent into a different network domain than the one on which the
tunneled packet was received, a suitable remapping must occur for the domain to
which the tunnel packet will be sent. The HTTP tunnel MUST NOT coalesce
different tunneled payloads that are not mapped to the same DSCP in a single
QUIC packet.</t>
      </section>
      <section anchor="quic-aware-forwarding">
        <name>QUIC Aware Forwarding</name>
        <t>An HTTP endpoint that supports this extension and QUIC Aware Forwarding
<xref target="I-D.ietf-masque-quic-proxy"/> MUST preserve ECN markings on forwarded packets
in both directions to ensure end-to-end ECN functionality. Using this extension
in combination with QUIC Aware Forwarding, rather than relying solely on the
latter, also ensures that ECN black holes do not occur, for example, on
long-header packets or packets sent before the QUIC Aware Forwarding path is
established for short-header packets. Thus, supporting both provides a
consistent ECN experience.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="http-field-names">
        <name>HTTP Field Names</name>
        <t>IANA is request to register two new permanent Field name in the
Hypertext Transfer Protocol (HTTP) Field Name Registry (At time of
writing residing at:
https://www.iana.org/assignments/http-fields/http-fields.xhtml).</t>
        <section anchor="ecn-context-id">
          <name>ECN-Context-ID</name>
          <t>Field Name: ECN-Context-ID</t>
          <t>Status: Permanent</t>
          <t>Structured Type: List</t>
          <t>Reference: [RFC-TO-BE]</t>
        </section>
        <section anchor="dscp-ecn-context-id">
          <name>DSCP-ECN-Context-ID</name>
          <t>Field Name: DSCP-ECN-Context-ID</t>
          <t>Status: Permanent</t>
          <t>Structured Type: List</t>
          <t>Reference: [RFC-TO-BE]</t>
        </section>
      </section>
      <section anchor="http-capsule-type">
        <name>HTTP Capsule Type</name>
        <t>IANA is reqeusted ot register two new HTTP Capsule Types in the
permanent range (0x00-0x3f).</t>
        <section anchor="ecncontextassign">
          <name>ECN_CONTEXT_ASSIGN</name>
          <dl>
            <dt>Value:</dt>
            <dd>
              <t>TBA_1</t>
            </dd>
            <dt>Capsule Type:</dt>
            <dd>
              <t>ECN_CONTEXT_ASSIGN</t>
            </dd>
            <dt>Status:</dt>
            <dd>
              <t>permanent</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>RFC-TO-BE</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>MASQUE Working Group masque@ietf.org</t>
            </dd>
            <dt>Notes:</dt>
            <dd>
              <t>None</t>
            </dd>
          </dl>
        </section>
        <section anchor="dscpecncontextassign">
          <name>DSCP_ECN_CONTEXT_ASSIGN</name>
          <dl>
            <dt>Value:</dt>
            <dd>
              <t>TBA_2</t>
            </dd>
            <dt>Capsule Type:</dt>
            <dd>
              <t>DSCP_ECN_CONTEXT_ASSIGN</t>
            </dd>
            <dt>Status:</dt>
            <dd>
              <t>permanent</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>RFC-TO-BE</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>MASQUE Working Group masque@ietf.org</t>
            </dd>
            <dt>Notes:</dt>
            <dd>
              <t>None</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This draft takes insperation from David Schinazi's An ECN Extension to
Connect-UDP <xref target="I-D.schinazi-masque-connect-udp-ecn"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-masque-quic-proxy">
          <front>
            <title>QUIC-Aware Proxying Using HTTP</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Rosenberg" initials="E." surname="Rosenberg">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document extends UDP Proxying over HTTP to add optimizations for
   proxied QUIC connections.  Specifically, it allows a proxy to reuse
   UDP 4-tuples for multiple proxied connections, and adds a mode of
   proxying in which QUIC short header packets can be forwarded and
   transformed through a HTTP/3 proxy rather than being fully re-
   encapsulated and re-encrypted.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-masque-quic-proxy-05"/>
        </reference>
        <reference anchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC2475">
          <front>
            <title>An Architecture for Differentiated Services</title>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <author fullname="M. Carlson" initials="M." surname="Carlson"/>
            <author fullname="E. Davies" initials="E." surname="Davies"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <author fullname="W. Weiss" initials="W." surname="Weiss"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines an architecture for implementing scalable service differentiation in the Internet. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2475"/>
          <seriesInfo name="DOI" value="10.17487/RFC2475"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC6040">
          <front>
            <title>Tunnelling of Explicit Congestion Notification</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <date month="November" year="2010"/>
            <abstract>
              <t>This document redefines how the explicit congestion notification (ECN) field of the IP header should be constructed on entry to and exit from any IP-in-IP tunnel. On encapsulation, it updates RFC 3168 to bring all IP-in-IP tunnels (v4 or v6) into line with RFC 4301 IPsec ECN processing. On decapsulation, it updates both RFC 3168 and RFC 4301 to add new behaviours for previously unused combinations of inner and outer headers. The new rules ensure the ECN field is correctly propagated across a tunnel whether it is used to signal one or two severity levels of congestion; whereas before, only one severity level was supported. Tunnel endpoints can be updated in any order without affecting pre-existing uses of the ECN field, thus ensuring backward compatibility. Nonetheless, operators wanting to support two severity levels (e.g., for pre-congestion notification -- PCN) can require compliance with this new specification. A thorough analysis of the reasoning for these changes and the implications is included. In the unlikely event that the new rules do not meet a specific need, RFC 4774 gives guidance on designing alternate ECN semantics, and this document extends that to include tunnelling issues. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6040"/>
          <seriesInfo name="DOI" value="10.17487/RFC6040"/>
        </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="RFC9298">
          <front>
            <title>Proxying UDP in HTTP</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9298"/>
          <seriesInfo name="DOI" value="10.17487/RFC9298"/>
        </reference>
        <reference anchor="RFC9297">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
              <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
              <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9297"/>
          <seriesInfo name="DOI" value="10.17487/RFC9297"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
        <reference anchor="RFC9599">
          <front>
            <title>Guidelines for Adding Congestion Notification to Protocols that Encapsulate IP</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <author fullname="J. Kaippallimalil" initials="J." surname="Kaippallimalil"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>The purpose of this document is to guide the design of congestion notification in any lower-layer or tunnelling protocol that encapsulates IP. The aim is for explicit congestion signals to propagate consistently from lower-layer protocols into IP. Then, the IP internetwork layer can act as a portability layer to carry congestion notification from non-IP-aware congested nodes up to the transport layer (L4). Specifications that follow these guidelines, whether produced by the IETF or other standards bodies, should assure interworking among IP-layer and lower-layer congestion notification mechanisms. This document is included in BCP 89 and updates the single paragraph of advice to subnetwork designers about Explicit Congestion Notification (ECN) in Section 13 of RFC 3819 by replacing it with a reference to this document.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="89"/>
          <seriesInfo name="RFC" value="9599"/>
          <seriesInfo name="DOI" value="10.17487/RFC9599"/>
        </reference>
        <reference anchor="RFC9601">
          <front>
            <title>Propagating Explicit Congestion Notification across IP Tunnel Headers Separated by a Shim</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>RFC 6040 on "Tunnelling of Explicit Congestion Notification" made the rules for propagation of Explicit Congestion Notification (ECN) consistent for all forms of IP-in-IP tunnel. This specification updates RFC 6040 to clarify that its scope includes tunnels where two IP headers are separated by at least one shim header that is not sufficient on its own for wide-area packet forwarding. It surveys widely deployed IP tunnelling protocols that use such shim headers and updates the specifications of those that do not mention ECN propagation (including RFCs 2661, 3931, 2784, 4380 and 7450, which specify L2TPv2, L2TPv3, Generic Routing Encapsulation (GRE), Teredo, and Automatic Multicast Tunneling (AMT), respectively). This specification also updates RFC 6040 with configuration requirements needed to make any legacy tunnel ingress safe.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9601"/>
          <seriesInfo name="DOI" value="10.17487/RFC9601"/>
        </reference>
        <reference anchor="RFC9651">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields.</t>
              <t>This document obsoletes RFC 8941.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9651"/>
          <seriesInfo name="DOI" value="10.17487/RFC9651"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8311">
          <front>
            <title>Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation</title>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This memo updates RFC 3168, which specifies Explicit Congestion Notification (ECN) as an alternative to packet drops for indicating network congestion to endpoints. It relaxes restrictions in RFC 3168 that hinder experimentation towards benefits beyond just removal of loss. This memo summarizes the anticipated areas of experimentation and updates RFC 3168 to enable experimentation in these areas. An Experimental RFC in the IETF document stream is required to take advantage of any of these enabling updates. In addition, this memo makes related updates to the ECN specifications for RTP in RFC 6679 and for the Datagram Congestion Control Protocol (DCCP) in RFCs 4341, 4342, and 5622. This memo also records the conclusion of the ECN nonce experiment in RFC 3540 and provides the rationale for reclassification of RFC 3540 from Experimental to Historic; this reclassification enables new experimental use of the ECT(1) codepoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8311"/>
          <seriesInfo name="DOI" value="10.17487/RFC8311"/>
        </reference>
        <reference anchor="RFC9484">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9484"/>
          <seriesInfo name="DOI" value="10.17487/RFC9484"/>
        </reference>
        <reference anchor="I-D.schinazi-masque-connect-udp-ecn">
          <front>
            <title>An ECN Extension to CONNECT-UDP</title>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <date day="28" month="March" year="2022"/>
            <abstract>
              <t>   CONNECT-UDP allows proxying UDP packets over HTTP.  This document
   describes an extension to CONNECT-UDP that allows conveying ECN
   information on proxied UDP packets.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/DavidSchinazi/draft-connect-udp-ecn.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-connect-udp-ecn-02"/>
        </reference>
        <reference anchor="I-D.ietf-quic-multipath">
          <front>
            <title>Multipath Extension for QUIC</title>
            <author fullname="Yanmei Liu" initials="Y." surname="Liu">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Yunfei Ma" initials="Y." surname="Ma">
              <organization>Uber Technologies Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>University of Mons (UMONS)</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain and Tessares</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the QUIC Working Group
   mailing list (quic@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/quic/.

   Source for this draft and an issue tracker can be found at
   https://github.com/quicwg/multipath.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-15"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81c63LcOHb+j6dA5B8rVZHtliXLtjaTXY0kr1VlyxpLzmSS
SrnQJLqbazbZS7DV7pn1VF4j//IseZQ8Sc4FN7LZtnYys5XamnULJICDg3P5
zsEB0zQVeZ1VaqFPZd6oaZuutWl1U66qPF0o85eVTrO6qnTWpqt8meqsSnOT
LdPxWLRFW0K3y/NrqapcXtye30izWi7rppXTupGv7u5ubn9n5Lnt//7iRtyf
yiNhVpNFYUxRV+1mCSNcXd69FJlq9axuNqfStLlQjVan8vurO7Genco3Z7ff
vb8U1Wox0c2pyOHVUwFkGV2ZlTmVU1UaLe51tYJ2KWdNvVqeyj3utgctPM/e
93Xzsahm8k/4ArYvVFFCOy/0j4Vup6O6meET1WRzeDJv26U5ffwYX8Sm4l6P
3GuPseHxpKnXRj/mIR5j11nRzlcT6Dwr66JalfYZ8g4fl0C9aaOx7Wsj7jcq
6qjD40ezevTAjRnN20W5Jz7qzbpucmREKv+yKjL6gZPRD2CemjVqQX9AT/p3
2dSfNvSrXcGYpfGdZVGFQdpVA1tupCpL2c61XKuNzOt1RQ+ZKD9ZWs2EWrXz
GjYshVYYCHZKvhnJ7/1CsJll742aVSvTewQ8BvFqisyYGueQmvdrQS+PAkP+
qO1Lo6xeCFFUIH4L1cJmIRfku5fnz48OD93vF8fPj+n3VXoxMrCnlfqx2MFT
/x5ueoqMSBersi2Wqp2fClF15vHv2bHodWKtm/rJ8bPj6PdT9/vo8OS5+30y
Ph57Usfj8Pvw0Pd98eTF8+j3M//76Ci8//TFC//7ZByWf/IUfguRpqlUE9M2
KmuFQGUFXb381Ooq17lT2q76opy0dVaXUldqQpIgs7LQVSvbWtBKoQVfnJb1
Wk6bekFygoNLo5t73cCLa9Xk2NMsdVZMC5isVc1Mt/LqRqg8b7QxZFBoQjAm
I/nd+6tzanqnVZm2xUJLILsyZGo8Tfvv7m4OQHG11J/UYgnkiXo68KIBmlQr
V0bTFDiuM1uXn5ZlkRUtLnoG4gUmSlzXLVAJ5gn+kPtg7Q6oC4x2X+Sa1gf8
AaJVs5FTrfOJyj6O5N28MKAc2WqB7HFrNWIOjOmYzExVcqIdCciNOZin2Rze
gIXAdqChBLbRTLEt9Qt3xnZkd3VR5HmphXgkr6q2qfNVRgsRUedEKiOzVdMA
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

-->

</rfc>
