examples/pipeline: fix build
[dpdk.git] / drivers / crypto / cnxk / cn10k_ipsec.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #ifndef __CN10K_IPSEC_H__
6 #define __CN10K_IPSEC_H__
7
8 #include <rte_security.h>
9
10 #include "roc_api.h"
11
12 #include "cnxk_ipsec.h"
13
14 typedef void *CN10K_SA_CONTEXT_MARKER[0];
15
16 struct cn10k_ipsec_sa {
17         /** Pre-populated CPT inst words */
18         struct cnxk_cpt_inst_tmpl inst;
19         uint16_t max_extended_len;
20         uint16_t iv_offset;
21         uint8_t iv_length;
22         bool is_outbound;
23         /** Queue pair */
24         struct cnxk_cpt_qp *qp;
25
26         /**
27          * End of SW mutable area
28          */
29         CN10K_SA_CONTEXT_MARKER sw_area_end __rte_aligned(ROC_ALIGN);
30
31         union {
32                 /** Inbound SA */
33                 struct roc_ot_ipsec_inb_sa in_sa;
34                 /** Outbound SA */
35                 struct roc_ot_ipsec_outb_sa out_sa;
36         };
37 } __rte_aligned(ROC_ALIGN);
38
39 struct cn10k_sec_session {
40         struct cn10k_ipsec_sa sa;
41 } __rte_aligned(ROC_ALIGN);
42
43 void cn10k_sec_ops_override(void);
44
45 #endif /* __CN10K_IPSEC_H__ */