blob: 28c970154ae8d475e9ed3ac29e2115fa6397db7c [file] [log] [blame]
Pavel Kotucek1099b0d2016-12-20 08:13:14 +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
John Loa43ccae2018-02-13 17:15:23 -050016option version = "1.0.1";
Dave Barach0d056e52017-09-28 15:11:16 -040017
John Loa43ccae2018-02-13 17:15:23 -050018/** \brief Create or delete a GRE tunnel
19 @param client_index - opaque cookie to identify the sender
20 @param context - sender context, to match reply w/ request
21 @param is_add - Use 1 to create the tunnel, 0 to remove it
22 @param is_ipv6 - Use 0 for IPv4, 1 for IPv6
23 @param tunnel_type - 0: L3, 1: TEB, 2: ERSPAN
24 @param instance - optional unique custom device instance, else ~0.
25 @param src_address - Source IP address
26 @param dst_address - Destination IP address, can be multicast
27 @param outer_fib_id - Encap FIB table ID
28 @param session_id - session for ERSPAN tunnel, range 0-1023
29*/
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010030define gre_add_del_tunnel
31{
32 u32 client_index;
33 u32 context;
34 u8 is_add;
35 u8 is_ipv6;
John Loa43ccae2018-02-13 17:15:23 -050036 u8 tunnel_type;
37 u32 instance; /* If non-~0, specifies a custom dev instance */
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010038 u8 src_address[16];
39 u8 dst_address[16];
40 u32 outer_fib_id;
John Loa43ccae2018-02-13 17:15:23 -050041 u16 session_id;
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010042};
43
44define gre_add_del_tunnel_reply
45{
46 u32 context;
47 i32 retval;
48 u32 sw_if_index;
49};
50
51define gre_tunnel_dump
52{
53 u32 client_index;
54 u32 context;
55 u32 sw_if_index;
56};
57
58define gre_tunnel_details
59{
60 u32 context;
61 u32 sw_if_index;
John Loa43ccae2018-02-13 17:15:23 -050062 u32 instance;
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010063 u8 is_ipv6;
John Loa43ccae2018-02-13 17:15:23 -050064 u8 tunnel_type;
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010065 u8 src_address[16];
66 u8 dst_address[16];
67 u32 outer_fib_id;
John Loa43ccae2018-02-13 17:15:23 -050068 u16 session_id;
Pavel Kotucek1099b0d2016-12-20 08:13:14 +010069};
70
71/*
72 * Local Variables:
73 * eval: (c-set-style "gnu")
74 * End:
75 */