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 |