[dpdk-users] Crypto Framework with QAT Device

Trahe, Fiona fiona.trahe at intel.com
Tue Aug 9 17:15:42 CEST 2016

Yes, you're correct re the Atom device.

By ADF driver API I assume you mean the QuickAssisst API.
The purpose of the cryptodev framework was to provide a generic API, which could pass crypto requests to SW and HW (QuickAssist and other) devices. The QuickAssist API has a lot of QuickAssist-specific parameters, so was not a good match for this.

As to why the QuickAssist API and user-space driver were not used below the cryptodev layer there are a number of reasons including performance, coding standards, simpler configuration, a desire to take advantage of dpdk features like memory handling, pci device discovery, etc


From: David Griswold [mailto:DGriswold at advaoptical.com]
Sent: Tuesday, August 9, 2016 3:18 PM
To: Trahe, Fiona <fiona.trahe at intel.com>; users at dpdk.org
Subject: RE: Crypto Framework with QAT Device

Thanks Fiona,

Unfortunately, I'm wanting to run on C2xxx (Atom) devices.  I don't believe any of these SKUs have the newer QAT device. Is that correct?
I did get it working with the QAT sample application as you point out.
Just for context, could you explain why the cryptodev framework did not use the ADF driver's API, like the QAT sample uses?
I suspect it had to do with performance but perhaps the API is limiting in some way?

Thanks for your help,


From: Trahe, Fiona [mailto:fiona.trahe at intel.com]
Sent: Tuesday, August 09, 2016 10:08 AM
To: users at dpdk.org<mailto:users at dpdk.org>; David Griswold <DGriswold at advaoptical.com<mailto:DGriswold at advaoptical.com>>
Cc: Trahe, Fiona <fiona.trahe at intel.com<mailto:fiona.trahe at intel.com>>
Subject: re: Crypto Framework with QAT Device

Hi David,

The cryptodev framework can't be used with the earlier QuickAssist devices.(8900-8920)
Even if you got past the differing CSRs the firmware interface is significantly different, so a
complete rewrite of the code which builds the message descriptors would be necessary.
Sorry, that's probably not what you wanted to hear.

A dpdk sample app wrapping the released Intel QuickAssist driver was developed prior to the cryptodev framework:

A better alternative would be to move to one of the newer QuickAssist devices, is that an option?



I'd like to use the crypto framework with an older QAT device from the 8900-8920 (QAT1.5) series.
The current support is for the 8925-8955 series (QAT1.6).
I've installed the ADF software and gotten the crypto framework to recognize the PCIe device,
but the BAR register layout seems to be different from what the framework is expecting when it
goes to create the queue pairs.

Could the experts comment on how difficult this would be and if possible what my next steps might be?

Thanks in advance for your advice,


More information about the users mailing list