blob: 4502d89079766168a4067a27609139849f9b011c [file] [log] [blame]
Marco Varleseb598f1d2017-09-19 14:25:28 +02001/*
2 * Copyright (c) 2017 SUSE LLC.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
Ole Troan7fc88cf2020-06-17 22:57:13 +020016option version = "2.1.0";
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020017
18import "vnet/interface_types.api";
19import "vnet/ethernet/ethernet_types.api";
20import "vnet/ip/ip_types.api";
Marco Varlese556033a2017-10-17 10:33:07 +020021
22define geneve_add_del_tunnel
Marco Varleseb598f1d2017-09-19 14:25:28 +020023{
Ole Troan7fc88cf2020-06-17 22:57:13 +020024 option deprecated="20.06";
Marco Varleseb598f1d2017-09-19 14:25:28 +020025 u32 client_index;
26 u32 context;
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020027 bool is_add;
28 vl_api_address_t local_address;
29 vl_api_address_t remote_address;
30 vl_api_interface_index_t mcast_sw_if_index;
Marco Varleseb598f1d2017-09-19 14:25:28 +020031 u32 encap_vrf_id;
32 u32 decap_next_index;
33 u32 vni;
34};
35
36define geneve_add_del_tunnel_reply
37{
38 u32 context;
39 i32 retval;
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020040 vl_api_interface_index_t sw_if_index;
Marco Varleseb598f1d2017-09-19 14:25:28 +020041};
42
Ole Troan7fc88cf2020-06-17 22:57:13 +020043define geneve_add_del_tunnel2
44{
45 u32 client_index;
46 u32 context;
47 bool is_add;
48 vl_api_address_t local_address;
49 vl_api_address_t remote_address;
50 vl_api_interface_index_t mcast_sw_if_index;
51 u32 encap_vrf_id;
52 u32 decap_next_index;
53 u32 vni;
54 bool l3_mode;
55};
56
57define geneve_add_del_tunnel2_reply
58{
59 u32 context;
60 i32 retval;
61 vl_api_interface_index_t sw_if_index;
62};
63
Marco Varleseb598f1d2017-09-19 14:25:28 +020064define geneve_tunnel_dump
65{
66 u32 client_index;
67 u32 context;
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020068 vl_api_interface_index_t sw_if_index;
Marco Varleseb598f1d2017-09-19 14:25:28 +020069};
70
71define geneve_tunnel_details
72{
73 u32 context;
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020074 vl_api_interface_index_t sw_if_index;
75 vl_api_address_t src_address;
76 vl_api_address_t dst_address;
77 vl_api_interface_index_t mcast_sw_if_index;
Marco Varleseb598f1d2017-09-19 14:25:28 +020078 u32 encap_vrf_id;
79 u32 decap_next_index;
80 u32 vni;
Marco Varleseb598f1d2017-09-19 14:25:28 +020081};
82
83/** \brief Interface set geneve-bypass request
84 @param client_index - opaque cookie to identify the sender
85 @param context - sender context, to match reply w/ request
86 @param sw_if_index - interface used to reach neighbor
87 @param is_ipv6 - if non-zero, enable ipv6-geneve-bypass, else ipv4-geneve-bypass
88 @param enable - if non-zero enable, else disable
89*/
90autoreply define sw_interface_set_geneve_bypass
91{
92 u32 client_index;
93 u32 context;
Jakub Grajciar2d3282e2019-10-01 12:04:56 +020094 vl_api_interface_index_t sw_if_index;
95 bool is_ipv6;
96 bool enable;
Marco Varleseb598f1d2017-09-19 14:25:28 +020097};