qat4
Intel quickassist technology compression and crypto driver
Usage
To load the driver call:
-
kldload qat
In order to load the driver on boot add these lines to loader.conf(5) selecting firmware(s) suitable for installed device(s)
-
qat_200xx_fw_load="YES"
-
qat_c3xxx_fw_load="YES"
-
qat_c4xxx_fw_load="YES"
-
qat_c62x_fw_load="YES"
-
qat_dh895xcc_fw_load="YES"
-
qat_4xxx_fw_load="YES"
-
qat_load="YES"
Overview
The qat driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices.
A complete API for offloading these operations is exposed in the kernel and may be used by any other entity directly. In addition to exposing a complete kernel API for offloading cryptography and compression operations, the qat driver also integrates with crypto(4), allowing offloading supported operations to Intel QuickAssist Technology devices.
Hardware
The qat driver supports the following Intel QuickAssist Technology Engines:
-
Intel (R) C62x Chipset
-
Intel (R) Atom C3000 processor product family
-
Intel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970 (formerly known as "Lewis Hill")
-
Intel (R) Communications Chipset 8925 to 8955 Series
-
Intel (R) Atom P5300 processor product family
-
Intel (R) QAT 4xxx Series
Sysctl variables
The following sysctl(8) variables may be used to reconfigure the qat device. For configuration persistence those variables may be set before loading the driver, either via kenv(1) or loader.conf(5).
The specific device needs to be in the "down" state before changing the configuration.
- dev.qat.X.state
-
Show or set current state of the device. Possible values: "down", "up".
NOTE: If the symmetric services are used for device the
qat_ocfdriver needs to be disabled prior the device reconfiguration. - dev.qat_ocf.0.enable
-
Enable/disable the QAT cryptographic framework connectivity. Enabled by default.
- dev.qat.X.cfg_services
-
Override the device services enabled, may be one of: symmetric, asymmetric, data compression. Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym". Default services configured are "sym;asym" for even and "dc" for odd devices.
- dev.qat.X.cfg_mode
-
Override the device mode configuration for kernel space and user space instances. Possible values: "ks", "us", "ks;us". Default value "ks;us".
- dev.qat.X.num_user_processes
-
Override the number of uio user space processes that can connect to the QAT device. Default: 2
- dev.qat.X.disable_safe_dc_mode
-
Override history buffer mitigation. Disabled by default. If enabled, decompression throughput increases but may result in a data leak if dev.qat.X.num_user_processes is more than 1. Enable this option only if your system is not prone to user data leaks.
The following sysctl(8) variables are read-only:
- dev.qat.X.frequency
-
QAT device frequency value.
- dev.qat.X.mmp_version
-
QAT MMP Library revision number.
- dev.qat.X.hw_version
-
QAT hardware revision number.
- dev.qat.X.fw_version
-
QAT firmware revision number.
- dev.qat.X.dev_cfg
-
Summary of device specific configuration.
- dev.qat.X.heartbeat
-
QAT device heartbeat status. Value '1' indicates that the device is operational. Value '0' means that the device is not responsive. Device requires restart.
- dev.qat.X.heartbeat_failed
-
Number of QAT heartbeat failures received.
- dev.qat.X.heartbeat_sent
-
Number of QAT heartbeat requests sent.
Releases
17 releases since FreeBSD 12.3-RELEASE; the text changed 8 times.