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


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

<!ENTITY RFC6864 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6864.xml">
<!ENTITY RFC8900 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8900.xml">
<!ENTITY RFC4301 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC1191 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1191.xml">
<!ENTITY RFC4821 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4821.xml">
<!ENTITY RFC0792 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0792.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC0791 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC8200 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
<!ENTITY RFC7296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml">
<!ENTITY RFC4963 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4963.xml">
<!ENTITY I-D.ietf-intarea-tunnels SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-intarea-tunnels.xml">
<!ENTITY I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu.xml">
]>


<rfc ipr="trust200902" docName="draft-liu-ipsecme-ikev2-mtu-dect-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="LMTA and PTB Notification">IKEv2 Link Maximum Atomic Packet and Packet Too Big Notification Extension</title>

    <author initials="D." surname="Liu" fullname="Daiying Liu" role="editor">
      <organization>Ericsson</organization>
      <address>
        <email>harold.liu@ericsson.com</email>
      </address>
    </author>
    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>
    <author initials="R." surname="Liu" fullname="Renwang Liu">
      <organization>Ericsson</organization>
      <address>
        <email>renwang.liu@ericsson.com</email>
      </address>
    </author>
    <author initials="C." surname="Zhang" fullname="Congjie Zhang">
      <organization>Ericsson</organization>
      <address>
        <email>congjie.zhang@ericsson.com</email>
      </address>
    </author>

    <date year="2023" month="March" day="10"/>

    <area>Security</area>
    <workgroup>IPsecme</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines the IKEv2 Link Maximum Atomic Packet Notification and Packet Too Big Extension.
This extension enables an egress security gateway to notify its ingress counter part that fragmentation is happening or a packet too big is received (and cannot be decrypted).
In both cases, the egress node provides MTU information that enable the ingress node can configure appropriately its Tunnel  Maximum Transmission Unit or MTU or simply put Tunnel MTU (TMTU) to prevent fragmentation or too big packets to be transmitted.</t>

<t>This extension does not intent to replace ICMP. 
It provides information ICMP does not provide and even when that information could be provided by ICMP, this extension provides a reliable authenticated channel that ensures the ingress node receive this information even when ICMP messages cannot be received by the ingress node.</t>



    </abstract>



  </front>

  <middle>


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

<t>Fragments reassembling at the egress security gateway requires additional resources which under heavy load results in service degradations. 
Then, as detailed in <xref target="RFC4963"/>, <xref target="RFC6864"/> or <xref target="RFC8900"/> fragmentation is considered fragile and not sufficiently robust at high data rates.
Typically, the 16-bit IPv4 identification field is not large enough to prevent duplication making fragmentation not sufficiently robust at high data rates.
In IPv6 the 32 byte identification field makes collision happens less often.</t>

<t><xref target="fig-frag"/> depicts various fragmentation scenarios that can occur when Tunnel Transit Packets (TTP) are encapsulated over an IPsec tunnel and carried between a ingress and a egress security gateway as Tunnel Link Packet (TLP).</t>

<figure title="Illustration of Different Type of Fragmentation. 
IPs (resp. IPi, IPe, IPd) designates the IP addresse of the Source, (resp. the Ingress node, the Egress node, the Destination). 
The IPsec tunnel is considered as an ESP tunnel. 
The IP payload is represented as 'Data'. 
Fragmentation is illustrated in splicing 'Data' into 'Da' and 'ta'.
The figure does not show a difference between Data being encrypted or not, and the presence of the ESP header indicates the payload is encrypted." anchor="fig-frag"><artwork><![CDATA[
Source          Security             Security             Destination
or              Gateway              Gateway              or
Sender       (Ingress node)        (Egress node)          Receiver

+--+             +---+                 +---+              +---+
|  |  +  +  +    |   |  +  +  +  +  +  |   |  +  +  +  +  |   |
+--+  routers    +---+    routers      +---+  routers     +---+
                  <--------------------->
                            N
+---+---+----+                            +---+---+----+
|IPs|IPd|Data|  Tunnel Transit Packet     |IPs|IPd|Data|
+---+---+----+         (TTP)              +---+---+----+



1) No fragmentation

                +---+---+---+---+---+----+
                |IPi|IPe|ESP|IPs|IPd|Data| Tunnel Link Packet
                +---+---+---+---+---+----+       (TLP)

2) Mid-tunnel (performed by a router on N)
  (only for IPv4 DF=0  TLP)
                         +---+---+---+---+---+--+
                         |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                         +---+---+---+---+---+--+
                     +---+---+--+
                     |IPi|IPe|ta| (TLP)
                     +---+---+--+

3) Inner fragmentation (performed by the Ingress node)
  (only for IPv4 DF=0 TTP)

                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+---+---+---+--+
            |IPi|IPe|ESP|IPs|IPd|ta| (TLP)
            +---+---+---+---+---+--+

4) Outer fragmentation (performed by the Ingress node)
   (IPv4 or IPv6 TLP)
                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+--+
            |IPi|IPe|ta| (TLP)
            +---+---+--+

5) Source fragmentation
  (IPv6 or IPv4)
    +---+---+--+
    |IPs|IPd|Da|  (TTP)
    +---+---+--+
+---+---+--+
|IPs|IPd|ta|
+---+---+--+

]]></artwork></figure>

<t>Reassembling is performed by the egress node in two cases.
Firstly when mid tunnel fragmentation happens (see 2 <xref target="fig-frag"/>) -- in which case the TLP header or outer header is using IPv4 with its Do not Fragment bit set to 0 (DF=0). 
Secondly when Outer fragmentation is performed by the ingress node (see 3 in <xref target="fig-frag"/>).
The main difference between the two scenarios is that with Outer fragmentation, the ingress node is aware that the egress performs reassembly. 
Note also that in both cases, reassembling the TLP in itself does not prevent the TTP to be deciphered unless the reassembled TLP exceeds the effective MTU to receive (EMTU_R) - that is the maximum size of the IPsec protected packet that can be accepted by the egress node to perform the ESP encapsulation.</t>

<t><xref target="fig-esp-frag"/> summarizes the various operations that are expected given the size of an IPsec protected TTP size.
The optimal size is the Tunnel maximum atomic packet (TMAP), that is the maximum TTP size that avoids fragmentation. Such TTP generates a Link maximum atomic packet (LMAP) LTP. 
Note that in this case and unless specified explicitly the link considered is the physical link between the ingress and egress node.</t>

<figure title="Fragmentation and Packet Too Big as a function of the TTP size or LTP size" anchor="fig-esp-frag"><artwork><![CDATA[
          TMAP              TMTU   
+---------+-------------------+--------------> TTP 
|         |encap              |encap
|         |<--->|             |<--->|    
| No frag. (1)  |  Fragmentation    |
|               |  (2) Mid-tunnel   |  Packet To Big
|               |  (4) Outer        |
+---------------+-------------------+--------> IPsec encapsulated TTP 
              LMAP                EMTU_R
]]></artwork></figure>

<t>This document enables a egress node to inform the ingress node that:
* a received packet is fragmented
* a too big packet is received</t>

<t>As depicted in <xref target="fig-overview"/>, supporting this extension, the ingress and egress node commit themselves in optimizing the processing of the IPsec tunnel and prevent or at least limit reassembly operation to be performed.
More specifically, the ingress security gateway limits as much as possible the use of outer fragmentation and commit to set their TMTU value so that TTP are not fragmented/reassembled.
In addition, for TTP with IPv4 addresses and DF=0, the ingress node commit to perform inner fragmentation to prevent reassembly at the egress node.</t>

<t>The mechanism is especially useful when the tunnel between the ingress and egress nodes is using IPv4 outer IP addresses with DF=0 as the fragmentation may occur while the ingress may not be aware of it. 
With IPv4 DF=1 or IPv6, the mechanism essentially enables the egress node to send the TTP ICMP PTB information (being sent to the Source) to the ingress interface as well as to send the LTP ICMP PTB information being sent to the router of the ingress node) over a authenticated channel (IKEv2).</t>

<t>This extension does not impact or interfere the ICMP processing and ICMP messages are sent, received and processed as usual. 
This extension may result in the ingress node receiving MTU indications via two different channels (IKEv2 and ICMP).
The use of IKEv2 may provide additional trust than ICMP (see {sec-sec} ). 
The Source is not involved.</t>

<t>This extension does not intent to replace ICMP. 
It provides information ICMP does not provide (see <xref target="sec-df1"/> for more details) and when that information could be provided by ICMP, this extension provides a reliable authenticated channel that ensures the ingress node receive this information even when ICMP messages cannot be received by the ingress node.</t>

<section anchor="illustrative-example"><name>Illustrative example</name>

<t>This section provides an illustrative example to provide a high level overview.</t>

<figure title="Overview mechanism" anchor="fig-overview"><artwork><![CDATA[
Source          Security             Security             Destination
or              Gateway              Gateway              or
Sender       (Ingress node)        (Egress node)          Receiver

+--+             +---+                 +---+              +---+
|  |  +  +  +    |   |  +  +  +  +  +  |   |  +  +  +  +  |   |
+--+  routers    +---+    routers      +---+  routers     +---+
                  <--------------------->
                            N
1) Mid-tunnel (performed by a router on N)
  (only for IPv4 DF=0  TLP)
                         +---+---+---+---+---+--+
                         |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                         +---+---+---+---+---+--+
                     +---+---+--+
                     |IPi|IPe|ta| (TLP)
                     +---+---+--+

2) Egress node detects fragmentation
     - a) it collects IPVersion the IP version of the first fragment
         as well as FragLen, the fragment length
     - b1) If all segment can be reassembled reassemble and the 
         reassembled packet properly decrypted a Link Maximum Atomic 
         Packet Notification (LMAP) is sent.
         is sent on the IKEv2 channel  
          [IKEv2]
          <---  N( LMAP [ IPVersion, FragLen] )
     - b2) If the packet is too big and cannot be decrypted an 
         additional Packet Too Big Notification (PTB) that specifies
         the Link MTU (LMTU) of the router component of the egress 
         node (on network N) as well as the effective MTU to receive 
         (EMTU_R). Both are configuration parameters.  
         An ICMP PTB message may also be sent by the egress node.
         Note that this ICMP may not contain even the SPI, and so is 
         likely to not cary sufficient information to the ingress node,
         so any action be taken. 
          [IKEv2]       
          <---  N( LMAP [ IPVersion, FragLen] )
                N( PTB [LMTU, EMTU_R]
          [ESP]
          <--- ESP( ICMP PTB )

3) Upon receiving the LMAP or optionally the ingress node
  a) Update the TMTU so that the Source performs source fragmentation
    with TTP packet that are not fragmented.
  Source fragmentation
  (IPv6 or IPv4)
    +---+---+--+
    |IPs|IPd|Da|  (TTP)
    +---+---+--+
+---+---+--+
|IPs|IPd|ta|
+---+---+--+

 
  b) Performs inner fragmentation TTP packets that exceeds the TMTU
    and will generate some fragmentation.   
  Inner fragmentation (performed by the Ingress node)
  (only for IPv4 DF=0 TTP)

                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+---+---+---+--+
            |IPi|IPe|ESP|IPs|IPd|ta| (TLP)
            +---+---+---+---+---+--+

In both cases the egress node does not proceed to reassembly operations
                                                +---+---+--+
                                                |IPs|IPd|Da|  (TTP)
                                                +---+---+--+
                                            +---+---+--+
                                            |IPs|IPd|ta|
                                            +---+---+--+

]]></artwork></figure>

</section>
<section anchor="related-works"><name>Related works</name>

<t>This work differs from <xref target="I-D.ietf-intarea-tunnels"/> in that <xref target="I-D.ietf-intarea-tunnels"/> which considers the router component - carrying the TTP - and the interface component - handling LTP - independent. 
Independence of the Tunnel MTU (for TTP) and link layer MTU for (LTP) is provided by performing outer fragmentation when needed.
<xref target="RFC4301"/> takes another view considers the router component can adapt to the specific needs of the interface component.
In our case, the router MTU can be changed so the source sends PTP of an expected TMAP size. 
Note however, that a significant difference between MPA and MTU is that fragmentation is considered as a normal operation and that ICMP Packet Too Big (PTB) is only expected when the router is not able to handle the packet that is when the (reassembled) packet exceeds the MTU (or more explicitly the effective MTU to receive (EMTU_R) or the Link MTU (LMTU)).</t>

<t>This mechanism follows the <xref target="RFC8900"/> that recommends each layer handles fragmentation at their layer and to reduce the reliance on IP fragmentation to the greatest degree possible.
This document does not describes a Path MTU Discovery (PMTUD)  procedure <xref target="RFC1191"/> nor an Execute Packetization Layer PMTUD (PLMTUD) <xref target="RFC4821"/> procedure.
PLMTUD work has been started in <xref target="I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu"/>.
This document remains focused on providing information on the state of the egress node to the ingress node. Information in question are fragmentation related but are limited to the observation of fragmentation as well as as the EMTU_R and LMTU value.
This document let the ingress node interpret these information an take the necessary actions. PLMTUD is much more complex especially as IPsec considers multiple channels such as IKE and IPsec protected data and requires to handle black holing scenarios.</t>

<t>Sending EMTU_R when a too big encapsulated TTP is provided to the egress interface is similar to ICMP PTB, except that this information is sent between the egress and ingress nodes as opposed to between the egress and the Source. 
Sending LMTU when a too big LTP is received by the egress router is similar to an ICMP PTB except that the message is carried over the IKEv2 channel, and we ensure that sufficient information (like the SPI) is provided to the ingress node so the appropriated traffic selectors can be identified by the ingress node - see <xref target="sec-df1"/> for more details.  <br />
In both cases, the egress node sends this ICMP PTB message and when possible such ICMP messages are expected to be protected by the SPD.</t>

</section>
<section anchor="sec-df1"><name>Why not using DF=1 to avoid Mid fragmentation ?</name>

<t>One can reasonably question why setting the IPv4 DF=1 is not sufficient to avoid fragmentation. 
The reason is that this setting DF=1 might lead to a black holing situation as it is necessary for the ICMP PTB message to not make it back to the ingress node, be validated and then to adjust the TMAP. 
Setting DF=0 is the way to mitigate this. 
Suppose the Don't Fragment bit to 1 in the IPv4 Header of the Tunnel Link Packet. 
If that packet becomes larger than the link Maximum Transmission Unit (LMTU), the packet is dropped by an on-path router and an ICMPv4 message Packet Too Big (PTB) <xref target="RFC0792"/> is returned to the sending address.
The ICMPv4 PTB message is a Destination Unreachable message with Code equal to 4 and was augmented by <xref target="RFC1191"/> to indicate the acceptable MTU.
Unfortunately, one cannot rely on such procedure as in practice some routers do not check the MTU and as such do not send ICMPv4 messages.
In addition, when ICMPv4 message are sent these message are unprotected, and may be blocked by firewalls or ignored.
This results in IPv4 packets being dropped without the security gateways being aware of it which is also designated as black holing.
To prevent this situation, IPv4 packets often set their DF bit set to 0.
In this case, as described in <xref target="RFC0792"/>, when a packet size exceeds its MTU, the node fragments the incoming packet in multiple fragments.</t>

<t>In addition to the above reasons DF=1 is not appropriate for ESP, there is another important reason that ICMP does not work almost completely for ESP.</t>

<t>This is because ICMPv4 PTB has the following format, defined in RFC 1191:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type = 3    |   Code = 4    |           Checksum            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           unused = 0          |         Next-Hop MTU          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Internet Header + 64 bits of Original Datagram Data      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>This means that an ICMP packet contains only the IP header (tunnel IP header) of ESP and the following 8 bytes. Normally, if ingress node processes the sent back ICMP PTB packets, it needs to identify the traffic selector based on the ICMP packet and either forwards the ICMP PTB packet to the device that sends the original packet or processes the packet itself. But this does not work for ESP.</t>

<t>For scenarios with UDP or TCP encapsulation, such as NAT, the 8 bytes are only UDP or TCP port numbers and do not even contain SPI information of child SA. Therefore, ingress node cannot identify the traffic selector and proceed to the next step.
For scenarios without L4 encapsulation, these 8 bytes are the SPI and Sequence Number, and ingress node can know which child SA it is from the SPI, but this information is also not enough because the traffic selector for a child's SA can be a range:
For example, if the traffic selector of child SA is 4.4.0/24==7.7.0/24, then 4.4.4.4==7.7.7.7 or 4.4.4.28==7.7.7.28 can both meet, so ingress node also has no way of knowing which stream sends too big packet.</t>

<t>Since the PTB packet returned by ICMP is incomplete, ingress node cannot decrypt the packet and then view the information in the packet to find the exact stream to further handle. Therefore, set DF=1, then ICMP PTB is generated, which has no significance for the IPsec ESP scenario.</t>

</section>
</section>
<section anchor="sec2"><name>Requirements Language</name>

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

<t>Tunnel, Ingress node, Egress node, Ingress Interface, Egress interface, Tunnel Transit Packets (TTP), Tunnel Link Packet (TLP), Link MTU (LMTU), Tunnel MTU (TMTU), Tunnel maximum atomic packet (TMAP), effective MTU to receive (EMTU_R) are defined in <xref target="I-D.ietf-intarea-tunnels"/>.</t>

</section>
<section anchor="link-maximum-atomic-packet-and-packet-too-big-support-negotiation"><name>Link Maximum Atomic Packet and Packet Too Big Support Negotiation</name>

<t>During an IKEv2 negotiation, the initiator and the responder indicate their support for the Link Maximum Atomic Packet and Packet Too Big Extension by exchanging the LMAP_AND_PTB_SUPPORTED notifications. 
This notification MUST be sent in the IKE_AUTH exchange (in case of multiple IKE_AUTH exchanges - in the first IKE_AUTH message from initiator and in the last IKE_AUTH message from responder). 
If both the initiator and the responder send this notification during the IKE_AUTH exchange, peers may notify each other with an IPv4 Link Maximum Atomic Packet Notification when fragmentation is observed. 
Upon receiving such notifications, the peers may take the necessary actions to prevent such fragmentation to occur.</t>

<figure><artwork><![CDATA[
Initiator                         Responder
-------------------------------------------------------------------
HDR, SA, KEi, Ni -->
                         <-- HDR, SA, KEr, Nr
HDR, SK {IDi, AUTH,
     SA, TSi, TSr,
     N(LMAP_AND_PTB_SUPPORTED)} -->
                         <-- HDR, SK {IDr, AUTH,
                             SA, TSi, TSr,
                             N(LMAP_AND_PTB_SUPPORTED)}
]]></artwork></figure>

</section>
<section anchor="sec-send-lmap"><name>Sending a Link Maximum Atomic Packet Notification</name>

<t>The egress security gateway detects fragmentation occurred when it receives an initial fragment; e.g. with the Flags' More Fragment Bit set to 1 and the Fragment Offset set to 0. 
Upon receiving such packet, the egress node determines the IP version (IPVersion) and the fragment length FragLen).
For an IPv4 packet, FragLen is the Total Length field ( see <xref target="RFC0791"/>). 
For an IPv6 packet FragLen is the Payload Length (see <xref section="3" sectionFormat="comma" target="RFC8200"/>. 
Note that that these values have different meanings as with an IPv6 fragment, FragLen does not includes the IPv6 header but only the payload.</t>

<t>The egress node sends the LMAP notification payload that contains IPVersion and FragLen.</t>

<t>The egress node SHOULD send a maximum of one LMAP notification per (reassembled) received packet.
However, since this extension is especially expected nodes dealing with high traffic rates, the notification is expected to be sent at reasonable rates per Security Associations.
More specifically, the use of the IKEv2 provides a reliable channel which makes sending redundant notification unnecessary.
Then, the notification rate needs to account for the time the egress node adjust the TMTU, and that TMTU remains implemented.  <br />
More details are provided in <xref target="sec-sec"/>.</t>

<figure><artwork><![CDATA[
Egress Security Gateway                 Ingress Security Gateway
-------------------------------------------------------------------
HDR SK { N(LMAP)} -->
]]></artwork></figure>

</section>
<section anchor="sec-recv-lmap"><name>Receiving a Link Maximum Atomic Packet Notification</name>

<t>Upon receiving a LMAP notification, the ingress node derives the tunnel MAP (TMAP) from the Link MAP (LMAP) derived by the FragLen and IPVersion.</t>

<figure title="Computation of TMAP" anchor="fig-tmap"><artwork><![CDATA[
if IPVersion is 4:
  LMAP = FragLen
elif IPVersion is 6:
  LMAP = FragLen + 40
TMAP = LMAP - outer IP header - encapsulation overhead
]]></artwork></figure>

<dl>
  <dt>where </dt>
  <dd><t/></dd>
  <dt>IPVersion:</dt>
  <dd>
    <t>The IP version of the fragment provided by the LMAP notification (see <xref target="sec-send-lmap"/>).
FragLen:</t>
  </dd>
  <dt/>
  <dd>
    <t>The Fragment length provided by the LMAP notification (see <xref target="sec-send-lmap"/>). 
LMAP:</t>
  </dd>
  <dt/>
  <dd>
    <t>For an IPv4 packet, LMAP is directly provided by the fragment length of the LMAP Notification.
For an IPv6 packet, LMAP needs to adds the IPv6 Header length (40 bytes) to the fragment length of the LMAP Notification. 
outer IP header:</t>
  </dd>
  <dt/>
  <dd>
    <t>The IP header of the LTP<br />
encapsulation overhead:
 contains the ESP header, the ESP Trailer including the variable Pad field.
When the padding is minimizing the Pad Len, the encapsulation header is set to 14 (+ the size of the ICV).
The overhead SHOULD also estimate IP options or IP extensions.</t>
  </dd>
</dl>

<t>The ingress security gateway SHOULD propagates the TMAP as the tunnel MTU back to the Source so the size of future TTP packets does not exceeds the TMAP - eventually performing source fragmentation.
To do so, the ingress node sets the LMTU to TMAP for all traffic designated by the SA.
In this case the LMTU is the MTU associated to the link of the router interface of the ingress node that facing the Source's network.<br />
Upon receiving a TLP larger than the TMAP, the packet is discarded and an ICMP PTB message is returned to the Source which then performs Source Fragmentation (5) (See Section 8.2.1. of <xref target="RFC4301"/>).
It is worth mentioning that only future packets will be impacted, and not those causing fragmentation.</t>

<t>When the TLP is an IPv4 packet with DF=0, the ingress node SHOULD perform Source Fragmentation of the TTP, also represented as Inner Fragmentation (3), sending chunks that do not exceeds TMAP.</t>

<t>Figure 11 in Section 4.2.2 of <xref target="I-D.ietf-intarea-tunnels"/> with tunnel MTU set to TMAP achieves both recommendations, while Figure 12 in Section 4.2.2 describes the inner fragmentation.</t>

</section>
<section anchor="sec-send-ptb"><name>Sending a Packet Too Big Notification</name>

<t>A packet can be rejected because the size of the LTP exceeds the LMTU (of the router component) or when the (reassembled) LTP exceeds the EMTU_R (of the interface component) and so IPsec decapsulation cannot be done.</t>

<t>When the LTP size exceeds the EMTU_R, the egress node SHOULD send a Packet Too Big (PTB) notification that includes the EMTU_R and the LMTU.
If the packet results from a reassembly operation, the egress node MUST send a LMAP notification with the LMAP.
If the packet does not result from a reassembly operation, the egress node MUST NOT send a LMAP notification.</t>

<figure><artwork><![CDATA[
Egress Security Gateway                 Ingress Security Gateway
-------------------------------------------------------------------
HDR SK { N(PTB)} -->
]]></artwork></figure>

</section>
<section anchor="receiving-a-packet-too-big-notification"><name>Receiving a Packet Too Big Notification</name>

<t>Upon receiving a PTB notification, the egress node computes the Tunnel MTU (TMTU) as follows:</t>

<figure title="Computation of TMTU" anchor="fig-tmtu"><artwork><![CDATA[
TMTU = EMTU_R - outer IP header - encapsulation overhead
if LMAP notification is not received:
  TMAP is derived from the LMAP notification  
else: 
  TMAP = LMTU - outer IP header - encapsulation overhead 
TMAP = min( TMAP, TMTU )
 
]]></artwork></figure>
<dl>
  <dt>with the same notation as in <xref target="fig-tmap"/>:</dt>
  <dd><t/></dd>
  <dt>EMTU_R:</dt>
  <dd>
    <t>The value provided in the PTB notification related to the MTU associated to the egress interface (see <xref target="sec-send-ptb"/>)
LMTU :</t>
  </dd>
  <dt/>
  <dd>
    <t>The value provided in the PTB notification related to the LMTU associated to the egress router (see <xref target="sec-send-ptb"/>)</t>
  </dd>
</dl>

<t>The ingress node SHOULD proceed with TMAP as described in <xref target="sec-recv-lmap"/>.</t>

<t>The ingress node MUST ensure the size of the TTP do not exceed the computed TMTU and MUST ensure the size of the LTP do not exceed the LMTU provided in the PTB notification.</t>

</section>
<section anchor="payload-description"><name>Payload Description</name>

<t><xref target="fig:notify"/> illustrates the Notify Payload packet format as described in Section 3.10 of <xref target="RFC7296"/> with a 4 bytes path allowed MTU value as notification data.
This format is used for both the LMAP_AND_PTB_SUPPORTED, LMAP and PTB notifications.</t>

<figure title="Notify Message Format" anchor="fig:notify"><artwork><![CDATA[
1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload  |C|  RESERVED   |         Payload Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Protocol ID  |   SPI Size    |      Notify Message Type      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                       Notification Data                       ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The fields Next Payload, Critical Bit, RESERVED and Payload Length are defined in <xref target="RFC7296"/>. Specific fields defined in this document are:</t>

<dl>
  <dt>Protocol ID (1 octet):</dt>
  <dd>
    <t>set to zero.
SPI Size (1 octet):</t>
  </dd>
  <dt/>
  <dd>
    <t>set to zero.
Notify Message Type (2 octets):</t>
  </dd>
  <dt/>
  <dd>
    <t>Specifies the type of notification message. It is set to TBD1 for the LMAP_AND_PTB_SUPPORTED notification, TBD2 for the LMAP notification and TBD3 for the PTB notification.
Notification Data:</t>
  </dd>
  <dt/>
  <dd>
    <t>Specifies the data associated to the notification message. It is empty for the LMAP_AND_PTB_SUPPORTED notification or a 4 octets that contains the MTU value for the LMAP and PTB notification - as represented in <xref target="fig:LMAP_data"/> and <xref target="fig:PTB_data"/>.</t>
  </dd>
</dl>

<figure title="Notification Data for LMAP" anchor="fig:LMAP_data"><artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IPVers |       Reserved        |          FragLen              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>with:</t>

<dl>
  <dt>IPVersion (4 bits):</dt>
  <dd>
    <t>The IPversion of the received packet<br />
Reserved:</t>
  </dd>
  <dt/>
  <dd>
    <t>Reserved bytes MUST be set by the egress node to zero and MUST be ignored by th eingress node.
FragLen (2 bytes):</t>
  </dd>
  <dt/>
  <dd>
    <t>The FragLen value (see <xref target="sec-send-lmap"/>)</t>
  </dd>
</dl>

<figure title="Notification Data for PTB" anchor="fig:PTB_data"><artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         LMTU                                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        EMTU_R                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<dl>
  <dt>with:</dt>
  <dd><t/></dd>
  <dt>LMTU (4 bytes):</dt>
  <dd>
    <t>The LMTU of the egress router
EMTU_R (4 bytes):</t>
  </dd>
  <dt/>
  <dd>
    <t>The EMTU_R of the egress interface</t>
  </dd>
</dl>

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

<t>IANA is requested to allocate two values in the "IKEv2 Notify Message Types - Status Types" registry
(available at https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml#ikev2-parameters-16) with the following definition:</t>

<figure><artwork><![CDATA[
+=======+================================+
| Value | NOTIFY MESSAGES - STATUS TYPES |
+=======+================================+
| TBD1  | LMAP_AND_SUPPORTED             |
| TBD2  | LMAP                           |
| TBD3  | PTB                            |
+-------+--------------------------------+
]]></artwork></figure>

</section>
<section anchor="sec-sec"><name>Security Considerations</name>

<t>This document defines an IKEv2 extension to enable an egress node to notify an ingress node that fragmentation is happening as well as the observed fragment length. 
In addition, the extension also enable to an egress node to notify an ingress node that a packet too big has been discarded, together with some complementary informations to appropriately update the MTU.</t>

<t>These pieces of information are transferred over the authenticated IKEv2 channel which ensures the origin of the message. 
Assuming the egress node is trusted, the ingress node can trust what is being reported effectively observed (like fragmentation is happening, the observed fragment length, a packet too big has been received) by the egress node and that some information are effectively accurate such as the egress LMTU and EMTU_R. 
When fragmentation happens and a LMAP notification is being sent, the egress node MUST send the notification once the reassembled packet has been decapsulated.
This ensure that fragmentation has been performed over a authenticated TLP and ensure the TLP has not been forged by any attacker.<br />
With IPv6, only outer fragmentation is permitted so, the ingress node can validate the provided information.
However, sending the notification after the IPsec decapsulation enables the egress node to detect potential injection attacks and prevent sending an unnecessary notification, that may be part of a DDoS attack targeting the ingress node itself.
With IPv4 an attacker could set the DF=0 which would allow any mid tunnel fragmentation.
IPsec (ESP or AH) do not cover the DF flag, so the egress cannot trust the fragment length observed has not been forged, and the security considerations related to MTU discovery <xref target="RFC0791"/>, <xref target="RFC8900"/>, <xref target="RFC4963"/>, <xref target="RFC6864"/>, <xref target="RFC1191"/> apply here.
Note that information carried by the LMAP notification are never carried by ICMP, and all LMAP may share with ICMP is that this information will be used to update the MTU.</t>

<t>The egress node may not be able to decrypt the encrypted TTP packet if the full encrypted TTP cannot be built.
One possibility is that too many fragments are being sent over a too long period of time (slowloris like attacks) (see <xref section="3.7" sectionFormat="comma" target="RFC8900"/>).
Another possibility is that one fragment exceeds the LMTU or that he reassembled (unverified) encrypted TTP exceeds the EMTU_R. 
In both cases, a PTB notification SHOULD be sent and if fragmentation is observed a LMAP MUST be sent together with the PTB notification. 
Information carried by the PTB (LMTU and EMTU_R) can be trusted.
Without this extension this information would have been carried by ICMP.
In many deployments, the ICMP channel may be unprotected and ICMP packets maybe discarded by firewalls and never reach the egress node. 
In addition, the description provided by <xref target="I-D.ietf-intarea-tunnels"/> tends to indicate that the ICMP channel remains between the router components of the ingress and egress nodes and as such are not provided to the interfaces component.
Finally, as detailed in <xref target="sec-df1"/> an ICMP PTB message contains a portion of the encrypted ESP packet, which may not sufficient to deduce the SPI and associated traffic selectors, and as such prevent the ingress node to identify the traffic flow that generates the fragmentation. <br />
In any cases, this results in the information not being available to take the appropriate action.
Sending the PTB notification over ICMP solves these issues and ease the correlation with the LMAP notification.
In term of trust, when sufficient information may be sent both on the IKEv2 channel and via a protected ICMP PTB message, the use of the PTB notification achieves similar trust as the one observed with an ICMP PTB message sent over a IPsec protected channel.
For that reason, the ICMP messages SHOULD be protected by IPsec.
The use of two different path may provide some additional reliability as the same information is taking two different paths and that IKEv2 windows ensures the the information is received - as opposed to the (encrypted) ICMP message that can be dropped. 
However, information carried by the LMAP notification cannot be trusted and similar security considerations related to MTU discovery <xref target="RFC0791"/>, <xref target="RFC8900"/>, <xref target="RFC4963"/>, <xref target="RFC6864"/>, <xref target="RFC1191"/> apply here.</t>

<t>Fragmentation happens on a per LTP basis and packet size exceeding EMTU_R happens on a TTP basis.
During high packet rates, this sending a notification for each of these packets is likely to be used by an attacker to trigger a DDoS attack to both egress and ingress nodes.
As a result, the egress node SHOULD be able to configure the maximum rate at which the notifications are sent. 
This includes the ability to indicate that LMAP notifications (without PTB) are not sent when the outer IP addresses are of version IPv6.
The reasoning is that with IPv6, the egress node observes outer fragmentation, in which case the ingress node is already aware of it.
In addition, an egress node SHOULD be able to configure a threshold for number of alert per SAs before a notification is sent, a rate limit per SA.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank Magnus Westerlund, Paul Wouters, Joe Touch for his reviews and valuable comments and suggestions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC6864;
&RFC8900;
&RFC4301;
&RFC1191;
&RFC4821;
&RFC0792;
&RFC2119;
&RFC8174;
&RFC0791;
&RFC8200;
&RFC7296;


    </references>

    <references title='Informative References'>

&RFC4963;
&I-D.ietf-intarea-tunnels;
&I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+19a3PbRpbod1XpP/Q6H0KuSUaSNY7jXc+uYskb7ciyriVP
anZqKwURTRJjEODiIUWJnd9yf8v9Zfc8+wGAsp3xbKV2h44dEmj04/Tp8z4H
0+l0d6fJmtw+Nad/OLk5MGdZ8da8TH7M1u3aHDXlOpubi2T+1jYmKVL9elWW
5ttsac7LJltk86TJysKc/NjYooZvuzvJ9XVlb56as5dXR/zc1bdR492dtJwX
yRrGTatk0UzzrJ1mm9rO13aavbU3B9N1005TO2+me7/b3ck21VPTVG3dHOzt
fbN3sLtTN5VN1jDtk6sXMCD8eGou7bytsuZud+d2CXcuqLvdnbe38KNobFXY
ZnqMw+3uwDSemrpJd3d2dzbZ090dY5py/tTc2Rq/12UF/S9qf+FuHfyGAdtm
VVb0HH6m+sWYrIBWxzOAZOsv8lKPk+wuK5bxrbKCuZ5U2byuES56uSpxU2ya
NWXlr9p1kuVPzSqB2+kMgPavVp6czcv1PbN5mS2TNm/6Myoym/fvbpmUDJ/S
U7M1P/VRU3g9CJDXtrhNPhIgMnbFj3z02p/PzH+s4IHu0M/LYvmXzHZv3j/4
nB+a/YQPdYbHP9Pp1CTXgJrJvMHfV6usNoDp7doWjUntIitsbZqV/fBpi47W
wNFzp20mw1i9YGyRXOcwTgJfl5Wta1PLwTDLpLG3yR3guilwgDuTNTUAipvN
yxaPidkkVQOzTBqzqJIlzp2nAaOsks3GFojEZWUSaEmTamBS1zApaFDZuc1u
bGpGOOl5UsA45trC4ufV3aax6RgmfFqY67JZwe3a1hMCiMy0KFNrNlV5k6Ww
gpdXb2Byi7Ja8wRoTrw8ekgnTk/BWLhBi2zZVtbAPKtyU2Ww4JxXedUWBeC6
g/dVlRT1OqsJZm+KrMEl4Yjwvzpbb+CxTdvoY3hjdAX/jhF4GyBvuKUxfOBB
hQQDpsa2sPiGh2pg+TOHF37D0tLiGhpYT4O9wkOV3eTJHPDk+cuLmQGINR4q
IUTwvn9emhC+4ATN7coK1MKHYJ/zFOcl7eH7HfWEWxHNzI2ZwIzyjACPpA9m
ibgJT87hKCB8ZGtqgH3d3xvBCu4+nIqfJa1kDU8kS+jBI45DKJhjt98ZHE09
d+ssTXOLv75Aal+VaTunIX7+AtB//z3eeSHbhWia1LVdX+eIykkTomDvsFT2
v9oMl5WkQI6hyySHa3XZVnO4eLvK5ivTFikcnJVNbu5MXiYpNgDaiIuFDqub
bI5HYFklKa27xj29gmVPTAIUwjZAXmCJ0Pjnn//l9Yvnh988fvT+/QR+/QP8
evzk8eH794he/PvJN3t78Lt3OAH7a9itCnrCe1nOmICArNsFUJMMWgNaV+U1
cFJc9ipbroCcN7C9sNgaacndBnY2z+/4WO4/nl7DyTi9uDk00HUREKUF8IAU
h8X+86RaAgSLsoUOgwOStptcH1gnbxHa8bQ/aXJAN2Amj2lmjw4AIxo7PCsY
CpGozPOM8JjJVm1y3OByAehN5/Dnn4FaTHFCAM7Uwsphx26SKivbujPPeg50
B27UjOlIbMo5IAojrxAJIikArgs5/aOrq4uxAeEEIDNPNoARdGbKG8CVpGAJ
xTT8LJPLqsoQ1W1za6HbxGE73k22YmjiqBtxFGEVo6uzizGt85dfftnduSSE
Ne6j0pIJP4MXj23dZIUIboCF0effZA4fvoiCzKWlg8Kf0WlwlsfabHQycNGA
rEB0oML1PJxOH0Zdw4XOlS1X6dLuzjtj4L+H+h/9iq7wfwNX6ZLOoCpb4Jd1
NFZwzV0Nr8kMepM1/zwd+vx+qKn/nNNUpvp3AAjdxbuWAAVAQPibvjuGQwYL
G8RiejJuuXVMxvd7x+Q/+2MQcOIThpfvm3C3o25bmF4Gf+27k8uLzsL6Z+NT
hnJrg9OEkzwYg7ycTuXYjja2QnbGDCqRrTZAMc7HOMqoLICoQQumoccvnu0B
oKmrj9qn4O8g1ty/+nc67c811kc0cVNpPjB83NfuzqMxMO4CgBdT3hjCJDyH
ZGMbkBEVPwGnPh6jti7q43r+uFaDY28B6PYed3cOx+YVIeQnwxSoM8KSYfp4
C8r+hoC5DYAfBhoB6ndjIwyyQ5UYEI8FEIfSTX/gaFFMCYeaxr/Cre3eE7b9
81PzhUophmw1zx6c5nmLWiZrHQtznC0WIPaBvAXim8UrL8JFkAJxAeII7PBm
BsvIJvCPxX/SMcg9dbYsUMJiRLhAORdxgTrCSwyYiT7fRReWFE+6FwKpYSzi
bizxxBJrQgorYIfc9o+AMnVHMjWplyBZ1rAwfuJLJPBfYtMXXWE4UxixXF2j
HIriJz+CqlaJ378k0epL7IXHE/3R6VT1qrwFup4KiAFBVDrDjuAHdgrXWbtF
NIGnJtQrQoGnO3ewxAWCmoBCUFakpEQx3INFut5mDwzpLa9DbQUa9E5vqD3D
YpvbknVrWNOLrKpRriY5FZQkhX5MEFRAHtXWmgMTCsZjA9pVVoiig93SkHCk
dCGwZuZ6urDatDVOlSjIbQaaPirgx2R0cKhpULGoyXpg9swIiTbhCYigZZHq
jIeo1xAEInWTVvGI1algIbLD6wRuDOwndoOQ86J+JtI+LWFgJpP+0PBIcosS
Pz0Y7I3MOFA973C15yXoMElel6qmR5aRSE1VqEMbAKfNF6Hiz+oWNbm6ELND
aufZZkWnqy1I9cH7rk+4jN3ZH+fWpnzPAlBAawZNHe0dZIdgxX10Ahd+eA24
IPPk9muxpdTZTw7D+YxvKljYHE+E2ohUbYKJJfO5pdMygL6oPDKo3HnxypMQ
M6+7AUFS/a1u12vYtp/kPKkaV0JvrHPzFEgb+3HDc1tmN7LxugKnlvkFIEDx
tqBPuWmydZLzEwIHkTAVHAmb8jaqh708uhhPBgGnfcvcbsos7WieM3PZwrnD
hktbWFKFgR6RMLtlvDMcz5xdXTgEU9wi+wsdYaRPghQ1AAMUaFgpwAWpJJIL
nGSOYwQkWua+Wd3VaCPg++HpCbXVYE8BcEa4mWfACJSY5aN1zaBB56HTfvy3
6bZrvyfQkEqnrJ/wpSN+0LWoFepbv38Xt/LXsKmoKDMzAn0FNb+YyRjSBOMe
qNkoVhHomjPfovV2+Cknq+m1EBIfAY/fC+ZGtgYGTjzYWQ/0xvD57sgcerpU
7ojXP2CVRiZuFm0xV8lECRIfrwqRkr4LY4sN5M5w3SUIbDHsE1tE66e7O/9I
5kkxE8ohyPwxsik3iW2zobEap3JUiwVI7XAIALTU3GT2Fm1xdbvZlFXDlDi0
kk7uw304P+t1RpR5DTT7huy3TEOyn5SqA62ZwwNkVg+JaGAaUgqPZvfG5EDD
4d8Me/b8xNM6YQCOS8IJfFkC4ZOjHhj4dNo9mxJ1XuOOrpH+wP83JUxRTe8t
i4flAHsmS5asumQOv7JZxef7JslbmIewO0QNJMjIw/x2fRWwKLb6qeV1Qkoe
PkUsmeQLlVYZ9ChGDLBlPx9lLtmAqhkYLgOoxnxc7M7MhEicsGgDz+o1iW4E
YQQvQmjR5mqCt7qZH0Ev644ExUAOBPOal096bsJEOV7IGjZQzZNZx1mC98S2
zpIKbGPWIKv43sEUet5X1Y+h6VeJEygaXqOe2AEmDo1Sd/zJuI9O4ND2P2LZ
uRaXh9c0xvpTp4x+kWqB/hBY7a3Nc1p1MMbZtjH6Q6iBZtFDkrEYZrd4OEbk
sxuz/LHVg7MG6kKnlOdsKwY+TS445rjjsccDdwLnOfGkjM89PcPqTlu3iShG
0fBr8lKgw4GZ/KD3BYdlh1oqxvLa3GQJibypUyBltbUs101UhWc593wTx3U+
J+8cIUc9HnDx6pA4/jNQmCn8fW+cNigKd6bOr5sS6GOKd/tL/Ow+Mp4UzSpd
7KM7BTZtjUSS3TH1mNb+v8SD9sUXxhsVblBCTtYbdqfRRtSWWbpfTuE17OAB
JqGCEezByWGGuVFOOmPC+XePRHTpf5ZHYv/vFvK/jYUc9IoAFZFQWfRY9iyW
8JmaZAxsnXyg1Oj04o+w4RxFQVa1G/kpnHCBdiLXVTChgOWi/H9mReDVpnDA
i2WzcuNew/afgiINj9SWW4jaH1oe/HdnKgvGDFuKuI7hHLYCTHGRJKoFdwJo
gm6GYmlEOyaaVjSzoLVcMgoiYnFKnSMl6s907z/DS3hWAPlHrFz92YN7olD7
TzP2MDogGLHdT7UR1U+2BM4gyQ23xfPb+6LyRiARjZm3qJ5fB72Q8ERAxPiW
M4pvEYSQcwqS86YsCC6LUM4LOmGbGzrzQbYtq7dwsCNB7T7DUtCN2phm5ls0
gaFApPE8vJZNUiVri3RrFu3HUeGFP+F/JJqQWe2axaoBU1O4995KQgyWWakI
yjCJBk2GVm1FlxenbOCF7rMIEnn2FsONOLwK3fl3QXBDHMpU9njxJOgIek4K
WMFcpFjTJG8t2b56WCi/fi0yBh94AEH4Z0SDiVgEIiT/M9DOPtbDxZHfgLG4
8t4A1gSSJyEazgaNxRtG3Lwvj2DnCT6cJo3YmRFhVF/0OoK3p9Zb3DaGlSRU
P0ITZF/dJDz4zTl/aEOvx+ZC1zmksPrFiXUzNOYi5HgWJMiCuOYsiAC0te3a
GRmH/u6CvW/sX+GCjYIde5pyqJfg1jFt7Ft06v5iP/T5SMFoy2crSv/3TOHX
Pxkfq18/ZscWqgqM2kJf6W9nGRGbpupTry1bYJEj1k6RIv7I6jYKbuUaI/5O
p8ezzDaLKSi3GMouonMNWmkm2uf9rcQ3J6b6eph/Tym+7M65koB2TJ3w5U0s
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
0ROt2ZwwRBGfDV+tW0DuWgMw/j/vraT924cAAA==

-->

</rfc>

