Main Features

Software Architecture

Napatech SmartNIC
Overview Document

In this section

This section outlines the main features of Napatech Software Suite.

Packet-based interface

The packet-based interface moves all the handling of buffers from the hardware into the driver. The hardware architecture can be changed without impacting the applications. This approach moves some CPU load from the application to the driver.

  • The packet-based API is the preferred API. This API will be kept unchanged between releases if possible.
  • Compatibility can only be guaranteed between releases for applications using the packet-based API and the HAL (hardware abstraction layer) macros to access packet content.

Segment-based interface

A segment-based interface is available. The segment-based interface provides several packages in one buffer. This interface is primarily intended for applications that capture to disk.

Data sharing

Support for multiple applications to access the same data. This has been implemented with zero copying. This allows multiple applications to access the same data without having to copy it.

The packet-based interface (see Packet-based interface) supports data sharing on both segment and packet level.

Packet merging

Packet merging allows the merging of data packets received from multiple accelerators into one network stream. This process is invisible to the application. The application simply has one stream that retrieves data from multiple host buffers and the packets from these host buffers are then merged automatically. Merging of packets is possible from up to 8 host buffers.


NTPL (Napatech programming language) is a simple but very powerful accelerator configuration interface that enables configuration of, for instance, filtering, hashing and multi-CPU distribution.

See DN-0449 for details on NTPL commands.