#
923b5f27 |
| 20-May-2022 |
Gagandeep Singh <g.singh@nxp.com> |
examples/ipsec-secgw: support XCBC-MAC/DES-CBC
ipsec-secgw application is updated to support DES-CBC ciphering and XCBC-MAC authentication based IPsec functionality.
Signed-off-by: Gagandeep Singh
examples/ipsec-secgw: support XCBC-MAC/DES-CBC
ipsec-secgw application is updated to support DES-CBC ciphering and XCBC-MAC authentication based IPsec functionality.
Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
daa02b5c |
| 15-Oct-2021 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Sign
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
ba66534f |
| 14-Oct-2019 |
Marcin Smoczynski <marcinx.smoczynski@intel.com> |
examples/ipsec-secgw: support fallback session
Inline processing is limited to a specified subset of traffic. It is often unable to handle more complicated situations, such as fragmented traffic. Wh
examples/ipsec-secgw: support fallback session
Inline processing is limited to a specified subset of traffic. It is often unable to handle more complicated situations, such as fragmented traffic. When using inline processing such traffic is dropped.
Introduce fallback session for inline crypto processing allowing handling packets that normally would be dropped. A fallback session is configured by adding 'fallback' keyword with 'lookaside-none' parameter to an SA configuration. Only 'inline-crypto-offload" as a primary session and 'lookaside-none' as a fall-back session combination is supported by this patch.
Fallback session feature is not available in the legacy mode.
Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>
show more ...
|
#
4a67af84 |
| 14-Oct-2019 |
Marcin Smoczynski <marcinx.smoczynski@intel.com> |
examples/ipsec-secgw: clean SA structure
Cleanup ipsec_sa structure by removing every field that is already in the rte_ipsec_session structure: * cryptodev/security session union * action type *
examples/ipsec-secgw: clean SA structure
Cleanup ipsec_sa structure by removing every field that is already in the rte_ipsec_session structure: * cryptodev/security session union * action type * offload flags * security context References to abovementioned fields are changed to direct references to matching fields of rte_ipsec_session structure.
Such refactoring is needed to introduce many sessions per SA feature, e.g. fallback session for inline offload processing.
Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Radu Nicolau <radu.nicolau@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>
show more ...
|
#
b1a3ac78 |
| 26-Jun-2019 |
Mariusz Drost <mariuszx.drost@intel.com> |
examples/ipsec-secgw: fix inline modes
Application ipsec-secgw is not working for IPv4 transport mode and for IPv6 both transport and tunnel mode.
IPv6 tunnel mode is not working due to wrongly ass
examples/ipsec-secgw: fix inline modes
Application ipsec-secgw is not working for IPv4 transport mode and for IPv6 both transport and tunnel mode.
IPv6 tunnel mode is not working due to wrongly assigned fields of security association patterns, as it was IPv4, during creation of inline crypto session.
IPv6 and IPv4 transport mode is iterating through security capabilities until it reaches tunnel, which causes session to be created as tunnel, instead of transport. Another issue, is that config file does not provide source and destination ip addresses for transport mode, which are required by NIC to perform inline crypto. It uses default addresses stored in security association (all zeroes), which causes dropped packages.
To fix that, reorganization of code in create_session() is needed, to behave appropriately to given protocol (IPv6/IPv4). Change in iteration through security capabilities is also required, to check for expected mode (not only tunnel).
For lack of addresses issue, some resolving mechanism is needed. Approach is to store addresses in security association, as it is for tunnel mode. Difference is that they are obtained from sp rules, instead of config file. To do that, sp[4/6]_spi_present() function is used to find addresses based on spi value, and then stored in corresponding sa rule. This approach assumes, that every sp rule for inline crypto have valid addresses, as well as range of addresses is not supported.
New flags for ipsec_sa structure are required to distinguish between IPv4 and IPv6 transport modes. Because of that, there is need to change all checks done on these flags, so they work as expected.
Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload") Fixes: 9a0752f498d2 ("net/ixgbe: enable inline IPsec") Cc: stable@dpdk.org
Signed-off-by: Mariusz Drost <mariuszx.drost@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
#
5ef25467 |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ESP structure
Add 'rte_' prefix to structures: - rename struct esp_hdr as struct rte_esp_hdr.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemmin
net: add rte prefix to ESP structure
Add 'rte_' prefix to structures: - rename struct esp_hdr as struct rte_esp_hdr.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
da7a540e |
| 07-Mar-2019 |
Bernard Iremonger <bernard.iremonger@intel.com> |
examples/ipsec-secgw: fix debug logs
Improve debug code in esp.c, sa.c and ipsec-secgw.c
Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode") Fixes: ec17993a145a ("examples/ipsec-se
examples/ipsec-secgw: fix debug logs
Improve debug code in esp.c, sa.c and ipsec-secgw.c
Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode") Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload") Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file") Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6") Cc: stable@dpdk.org
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
1bc489ca |
| 25-Jul-2018 |
Hemant Agrawal <hemant.agrawal@nxp.com> |
examples/ipsec-secgw: support 3DES-CBC
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
|
#
0ccfd14b |
| 18-Dec-2017 |
Anoob Joseph <anoob.joseph@caviumnetworks.com> |
examples/ipsec-secgw: support inline protocol
Adding support for inline protocol processing
In ingress side, application will receive regular IP packets, without any IPsec related info. Application
examples/ipsec-secgw: support inline protocol
Adding support for inline protocol processing
In ingress side, application will receive regular IP packets, without any IPsec related info. Application will do a selector check (SP-SA check) by making use of the metadata from the packet. The device-specific metadata in mbuf would aid in determing the security session which processed the packet.
In egress side, the plain packet would be submitted to the driver. The packet will have optional metadata, which could be used to identify the security session associated with the packet.
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com> Reviewed-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
3998e2a0 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
examples: use SPDX tag for Intel copyright files
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@i
examples: use SPDX tag for Intel copyright files
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>
show more ...
|
#
bfa9a8a4 |
| 05-Nov-2017 |
Thomas Monjalon <thomas@monjalon.net> |
mbuf: rename data address helpers to IOVA
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 rt
mbuf: rename data address helpers to IOVA
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>
show more ...
|
#
ec17993a |
| 25-Oct-2017 |
Akhil Goyal <akhil.goyal@nxp.com> |
examples/ipsec-secgw: support security offload
Ipsec-secgw application is modified so that it can support following type of actions for crypto operations 1. full protocol offload using crypto device
examples/ipsec-secgw: support security offload
Ipsec-secgw application is modified so that it can support following type of actions for crypto operations 1. full protocol offload using crypto devices. 2. inline ipsec using ethernet devices to perform crypto operations 3. full protocol offload using ethernet devices. 4. non protocol offload
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Signed-off-by: Boris Pismenny <borisp@mellanox.com> Signed-off-by: Declan Doherty <declan.doherty@intel.com> Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
show more ...
|
#
2a41fb7c |
| 24-Oct-2017 |
Aviad Yehezkel <aviadye@mellanox.com> |
examples/ipsec-secgw: convert IV to big endian
According to rfc4106 the IV should be unique and can be implemented as counter. The changed was created because putting an analyzer on wire and compari
examples/ipsec-secgw: convert IV to big endian
According to rfc4106 the IV should be unique and can be implemented as counter. The changed was created because putting an analyzer on wire and comparing packets generated by this application and Linux kernel. Linux kernel sets IV as BE, so it is worth to do the same for future debug / comparison.
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com> Acked-by: Radu Nicolau <radu.nicolau@intel.com>
show more ...
|
#
b43a8131 |
| 13-Oct-2017 |
Tomasz Duszynski <tdu@semihalf.com> |
examples/ipsec-secgw: fix IPv6 payload length
IPv6 payload length header field should contain only the number of bytes following the IPv6 header and not the entire packet size.
Fixes: f159e70b0922
examples/ipsec-secgw: fix IPv6 payload length
IPv6 payload length header field should contain only the number of bytes following the IPv6 header and not the entire packet size.
Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode") Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6") Cc: stable@dpdk.org
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
3417350e |
| 13-Oct-2017 |
Tomasz Duszynski <tdu@semihalf.com> |
examples/ipsec-secgw: fix IP version check
Since new_ip and ip4 are overlapping buffers copying ip4 over new_ip using memmove() might overwrite memory at ip4. This could happen if following conditio
examples/ipsec-secgw: fix IP version check
Since new_ip and ip4 are overlapping buffers copying ip4 over new_ip using memmove() might overwrite memory at ip4. This could happen if following condition holds:
ip_hdr_len > sizeof(struct esp_hdr) + sa->iv_len
Thus using ip4 to check ip version is wrong as it might not contain proper value.
Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode") Cc: stable@dpdk.org
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Reviewed-by: Aviad Yehezkel <aviadye@mellanox.com>
show more ...
|
#
b79e4c00 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: use AES-GCM/CCM as AEAD algorithms
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 us
cryptodev: use AES-GCM/CCM as AEAD algorithms
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>
show more ...
|
#
7f003427 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: remove digest length from crypto op
Digest length was duplicated in the authentication transform and the crypto operation structures.
Since digest length is not expected to change in a s
cryptodev: remove digest length from crypto op
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>
show more ...
|
#
12a4aaf1 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: remove AAD length from crypto op
Additional authenticated data (AAD) information was duplicated in the authentication transform and in the crypto operation structures.
Since AAD length i
cryptodev: remove AAD length from crypto op
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>
show more ...
|
#
0fbd75a9 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: move IV parameters to session
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, s
cryptodev: move IV parameters to session
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>
show more ...
|
#
5082f991 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: pass IV as offset
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
cryptodev: pass IV as offset
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>
show more ...
|
#
dad71e99 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
examples/ipsec-secgw: move IV to crypto op private data
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operati
examples/ipsec-secgw: move IV to crypto op private data
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operation.
This will let the IV to be passed as an offset from the beginning of the crypto operation, instead of a pointer.
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>
show more ...
|
#
b5350285 |
| 12-Jan-2017 |
Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com> |
examples/ipsec-secgw: support SHA256 HMAC
Add minor adjustments to support SHA256 HMAC: - extend maximum key length to match SHA256 HMAC - add SHA256 HMAC parameters and configuration string - add S
examples/ipsec-secgw: support SHA256 HMAC
Add minor adjustments to support SHA256 HMAC: - extend maximum key length to match SHA256 HMAC - add SHA256 HMAC parameters and configuration string - add SHA256 HMAC to inbound and outbound cases
Signed-off-by: Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
5d8f0baf |
| 23-Nov-2016 |
Olivier Matz <olivier.matz@6wind.com> |
log: do not drop debug logs at compile time
Today, all logs whose level is lower than INFO are dropped at compile-time. This prevents from enabling debug logs at runtime using --log-level=8.
The ra
log: do not drop debug logs at compile time
Today, all logs whose level is lower than INFO are dropped at compile-time. This prevents from enabling debug logs at runtime using --log-level=8.
The rationale was to remove debug logs from the data path at compile-time, avoiding a test at run-time.
This patch changes the behavior of RTE_LOG() to avoid the compile-time optimization, and introduces the RTE_LOG_DP() macro that has the same behavior than the previous RTE_LOG(), for the rare cases where debug logs are in the data path.
So it is now possible to enable debug logs at run-time by just specifying --log-level=8. Some drivers still have special compile-time options to enable more debug log. Maintainers may consider to remove/reduce them.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
4470c22d |
| 29-Sep-2016 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
examples/ipsec-secgw: add AES-CTR
RFC3686: Using AES Counter (CTR) Mode With IPsec ESP.`
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.l
examples/ipsec-secgw: add AES-CTR
RFC3686: Using AES Counter (CTR) Mode With IPsec ESP.`
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
a9121c40 |
| 29-Sep-2016 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
examples/ipsec-secgw: add AES-GCM
Add support for AES-GCM (Galois-Counter Mode).
RFC4106: The Use of Galois-Counter Mode (GCM) in IPSec ESP.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.
examples/ipsec-secgw: add AES-GCM
Add support for AES-GCM (Galois-Counter Mode).
RFC4106: The Use of Galois-Counter Mode (GCM) in IPSec ESP.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|