Introduction - UG1668

SDN Policy Offload Reference Pipeline User Guide (UG1668)

Document ID
UG1668
Release Date
2024-02-15
Revision
1.1 English

The AMD Pensando™ Software-in-Silicon Development Kit (SSDK) allows developers to port and create custom implementations of networking and storage functions or services for the AMD Pensando DPU.

This document provides an overview of the Software-Defined Networking (SDN) Policy Offload reference pipeline and details the P4 program including a set of ready to deploy precompiled libraries and ready to use code for RxDMA/TxDMA/SxDMA pipelines for routing, policy evaluation, and flow aging. The P4 pipeline programmability provides flexible software-defined constructs that allow you to:

  • Quickly develop your own networking software
  • Load that to an AMD Pensando DPU
  • Test
  • Deploy

The reference pipeline supplies P416 source code for P4I and P4E modules for protocol processing and P416 based libraries in binary format for P4 RxDMA and P4 TxDMA that you can access via APIs for handling message transfer with host and local CPU. This combination of source code and libraries facilitates the implementation of the reference pipeline.  The P4 binary can be deployed along with your P4 code on the same DPU to integrate its functionality into your system. This approach streamlines the implementation process and ensures seamless compatibility. 

The AMD Pensando DPU can offload and accelerate a wide range of SDN, security, and storage features and capabilities. The SSDK makes it easy to develop and deploy solutions using its flexible P4 programmable data path and rich APIs.

The traditional approach to selecting ASICs or CPUs for switches, security appliances and routers is to consider the cost, table size, flexibility, and performance of each option. High-end ASICs are the most expensive option, but they offer the best performance and can support large-scale routing tables. Lower-end ASICs are less expensive but they might be constrained by routing table size, buffer size and performance. ASICs are efficient at performing specific tasks it was designed for but lack flexibility to add new features or services without a respin. CPUs are the least expensive option, but they offer the worst performance and can only support small routing tables, limited session scale and low connections per second scale, but offer flexibility as it relates to adding new features in software.

An AMD Pensando DPU with a programmable P4 pipeline is a software-defined data plane that can be programmed to perform various data plane functions in hardware to meet high-performance and scale requirements. This means that new functions and services can be added without having to redesign the hardware, which can save time and resources; this lets you keep up with the pace of rapid new requirements to meet your product requirements without sacrificing performance and scale.

Benefits of using a software-defined data plane include:

Flexibility
Software-defined data planes are highly programmable and can support new functions and services with performance and scale. This makes them ideal for data centers that need to adapt to change and require high performance.
Agility
Software-defined data planes can be programmed quickly and easily, without having to go through a lengthy design and manufacturing process. This makes it possible to quickly deploy new features and services.
Cost savings
Software-defined data planes can help to reduce costs by eliminating the need to respin hardware when new functions are required.
Performance
The AMD PensandoPensando DPU is purpose-built to offload and accelerate infrastructure services from the CPU.