5G User Plane Function (UPF) Offload for Napatech Programmable SmartNICs
with Link-Inline™ Software
Capabilities and highlights for 5G UPF offload using Napatech SmartNICs with Link-Inline™ Software
Napatech’s 5G User Plan Function (UPF) offload solution accelerates the performance of containerized 5G Core software by fully offloading the 5G UPF data path to a Napatech programmable SmartNIC, while maintaining full software compatibility with industry-standard APIs. The complete data path is implemented in an inline or “hairpinned” architecture within the SmartNIC, which ensures that following initial setup all flows are processed on the SmartNIC with no need for traffic to flow to and from the server CPU. While maximizing overall system performance and power efficiency, this architecture also minimizes both latency and utilization of the host’s compute resources.
- 4×10/25G, 8x10G, 2x40G, 2x100G wire speed packet processing
- Up to 100M concurrent flows (depending on actions configured), with metrics and meta data per flow direction
- Stored in a Cuckoo structure for optimized Flow Table utilization (~90% memory utilization)
- Cuckoo structure maintained entirely by the SmartNIC, with no host CPU involvement
- 128-bit SHA-1 hashing
- Provides excellent distribution for flow lookup
- Up to 85M Lookups per second (Lps) for stateful operation, ensures full wire speed for typical packet sizes
- Achieved through intelligent memory access ordering
- Intelligent on-FPGA flow cache offloads SDRAM access for ~10K ”hot” flows, enabling 2x100Gbps full line-rate support in most use cases
- Flow Table stored entirely in onboard memory
- >1.5M Flows/sec Learning/configuration rate
- Based on dedicated fast DMA engine for flow learning
- Support for up to 128 threads/processes doing lockless learning in parallel
- Full stateful operation with flow records updated on a per packet basis
- Flow termination based on TCP state, timeout or application
- Flow Info records can be generated and can be utilized for NetFlow/IPFIX generation
- Metrics collected: Packet count, Byte count, TCP flags
- Zero packet loss, when combined with software fallback
- Fast path forward latency less than 20µs
The SmartNIC has full flow awareness, can lookup flows at high speeds and enables inline (hairpinned) stateful operations.
Flow Match Actions
For each flow one or more actions can be configured to be executed when a packet matches that flow. Actions include:
- Fast forward (inline / hairpin architecture)
- RSS (load balancing to host)
- GTP Encapsulation/Decapsulation (1k L2, L3 or L4 setups)
- Tunnel ID is configured per Flow
- MBR (Maximum Bit Rate) policing
- DSCP (Differentiated Services Code Point) tagging
- NAT (Network Address Translation)
- Flow mirroring
All Match Actions are performed based on the information looked up in the flow table on Rx.
The SmartNIC performs GTP decapsulation on uplink and GTP encapsulation on downlink tunnels, all executed with in the SmartNIC with no host CPU involvement.
The SmartNIC performs Bit-Rate Control, ensuring that no device exceeds its Maximum Bit Rate (MBR).
The SmartNIC supports the collection of counters and metrics as necessary to be able to provide data required for charging as well as network monitoring.
DSCP (QOS) Tagging
The SmartNIC enables DSCP marking on a per-flow basis, enabling full support for 5G Quality of Service (QoS).
Host CPU – Software processing for those flows not hairpinned in the SmartNIC
- Load Balancer – Any traffic passed to the host application for processing can be load balanced based on flow information. For packets not belonging to any known flow, it can be load balanced on any information available in the packet, for example packet direction, tunnel id (TEID), 5-tuples, QFI and more.
- Flow Lookup – All packets are looked up by the SmartNIC Flow Manager and can be tagged with any flow-relevant information before being passed to the host application.
- Policy Actions – Forward Action Rule (FAR) for partial offload. The SmartNIC performs GTP-U decapsulation and encapsulation.
The SmartNIC performs Network Address Translation on both uplink and downlink.
The SmartNIC implements high-performance traffic mirroring and tunneling functions, with the Flow Manager applying specific actions to individual flows. Both “N3” (RAN to Core) and “N6” (Core to Data Network) interfaces can be tunneled over a mirror feed and forwarded to a centralized monitoring system.
Software & APIs
- RTE_FLOWS for industry-standard flow configuration
- Napatech API (NTAPI)
- Napatech native API with fastest performance
- Napatech provide a sample application supporting:
- Software flow learning
- Software flow lookup
- Software exception handling
- Software flow termination handling
Host software environment
Napatech’s 5G UPF accelerator works in a containerized environment like Docker orchestrated by Kubernetes.
- 2 × QSFP28 100G network ports
- 4 × SFP28 25G network ports
Both are full-height, half-length PCIe Gen3 x16 cards, available in both active and passive (NEBS) cooling variants.