 processing of the packets in the user-plane by provisioning a set of rules in Sx sessions, that is, packet detection, forwarding, QoS enforcement, and usage reporting rules. While all 3GPP features impacting the user-plane functions (e.g., policy and charging control, lawful interception, etc.) are supported, the user-plane functions are designed to be 3GPP agnostic as much as possible. A legacy SGW, PGW, and TDF can be replaced by a split node without effecting con- nected legacy nodes. As shown in Fig. 1.12, CUPS introduces three new interfaces, namely Sxa, Sxb, and Sxc between the control-plane and user-plane functions of the SGW, PGW, and TDF, respectively. 3GPP evaluated candidate protocols such as OpenFlow, ForCES, and Diameter. The criteria identified for the selection process included ease of implementation on simple forwarding devices, no transport blocking, low latency, and capabilities to support the existing 3GPP features, ease of extension and maintenance of the protocols to support 3GPP features, and backward compatibility across releases. Based on these criteria, it was decided to define a new 3GPP native protocol with type-length value-encoded messages over user datagram protocol (UDP)/IP, called packet-forwarding control protocol (PFCP), for Sxa, Sxb, and Sxc interfaces [3gpp]. The protocol stack for the control-plane/user-plane over Sxa, Sxb, Sxc, and combined Sxa/Sxb reference points are depicted in Fig. 1.13. The PFCP is a new protocol layer, which has the following properties: One Sx association is established between a control-plane function and a user-plane function before being able to establish Sx sessions on the user-plane function. The Sx association may be established by the control-plane function or by the user-plane function. An Sx session is established in the user-plane function to provision rules instructing the user-plane function on how to process certain traffic. An Sx session may correspond to GTP-U GTP-U Control-plane Sx interface User-plane Control-plane Sx interface User-p