Skip to content

Commit 0889ca1

Browse files
Merge pull request #1535 from mythi/PR-2023-045
qat: update README
2 parents 6760c50 + 06f1db9 commit 0889ca1

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

cmd/qat_plugin/README.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Table of Contents
77
* [Installation](#installation)
88
* [Prerequisites](#prerequisites)
99
* [Pre-built Images](#pre-built-images)
10+
* [Automatic Provisioning](#automatic-provisioning)
1011
* [Verify Plugin Registration](#verify-plugin-registration)
1112
* [Demos and Testing](#demos-and-testing)
1213
* [DPDK QAT Demos](#dpdk-qat-demos)
@@ -30,11 +31,10 @@ Supported Devices include, but may not be limited to, the following:
3031
- [Intel® Atom™ Processor C3000][2]
3132
- [Intel® Communications Chipset 8925 to 8955 Series][3]
3233

33-
The QAT device plugin provides access to QAT hardware accelerated cryptographic and compression features.
34-
Demonstrations are provided utilising [DPDK](https://doc.dpdk.org/) and [OpenSSL](https://www.openssl.org/).
34+
The QAT device plugin provides access to QAT hardware accelerated cryptographic and compression features
35+
through the SR-IOV virtual functions (VF). Demonstrations are provided utilising [DPDK](https://doc.dpdk.org/) and [OpenSSL](https://www.openssl.org/).
3536

36-
[Kata Containers](https://katacontainers.io/) QAT integration is documented in the
37-
[Kata Containers documentation repository][6].
37+
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.
3838

3939
## Modes and Configuration Options
4040

@@ -43,9 +43,9 @@ The QAT plugin can take a number of command line arguments, summarised in the fo
4343
| Flag | Argument | Meaning |
4444
|:---- |:-------- |:------- |
4545
| -dpdk-driver | string | DPDK Device driver for configuring the QAT device (default: `vfio-pci`) |
46-
| -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`) |
46+
| -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`) |
4747
| -max-num-devices | int | maximum number of QAT devices to be provided to the QuickAssist device plugin (default: `64`) |
48-
| -mode | string | plugin mode which can be either `dpdk` or `kernel` (default: `dpdk`) |
48+
| -mode | string | Deprecated: plugin mode which can be either `dpdk` or `kernel` (default: `dpdk`).|
4949
| -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.) |
5050

5151
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
6363

6464
If the `-mode` parameter is set to `kernel`, no other parameter documented above are valid,
6565
except the `klog` logging related parameters.
66-
`kernel` mode implements resource allocation based on system configured [logical instances][7].
66+
`kernel` mode implements resource allocation based on system configured [logical instances][7] and
67+
it does not guarantee full device isolation between containers. Therefore, it's not recommended.
6768

68-
> **Note**: `kernel` mode is excluded by default from all builds (including those hosted on the Docker hub),
69+
> **Note**: `-mode` parameter is deprecated and it is also not made available as an option to
70+
> the operator based deployment. Furthermore, `kernel` mode is excluded by default from all builds (including those hosted on the Docker hub),
6971
> by default. See the [Build the plugin image](#build-the-plugin-image) section for more details.
7072
71-
The `kernel` mode does not guarantee full device isolation between containers
72-
and therefore it's not recommended. This mode will be deprecated and removed once `libqat`
73-
implements non-UIO based device access.
74-
7573
## Installation
7674

7775
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
8987
are available via two methods. One of them must be installed and enabled:
9088

9189
- [Linux Kernel upstream drivers](https://github.com/torvalds/linux/tree/master/drivers/crypto/intel/qat)
92-
- [Intel QuickAssist Technology software for Linux][9]
90+
- [Intel QuickAssist Technology software for Linux][9] (**Note**: not applicable to QAT Gen4)
9391

9492
The demonstrations have their own requirements, listed in their own specific sections.
9593

@@ -120,7 +118,7 @@ $ kubectl apply -k 'https://github.com/intel/intel-device-plugins-for-kubernetes
120118
> socket creation and kubelet registration. Furthermore, the deployments `securityContext` must
121119
> be configured with appropriate `runAsUser/runAsGroup`.
122120
123-
#### Automatic Provisioning
121+
### Automatic Provisioning
124122

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

@@ -151,7 +149,7 @@ When using the operator for deploying the plugin with provisioning config, use `
151149
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.
152150

153151

154-
#### Verify Plugin Registration
152+
### Verify Plugin Registration
155153

156154
Verification of the plugin deployment and detection of QAT hardware can be confirmed by
157155
examining the resource allocations on the nodes:

0 commit comments

Comments
 (0)