API Reference Manual  1.45.0
api/spec/ipsec.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2016-2018 Linaro Limited
3  * Copyright (c) 2021-2022 Nokia
4  */
5 
12 #ifndef ODP_API_SPEC_IPSEC_H_
13 #define ODP_API_SPEC_IPSEC_H_
14 #include <odp/visibility_begin.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include <odp/api/crypto_types.h>
21 #include <odp/api/event_types.h>
22 #include <odp/api/ipsec_types.h>
23 #include <odp/api/packet_types.h>
24 #include <odp/api/std_types.h>
25 
42 
61  odp_ipsec_cipher_capability_t capa[], int num);
62 
81  odp_ipsec_auth_capability_t capa[], int num);
82 
91 
109 
118 
135 
161 
176 
185 
267 int odp_ipsec_in(const odp_packet_t pkt_in[], int num_in,
268  odp_packet_t pkt_out[], int *num_out,
269  const odp_ipsec_in_param_t *param);
270 
331 int odp_ipsec_out(const odp_packet_t pkt_in[], int num_in,
332  odp_packet_t pkt_out[], int *num_out,
333  const odp_ipsec_out_param_t *param);
334 
384 int odp_ipsec_in_enq(const odp_packet_t pkt[], int num,
385  const odp_ipsec_in_param_t *param);
386 
426 int odp_ipsec_out_enq(const odp_packet_t pkt[], int num,
427  const odp_ipsec_out_param_t *param);
428 
450 int odp_ipsec_out_inline(const odp_packet_t pkt[], int num,
451  const odp_ipsec_out_param_t *param,
452  const odp_ipsec_out_inline_param_t *inline_param);
453 
468 
479 
504 
520 
549  const odp_ipsec_test_sa_param_t *param);
550 
565 
575 
582 void odp_ipsec_print(void);
583 
592 
603 
615 
634 
639 #ifdef __cplusplus
640 }
641 #endif
642 
643 #include <odp/visibility_end.h>
644 #endif
ODP crypto.
ODP event API type definitions.
ODP IPsec.
ODP packet.
Standard C language types and definitions for ODP.
odp_cipher_alg_t
Crypto API cipher algorithm.
odp_auth_alg_t
Crypto API authentication algorithm.
int odp_ipsec_in_enq(const odp_packet_t pkt[], int num, const odp_ipsec_in_param_t *param)
Inbound asynchronous IPSEC operation.
int odp_ipsec_in(const odp_packet_t pkt_in[], int num_in, odp_packet_t pkt_out[], int *num_out, const odp_ipsec_in_param_t *param)
Inbound synchronous IPSEC operation.
odp_packet_t odp_ipsec_packet_from_event(odp_event_t ev)
Convert IPSEC processed packet event to packet handle.
void odp_ipsec_print(void)
Print global IPSEC configuration info.
int odp_ipsec_auth_capability(odp_auth_alg_t auth, odp_ipsec_auth_capability_t capa[], int num)
Query supported IPSEC authentication algorithm capabilities.
odp_ipsec_test_sa_operation_t
IPSEC TEST SA operation.
int odp_ipsec_capability(odp_ipsec_capability_t *capa)
Query IPSEC capabilities.
void * odp_ipsec_sa_context(odp_ipsec_sa_t sa)
Get user defined SA context pointer.
int odp_ipsec_out(const odp_packet_t pkt_in[], int num_in, odp_packet_t pkt_out[], int *num_out, const odp_ipsec_out_param_t *param)
Outbound synchronous IPSEC operation.
uint64_t odp_ipsec_sa_to_u64(odp_ipsec_sa_t sa)
Printable format of odp_ipsec_sa_t.
int odp_ipsec_stats(odp_ipsec_sa_t sa, odp_ipsec_stats_t *stats)
Get IPSEC stats for the IPSEC SA handle.
void odp_ipsec_config_init(odp_ipsec_config_t *config)
Initialize IPSEC configuration options.
void odp_ipsec_sa_param_init(odp_ipsec_sa_param_t *param)
Initialize IPSEC SA parameters.
odp_event_t odp_ipsec_packet_to_event(odp_packet_t pkt)
Convert IPSEC processed packet handle to event.
int odp_ipsec_config(const odp_ipsec_config_t *config)
Global IPSEC configuration.
int odp_ipsec_out_inline(const odp_packet_t pkt[], int num, const odp_ipsec_out_param_t *param, const odp_ipsec_out_inline_param_t *inline_param)
Outbound inline IPSEC operation.
int odp_ipsec_stats_multi(odp_ipsec_sa_t sa[], odp_ipsec_stats_t stats[], int num)
Get IPSEC stats for multiple IPSEC SA handles.
int odp_ipsec_sa_disable(odp_ipsec_sa_t sa)
Disable IPSEC SA.
int odp_ipsec_sa_info(odp_ipsec_sa_t sa, odp_ipsec_sa_info_t *sa_info)
Retrieve information about an IPSEC SA.
int odp_ipsec_out_enq(const odp_packet_t pkt[], int num, const odp_ipsec_out_param_t *param)
Outbound asynchronous IPSEC operation.
int odp_ipsec_status(odp_ipsec_status_t *status, odp_event_t event)
Get IPSEC status information from an ODP_EVENT_IPSEC_STATUS event.
int odp_ipsec_cipher_capability(odp_cipher_alg_t cipher, odp_ipsec_cipher_capability_t capa[], int num)
Query supported IPSEC cipher algorithm capabilities.
void odp_ipsec_sa_print(odp_ipsec_sa_t sa)
Print IPSEC SA info.
odp_ipsec_sa_t odp_ipsec_sa_create(const odp_ipsec_sa_param_t *param)
Create IPSEC SA.
int odp_ipsec_sa_mtu_update(odp_ipsec_sa_t sa, uint32_t mtu)
Update MTU for outbound IP fragmentation.
int odp_ipsec_test_sa_update(odp_ipsec_sa_t sa, odp_ipsec_test_sa_operation_t op, const odp_ipsec_test_sa_param_t *param)
IPSEC test API for modifying internal state of an SA.
int odp_ipsec_sa_destroy(odp_ipsec_sa_t sa)
Destroy IPSEC SA.
int odp_ipsec_result(odp_ipsec_packet_result_t *result, odp_packet_t packet)
Get IPSEC operation results from an IPSEC processed packet.
Authentication algorithm capabilities.
Cipher algorithm capabilities.
IPSEC configuration options.
IPSEC inbound operation parameters.
Outbound inline IPSEC operation parameters.
IPSEC outbound operation parameters.
IPSEC operation result for a packet.
IPSEC SA information.
IPSEC Security Association (SA) parameters.
IPSEC stats content.
IPSEC status content.
IPSEC TEST SA parameter.