vxlan-gbp: Mark APIs as in-progress
[vpp.git] / src / vnet / lisp-cp / lisp_types.api
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 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 option version = "1.0.0";
18
19 import "vnet/interface_types.api";
20 import "vnet/ethernet/ethernet_types.api";
21 import "vnet/ip/ip_types.api";
22
23 typedef local_locator
24 {
25   vl_api_interface_index_t sw_if_index;
26   u8 priority;
27   u8 weight;
28 };
29
30 typedef remote_locator
31 {
32   u8 priority;
33   u8 weight;
34   vl_api_address_t ip_address;
35 };
36
37 enum eid_type : u8
38 {
39         EID_TYPE_API_PREFIX = 0,
40         EID_TYPE_API_MAC = 1,
41         EID_TYPE_API_NSH = 2,
42 };
43
44 typedef nsh
45 {
46         u32 spi;
47         u8 si;
48 };
49
50 union eid_address
51 {
52         vl_api_prefix_t prefix;
53         vl_api_mac_address_t mac;
54         vl_api_nsh_t nsh;
55 };
56
57 /* endpoint identifier */
58 typedef eid
59 {
60         vl_api_eid_type_t type;
61         vl_api_eid_address_t address;
62 };
63
64 enum hmac_key_id : u8
65 {
66         KEY_ID_API_HMAC_NO_KEY = 0,
67         KEY_ID_API_HMAC_SHA_1_96 = 1,
68         KEY_ID_API_HMAC_SHA_256_128 = 2,
69 };
70
71 typedef hmac_key
72 {
73         vl_api_hmac_key_id_t id;
74         u8 key[64];
75 };