vlib: improvement to automatic core pinning
[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 option version = "1.0.0";
18 import "vnet/ip/ip_types.api";
19
20 /** \brief iOAM Over VxLAN-GPE - Set iOAM transport for VxLAN-GPE
21     @param client_index - opaque cookie to identify the sender
22     @param context - sender context, to match reply w/ request
23     @param id - profile id
24     @param trace_ppc - Trace PPC (none/encap/decap)
25     @param pow_enable - Proof of Work enabled or not flag
26     @param trace_enable - iOAM Trace enabled or not flag
27
28 */
29 autoreply define vxlan_gpe_ioam_enable {
30   u32 client_index;
31   u32 context;
32   u16 id;
33   u8 trace_ppc;
34   bool pow_enable;
35   bool trace_enable;
36 };
37
38 /** \brief iOAM for VxLAN-GPE disable
39     @param client_index - opaque cookie to identify the sender
40     @param context - sender context, to match reply w/ request
41     @param id - profile id
42 */
43 autoreply define vxlan_gpe_ioam_disable
44 {
45   u32 client_index;
46   u32 context;
47   u16 id;
48 };
49
50 /** \brief Enable iOAM for a VNI (VXLAN-GPE)
51     @param client_index - opaque cookie to identify the sender
52     @param context - sender context, to match reply w/ request
53     @param vni - VXLAN-GPE VNI
54     @param local - IPv4/6 Address of the local VTEP
55     @param remote - IPv4/6 Address of the remote VTEP
56
57 */
58 autoreply define vxlan_gpe_ioam_vni_enable {
59   u32 client_index;
60   u32 context;
61   u32 vni;
62   vl_api_address_t local;
63   vl_api_address_t remote;
64 };
65
66 /** \brief Disable iOAM for a VNI (VXLAN-GPE)
67     @param client_index - opaque cookie to identify the sender
68     @param context - sender context, to match reply w/ request
69     @param vni - VXLAN-GPE VNI
70     @param local - IPv4/6 Address of the local VTEP
71     @param remote - IPv4/6 Address of the remote VTEP
72
73 */
74 autoreply define vxlan_gpe_ioam_vni_disable {
75   u32 client_index;
76   u32 context;
77   u32 vni;
78   vl_api_address_t local;
79   vl_api_address_t remote;
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   vl_api_address_t dst_addr;
94 };
95
96 /** \brief Disable iOAM for VXLAN-GPE transit
97     @param client_index - opaque cookie to identify the sender
98     @param context - sender context, to match reply w/ request
99     @param dst_addr - IPv4/6 Address of the local VTEP
100     @param outer_fib_index- FIB index
101
102 */
103 autoreply define vxlan_gpe_ioam_transit_disable {
104   u32 client_index;
105   u32 context;
106   u32 outer_fib_index;
107   vl_api_address_t dst_addr;
108 };
109