Data Plane Development Kit Reference Manual: Intel FPGA Programmable Acceleration Card N3000

ID 683512
Date 12/06/2019
Public
Document Table of Contents

2. Data Plane Development Kit Overview

This reference manual describes the DPDK software components and API that support the Intel FPGA Programmable Acceleration Card N3000 and Intel® Arria® 10 FPGA. These software components build on the existing DPDK software.
The framework creates a set of libraries that your application can link to. Here are some examples of the available libraries:
  • A packet forwarding algorithm that uses a hash-based approach to a longest prefix match (LPM) library
  • A network buffer management (Mbuf library)
  • A traffic management API

DPDK also provides APIs for the following network functions:

  • Ethernet API to receive and transmit packets and configure network interfaces
  • Baseband API for virtual radio access network (vRAN)
  • Quality of service API configuration
  • Metering API for counter support
  • Additional basic functions such as locking, memory allocation, and CPU core synchronization

The Poll Mode Driver (IPN3KE) and testpmd application that support the Intel® FPGA PAC N3000 platform use the Ethernet device DPDK API. Refer to DPDK 19.08.0 Functions for information about Ethernet receive and transmit packets.

The DPDK API functions provide a hardware abstraction layer so that you can easily port your application to different hardware platforms. If you create your own custom driver, you must provide functions that override DPDK API interfaces. If the required functionality or hardware acceleration cannot override DPDK API, you can add a new DPDK API functions.