|
DPDK
17.11.10
|
#include <sys/types.h>#include <netinet/in.h>#include <netinet/ip.h>#include <netinet/ip6.h>#include <rte_common.h>#include <rte_crypto.h>#include <rte_mbuf.h>#include <rte_memory.h>#include <rte_mempool.h>Go to the source code of this file.
Data Structures | |
| struct | rte_security_ctx |
| struct | rte_security_ipsec_tunnel_param |
| struct | rte_security_ipsec_sa_options |
| struct | rte_security_ipsec_xform |
| struct | rte_security_macsec_xform |
| struct | rte_security_session_conf |
| struct | rte_security_capability |
| struct | rte_security_capability_idx |
Macros | |
| #define | RTE_SECURITY_TX_OLOAD_NEED_MDATA 0x00000001 |
| #define | RTE_SECURITY_TX_HW_TRAILER_OFFLOAD 0x00000002 |
| #define | RTE_SECURITY_RX_HW_TRAILER_OFFLOAD 0x00010000 |
Functions | |
| struct rte_security_session * | rte_security_session_create (struct rte_security_ctx *instance, struct rte_security_session_conf *conf, struct rte_mempool *mp) |
| int | rte_security_session_update (struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_session_conf *conf) |
| int | rte_security_session_destroy (struct rte_security_ctx *instance, struct rte_security_session *sess) |
| int | rte_security_set_pkt_metadata (struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_mbuf *mb, void *params) |
| static int | __rte_security_attach_session (struct rte_crypto_sym_op *sym_op, struct rte_security_session *sess) |
| static int | rte_security_attach_session (struct rte_crypto_op *op, struct rte_security_session *sess) |
| int | rte_security_session_stats_get (struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_stats *stats) |
| const struct rte_security_capability * | rte_security_capabilities_get (struct rte_security_ctx *instance) |
| const struct rte_security_capability * | rte_security_capability_get (struct rte_security_ctx *instance, struct rte_security_capability_idx *idx) |
EXPERIMENTAL: this API may change without prior notice
RTE Security Common Definitions
Definition in file rte_security.h.
| #define RTE_SECURITY_TX_OLOAD_NEED_MDATA 0x00000001 |
HW needs metadata update, see rte_security_set_pkt_metadata().
Definition at line 468 of file rte_security.h.
| #define RTE_SECURITY_TX_HW_TRAILER_OFFLOAD 0x00000002 |
HW constructs trailer of packets Transmitted packets will have the trailer added to them by hardawre. The next protocol field will be based on the mbuf->inner_esp_next_proto field.
Definition at line 472 of file rte_security.h.
| #define RTE_SECURITY_RX_HW_TRAILER_OFFLOAD 0x00010000 |
HW removes trailer of packets Received packets have no trailer, the next protocol field is supplied in the mbuf->inner_esp_next_proto field. Inner packet is not modified.
Definition at line 478 of file rte_security.h.
IPSec protocol mode
| Enumerator | |
|---|---|
| RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT |
IPSec Transport mode |
| RTE_SECURITY_IPSEC_SA_MODE_TUNNEL |
IPSec Tunnel mode |
Definition at line 62 of file rte_security.h.
IPSec Protocol
| Enumerator | |
|---|---|
| RTE_SECURITY_IPSEC_SA_PROTO_AH |
AH protocol |
| RTE_SECURITY_IPSEC_SA_PROTO_ESP |
ESP protocol |
Definition at line 70 of file rte_security.h.
IPSEC tunnel type
| Enumerator | |
|---|---|
| RTE_SECURITY_IPSEC_TUNNEL_IPV4 |
Outer header is IPv4 |
| RTE_SECURITY_IPSEC_TUNNEL_IPV6 |
Outer header is IPv6 |
Definition at line 78 of file rte_security.h.
IPSec security association direction
| Enumerator | |
|---|---|
| RTE_SECURITY_IPSEC_SA_DIR_EGRESS |
Encrypt and generate digest |
| RTE_SECURITY_IPSEC_SA_DIR_INGRESS |
Verify digest and decrypt |
Definition at line 197 of file rte_security.h.
Security session action type.
Definition at line 237 of file rte_security.h.
Security session protocol definition
| Enumerator | |
|---|---|
| RTE_SECURITY_PROTOCOL_IPSEC |
IPsec Protocol |
| RTE_SECURITY_PROTOCOL_MACSEC |
MACSec Protocol |
Definition at line 255 of file rte_security.h.
| struct rte_security_session* rte_security_session_create | ( | struct rte_security_ctx * | instance, |
| struct rte_security_session_conf * | conf, | ||
| struct rte_mempool * | mp | ||
| ) |
Create security session as specified by the session configuration
| instance | security instance |
| conf | session configuration parameters |
| mp | mempool to allocate session objects from |
| int rte_security_session_update | ( | struct rte_security_ctx * | instance, |
| struct rte_security_session * | sess, | ||
| struct rte_security_session_conf * | conf | ||
| ) |
Update security session as specified by the session configuration
| instance | security instance |
| sess | session to update parameters |
| conf | update configuration parameters |
| int rte_security_session_destroy | ( | struct rte_security_ctx * | instance, |
| struct rte_security_session * | sess | ||
| ) |
Free security session header and the session private data and return it to its original mempool.
| instance | security instance |
| sess | security session to freed |
| int rte_security_set_pkt_metadata | ( | struct rte_security_ctx * | instance, |
| struct rte_security_session * | sess, | ||
| struct rte_mbuf * | mb, | ||
| void * | params | ||
| ) |
Updates the buffer with device-specific defined metadata
| instance | security instance |
| sess | security session |
| mb | packet mbuf to set metadata on. |
| params | device-specific defined parameters required for metadata |
|
inlinestatic |
Attach a session to a symmetric crypto operation
| sym_op | crypto operation |
| sess | security session |
Definition at line 356 of file rte_security.h.
|
inlinestatic |
Attach a session to a crypto operation. This API is needed only in case of RTE_SECURITY_SESS_CRYPTO_PROTO_OFFLOAD For other rte_security_session_action_type, ol_flags in rte_mbuf may be defined to perform security operations.
| op | crypto operation |
| sess | security session |
Definition at line 387 of file rte_security.h.
| int rte_security_session_stats_get | ( | struct rte_security_ctx * | instance, |
| struct rte_security_session * | sess, | ||
| struct rte_security_stats * | stats | ||
| ) |
Get security session statistics
| instance | security instance |
| sess | security session |
| stats | statistics |
| const struct rte_security_capability* rte_security_capabilities_get | ( | struct rte_security_ctx * | instance | ) |
Returns array of security instance capabilities
| instance | Security instance. |
| const struct rte_security_capability* rte_security_capability_get | ( | struct rte_security_ctx * | instance, |
| struct rte_security_capability_idx * | idx | ||
| ) |
Query if a specific capability is available on security instance
| instance | security instance. |
| idx | security capability index to match against |
1.8.9.1