VPPAPIGEN: vppapigen replacement in Python PLY.
[vpp.git] / src / vnet / geneve / geneve.api
1 /*
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
16 option version = "1.0.0";
17
18 define geneve_add_del_tunnel
19 {
20   u32 client_index;
21   u32 context;
22   u8 is_add;
23   u8 is_ipv6;
24   u8 local_address[16];
25   u8 remote_address[16];
26   u32 mcast_sw_if_index;
27   u32 encap_vrf_id;
28   u32 decap_next_index;
29   u32 vni;
30 };
31
32 define geneve_add_del_tunnel_reply
33 {
34   u32 context;
35   i32 retval;
36   u32 sw_if_index;
37 };
38
39 define geneve_tunnel_dump
40 {
41   u32 client_index;
42   u32 context;
43   u32 sw_if_index;
44 };
45
46 define geneve_tunnel_details
47 {
48   u32 context;
49   u32 sw_if_index;
50   u8 src_address[16];
51   u8 dst_address[16];
52   u32 mcast_sw_if_index;
53   u32 encap_vrf_id;
54   u32 decap_next_index;
55   u32 vni;
56   u8 is_ipv6;
57 };
58
59 /** \brief Interface set geneve-bypass request
60     @param client_index - opaque cookie to identify the sender
61     @param context - sender context, to match reply w/ request
62     @param sw_if_index - interface used to reach neighbor
63     @param is_ipv6 - if non-zero, enable ipv6-geneve-bypass, else ipv4-geneve-bypass
64     @param enable - if non-zero enable, else disable
65 */
66 autoreply define sw_interface_set_geneve_bypass
67 {
68   u32 client_index;
69   u32 context;
70   u32 sw_if_index;
71   u8 is_ipv6;
72   u8 enable;
73 };