6 #ifndef _RTE_SECURITY_H_
7 #define _RTE_SECURITY_H_
20 #include <sys/types.h>
22 #include <netinet/in.h>
23 #include <netinet/ip.h>
24 #include <netinet/ip6.h>
26 #include <rte_compat.h>
385 struct rte_security_session {
386 void *sess_private_data;
388 uint64_t opaque_data;
403 struct rte_security_session *
422 struct rte_security_session *sess,
453 struct rte_security_session *sess);
474 static inline rte_security_dynfield_t *
478 rte_security_dynfield_offset,
479 rte_security_dynfield_t *);
493 return rte_security_dynfield_offset >= 0;
511 struct rte_security_session *sess,
543 struct rte_security_session *sess)
551 get_sec_session_private_data(
const struct rte_security_session *sess)
553 return sess->sess_private_data;
557 set_sec_session_private_data(
struct rte_security_session *sess,
560 sess->sess_private_data = private_data;
574 struct rte_security_session *sess)
584 struct rte_security_macsec_stats {
588 struct rte_security_ipsec_stats {
599 struct rte_security_pdcp_stats {
603 struct rte_security_docsis_stats {
607 struct rte_security_stats {
613 struct rte_security_macsec_stats macsec;
614 struct rte_security_ipsec_stats ipsec;
615 struct rte_security_pdcp_stats pdcp;
616 struct rte_security_docsis_stats docsis;
636 struct rte_security_session *sess,
637 struct rte_security_stats *stats);
695 #define RTE_SECURITY_PDCP_ORDERING_CAP 0x00000001
701 #define RTE_SECURITY_PDCP_DUP_DETECT_CAP 0x00000002
703 #define RTE_SECURITY_TX_OLOAD_NEED_MDATA 0x00000001
707 #define RTE_SECURITY_TX_HW_TRAILER_OFFLOAD 0x00000002
713 #define RTE_SECURITY_RX_HW_TRAILER_OFFLOAD 0x00010000
rte_security_pdcp_sn_size
rte_security_ipsec_sa_protocol
static int rte_security_attach_session(struct rte_crypto_op *op, struct rte_security_session *sess)
rte_security_session_action_type
rte_security_pdcp_direction
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)
struct rte_security_session * sec_session
const struct rte_security_capability * rte_security_capabilities_get(struct rte_security_ctx *instance)
struct rte_security_capability::@322::@326 pdcp
enum rte_security_session_action_type action
unsigned int rte_security_session_get_size(struct rte_security_ctx *instance)
uint32_t replay_win_sz_max
struct rte_crypto_sym_xform * crypto_xform
static __rte_experimental rte_security_dynfield_t * rte_security_dynfield(struct rte_mbuf *mbuf)
rte_security_ipsec_sa_mode
enum rte_security_pdcp_domain domain
struct rte_security_session * rte_security_session_create(struct rte_security_ctx *instance, struct rte_security_session_conf *conf, struct rte_mempool *mp, struct rte_mempool *priv_mp)
static int __rte_security_attach_session(struct rte_crypto_sym_op *sym_op, struct rte_security_session *sess)
int rte_security_dynfield_offset
rte_security_ipsec_sa_direction
rte_security_ipsec_tunnel_type
struct rte_security_capability::@322::@325 macsec
__rte_experimental int rte_security_session_stats_get(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_stats *stats)
#define RTE_MBUF_DYNFIELD(m, offset, type)
__rte_experimental void * rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
__rte_experimental int rte_security_session_update(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_session_conf *conf)
enum rte_security_session_protocol protocol
enum rte_security_session_action_type action_type
struct rte_security_ipsec_sa_options options
struct rte_security_ipsec_tunnel_param::@314::@317 ipv6
enum rte_security_ipsec_sa_direction direction
struct rte_security_capability::@322::@327 docsis
static __rte_experimental bool rte_security_dynfield_is_registered(void)
struct rte_security_ipsec_tunnel_param::@314::@316 ipv4
enum rte_security_ipsec_sa_protocol proto
rte_security_docsis_direction
uint64_t rte_security_dynfield_t
enum rte_security_ipsec_sa_mode mode
const struct rte_security_capability * rte_security_capability_get(struct rte_security_ctx *instance, struct rte_security_capability_idx *idx)
const struct rte_cryptodev_capabilities * crypto_capabilities
enum rte_security_ipsec_tunnel_type type
struct rte_security_capability::@322::@324 ipsec
rte_security_session_protocol
enum rte_security_session_protocol protocol
const struct rte_security_ops * ops
struct rte_crypto_sym_op sym[0]