numam-dpdk/lib
Pablo de Lara 7c085e85c2 cryptodev: enable BPI for Cablelabs DOCSIS security spec
Extend the DPDK cryptodev API to enable processing of packets according
to the Baseline Privacy Interface Plus (BPI+) Specification described in
the security specification of the Cablelabs Data-over-Cable Service
Interface Specification (DOCSIS).

Brief summary of BPI+ symmetric cryptography requirements:
BPI+ cryptography uses a block cipher (AES-CBC/DES-CBC) to encrypt/decrypt
all the whole blocks in the packet. However the data length is not always
a block-multiple, so where there is a final block less than the full block
size this residual block requires special handling using AES-CFB/DES-CFB
mode. Similar special handling is specified where there is only one block,
smaller than the block size for the cipher. See spec for further details.
https://apps.cablelabs.com/specification/docsis-3-1-security-specification/

Two new elements are added to the enum rte_crypto_cipher_algorithm.
Note elements of this enum are actually a combination of an algorithm (AES,
3DES, etc) and mode (CBC, CTR, etc). The new DOCSISBPI mode is used to
convey to the PMD that the mode applied should be the specific combination
of CBC and CFB required by the DOCSIS Baseline Privacy Plus Spec.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2017-04-06 00:17:44 +02:00
..
librte_acl mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_bitratestats bitrate: add bitrate statistics library 2017-04-05 17:59:43 +02:00
librte_cfgfile cfgfile: support empty value 2017-04-04 16:32:06 +02:00
librte_cmdline mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_compat compat: remove unneeded macro 2015-06-29 16:41:23 +02:00
librte_cryptodev cryptodev: enable BPI for Cablelabs DOCSIS security spec 2017-04-06 00:17:44 +02:00
librte_distributor distributor: fix creation error checks 2017-04-04 14:58:49 +02:00
librte_eal eal: deprecate log functions 2017-04-05 13:48:40 +02:00
librte_efd mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_ether ethdev: fix missing function in version map file 2017-04-06 12:52:52 +02:00
librte_eventdev eventdev: improve docs of start function 2017-04-04 19:19:51 +02:00
librte_hash ring: return remaining entry count when dequeuing 2017-03-29 22:32:20 +02:00
librte_ip_frag mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_jobstats mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_kni mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_kvargs mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_latencystats latency: added new library for latency stats 2017-04-05 18:00:42 +02:00
librte_lpm mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_mbuf mbuf: bump library version 2017-04-05 13:37:17 +02:00
librte_mempool mempool: move stack handler as a driver 2017-04-03 19:45:45 +02:00
librte_meter mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_metrics metrics: add information metrics library 2017-04-05 17:58:51 +02:00
librte_net net: add CRC computation API 2017-04-05 23:03:23 +02:00
librte_pdump ring: return free space when enqueuing 2017-03-29 22:32:04 +02:00
librte_pipeline mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_port ring: return remaining entry count when dequeuing 2017-03-29 22:32:20 +02:00
librte_power mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_reorder mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_ring ring: fix C++ cast error 2017-04-06 17:55:54 +02:00
librte_sched mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_table mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_timer mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_vhost vhost: do not destroy device on repeat mem table message 2017-04-01 10:42:44 +02:00
Makefile net: add CRC computation API 2017-04-05 23:03:23 +02:00