"autoreply" flag: autogenerate standard xxx_reply_t messages
[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 autoreply 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 for VxLAN-GPE disable
37     @param client_index - opaque cookie to identify the sender
38     @param context - sender context, to match reply w/ request
39     @param id - profile id
40 */
41 autoreply define vxlan_gpe_ioam_disable
42 {
43   u32 client_index;
44   u32 context;
45   u16 id;
46 };
47
48 /** \brief Enable iOAM for a VNI (VXLAN-GPE)
49     @param client_index - opaque cookie to identify the sender
50     @param context - sender context, to match reply w/ request
51     @param vni - VXLAN-GPE VNI
52     @param local - IPv4/6 Address of the local VTEP
53     @param remote - IPv4/6 Address of the remote VTEP
54
55 */
56 autoreply define vxlan_gpe_ioam_vni_enable {
57   u32 client_index;
58   u32 context;
59   u32 vni;
60   u8  local[16];
61   u8  remote[16];
62   u8  is_ipv6;
63 };
64
65 /** \brief Disable iOAM for a VNI (VXLAN-GPE)
66     @param client_index - opaque cookie to identify the sender
67     @param context - sender context, to match reply w/ request
68     @param vni - VXLAN-GPE VNI
69     @param local - IPv4/6 Address of the local VTEP
70     @param remote - IPv4/6 Address of the remote VTEP
71
72 */
73 autoreply define vxlan_gpe_ioam_vni_disable {
74   u32 client_index;
75   u32 context;
76   u32 vni;
77   u8  local[16];
78   u8  remote[16];
79   u8  is_ipv6;
80 };
81
82 /** \brief Enable iOAM for a VXLAN-GPE transit
83     @param client_index - opaque cookie to identify the sender
84     @param context - sender context, to match reply w/ request
85     @param dst_addr - IPv4/6 Address of the local VTEP
86     @param outer_fib_index- FIB index
87
88 */
89 autoreply define vxlan_gpe_ioam_transit_enable {
90   u32 client_index;
91   u32 context;
92   u32 outer_fib_index;
93   u8  dst_addr[16];
94   u8  is_ipv6;
95 };
96
97 /** \brief Disable iOAM for VXLAN-GPE transit
98     @param client_index - opaque cookie to identify the sender
99     @param context - sender context, to match reply w/ request
100     @param dst_addr - IPv4/6 Address of the local VTEP
101     @param outer_fib_index- FIB index
102
103 */
104 autoreply define vxlan_gpe_ioam_transit_disable {
105   u32 client_index;
106   u32 context;
107   u32 outer_fib_index;
108   u8  dst_addr[16];
109   u8  is_ipv6;
110 };
111