Repair Doxygen build infrastructure
[vpp.git] / src / plugins / ioam / lib-vxlan-gpe / ioam_vxlan_gpe.api
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2016 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
18 /** \brief iOAM Over VxLAN-GPE - Set iOAM transport for VxLAN-GPE
19     @param client_index - opaque cookie to identify the sender
20     @param context - sender context, to match reply w/ request
21     @param id - profile id
22     @param trace_ppc - Trace PPC (none/encap/decap)
23     @param pow_enable - Proof of Work enabled or not flag
24     @param trace_enable - iOAM Trace enabled or not flag
25
26 */
27 define vxlan_gpe_ioam_enable {
28   u32 client_index;
29   u32 context;
30   u16 id;
31   u8 trace_ppc;
32   u8 pow_enable;
33   u8 trace_enable;
34 };
35
36 /** \brief iOAM Over VxLAN-GPE - Set iOAM transport for VXLAN-GPE reply
37     @param context - sender context, to match reply w/ request
38     @param retval - return value for request
39 */
40 define vxlan_gpe_ioam_enable_reply {
41     u32 context;
42     i32 retval;
43 };
44
45
46 /** \brief iOAM for VxLAN-GPE disable
47     @param client_index - opaque cookie to identify the sender
48     @param context - sender context, to match reply w/ request
49     @param id - profile id
50 */
51 define vxlan_gpe_ioam_disable
52 {
53   u32 client_index;
54   u32 context;
55   u16 id;
56 };
57
58 /** \brief vxlan_gpe_ioam disable response
59     @param context - sender context, to match reply w/ request
60     @param retval - return value for request
61 */
62 define vxlan_gpe_ioam_disable_reply
63 {
64   u32 context;
65   i32 retval;
66 };
67
68 /** \brief Enable iOAM for a VNI (VXLAN-GPE)
69     @param client_index - opaque cookie to identify the sender
70     @param context - sender context, to match reply w/ request
71     @param vni - VXLAN-GPE VNI
72     @param local - IPv4/6 Address of the local VTEP
73     @param remote - IPv4/6 Address of the remote VTEP
74
75 */
76 define vxlan_gpe_ioam_vni_enable {
77   u32 client_index;
78   u32 context;
79   u32 vni;
80   u8  local[16];
81   u8  remote[16];
82   u8  is_ipv6;
83 };
84
85 /** \brief Reply to enable iOAM for a VNI (VXLAN-GPE)
86     @param client_index - opaque cookie to identify the sender
87     @param context - sender context, to match reply w/ request
88     @param retval - return value for request
89
90 */
91 define vxlan_gpe_ioam_vni_enable_reply {
92   u32 client_index;
93   u32 context;
94   i32 retval;
95 };
96
97 /** \brief Disable iOAM for a VNI (VXLAN-GPE)
98     @param client_index - opaque cookie to identify the sender
99     @param context - sender context, to match reply w/ request
100     @param vni - VXLAN-GPE VNI
101     @param local - IPv4/6 Address of the local VTEP
102     @param remote - IPv4/6 Address of the remote VTEP
103
104 */
105 define vxlan_gpe_ioam_vni_disable {
106   u32 client_index;
107   u32 context;
108   u32 vni;
109   u8  local[16];
110   u8  remote[16];
111   u8  is_ipv6;
112 };
113
114 /** \brief Reply to disable iOAM for a VNI (VXLAN-GPE)
115     @param client_index - opaque cookie to identify the sender
116     @param context - sender context, to match reply w/ request
117     @param retval - return value for request
118
119 */
120 define vxlan_gpe_ioam_vni_disable_reply {
121   u32 client_index;
122   u32 context;
123   i32 retval;
124 };
125
126
127 /** \brief Enable iOAM for a VXLAN-GPE transit
128     @param client_index - opaque cookie to identify the sender
129     @param context - sender context, to match reply w/ request
130     @param dst_addr - IPv4/6 Address of the local VTEP
131     @param outer_fib_index- FIB index
132
133 */
134 define vxlan_gpe_ioam_transit_enable {
135   u32 client_index;
136   u32 context;
137   u32 outer_fib_index;
138   u8  dst_addr[16];
139   u8  is_ipv6;
140 };
141
142 /** \brief Reply to enable iOAM for VXLAN-GPE transit
143     @param client_index - opaque cookie to identify the sender
144     @param context - sender context, to match reply w/ request
145     @param retval - return value for request
146
147 */
148 define vxlan_gpe_ioam_transit_enable_reply {
149   u32 client_index;
150   u32 context;
151   i32 retval;
152 };
153
154 /** \brief Disable iOAM for VXLAN-GPE transit
155     @param client_index - opaque cookie to identify the sender
156     @param context - sender context, to match reply w/ request
157     @param dst_addr - IPv4/6 Address of the local VTEP
158     @param outer_fib_index- FIB index
159
160 */
161 define vxlan_gpe_ioam_transit_disable {
162   u32 client_index;
163   u32 context;
164   u32 outer_fib_index;
165   u8  dst_addr[16];
166   u8  is_ipv6;
167 };
168
169 /** \brief Reply to disable iOAM for VXLAN-GPE transit
170     @param client_index - opaque cookie to identify the sender
171     @param context - sender context, to match reply w/ request
172     @param retval - return value for request
173
174 */
175 define vxlan_gpe_ioam_transit_disable_reply {
176   u32 client_index;
177   u32 context;
178   i32 retval;
179 };
180
181