blob: 3cbd7ab7f7106cb69a0760a0794796b14a2740b9 [file] [log] [blame]
Pavel Kotucek296b2012016-12-19 14:47:09 +01001/*
2 * Copyright (c) 2015-2016 Cisco and/or its affiliates.
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
Artem Glazychevea962922021-05-28 19:09:14 +070016option version = "2.1.0";
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010017
18import "vnet/interface_types.api";
19import "vnet/ip/ip_types.api";
Dave Barach0d056e52017-09-28 15:11:16 -040020
Pavel Kotucek296b2012016-12-19 14:47:09 +010021define vxlan_gpe_add_del_tunnel
22{
23 u32 client_index;
24 u32 context;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010025 vl_api_address_t local;
26 vl_api_address_t remote;
27 vl_api_interface_index_t mcast_sw_if_index;
Pavel Kotucek296b2012016-12-19 14:47:09 +010028 u32 encap_vrf_id;
29 u32 decap_vrf_id;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010030 vl_api_ip_proto_t protocol;
Pavel Kotucek296b2012016-12-19 14:47:09 +010031 u32 vni;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010032 bool is_add [default=true];
Pavel Kotucek296b2012016-12-19 14:47:09 +010033};
34
Artem Glazychevea962922021-05-28 19:09:14 +070035/** \brief Create or delete a VXLAN-GPE tunnel
36 @param client_index - opaque cookie to identify the sender
37 @param context - sender context, to match reply w/ request
38 @param local - Source IP address
39 @param remote - Destination IP address, can be multicast
40 @param local_port - Source UDP port. It is not included in sent packets. Used only for port registration
41 @param remote_port - Destination UDP port
42 @param mcast_sw_if_index - Interface for multicast destination
43 @param encap_vrf_id - Encap route table FIB index
44 @param decap_vrf_id - Decap route table FIB index
45 @param protocol - Encapsulated protocol
46 @param vni - The VXLAN Network Identifier, uint24
47 @param is_add - Use 1 to create the tunnel, 0 to remove it
48*/
49define vxlan_gpe_add_del_tunnel_v2
50{
51 u32 client_index;
52 u32 context;
53 vl_api_address_t local;
54 vl_api_address_t remote;
55 u16 local_port;
56 u16 remote_port;
57 vl_api_interface_index_t mcast_sw_if_index;
58 u32 encap_vrf_id;
59 u32 decap_vrf_id;
60 vl_api_ip_proto_t protocol;
61 u32 vni;
62 bool is_add [default=true];
63};
64
Pavel Kotucek296b2012016-12-19 14:47:09 +010065define vxlan_gpe_add_del_tunnel_reply
66{
67 u32 context;
68 i32 retval;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010069 vl_api_interface_index_t sw_if_index;
Pavel Kotucek296b2012016-12-19 14:47:09 +010070};
Artem Glazychevea962922021-05-28 19:09:14 +070071define vxlan_gpe_add_del_tunnel_v2_reply
72{
73 u32 context;
74 i32 retval;
75 vl_api_interface_index_t sw_if_index;
76};
Pavel Kotucek296b2012016-12-19 14:47:09 +010077
78define vxlan_gpe_tunnel_dump
79{
80 u32 client_index;
81 u32 context;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010082 vl_api_interface_index_t sw_if_index;
Pavel Kotucek296b2012016-12-19 14:47:09 +010083};
Artem Glazychevea962922021-05-28 19:09:14 +070084define vxlan_gpe_tunnel_v2_dump
85{
86 u32 client_index;
87 u32 context;
88 vl_api_interface_index_t sw_if_index;
89};
Pavel Kotucek296b2012016-12-19 14:47:09 +010090
91define vxlan_gpe_tunnel_details
92{
93 u32 context;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010094 vl_api_interface_index_t sw_if_index;
95 vl_api_address_t local;
96 vl_api_address_t remote;
Pavel Kotucek296b2012016-12-19 14:47:09 +010097 u32 vni;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +010098 vl_api_ip_proto_t protocol;
99 vl_api_interface_index_t mcast_sw_if_index;
Pavel Kotucek296b2012016-12-19 14:47:09 +0100100 u32 encap_vrf_id;
101 u32 decap_vrf_id;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +0100102 bool is_ipv6;
Pavel Kotucek296b2012016-12-19 14:47:09 +0100103};
Artem Glazychevea962922021-05-28 19:09:14 +0700104define vxlan_gpe_tunnel_v2_details
105{
106 u32 context;
107 vl_api_interface_index_t sw_if_index;
108 vl_api_address_t local;
109 vl_api_address_t remote;
110 u16 local_port;
111 u16 remote_port;
112 u32 vni;
113 vl_api_ip_proto_t protocol;
114 vl_api_interface_index_t mcast_sw_if_index;
115 u32 encap_vrf_id;
116 u32 decap_vrf_id;
117 bool is_ipv6;
118};
Pavel Kotucek296b2012016-12-19 14:47:09 +0100119
Hongjun Ni8a0a0ae2017-05-27 20:23:09 +0800120/** \brief Interface set vxlan-gpe-bypass request
121 @param client_index - opaque cookie to identify the sender
122 @param context - sender context, to match reply w/ request
123 @param sw_if_index - interface used to reach neighbor
124 @param is_ipv6 - if non-zero, enable ipv6-vxlan-bypass, else ipv4-vxlan-bypass
125 @param enable - if non-zero enable, else disable
126*/
127autoreply define sw_interface_set_vxlan_gpe_bypass
128{
129 u32 client_index;
130 u32 context;
Jakub Grajciar1c2002a2020-01-31 10:45:30 +0100131 vl_api_interface_index_t sw_if_index;
132 bool is_ipv6;
133 bool enable [default=true];
Hongjun Ni8a0a0ae2017-05-27 20:23:09 +0800134};
135
Pavel Kotucek296b2012016-12-19 14:47:09 +0100136/*
137 * Local Variables:
138 * eval: (c-set-style "gnu")
139 * End:
Ole Troan9d420872017-10-12 13:06:35 +0200140 */