FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
crypto_ia32.h
Go to the documentation of this file.
1
/*
2
*------------------------------------------------------------------
3
* Copyright (c) 2019 Cisco and/or its affiliates.
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at:
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*------------------------------------------------------------------
16
*/
17
18
#ifndef __crypto_ia32_h__
19
#define __crypto_ia32_h__
20
21
typedef
void
*(
crypto_ia32_key_fn_t
) (
vnet_crypto_key_t
*
key
);
22
23
typedef
struct
24
{
25
__m128i cbc_iv[4];
26
}
crypto_ia32_per_thread_data_t
;
27
28
typedef
struct
29
{
30
u32
crypto_engine_index
;
31
crypto_ia32_per_thread_data_t
*
per_thread_data
;
32
crypto_ia32_key_fn_t
*key_fn[
VNET_CRYPTO_N_ALGS
];
33
void
**
key_data
;
34
}
crypto_ia32_main_t
;
35
36
extern
crypto_ia32_main_t
crypto_ia32_main
;
37
38
clib_error_t
*
crypto_ia32_aesni_cbc_init_sse42
(
vlib_main_t
*
vm
);
39
clib_error_t
*
crypto_ia32_aesni_cbc_init_avx2
(
vlib_main_t
*
vm
);
40
clib_error_t
*
crypto_ia32_aesni_cbc_init_avx512
(
vlib_main_t
*
vm
);
41
42
clib_error_t
*
crypto_ia32_aesni_gcm_init_sse42
(
vlib_main_t
*
vm
);
43
clib_error_t
*
crypto_ia32_aesni_gcm_init_avx2
(
vlib_main_t
*
vm
);
44
clib_error_t
*
crypto_ia32_aesni_gcm_init_avx512
(
vlib_main_t
*
vm
);
45
#endif
/* __crypto_ia32_h__ */
46
47
/*
48
* fd.io coding-style-patch-verification: ON
49
*
50
* Local Variables:
51
* eval: (c-set-style "gnu")
52
* End:
53
*/
crypto_ia32_main
crypto_ia32_main_t crypto_ia32_main
Definition:
main.c:23
crypto_ia32_aesni_cbc_init_sse42
clib_error_t * crypto_ia32_aesni_cbc_init_sse42(vlib_main_t *vm)
Definition:
aes_cbc.c:261
u32
unsigned int u32
Definition:
types.h:88
crypto_ia32_main_t
Definition:
crypto_ia32.h:28
crypto_ia32_aesni_gcm_init_sse42
clib_error_t * crypto_ia32_aesni_gcm_init_sse42(vlib_main_t *vm)
Definition:
aes_gcm.c:754
vm
vlib_main_t * vm
Definition:
in2out_ed.c:1810
crypto_ia32_aesni_gcm_init_avx512
clib_error_t * crypto_ia32_aesni_gcm_init_avx512(vlib_main_t *vm)
crypto_ia32_key_fn_t
void *() crypto_ia32_key_fn_t(vnet_crypto_key_t *key)
Definition:
crypto_ia32.h:21
crypto_ia32_main_t::per_thread_data
crypto_ia32_per_thread_data_t * per_thread_data
Definition:
crypto_ia32.h:31
crypto_ia32_aesni_cbc_init_avx2
clib_error_t * crypto_ia32_aesni_cbc_init_avx2(vlib_main_t *vm)
crypto_ia32_main_t::crypto_engine_index
u32 crypto_engine_index
Definition:
crypto_ia32.h:30
crypto_ia32_main_t::key_data
void ** key_data
Definition:
crypto_ia32.h:33
vnet_crypto_key_t
Definition:
crypto.h:99
clib_error_t
Definition:
clib_error.h:21
key
typedef key
Definition:
ipsec_types.api:83
crypto_ia32_per_thread_data_t
Definition:
crypto_ia32.h:23
vlib_main_t
Definition:
main.h:83
crypto_ia32_aesni_gcm_init_avx2
clib_error_t * crypto_ia32_aesni_gcm_init_avx2(vlib_main_t *vm)
VNET_CRYPTO_N_ALGS
Definition:
crypto.h:96
crypto_ia32_aesni_cbc_init_avx512
clib_error_t * crypto_ia32_aesni_cbc_init_avx512(vlib_main_t *vm)
src
plugins
crypto_ia32
crypto_ia32.h
Generated on Wed Sep 9 2020 00:03:25 for FD.io VPP by
1.8.13