The Driver Software

Software Architecture

Platform
Napatech SmartNIC
Content Type
Overview Document
Capture Software Version
Link™ Capture Software 12.10

Overview

Napatech Link-Capture™ Software is a platform, which can scale to new hardware platforms.

Furthermore, the driver software can scale to new features introduced in the SmartNIC hardware as well as in the driver itself – or in a combination of hardware and software to solve more complicated user scenarios.

Major key points of Napatech Link-Capture™ Software are ease of use, high performance, low CPU utilization and scalable design.

Illustration

This drawing illustrates the architecture of the driver software by showing the various parts.

Page-1 Sheet.1 NT Accelerator SmartNIC Sheet.2 NT Accelerator SmartNIC Sheet.3 Sheet.4 ntservice ntservice Sheet.5 CPU 0 CPU 0 Sheet.6 Core 0 Core 0 Sheet.7 Core 1 Core 1 Sheet.8 CPU 1 CPU 1 Sheet.9 Sheet.10 Sheet.11 Sheet.12 Sheet.13 Sheet.14 Sheet.15 NT Driver NT Driver Sheet.16 HW HW Sheet.17 Kernel Space Kernel Space Sheet.18 User Space User Space Sheet.19 Appl 0 Appl 0 Cylinder Cylinder.4 Cylinder.5 Cylinder.6 Sheet.24 ... ... Sheet.25 ... ... 2-D word balloon.24 Network Streams (0..255) Network Streams (0..255) Cylinder.133 Cylinder.134 Cylinder.135 Cylinder.136 Sheet.31 ... ... Sheet.32 ... ... 2-D word balloon.14 Host Buffers (0..127 per accelerator) Host Buffers (0..127 per SmartNIC) Sheet.34 Core 0 Core 0 Sheet.35 Core 1 Core 1 Sheet.36 Appl 1 Appl 1 Sheet.37 Appl 2 Appl 2 Sheet.38 Appl 3 Appl 3 Sheet.39 LibNTAPI LibNTAPI Sheet.40 Sheet.41 Sheet.42 Sheet.43 Sheet.44 0 0 Sheet.45 1 1 Sheet.46 2 2 Sheet.47 3 3 Sheet.48 4 4 Sheet.49 5 5 Sheet.50 6 6 Sheet.51 7 7 Sheet.52 LibNTOS LibNTOS Circle Service Daemon ServiceDaemon Cylinder.12 Cylinder.13 Cylinder.14 Sheet.57 Sheet.58 Sheet.59 Sheet.60

ntservice

ntservice is the module where most of the functionality is placed and the module that communicates with the SmartNICs.

NT Driver

NT Driver is the kernel space driver, which has a limited functionality. It is used for:

  • ISR handling
  • PCI bar mmap
  • Host buffer allocation/mmap
  • Events/locks
  • NUMA abstraction

NT Driver is GPL-compliant and therefore open source.

LibNTOS

LibNTOS is the OS abstraction layer that makes it possible for the driver software to support multiple operating systems based on the same code base.

LibNTAPI

LibNTAPI is the library for NTAPI, which is the user API (see NTAPI) and the link to the applications.