Napatech Device-Plugin Container

Link-Inline™ Software User Guide

Platform
Napatech SmartNIC
Content Type
User Guide
Capture Software Version
Link-Inline™ Software 3.2

The Napatech device plugin allocates resources of virtual functions to the user-application containers. If the Napatech main-app container is disabled, a custom main-app container can request resources for the physical function to the Napatech device plugin.

Resource allocation of physical and virtual functions

The Napatech device-plugin container runs the Napatech device plugin, which provides nt_pf resources to a custom main-app container and nt_vf resources to each user-application container. The custom main-app container can then access the physical function, and each user-application container can access its own virtual functions.

If the MainApp parameter is set to "enabled" in the ntdevplugin.yaml file, only nt_vf resources are available for user-application containers, as the physical function is connected to the Napatech main-app container. If the MainApp parameter is set to "disabled", nt_pf is available for a custom main-app container, and nt_vf resources are available for user-application containers.

The Napatech device plugin attempts to allocate virtual functions sequentially. For instance, if two virtual functions are requested (nt_vf: 2), virtual functions with PCIe bus ID xxxx:xx:xx.4 and xxxx:xx:xx.5 are initially allocated. The final determination of the virtual function order is made by Kubernetes.

See Napatech Main-App Container and Custom Main-App Container.

Enabling SmartNIC access

The Napatech main-app container and user-application containers request the following information to get access to the SmartNIC.
  • MAC address: Specified by the value of the vfMacStart parameter in the ntdevplugin.yaml file.
  • VLAN ID: Specified by the value of the vfVlanStart parameter in the ntdevplugin.yaml file.
  • Number of queues: Specified by the value of the vfNumberOfQueues parameter in the ntdevplugin.yaml file.

For more information on the supported parameters in the ntdevplugin.yaml file, see ConfigMap.