Fast-Path Packet Processing: DPDK, NetMap, VPP (FDD), Intel QuickAssist -- Project Updates
DPDK, NetMap, VPP, QuickAssist are technologies used in modern Router architectures to provide accelerated software packet processing path.
Paxym's team has extensive working experience with many flavors of packet processing acceleration frameworks (aka Fast-Path). We have worked on multiple projects involving DPDK, QuickAssist and NetMap. We are also engaged with customers interested in Vector Packet Processing framework. All these are frameworks and Toolkits to provide an optimized data-path for different OS environments (Linux / FreeBSD), to help a vendor achieve many folds of performance gains.
Aug'19: Network Offload Stack for Router, Firewall, IPSec Gateway
Paxym Inc. Team completed its Network Offload Stack for use on Intel x86 Multi-core CPUs using DPDK framework. The same Stack was also enabled for OCTEON-III and OCTEON-TX Multi-core CPUs using Simple-Exec (SE, SE2) execution environments. The Stack performs majority of IPv4 and IPv6 Packet Forwarding functions as well as many Firewall features. IPSec Offload is also available, which can be added as a Module to this Stack. Stack has been tested and deployed with OpenWRT and VyOS Control-Planes. See here for information on the Offload Stack.
Aug'16: Intel QuickAssist FreeBSD Support
Paxym's Developers have completed a port of FreeBSD QuickAssist AES driver for use on C2000-Rangeley CPU series from Intel. The AES-CBC performance results as checked on C2358 (4-core) and C2758 (8-core) are very promising. This is being utilized by a Customer for their FreeBSD IPSec VPNs both CPE and Concentrator.
The QuickAssist-AES driver can potentially also be used for pfSense and other firewalls based on 10.3 and higher versions.
May'16: OCTEON PCIe-NIC DPDK PMD Solution
Paxym Inc. Team is working on creating a DPDK PMD for 16-core OCTEON-III CN7360 PCIe NIC card. The PMD allows the OCTEON Card to be utilized as a Network Interface in DPDK User-Space applications. Same SW will extend support to OCTEON-III CN7240 and CN7350 based PCIe NIC cards as well.
Dec'15: UserSpace IPSec stack for use in DPDK framework
Paxym's Team completed a port and revamp of BSD IPSec into UserSpace. The intended use by the Customer was to wrap it under DPDK Framework fully. Customer also plans to investigate further acceleration utilizing Intel QuickAssist libraries on Rangeley C2558 4 core CPUs.
Nov'15: Intel AES-NI (CBC/others + HMAC-SHA1) support in FreeBSD
Added AES-NI negotiation and processing routines to allow for AES-NI offload of AES + SHA1 crypto support. This was implemented for FreeBSD 10.2, 11.0 on Intel CPUs with AES-NI support. Tested with direct IPSec, and L2TP-over-IPSec from Windows clients (StrongSWAN, mpd5 etc.). Allows AES-NI offload performance gains to be realized on Intel based FreeBSD machines (including pfsense). See here:
Jun'14: Native DPDK on OCTEON-II CN6645
Following up on the Native-DPDK on Tilera work, Paxym Inc. team is completing a native port of Intel® DPDK to the OCTEON-II architecture CN6645, based PCIe slave board with 2x 10Gbps ports.
The native port allows DPDK libraries, Run-time and SW environment to be directly available on the OCTEON-II CPU natively. All Network applications, Examples, Tests etc. enjoy the benefit of accelerated throughput, seamless (almost zero code-change) migration and reduced costs for Host CPU.
Customers use the Native DPDK port for accelerating their NFV code-base and other custom packet processing software.
May'14: Native DPDK on Tilera Gx36 (36 Tiles)
Paxym Inc. team completed a native port of Intel® DPDK to the Tilera TILEncore-Gx36 Intelligent Application Adapter platform consisting of TILE-Gx36 CPU.
The native port allows DPDK libraries, Run-time and SW environment to be directly available on the Tilera (non-x86) CPU directly. All Network applications, Examples, Tests etc. enjoy the benefit of accelerated throughput, seamless (zero code-change) migration and reduced costs for Host CPU.
Currently customers are using it for porting their NFV code-base and custom packet processing (LTE tunnels / traffic-gen) to Tilera architecture.