1. AESN-NI Multi Buffer Crytpo Poll Mode Driver

The AESNI MB PMD (librte_pmd_aesni_mb) provides poll mode crypto driver support for utilizing Intel multi buffer library, see the white paper Fast Multi-buffer IPsec Implementations on IntelĀ® Architecture Processors.

The AES-NI MB PMD has current only been tested on Fedora 21 64-bit with gcc.

1.1. Features

AESNI MB PMD has support for:

Cipher algorithms:

  • RTE_CRYPTO_SYM_CIPHER_AES128_CBC
  • RTE_CRYPTO_SYM_CIPHER_AES256_CBC
  • RTE_CRYPTO_SYM_CIPHER_AES512_CBC

Hash algorithms:

  • RTE_CRYPTO_SYM_HASH_SHA1_HMAC
  • RTE_CRYPTO_SYM_HASH_SHA256_HMAC
  • RTE_CRYPTO_SYM_HASH_SHA512_HMAC

1.2. Limitations

  • Chained mbufs are not supported.
  • Hash only is not supported.
  • Cipher only is not supported.
  • Only in-place is currently supported (destination address is the same as source address).
  • Only supports session-oriented API implementation (session-less APIs are not supported).
  • Not performance tuned.

1.3. Installation

To build DPDK with the AESNI_MB_PMD the user is required to download the mult- buffer library from here and compile it on their user system before building DPDK. When building the multi-buffer library it is necessary to have YASM package installed and also requires the overriding of YASM path when building, as a path is hard coded in the Makefile of the release package.

make YASM=/usr/bin/yasm

The environmental variable AESNI_MULTI_BUFFER_LIB_PATH must be exported with the path where you extracted and built the multi buffer library and finally set CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y in config/common_linuxapp.