Ethernity Networks Ltd. · LSE:ENET

Ethernity Networks — DPDK Summit 2019

20 slides from Ethernity Networks's conference presentation, December 2019

  1. Slide 1: Using DPDK APIs as the I/F Between UPF-C and UPF-U

    x Using DPDK APIs as the I/F Between UPF-C and UPF-U BARAK PERLMAN & BRIAN KLAFF ETHERNITY NETWORKS

  2. Slide 2: 5G System Architecture

    5G System Architecture • UPF is a 5G architecture NSSF NEF NRF PCF UDM AF data plane element Nnssf Nnef Nnrf Npcf Nudm Naf • Replaces the user plane of SGW and PGW Nausf Namf Nsmf • Control and User Plane AUSF AMF SMF SCP Separation (CUPS) N2 N4 User Plane Function UE (R)AN N3 UPF N6 DN User Equipme

  3. Slide 3: Accelerating UPF in 5G

    Accelerating UPF in 5G Access Endpoints Core Edge • Many operators are now moving UPF to the edge AMF • Optimal UPF at aggregation N1 N2 N11 locations • Used for local breakout N4 PFCP SMF • Partial/complete data plane offloading over FPGA-based SmartNICs N3 N6 UPF UPF UPF SmartNIC • Programmable Ac

  4. Slide 4: Packet Processing Flow in UPF

    Packet Processing Flow in UPF PDR – Packet Detection Rule FAR – Forwarding Action Rule QER – QoS Enforcement Rule URR – Usage Reporting Rule BAR – Buffering Action Rule MAR – Multi-Access Rule 4

  5. Slide 5: Separation of UPF to UPF-C and UPF-U

    Separation of UPF to UPF-C and UPF-U SMF N4 PFCP VM/container #m UPF-C DPDK Hypervisor UPF x86 Server PCIe Access N3 GTP IP N6 Data UPF-U Network PM counters Network 25G/40G/100G 25G/40G/100G SmartNIC 5

  6. Slide 6: Partial Offload

    Partial Offload SMF N4 PFCP VM/container #m UPF-C PM Counters Control DPDK Packets Hypervisor UPF x86 Server PCIe N3 GTP UPF-U IP N6 Data Access Network Network 25G/40G/100G 25G/40G/100G SmartNIC 6

  7. Slide 7: Full Offload

    Full Offload SMF N4 PFCP VM/container #m UPF-C DPDK Hypervisor UPF x86 Server PCIe N3 GTP UPF-U IP N6 Access Data Network PM counters Network 25G/40G/100G 25G/40G/100G SmartNIC 7

  8. Slide 8: FPGA SmartNIC Accelerates UPF Features

    FPGA SmartNIC Accelerates UPF Features S-GW/UPF P-GW/UPF GW ACL Filters UPF-U features offloaded by SmartNIC H-QoS Lawful ➢ Packet routing forwarding HandOver I/F DPI Profile Mgmt Interception ➢ GTP termination (if needed) UPF-C ➢ Gating, redirection & traffic steering X86 ➢ QoS Server PCIe ➢ Packet

  9. Slide 9: I/F Between UPF-C and UPF-U

    I/F Between UPF-C and UPF-U SMF N4 PFCP VM/container #m UPF-C DPDK Hypervisor ? UPF x86 Server PCIe N3 GTP UPF-U IP N6 Access Data Network PM Counters Network 25G/40G/100G 25G/40G/100G SmartNIC 9

  10. Slide 10: Options for UPF-C to UPF-U I/F

    Options for UPF-C to UPF-U I/F • Control Plane Messages • Send in-band control packets between UPF-C and UPF-U • Option 1: dedicated control packets for this purpose, new standard • Option 2: use an existing SDN I/F (for example, OpenFlow, P4 & P4 run-time) • Use DPDK HW offload APIs • Use existing

  11. Slide 11: Control Plane Messages

    Control Plane Messages In-band SMF Approach N4 PFCP VM/container #m UPF-C DPDK Hypervisor UPF x86 Server PCIe N3 GTP UPF-U IP N6 Access Data Network PM Counters Network 25G/40G/100G 25G/40G/100G SmartNIC 11

  12. Slide 12: Dedicated Control Plane Messages

    Dedicated Control Plane Messages • Benefit: good performance • Control packets consume a small portion of the large data plane packets • Dedicated Control Plane Messages • Need to define a spec for control plane message content for all UPF-U features • Need to implement a specific design in both UPF

  13. Slide 13: Using DPDK HW Offload APIs

    Using DPDK HW Offload APIs Suggested SMF Approach N4 PFCP VM/container #m UPF-C DPDK flow APIs rte_flow DPDK Hypervisor UPF x86 Server PCIe N3 GTP UPF-U IP N6 Access Data Network PM Counters Network 25G/40G/100G 25G/40G/100G SmartNIC 13

  14. Slide 14: DPDK-Based APIs for UPF-C to UPF-U

    DPDK-Based APIs for UPF-C to UPF-U • Most UPF applications are already implemented in DPDK • For example, 5G UPF based on VPP: https://github.com/travelping/vpp • rte_flow is the natural choice for DPDK applications • UPF is flow based, maps nicely to DPDK rte_flow offload APIs (generic flow API) •

  15. Slide 15: DPDK rte_flow Improvements Required for UPF Offload

    SUGGESTED DPDK rte_flow IMPROVEMENTS REQUIRED FOR UPF OFFLOAD

  16. Slide 16: Improve DPDK rte_flow APIs Performance

    Improve DPDK rte_flow APIs Performance • UPF requires a large number of flows (e.g., 1M flows) • Need to improve the rte_flow configuration rate • Add burst write configurations • Batching of rte_flow entries and then committing the batch to the HW offload • Use shared memory and DMA for flow data s

  17. Slide 17: GTP Header

    GTP Header • GTP header match is already supported in rte_flow • Need to add GTP-U encap/decap • GTP-U header encapsulation and decapsulation rte_flow actions • Very similar to other tunnel headers that are already supported: VxLAN, NVGRE, MPLS and raw_encap/decap • Should include optional support f

  18. Slide 18: GTP-U Extension Header for 5GS

    GTP-U Extension Header for 5GS 18

  19. Slide 19: Summary

    Summary • UPF is the 5G element implementing user plane data path • UPF can be placed at the edge • There is a need for UPF HW offload • UPF can be split into UPF-C and UPF-U • Need to define an I/F between UPF-C and UPF-U • DPDK rte_flow APIs are a good option for implementing this I/F • Need to im

  20. Slide 20: Thank You

    x Thank You BARAK PERLMAN, CTO BRIAN KLAFF, MARKETING DIRECTOR BARAK@ETHERNITYNET.COM BRIANK@ETHERNITYNET.COM

Ethernity Networks — DPDK Summit 2019 on 6ix