FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ikev2_types.api
Go to the documentation of this file.
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2015-2020 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 option version = "1.0.0";
17 
18 import "vnet/ip/ip_types.api";
19 import "vnet/interface_types.api";
20 
21 typedef ikev2_id
22 {
23  u8 type;
25  string data[64];
26 };
27 
28 typedef ikev2_ts
29 {
30  u32 sa_index;
32 
33  bool is_local;
37  vl_api_address_t start_addr;
38  vl_api_address_t end_addr;
39 };
40 
41 typedef ikev2_auth
42 {
43  u8 method;
44  u8 hex; /* hex encoding of the shared secret */
45  u32 data_len;
46  u8 data[data_len];
47 };
48 
49 typedef ikev2_responder
50 {
51  vl_api_interface_index_t sw_if_index;
52  vl_api_address_t addr;
53 };
54 
56 {
57  u8 crypto_alg;
61 };
62 
64 {
65  u8 crypto_alg;
67  u8 integ_alg;
68 };
69 
70 typedef ikev2_profile
71 {
72  string name[64];
73  vl_api_ikev2_id_t loc_id;
74  vl_api_ikev2_id_t rem_id;
75  vl_api_ikev2_ts_t loc_ts;
76  vl_api_ikev2_ts_t rem_ts;
77  vl_api_ikev2_responder_t responder;
78  vl_api_ikev2_ike_transforms_t ike_ts;
79  vl_api_ikev2_esp_transforms_t esp_ts;
86  bool udp_encap;
88  vl_api_ikev2_auth_t auth;
89 };
90 
91 typedef ikev2_sa_transform
92 {
93  u8 transform_type;
98  u8 dh_group;
99 };
100 
101 typedef ikev2_keys
102 {
103  u8 sk_d[64];
105  u8 sk_ai[64];
107  u8 sk_ar[64];
109  u8 sk_ei[64];
111  u8 sk_er[64];
113  u8 sk_pi[64];
115  u8 sk_pr[64];
117 };
118 
119 typedef ikev2_child_sa
120 {
121  u32 sa_index;
125  vl_api_ikev2_keys_t keys;
126  vl_api_ikev2_sa_transform_t encryption;
127  vl_api_ikev2_sa_transform_t integrity;
128  vl_api_ikev2_sa_transform_t esn;
129 };
130 
131 typedef ikev2_sa_stats
132 {
133  u16 n_keepalives;
139 };
140 
141 typedef ikev2_sa
142 {
143  u32 sa_index;
145 
148  vl_api_address_t iaddr;
149  vl_api_address_t raddr;
150 
151  vl_api_ikev2_keys_t keys;
152 
153  /* ID */
154  vl_api_ikev2_id_t i_id;
155  vl_api_ikev2_id_t r_id;
156 
157  vl_api_ikev2_sa_transform_t encryption;
158  vl_api_ikev2_sa_transform_t integrity;
159  vl_api_ikev2_sa_transform_t prf;
160  vl_api_ikev2_sa_transform_t dh;
161 
162  vl_api_ikev2_sa_stats_t stats;
163 };
encryption
vl_api_ikev2_sa_transform_t encryption
Definition: ikev2_types.api:126
sk_ei
u8 sk_ei[64]
Definition: ikev2_types.api:109
lifetime_maxdata
u64 lifetime_maxdata
Definition: ikev2_types.api:81
auth
vl_api_ikev2_auth_t auth
Definition: ikev2_types.api:88
ispi
u64 ispi
Definition: ikev2_types.api:146
n_sa_auth_req
u16 n_sa_auth_req
Definition: ikev2_types.api:136
end_addr
vl_api_address_t end_addr
Definition: ikev2_types.api:38
udp_encap
bool udp_encap
Definition: ikev2_types.api:86
ikev2_auth
typedef ikev2_auth
Definition: ikev2_types.api:42
loc_id
vl_api_ikev2_id_t loc_id
Definition: ikev2_types.api:73
ikev2_responder
typedef ikev2_responder
Definition: ikev2_types.api:50
sk_d_len
u8 sk_d_len
Definition: ikev2_types.api:104
ike_ts
vl_api_ikev2_ike_transforms_t ike_ts
Definition: ikev2_types.api:78
esn
vl_api_ikev2_sa_transform_t esn
Definition: ikev2_types.api:128
name
string name[64]
Definition: fib.api:25
keys
vl_api_ikev2_keys_t keys
Definition: ikev2_types.api:125
sk_er
u8 sk_er[64]
Definition: ikev2_types.api:111
iaddr
vl_api_address_t iaddr
Definition: ikev2_types.api:148
handover
u32 handover
Definition: ikev2_types.api:83
r_spi
u32 r_spi
Definition: ikev2_types.api:124
sk_ai_len
u8 sk_ai_len
Definition: ikev2_types.api:106
u16
unsigned short u16
Definition: types.h:57
block_size
u16 block_size
Definition: ikev2_types.api:97
stats
vl_api_ikev2_sa_stats_t stats
Definition: ikev2_types.api:162
ikev2_sa_stats
typedef ikev2_sa_stats
Definition: ikev2_types.api:132
start_addr
vl_api_address_t start_addr
Definition: ikev2_types.api:37
n_retransmit
u16 n_retransmit
Definition: ikev2_types.api:137
addr
vl_api_address_t addr
Definition: ikev2_types.api:52
sk_pr
u8 sk_pr[64]
Definition: ikev2_types.api:115
sk_pi
u8 sk_pi[64]
Definition: ikev2_types.api:113
raddr
vl_api_address_t raddr
Definition: ikev2_types.api:149
data
string data[64]
Definition: ikev2_types.api:25
r_id
vl_api_ikev2_id_t r_id
Definition: ikev2_types.api:155
ikev2_id
typedef ikev2_id
Definition: ikev2_types.api:22
start_port
u16 start_port
Definition: ikev2_types.api:35
esp_ts
vl_api_ikev2_esp_transforms_t esp_ts
Definition: ikev2_types.api:79
key_trunc
u16 key_trunc
Definition: ikev2_types.api:96
integrity
vl_api_ikev2_sa_transform_t integrity
Definition: ikev2_types.api:127
ikev2_child_sa
typedef ikev2_child_sa
Definition: ikev2_types.api:120
ikev2_ts
typedef ikev2_ts
Definition: ikev2_types.api:29
rem_id
vl_api_ikev2_id_t rem_id
Definition: ikev2_types.api:74
lifetime
u64 lifetime
Definition: ikev2_types.api:80
loc_ts
vl_api_ikev2_ts_t loc_ts
Definition: ikev2_types.api:75
sk_ar_len
u8 sk_ar_len
Definition: ikev2_types.api:108
responder
vl_api_ikev2_responder_t responder
Definition: ikev2_types.api:77
crypto_key_size
u32 crypto_key_size
Definition: ikev2_types.api:58
ikev2_ike_transforms
typedef ikev2_ike_transforms
Definition: ikev2_types.api:56
n_init_sa_retransmit
u16 n_init_sa_retransmit
Definition: ikev2_types.api:138
sk_pr_len
u8 sk_pr_len
Definition: ikev2_types.api:116
ikev2_profile
typedef ikev2_profile
Definition: ikev2_types.api:71
dh_group
u8 dh_group
Definition: ikev2_types.api:60
transform_id
u16 transform_id
Definition: ikev2_types.api:94
u64
unsigned long u64
Definition: types.h:89
end_port
u16 end_port
Definition: ikev2_types.api:36
sk_er_len
u8 sk_er_len
Definition: ikev2_types.api:112
data_len
u8 data_len
Definition: ikev2_types.api:24
sk_pi_len
u8 sk_pi_len
Definition: ikev2_types.api:114
profile_index
u32 profile_index
Definition: ikev2_types.api:144
u32
unsigned int u32
Definition: types.h:88
sk_ei_len
u8 sk_ei_len
Definition: ikev2_types.api:110
ikev2_sa
typedef ikev2_sa
Definition: ikev2_types.api:142
integ_alg
u8 integ_alg
Definition: ikev2_types.api:59
protocol_id
u8 protocol_id
Definition: ikev2_types.api:34
dh
vl_api_ikev2_sa_transform_t dh
Definition: ikev2_types.api:160
hex
u8 hex
Definition: ikev2_types.api:44
prf
vl_api_ikev2_sa_transform_t prf
Definition: ikev2_types.api:159
tun_itf
u32 tun_itf
Definition: ikev2_types.api:85
lifetime_jitter
u32 lifetime_jitter
Definition: ikev2_types.api:82
child_sa_index
u32 child_sa_index
Definition: ikev2_types.api:31
ipsec_over_udp_port
u16 ipsec_over_udp_port
Definition: ikev2_types.api:84
u8
unsigned char u8
Definition: types.h:56
i_spi
u32 i_spi
Definition: ikev2_types.api:123
key_len
u16 key_len
Definition: ikev2_types.api:95
ikev2_keys
typedef ikev2_keys
Definition: ikev2_types.api:102
sk_ar
u8 sk_ar[64]
Definition: ikev2_types.api:107
rem_ts
vl_api_ikev2_ts_t rem_ts
Definition: ikev2_types.api:76
i_id
vl_api_ikev2_id_t i_id
Definition: ikev2_types.api:154
ikev2_esp_transforms
typedef ikev2_esp_transforms
Definition: ikev2_types.api:64
sk_ai
u8 sk_ai[64]
Definition: ikev2_types.api:105
is_local
bool is_local
Definition: ikev2_types.api:33
ikev2_sa_transform
typedef ikev2_sa_transform
Definition: ikev2_types.api:92
rspi
u64 rspi
Definition: ikev2_types.api:147
sw_if_index
vl_api_interface_index_t sw_if_index
Definition: wireguard.api:34
version
option version
Definition: ikev2_types.api:16
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123
n_rekey_req
u16 n_rekey_req
Definition: ikev2_types.api:134
natt_disabled
bool natt_disabled
Definition: ikev2_types.api:87
n_sa_init_req
u16 n_sa_init_req
Definition: ikev2_types.api:135