We’re using MBF2H516A-EEEOT (linked specification below). However, when I checked the NIC capabilities using ./opt/mellanox/doca/tools/doca_caps, the output indicated that aes_gcm task_encrypt is unsupported.
Please let me know if I missed any configuration. Thank you!
Your card should support aes_gcm, could you please retry with last DOCA 2.7.0
As such feature still in alpha level, if 2.7.0 still have such issue, please contact us with networking-support@nvidia.com to get offical support
Any help or suggested method to try it out? I have tried 2.0.2, 2.9.2, and 3.1.0 all bfb images and doca version, however it results the same doca_caps problem.
The BF2 specs is misleading, the AES-GCM crypto hardware only supports IPsec. I believe the module is on NIC ASIC not ARM core.
Thus, DPDK/DOCA has no way to access it.
I tried the BF-3 and it actually works. They added a second crypto hardware module which is accessible to ARM cores, however, the API is designed in a bad way which makes it ill-suited for latency-critical networking (you can read more on DOCA AES-GCM page). For example, when you need to decrypt/encrypt packets with different keys.
It’s hard to understand why they didn’t add the crypto module on the die itself.
As you mentioned, I checked the BlueField-2 datasheet and confirmed that its “security” capabilities are limited to IPsec/TLS data-in-motion encryption, meaning it does not expose a general-purpose AES-GCM hardware module for arbitrary symmetric encryption.
In contrast, the BlueField-3 datasheet explicitly lists AES-GCM 128/256-bit key support, indicating that it includes a dedicated hardware module for AES-GCM operations.
Therefore, my goal of encrypting packets using a symmetric key (e.g., “abcd”) would not be feasible on BF2, but should be achievable on BF3.
Thanks again for the helpful explanation and confirmation, and this makes sense now (why DPDK could not access it in a separated manner)