summaryrefslogtreecommitdiff
path: root/examples/l2fwd-crypto
AgeCommit message (Collapse)Author
2018-09-14ethdev: make default behavior CRC strip on RxFerruh Yigit
Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. Without any specific Rx offload flag, default behavior by PMDs is to strip CRC. PMDs that support keeping CRC should advertise DEV_RX_OFFLOAD_KEEP_CRC Rx offload capability. Applications that require keeping CRC should check PMD capability first and if it is supported can enable this feature by setting DEV_RX_OFFLOAD_KEEP_CRC in Rx offload flag in rte_eth_dev_configure() Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tomasz Duszynski <tdu@semihalf.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Jan Remes <remes@netcope.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
2018-07-24examples/l2fwd-crypto: remove duplicated capability checkPablo de Lara
Now that device capabilities are checked separately, before setting the xform parameters, it is not required to do the check again, leaving only the xform setting with the device configuration. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2018-07-24examples/l2fwd-crypto: fix session mempool sizePablo de Lara
The session mempool size for this application depends on the number of crypto devices that are capable of performing the operation given by the parameters on the app. However, previously this calculation was done before all devices were checked, resulting in an incorrect number of sessions required. Now the calculation of the devices to be used is done first (checking the capabilities of the enabled devices), followed by the creation of the session pool, resulting in a correct number of objects needed for the sessions to be created. Fixes: e3bcb99a5e13 ("examples/l2fwd-crypto: limit number of sessions") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2018-07-24examples/l2fwd-crypto: separate IV check from xform settingPablo de Lara
IV_param_check() function was checking if the IV size provided was supported by device and setting the IV size in the xform structure. Instead of this, the function should only do the parameter check and outside the IV size on the xform is set. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2018-07-24examples/l2fwd-crypto: skip device not supporting operationPablo de Lara
When a crypto device does not support an algorithm, it is skipped and not used. However, when it does support it, but not the rest of the parameters (IV, key, AAD sizes...), application stops. Instead, the device should be skipped and the search of a suitable device should continue. Fixes: a061e50a0d97 ("examples/l2fwd-crypto: fix ambiguous input key size") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2018-07-24examples/l2fwd-crypto: check return value on IV size checkPablo de Lara
IV size parameter is checked through a function, but its return value was not checked. Fixes: 0fbd75a99fc9 ("cryptodev: move IV parameters to session") Fixes: acf8616901b5 ("cryptodev: add auth IV") Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2018-07-24examples/l2fwd-crypto: fix digest with AEAD algoPablo de Lara
When performing authentication verification (both for AEAD algorithms, such as AES-GCM, or for authentication algorithms, such as SHA1-HMAC), the digest address is calculated based on the packet size and the algorithm used (substracting digest size and IP header to the packet size). However, for AEAD algorithms, this was not calculated correctly, since the digest size was not being substracted. Bugzilla ID: 44 Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Cc: stable@dpdk.org Reported-by: Ankur Dwivedi <ankur.dwivedi@cavium.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Tested-by: Ankur Dwivedi <ankur.dwivedi@cavium.com>
2018-07-11examples/l2fwd-crypto: limit number of sessionsPablo de Lara
Calculate the number of sessions required for the application, knowing that there is only one session required per device. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2018-07-04ethdev: remove old offload APIFerruh Yigit
In DPDK 17.11, the ethdev offloads API has changed: commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") The new API is documented in the programmer's guide: http://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html#hardware-offload For reminder, the main concepts in the new API were: - All offloads are disabled by default - Distinction between per port and per queue offloads. The transition bits are now removed: - Translation of the old API in ethdev - rte_eth_conf.rxmode.ignore_offload_bitfield - ETH_TXQ_FLAGS_IGNORE The old API bits are now removed: - Rx per-port rte_eth_conf.rxmode.[bit-fields] - Tx per-queue rte_eth_txconf.txq_flags - ETH_TXQ_FLAGS_NO* Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Shahaf Shuler <shahafs@mellanox.com>
2018-05-22cryptodev: rename functions to get session sizePablo de Lara
rte_cryptodev_get_header_session_size() and rte_cryptodev_get_private_session_size() functions are targeting symmetric sessions. With the future addition of asymmetric operations, these functions need to be renamed from *cryptodev_*_session_* to *cryptodev_sym_*_session_* to be symmetric specific. The two original functions are marked as deprecated and will be removed in 18.08, so applications can still use the functions in 18.05. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Shally Verma <shally.verma@caviumnetworks.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2018-04-27ethdev: remove experimental flag of ports enumerationThomas Monjalon
The basic operations for ports enumeration should not be considered as experimental in DPDK 18.05. The iterator RTE_ETH_FOREACH_DEV was introduced in DPDK 17.05. It uses the function the rte_eth_find_next_owned_by() to get only ownerless ports. Its API can be considered stable. So the flag experimental is removed from rte_eth_find_next_owned_by(). The flag experimental is removed from rte_eth_dev_count_avail() which is the new name of the old function rte_eth_dev_count(). The flag experimental is set to rte_eth_dev_count_total() in the .c file for consistency with the declaration in the .h file. A lot of internal applications are fixed to not allow experimental API. Fixes: 8728ccf37615 ("fix ethdev ports enumeration") Fixes: d9a42a69febf ("ethdev: deprecate port count function") Fixes: e70e26861eaf ("net/mvpp2: fix build") Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Tested-by: David Marchand <david.marchand@6wind.com>
2018-04-23examples/l2fwd-crypto: fix the default aead assignmentsHemant Agrawal
The code is incorrectly updating the authxform instead of aead xforms. Fixes: b79e4c00af0e ("cryptodev: use AES-GCM/CCM as AEAD algorithms") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2018-04-18ethdev: deprecate port count functionThomas Monjalon
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used. In order to fix this common mistake in all external applications, the function rte_eth_dev_count is deprecated, while introducing the new functions rte_eth_dev_count_avail and rte_eth_dev_count_total. Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-18fix ethdev ports enumerationThomas Monjalon
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used. There are three consequences when using such wrong design: - new ports having an index higher than the port count won't be seen - old ports being detached (RTE_ETH_DEV_UNUSED) can be seen as ghosts - failsafe sub-devices (RTE_ETH_DEV_DEFERRED) will be seen by the application Such mistake will be less common with growing hotplug awareness. All applications and examples inside this repository - except testpmd - must be fixed to use the iterator RTE_ETH_FOREACH_DEV. Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-02-01examples: increase default ring sizes to 1024Kevin Laatz
Increase the default RX/TX ring sizes to 1024/1024 to accommodate for NICs with higher throughput (25G, 40G etc) Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-01-30build: replace license text with SPDX tagBruce Richardson
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: enable linking both static and sharedBruce Richardson
Since the DPDK build now includes both static and shared libraries, we need a new way to enable building the examples using either method from the one installation. To do this, we add in a default "shared" target, and a separate "static" target which links in the DPDK static libraries. In both cases, the final application name is symlinked to the last-built static or shared target, with both binaries able to co-exist in the build directory. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: use pkg-config in makefilesBruce Richardson
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back to using the original build system with RTE_SDK and RTE_TARGET This commit changes the makefiles for the basic examples, i.e. those which do not have multiple subdirectories underneath the main examples dir. Examples not covered are: * ethtool * multi_process * performance-thread * quota_watermark * netmap_compat * server_node_efd * vm_power_manager Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: put app name and sources at top of makefilesBruce Richardson
Reorder the text in the makefiles, so that the app name and the source files are listed first. This then will allow them to be shared later in a combined makefile building with pkg-config and RTE_SDK-based build system. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: build some samples with mesonBruce Richardson
Add support for having selected example apps built as part of a meson, ninja build. By default none are built, and those to be built should be named directly in the -Dexamples='' meson configuration argument. This is useful for developers working on a feature who want to use a suitable example, or examples, to test that feature, as they can compile everything up in one go, and run the example without having to do a ninja install first. This commit adds examples which don't consist of multiple apps in subdirectories to the meson build, so they can be built by default by passing -Dexamples parameter to meson. Not included are the following examples: * ethtool * multi-process * netmap_compat * performance-thread * quota_watermark * server_node_efd * vm_power_manager To test the apps added here, use the following command, merged to one line, to add them to your meson build (command to be run inside the build directory): meson configure -Dexamples=bbdev_app,bond,cmdline,distributor,\ eventdev_pipeline_sw_pmd, exception_path,helloworld,\ ip_fragmentation,ip_pipeline,ip_reassembly, ipsec-secgw,\ ipv4_multicast,kni,l2fwd-cat,l2fwd-crypto,l2fwd-jobstats,\ l2fwd-keepalive,l2fwd,l3fwd-acl,l3fwd-power,l3fwd-vf,l3fwd,\ link_status_interrupt,load_balancer,packet_ordering,ptpclient,\ qos_meter,qos_sched,rxtx_callbacks,skeleton,tep_termination,\ timer,vhost,vhost_scsi,vmdq,vmdq_dcb Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-16examples/l2fwd-crypto: convert to new ethdev offloads APIShahaf Shuler
Ethdev offloads API has changed since: commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") This commit support the new API. Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-01-04examples: use SPDX tag for Intel copyright filesBruce Richardson
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2017-11-07examples: remove dependency on PCIBruce Richardson
All PCI functionality should be hidden from apps via the PCI bus driver, the EAL and individual device drivers. Therefore remove the inclusion of rte_pci.h from sample apps. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2017-11-06cryptodev: rename physical address type to IOVASantosh Shukla
Renamed data type from phys_addr_t to rte_iova_t. Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-06mbuf: rename data address helpers to IOVAThomas Monjalon
The following inline functions and macros have been renamed to be consistent with the IOVA wording: rte_mbuf_data_dma_addr -> rte_mbuf_data_iova rte_mbuf_data_dma_addr_default -> rte_mbuf_data_iova_default rte_pktmbuf_mtophys -> rte_pktmbuf_iova rte_pktmbuf_mtophys_offset -> rte_pktmbuf_iova_offset The deprecated functions and macros are kept to avoid breaking the API. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-11-06malloc: rename address mapping function to IOVAThomas Monjalon
The function rte_malloc_virt2phy() is renamed to rte_malloc_virt2iova(). The deprecated name is kept as an alias to avoid breaking the API. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2017-11-06remove useless memzone includesThomas Monjalon
The memzone header is often included without good reason. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-10-25examples/l2fwd-crypto: fix physical address settingPablo de Lara
For AEAD algorithms, the physical address for the digest was being set incorrectly. Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-10-25examples/l2fwd-crypto: fix port id typeZhiyong Yang
Fix port id issues and keep variables related to port ids in consistent data type definition "uint16_t". Remove unnecessary cast in the meanwhile. Fixes: f8244c6399d9 ("ethdev: increase port id range") Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-10-13examples: fix port id typeZhiyong Yang
Fixes: f8244c6399d9 ("ethdev: increase port id range") Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2017-10-12examples/l2fwd-crypto: support AES-CCMPablo de Lara
According to the API, AES-CCM has special requirements when setting IV and AAD fields. The L2fwd-crypto app is updated to set the nonce (IV) and AAD in the right positions in these two fields (1 byte after start of IV field and 18 bytes after start of AAD). Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
2017-10-12examples/l2fwd-crypto: fix uninitialized errno valueHemant Agrawal
errno should be initialized to 0 before calling strtol Fixes: 1df9c0109f4c ("examples/l2fwd-crypto: parse key parameters") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Reviewed-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
2017-07-31examples/l2fwd-crypto: fix possible out-of-boundsPablo de Lara
rte_cryptodev_socket_id() returns the socket id of a crypto device, unless the device id is not valid, in which case, it returns -1. This should not happen, as the device id is controlled by the application, but just for safety, a check is added. Coverity issue: 158628, 158638, 158656, 158662 Fixes: b3bbd9e5f265 ("cryptodev: support device independent sessions") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-19examples/l2fwd-crypto: add option to update MAC addressKuba Kozak
This patch adds a new option to enable/disable the MAC addresses updating done at forwarding time: --[no-]mac-updating By default, MAC address updating remains enabled, to keep consistency with previous usage. Signed-off-by: Kuba Kozak <kubax.kozak@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-19examples/l2fwd-crypto: fix AEAD key settingPablo de Lara
AEAD key was being set using the cipher key parameters, instead of the AEAD key parameters. Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-19examples/l2fwd-crypto: fix AEAD IV settingPablo de Lara
IV was not being set for AEAD algorithms. Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-19examples/l2fwd-crypto: fix digest lengthPablo de Lara
Digest length was not being set when using authentication algorithms. Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-19cryptodev: rename ADD fieldPablo de Lara
Additional Authenticated Data (AAD) is called "aad" in most places of cryptodev, but it was called "add_auth_data" in the AEAD transform transform (aead_xform). This field is renamed to "aad_length" in order to keep consistency. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-08examples: adjust Rx and Tx descriptors to device limitsRoman Zhukov
Signed-off-by: Roman Zhukov <roman.zhukov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2017-07-06cryptodev: add mempool pointer in queue pair setupPablo de Lara
The session mempool pointer is needed in each queue pair, if session-less operations are being handled. Therefore, the API is changed to accept this parameter, as the session mempool is created outside the device configuration function, similar to what ethdev does with the rx queues. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-07-06cryptodev: support device independent sessionsSlawomir Mrozowicz
Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one device. Sessions private data is agnostic to underlying device by adding an indirection in the sessions private data using the crypto driver identifier. A single session can contain indirections to multiple device types. New function rte_cryptodev_sym_session_init has been created, to initialize the driver private session data per driver to be used on a same session, and rte_cryptodev_sym_session_clear to clear this data before calling rte_cryptodev_sym_session_free. Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-07-06cryptodev: do not create session mempool internallySlawomir Mrozowicz
Instead of creating the session mempool while configuring the crypto device, apps will create the mempool themselves. This way, it gives flexibility to the user to have a single mempool for all devices (as long as the objects are big enough to contain the biggest private session size) or separate mempools for different drivers. Also, since the mempool is now created outside the device configuration function, now it needs to be passed through this function, which will be eventually passed when setting up the queue pairs, as ethernet devices do. Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-07-06cryptodev: use AES-GCM/CCM as AEAD algorithmsPablo de Lara
Now that all the structures/functions for AEAD algorithms are in place, migrate the two supported algorithms AES-GCM and AES-CCM to these, instead of using cipher and authentication parameters. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06examples/l2fwd-crypto: add AEAD parametersPablo de Lara
Since there is a new operation type (AEAD), add parameters for this in the application. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06examples/l2fwd-crypto: avoid too many tabsPablo de Lara
Some extra functions have been created to avoid too many nested conditionals. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06cryptodev: remove digest length from crypto opPablo de Lara
Digest length was duplicated in the authentication transform and the crypto operation structures. Since digest length is not expected to change in a same session, it is removed from the crypto operation. Also, the length has been shrunk to 16 bits, which should be sufficient for any digest. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06cryptodev: remove AAD length from crypto opPablo de Lara
Additional authenticated data (AAD) information was duplicated in the authentication transform and in the crypto operation structures. Since AAD length is not meant to be changed in a same session, it is removed from the crypto operation structure. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06cryptodev: add auth IVPablo de Lara
Authentication algorithms, such as AES-GMAC or the wireless algorithms (like SNOW3G) use IV, like cipher algorithms. So far, AES-GMAC has used the IV from the cipher structure, and the wireless algorithms have used the AAD field, which is not technically correct. Therefore, authentication IV parameters have been added, so API is more correct. Like cipher IV, auth IV is expected to be copied after the crypto operation. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06cryptodev: move IV parameters to sessionPablo de Lara
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, so they will be stored in the sessions. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-06cryptodev: pass IV as offsetPablo de Lara
Since IV now is copied after the crypto operation, in its private size, IV can be passed only with offset and length. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>