mirror of
https://github.com/intel/intel-device-plugins-for-kubernetes.git
synced 2025-06-03 03:59:37 +00:00
qat: update README
The documentation needs clarifications to how QAT Gen4 SW differs from older platfoms: - only upstream driver is available and due to this, the -mode parameter is now deprecated - the QAT VF services are configurable and thus the resource names differ Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
This commit is contained in:
parent
ba3ded1228
commit
06f1db9fb8
@ -7,6 +7,7 @@ Table of Contents
|
||||
* [Installation](#installation)
|
||||
* [Prerequisites](#prerequisites)
|
||||
* [Pre-built Images](#pre-built-images)
|
||||
* [Automatic Provisioning](#automatic-provisioning)
|
||||
* [Verify Plugin Registration](#verify-plugin-registration)
|
||||
* [Demos and Testing](#demos-and-testing)
|
||||
* [DPDK QAT Demos](#dpdk-qat-demos)
|
||||
@ -30,11 +31,10 @@ Supported Devices include, but may not be limited to, the following:
|
||||
- [Intel® Atom™ Processor C3000][2]
|
||||
- [Intel® Communications Chipset 8925 to 8955 Series][3]
|
||||
|
||||
The QAT device plugin provides access to QAT hardware accelerated cryptographic and compression features.
|
||||
Demonstrations are provided utilising [DPDK](https://doc.dpdk.org/) and [OpenSSL](https://www.openssl.org/).
|
||||
The QAT device plugin provides access to QAT hardware accelerated cryptographic and compression features
|
||||
through the SR-IOV virtual functions (VF). Demonstrations are provided utilising [DPDK](https://doc.dpdk.org/) and [OpenSSL](https://www.openssl.org/).
|
||||
|
||||
[Kata Containers](https://katacontainers.io/) QAT integration is documented in the
|
||||
[Kata Containers documentation repository][6].
|
||||
QAT Kubernetes resources show up as `qat.intel.com/generic` on systems _before_ QAT Gen4 (4th Gen Xeon®) and `qat.intel.com/[cy|dc]` on QAT Gen4.
|
||||
|
||||
## Modes and Configuration Options
|
||||
|
||||
@ -43,9 +43,9 @@ The QAT plugin can take a number of command line arguments, summarised in the fo
|
||||
| Flag | Argument | Meaning |
|
||||
|:---- |:-------- |:------- |
|
||||
| -dpdk-driver | string | DPDK Device driver for configuring the QAT device (default: `vfio-pci`) |
|
||||
| -kernel-vf-drivers | string | Comma separated VF Device Driver of the QuickAssist Devices in the system. Devices supported: DH895xCC, C62x, C3xxx, 4xxx/401xx/402xx, C4xxx and D15xx (default: `c6xxvf,4xxxvf`) |
|
||||
| -kernel-vf-drivers | string | Comma separated list of the QuickAssist VFs to search and use in the system. Devices supported: DH895xCC, C62x, C3xxx, 4xxx/401xx/402xx, C4xxx and D15xx (default: `c6xxvf,4xxxvf`) |
|
||||
| -max-num-devices | int | maximum number of QAT devices to be provided to the QuickAssist device plugin (default: `64`) |
|
||||
| -mode | string | plugin mode which can be either `dpdk` or `kernel` (default: `dpdk`) |
|
||||
| -mode | string | Deprecated: plugin mode which can be either `dpdk` or `kernel` (default: `dpdk`).|
|
||||
| -allocation-policy | string | 2 possible values: balanced and packed. Balanced mode spreads allocated QAT VF resources balanced among QAT PF devices, and packed mode packs one QAT PF device full of QAT VF resources before allocating resources from the next QAT PF. (There is no default.) |
|
||||
|
||||
The plugin also accepts a number of other arguments related to logging. Please use the `-h` option to see
|
||||
@ -63,15 +63,13 @@ vf drivers available in the [Linux Kernel](https://github.com/torvalds/linux/tre
|
||||
|
||||
If the `-mode` parameter is set to `kernel`, no other parameter documented above are valid,
|
||||
except the `klog` logging related parameters.
|
||||
`kernel` mode implements resource allocation based on system configured [logical instances][7].
|
||||
`kernel` mode implements resource allocation based on system configured [logical instances][7] and
|
||||
it does not guarantee full device isolation between containers. Therefore, it's not recommended.
|
||||
|
||||
> **Note**: `kernel` mode is excluded by default from all builds (including those hosted on the Docker hub),
|
||||
> **Note**: `-mode` parameter is deprecated and it is also not made available as an option to
|
||||
> the operator based deployment. Furthermore, `kernel` mode is excluded by default from all builds (including those hosted on the Docker hub),
|
||||
> by default. See the [Build the plugin image](#build-the-plugin-image) section for more details.
|
||||
|
||||
The `kernel` mode does not guarantee full device isolation between containers
|
||||
and therefore it's not recommended. This mode will be deprecated and removed once `libqat`
|
||||
implements non-UIO based device access.
|
||||
|
||||
## Installation
|
||||
|
||||
The below sections cover how to obtain, build and install this component.
|
||||
@ -89,7 +87,7 @@ The QAT plugin requires Linux Kernel VF QAT drivers to be available. These drive
|
||||
are available via two methods. One of them must be installed and enabled:
|
||||
|
||||
- [Linux Kernel upstream drivers](https://github.com/torvalds/linux/tree/master/drivers/crypto/intel/qat)
|
||||
- [Intel QuickAssist Technology software for Linux][9]
|
||||
- [Intel QuickAssist Technology software for Linux][9] (**Note**: not applicable to QAT Gen4)
|
||||
|
||||
The demonstrations have their own requirements, listed in their own specific sections.
|
||||
|
||||
@ -120,7 +118,7 @@ $ kubectl apply -k 'https://github.com/intel/intel-device-plugins-for-kubernetes
|
||||
> socket creation and kubelet registration. Furthermore, the deployments `securityContext` must
|
||||
> be configured with appropriate `runAsUser/runAsGroup`.
|
||||
|
||||
#### Automatic Provisioning
|
||||
### Automatic Provisioning
|
||||
|
||||
There's a sample [qat initcontainer](https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/build/docker/intel-qat-initcontainer.Dockerfile). Regardless of device types, the script running inside the initcontainer enables QAT SR-IOV VFs.
|
||||
|
||||
@ -151,7 +149,7 @@ When using the operator for deploying the plugin with provisioning config, use `
|
||||
There's also a possibility for a node specific congfiguration through passing a nodename via `NODE_NAME` into initcontainer's environment and passing a node specific profile (`qat-$NODE_NAME.conf`) via ConfigMap volume mount.
|
||||
|
||||
|
||||
#### Verify Plugin Registration
|
||||
### Verify Plugin Registration
|
||||
|
||||
Verification of the plugin deployment and detection of QAT hardware can be confirmed by
|
||||
examining the resource allocations on the nodes:
|
||||
|
Loading…
Reference in New Issue
Block a user