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
- 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.