qat
— Intel
QuickAssist Technology driver
To load the driver call:
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"
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.
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
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_ocf
driver 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
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.
crypto(4),
ipsec(4),
pci(4),
crypto(7),
crypto(9)
For details of usage and supported operations and algorithms refer
to the following documentation available from Intel Download Center
https://downloadcenter.intel.com:
-
Intel (R),
QuickAssist Technology API Programmer's
Guide.
-
Intel (R),
QuickAssist Technology Cryptographic API Reference
Manual.
-
Intel (R),
QuickAssist Technology Data Compression API Reference
Manual.
-
Intel (R),
QuickAssist Technology Performance Optimization
Guide.
A qat
driver appeared in
FreeBSD 13.0. It was superseded in
FreeBSD 14.0 by the upstream driver.
The qat
driver was written by
Intel (R) Corporation.