FD.io VPP  v20.09-rc2-28-g3c5414029
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 
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_ip4_address_t start_addr;
38  vl_api_ip4_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_ip4_address_t ip4;
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;
87  vl_api_ikev2_auth_t auth;
88 };
89 
90 typedef ikev2_sa_transform
91 {
92  u8 transform_type;
97  u8 dh_group;
98 };
99 
100 typedef ikev2_keys
101 {
102  u8 sk_d[64];
104  u8 sk_ai[64];
106  u8 sk_ar[64];
108  u8 sk_ei[64];
110  u8 sk_er[64];
112  u8 sk_pi[64];
114  u8 sk_pr[64];
116 };
117 
118 typedef ikev2_child_sa
119 {
120  u32 sa_index;
124  vl_api_ikev2_keys_t keys;
125  vl_api_ikev2_sa_transform_t encryption;
126  vl_api_ikev2_sa_transform_t integrity;
127  vl_api_ikev2_sa_transform_t esn;
128 };
129 
130 typedef ikev2_sa
131 {
132  u32 sa_index;
134 
137  vl_api_ip4_address_t iaddr;
138  vl_api_ip4_address_t raddr;
139 
140  vl_api_ikev2_keys_t keys;
141 
142  /* ID */
143  vl_api_ikev2_id_t i_id;
144  vl_api_ikev2_id_t r_id;
145 
146  vl_api_ikev2_sa_transform_t encryption;
147  vl_api_ikev2_sa_transform_t integrity;
148  vl_api_ikev2_sa_transform_t prf;
149  vl_api_ikev2_sa_transform_t dh;
150 };
u8 sk_ei_len
typedef ikev2_sa
u32 i_spi
typedef ikev2_sa_transform
Definition: ikev2_types.api:91
vl_api_ikev2_auth_t auth
Definition: ikev2_types.api:87
unsigned long u64
Definition: types.h:89
vl_api_ikev2_id_t rem_id
Definition: ikev2_types.api:74
vl_api_ikev2_sa_transform_t integrity
vl_api_ikev2_ike_transforms_t ike_ts
Definition: ikev2_types.api:78
typedef ikev2_child_sa
vl_api_ikev2_ts_t loc_ts
Definition: ikev2_types.api:75
u8 sk_ar[64]
u32 tun_itf
Definition: ikev2_types.api:85
vl_api_ikev2_id_t r_id
u16 key_len
Definition: ikev2_types.api:94
vl_api_ip4_address_t iaddr
vl_api_ikev2_ts_t rem_ts
Definition: ikev2_types.api:76
vl_api_ikev2_id_t i_id
u8 sk_ai[64]
u16 start_port
Definition: ikev2_types.api:35
typedef ikev2_esp_transforms
Definition: ikev2_types.api:64
u8 dh_group
Definition: ikev2_types.api:60
u32 r_spi
unsigned char u8
Definition: types.h:56
u16 end_port
Definition: ikev2_types.api:36
u16 key_trunc
Definition: ikev2_types.api:95
u64 lifetime
Definition: ikev2_types.api:80
typedef ikev2_responder
Definition: ikev2_types.api:50
u8 sk_er_len
unsigned int u32
Definition: types.h:88
u8 hex
Definition: ikev2_types.api:44
vl_api_fib_path_type_t type
Definition: fib_types.api:123
typedef ikev2_ts
Definition: ikev2_types.api:29
vl_api_ikev2_id_t loc_id
Definition: ikev2_types.api:73
u8 sk_er[64]
u64 lifetime_maxdata
Definition: ikev2_types.api:81
u8 integ_alg
Definition: ikev2_types.api:59
unsigned short u16
Definition: types.h:57
u8 data_len
Definition: ikev2_types.api:24
u8 sk_ai_len
u16 block_size
Definition: ikev2_types.api:96
vl_api_ikev2_sa_transform_t prf
typedef ikev2_id
Definition: ikev2_types.api:22
bool is_local
Definition: ikev2_types.api:33
u16 transform_id
Definition: ikev2_types.api:93
typedef ikev2_keys
u32 child_sa_index
Definition: ikev2_types.api:31
string data[64]
Definition: ikev2_types.api:25
vl_api_ikev2_responder_t responder
Definition: ikev2_types.api:77
vl_api_ikev2_sa_transform_t dh
string name[64]
Definition: ip.api:44
u64 rspi
u8 sk_pi[64]
vl_api_ikev2_esp_transforms_t esp_ts
Definition: ikev2_types.api:79
u8 sk_ei[64]
u8 sk_d_len
vl_api_ikev2_sa_transform_t encryption
typedef ikev2_auth
Definition: ikev2_types.api:42
u32 crypto_key_size
Definition: ikev2_types.api:58
typedef ikev2_profile
Definition: ikev2_types.api:71
vl_api_ip4_address_t ip4
Definition: ikev2_types.api:52
u32 profile_index
bool udp_encap
Definition: ikev2_types.api:86
vl_api_ip4_address_t start_addr
Definition: ikev2_types.api:37
u8 protocol_id
Definition: ikev2_types.api:34
u8 sk_pr_len
u8 sk_ar_len
typedef ikev2_ike_transforms
Definition: ikev2_types.api:56
vl_api_ip4_address_t raddr
vl_api_ip4_address_t end_addr
Definition: ikev2_types.api:38
u8 sk_pi_len
u32 handover
Definition: ikev2_types.api:83
u16 ipsec_over_udp_port
Definition: ikev2_types.api:84
u64 ispi
u8 sk_pr[64]
vl_api_ikev2_sa_transform_t esn
vl_api_ikev2_keys_t keys
vl_api_interface_index_t sw_if_index
Definition: wireguard.api:33
u32 lifetime_jitter
Definition: ikev2_types.api:82