DPDK 23.11.2
Loading...
Searching...
No Matches
rte_security_driver.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2017 NXP.
3 * Copyright(c) 2017 Intel Corporation.
4 */
5
6#ifndef _RTE_SECURITY_DRIVER_H_
7#define _RTE_SECURITY_DRIVER_H_
8
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include <rte_compat.h>
20#include "rte_security.h"
21
26struct rte_security_session {
27 RTE_MARKER cacheline0;
28 uint64_t opaque_data;
30 uint64_t fast_mdata;
32 rte_iova_t driver_priv_data_iova;
36 uint8_t driver_priv_data[0];
38};
39
50 void *device;
52 const struct rte_security_ops *ops;
54 uint32_t flags;
56 uint16_t sess_cnt;
58 uint16_t macsec_sc_cnt;
60 uint16_t macsec_sa_cnt;
62};
63
67#define SECURITY_GET_SESS_PRIV(s) \
68 ((void *)(((struct rte_security_session *)s)->driver_priv_data))
69#define SECURITY_GET_SESS_PRIV_IOVA(s) \
70 (((struct rte_security_session *)s)->driver_priv_data_iova)
71
84typedef int (*security_session_create_t)(void *device,
85 struct rte_security_session_conf *conf,
86 struct rte_security_session *sess);
87
94typedef int (*security_session_destroy_t)(void *device,
95 struct rte_security_session *sess);
96
109typedef int (*security_session_update_t)(void *device,
110 struct rte_security_session *sess,
111 struct rte_security_session_conf *conf);
112
125typedef int (*security_macsec_sc_create_t)(void *device, struct rte_security_macsec_sc *conf);
126
134typedef int (*security_macsec_sc_destroy_t)(void *device, uint16_t sc_id,
136
149typedef int (*security_macsec_sa_create_t)(void *device, struct rte_security_macsec_sa *conf);
150
158typedef int (*security_macsec_sa_destroy_t)(void *device, uint16_t sa_id,
160
170typedef unsigned int (*security_session_get_size)(void *device);
171
183typedef int (*security_session_stats_get_t)(void *device,
184 struct rte_security_session *sess,
185 struct rte_security_stats *stats);
186
199typedef int (*security_macsec_sc_stats_get_t)(void *device, uint16_t sc_id,
201 struct rte_security_macsec_sc_stats *stats);
202
215typedef int (*security_macsec_sa_stats_get_t)(void *device, uint16_t sa_id,
217 struct rte_security_macsec_sa_stats *stats);
218
219
220
221__rte_internal
222int rte_security_dynfield_register(void);
223
229__rte_internal
230int rte_security_oop_dynfield_register(void);
231
244typedef int (*security_set_pkt_metadata_t)(void *device,
245 struct rte_security_session *sess, struct rte_mbuf *mb,
246 void *params);
247
257typedef const struct rte_security_capability *(*security_capabilities_get_t)(
258 void *device);
259
274typedef int (*security_rx_inject_configure)(void *device, uint16_t port_id, bool enable);
275
296typedef uint16_t (*security_inb_pkt_rx_inject)(void *device,
297 struct rte_mbuf **pkts, struct rte_security_session **sess,
298 uint16_t nb_pkts);
299
333
334#ifdef __cplusplus
335}
336#endif
337
338#endif /* _RTE_SECURITY_DRIVER_H_ */
#define __rte_cache_min_aligned
Definition rte_common.h:528
uint64_t rte_iova_t
Definition rte_common.h:556
__extension__ typedef void * RTE_MARKER[0]
Definition rte_common.h:564
rte_security_macsec_direction
int(* security_macsec_sc_destroy_t)(void *device, uint16_t sc_id, enum rte_security_macsec_direction dir)
int(* security_session_update_t)(void *device, struct rte_security_session *sess, struct rte_security_session_conf *conf)
int(* security_session_stats_get_t)(void *device, struct rte_security_session *sess, struct rte_security_stats *stats)
int(* security_macsec_sa_stats_get_t)(void *device, uint16_t sa_id, enum rte_security_macsec_direction dir, struct rte_security_macsec_sa_stats *stats)
int(* security_macsec_sc_stats_get_t)(void *device, uint16_t sc_id, enum rte_security_macsec_direction dir, struct rte_security_macsec_sc_stats *stats)
int(* security_rx_inject_configure)(void *device, uint16_t port_id, bool enable)
unsigned int(* security_session_get_size)(void *device)
int(* security_macsec_sa_create_t)(void *device, struct rte_security_macsec_sa *conf)
const struct rte_security_capability *(* security_capabilities_get_t)(void *device)
int(* security_session_create_t)(void *device, struct rte_security_session_conf *conf, struct rte_security_session *sess)
uint16_t(* security_inb_pkt_rx_inject)(void *device, struct rte_mbuf **pkts, struct rte_security_session **sess, uint16_t nb_pkts)
int(* security_set_pkt_metadata_t)(void *device, struct rte_security_session *sess, struct rte_mbuf *mb, void *params)
int(* security_macsec_sa_destroy_t)(void *device, uint16_t sa_id, enum rte_security_macsec_direction dir)
int(* security_session_destroy_t)(void *device, struct rte_security_session *sess)
int(* security_macsec_sc_create_t)(void *device, struct rte_security_macsec_sc *conf)
const struct rte_security_ops * ops
enum rte_security_macsec_direction dir
enum rte_security_macsec_direction dir
security_session_destroy_t session_destroy
security_macsec_sc_stats_get_t macsec_sc_stats_get
security_macsec_sc_destroy_t macsec_sc_destroy
security_macsec_sa_stats_get_t macsec_sa_stats_get
security_macsec_sc_create_t macsec_sc_create
security_macsec_sa_create_t macsec_sa_create
security_inb_pkt_rx_inject inb_pkt_rx_inject
security_session_update_t session_update
security_session_create_t session_create
security_set_pkt_metadata_t set_pkt_metadata
security_session_get_size session_get_size
security_session_stats_get_t session_stats_get
security_macsec_sa_destroy_t macsec_sa_destroy
security_rx_inject_configure rx_inject_configure
security_capabilities_get_t capabilities_get