<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.25 (Ruby 2.7.5) -->


<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC3985 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3985.xml">
<!ENTITY RFC8986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY I-D.ietf-dmm-srv6-mobile-uplane SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-dmm-srv6-mobile-uplane.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-pals-pw-for-ip-udp-payload-01" category="std" consensus="true">
  <front>
    <title abbrev="PW for IP/UDP Payload Only">PW for IP/UDP Payload without IP/UDP Headers</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Patel" fullname="Keyur Patel">
      <organization>Arrcus</organization>
      <address>
        <email>keyur@arrcus.com</email>
      </address>
    </author>

    <date year="2022" month="March" day="04"/>

    <area>Routing</area>
    <workgroup>pals</workgroup>
    <keyword>pw, ip/udp payload</keyword>

    <abstract>


<t>This document describes a new flavor of PW to transport IP/UDP payload
only, without transporting IP/UDP headers, which are
removed by an ingress PE and re-added by an egress PE.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Consider the following 5G network <xref target="_3GPP-23.501"/>:</t>

<figure><artwork><![CDATA[
     gNB1 ---\
     gNB2 ---- PE1 ----- PE2 --- UPF
     gNB3 ---/     \                                        
                    ---- PE3 --- UPF2
]]></artwork></figure>

<t>Where gNB and UPF are 5G Network Function (NF) elements [3GPP-23.501]. They are IPv4 or IPv6
hosts connected via an IPVPN over an IPv6 transport infrastructure (it is
believed that only IPv6 can scale to the requirements of 5G transport network
but that’s outside the scope of this document).</t>

<t>Per 3GPP specifications, the gNBs and UPF communicate over GPRS Tunnelling Protocol (GTP) tunnels,
whose encapsulation includes (IP, UDP, GTP) headers. Some operators prefer
IPv6/SRv6 <xref target="RFC8986"/> data plane instead of MPLS, so when PE1 receives the GTP traffic
from gNBx, by default it would impose another IPv6 header and send to PE2.</t>

<t>There have been proposals to replace GTP with SRv6 tunnels for the following
benefits:</t>

<t><list style="symbols">
  <t>Traffic Engineering (TE) and Service Function Chaining (SFC) capability
provided by SRv6</t>
  <t>Bandwidth savings because UDP and GTP headers are no longer needed</t>
</list></t>

<t>While 3GPP has not adopted the proposal, and GTP can be transported over
SRv6 (instead of being replaced by SRv6), some operators still prefer to
replace GTP with SRv6 “under the hood”. That is, while RAN/UPF still use
3GPP signaling,
the actual tunnel are no longer GTP but SRv6 based on GTP parameters
signaled per 3GPP specifications. The SRv6 tunnel could be between two NFs,
or a GW (e.g. PE1/PE2) could be attached to an NF that still use traditional
GTP and the GW will convert GTP to/from SRv6. This is specified in
<xref target="I-D.ietf-dmm-srv6-mobile-uplane"/>.</t>

<t>With that approach, the GTP information is encoded in SRv6 destination
address and no additional IPv6 header is added by the PEs either. It is important
to point out that when the GW is used, the original IP payload is
reconstructed (UDP/GTP header removed or added).</t>

<t>In this particular scenario, the reconstruction of IP payload is acceptable
to some operators because they control all the network/host elements.
With that premise, if an operator prefers MPLS data plane,
then some new flavors of Pseudo Wire (PW) <xref target="RFC3985"/> can provide similar functions. Compared with
SRv6 based approach, it is even more bandwidth efficient (no need for a
minimum 40-byte IPv6 header) and SR-MPLS can also provide TE/SFC capabilities.</t>

<t>For example, PE1 can advertise a PW label for some (source, destination,
IP/UDP payload type) tuple, with the local semantics being that incoming PW
payload will be encapsulated in an IP or IP+UDP header and then routed out.
When PE2 receives IP or IP+UDP
traffic from the UPF, if there is a label for the corresponding
(source, destination, IP/UDP payload type) tuple, it removes the IP or
IP/UDP headers and simply transport the remaining payload as PW payload.
In this 5G scenario, it is still GTP - just that the IP/UDP headers
are not present between PE1 and PE2.</t>

<t>The processing logic/burden and hardware requirement on PE1 and PE2
for the adding/removing of the IP/UDP header are not different from the
“endpoint behaviors” required in the SRv6 approach even though they’re not
called “End.xyz”.</t>

<t>While this is inspired by the 5G GTP use case, the solution is generally
applicable wherever it is acceptable to reconstruct the IP/UDP payload.</t>

</section>
<section anchor="specifications" title="Specifications">

<t>Detailed specification will be added later. The general idea is described above,
and signaling is roughly described as following.</t>

<t>PE1 signals an IP/UDP payload PW identified in the control plane
by a (route distinguisher, destination ip address, source ip address,
destination udp port, source udp port) tuple, referred to as
(RD, dst-ip, src-ip, dst-udp, src-udp).
A label is also attached to identify the PW in the forwarding plane.</t>

<t>The RD distinguishes the routing instance. The src-ip, dst-udp, src-udp could
all be wildcards.</t>

<t>Say PE2 and/or PE3 receives the signaling. Each of the PE1/PE2/P3 will set up
corresponding forwarding state in the corresponding routing instance as
following.</t>

<t>If both dst-udp and src-udp are wildcards, then PE2/PE3 transports only the IP
payload of all matching (dst-ip, src-ip) traffic on the PW. When PE1 receives the PW payload, it regenerates an IP packet.
If the src-ip is a wildcard in the signaling, then PE1 uses a locally
provisioned IP addresses as source address.</t>

<t>If dst-udp is not a wildcard, then PE2/PE3 transports only the UDP payload
of all matching (dst-ip, src-ip, dst-udp, src-udp) traffic
on the PW. PE1 regenerates a UDP packet with
the received PW payload. If the src-ip is a wildcard in
the signaling, then PE1 uses a locally provisioned IP addresses as source
address. If the src-udp is a wildcard, then PE1 uses a locally provisioned
udp port number as the source port.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>To be provided.</t>


</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC3985;


    </references>

    <references title='Informative References'>

<reference anchor="_3GPP-23.501" >
  <front>
    <title>System architecture for the 5G System (5GS), V17.3.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="2021" month="December"/>
  </front>
</reference>
&RFC8986;
&I-D.ietf-dmm-srv6-mobile-uplane;


    </references>



  </back>

<!-- ##markdown-source:
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
wP4P14AtbakXAAA=

-->

</rfc>

