FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ioam_vxlan_gpe.api
Go to the documentation of this file.
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 {
34  bool pow_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 {
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 {
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 {
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 {
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 {
107  vl_api_address_t dst_addr;
108 };
109 
vl_api_vxlan_gpe_ioam_transit_enable_t::dst_addr
vl_api_address_t dst_addr
Definition: ioam_vxlan_gpe.api:93
vl_api_vxlan_gpe_ioam_enable_t
iOAM Over VxLAN-GPE - Set iOAM transport for VxLAN-GPE
Definition: ioam_vxlan_gpe.api:29
vl_api_vxlan_gpe_ioam_vni_disable_t::vni
u32 vni
Definition: ioam_vxlan_gpe.api:77
vl_api_vxlan_gpe_ioam_enable_t::trace_enable
bool trace_enable
Definition: ioam_vxlan_gpe.api:35
version
option version
Definition: ioam_vxlan_gpe.api:17
vl_api_vxlan_gpe_ioam_transit_disable_t::outer_fib_index
u32 outer_fib_index
Definition: ioam_vxlan_gpe.api:106
u16
unsigned short u16
Definition: types.h:57
vl_api_vxlan_gpe_ioam_enable_t::id
u16 id
Definition: ioam_vxlan_gpe.api:32
vl_api_vxlan_gpe_ioam_vni_enable_t
Enable iOAM for a VNI (VXLAN-GPE)
Definition: ioam_vxlan_gpe.api:58
vl_api_vxlan_gpe_ioam_vni_enable_t::remote
vl_api_address_t remote
Definition: ioam_vxlan_gpe.api:63
vl_api_vxlan_gpe_ioam_enable_t::pow_enable
bool pow_enable
Definition: ioam_vxlan_gpe.api:34
vl_api_vxlan_gpe_ioam_transit_disable_t
Disable iOAM for VXLAN-GPE transit.
Definition: ioam_vxlan_gpe.api:103
vl_api_vxlan_gpe_ioam_vni_disable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:76
vl_api_vxlan_gpe_ioam_vni_enable_t::local
vl_api_address_t local
Definition: ioam_vxlan_gpe.api:62
vl_api_vxlan_gpe_ioam_vni_enable_t::vni
u32 vni
Definition: ioam_vxlan_gpe.api:61
vl_api_vxlan_gpe_ioam_vni_enable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:59
vl_api_vxlan_gpe_ioam_vni_disable_t::local
vl_api_address_t local
Definition: ioam_vxlan_gpe.api:78
vl_api_vxlan_gpe_ioam_transit_enable_t::outer_fib_index
u32 outer_fib_index
Definition: ioam_vxlan_gpe.api:92
vl_api_vxlan_gpe_ioam_enable_t::trace_ppc
u8 trace_ppc
Definition: ioam_vxlan_gpe.api:33
vl_api_vxlan_gpe_ioam_transit_enable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:91
vxlan_gpe_ioam_enable
clib_error_t * vxlan_gpe_ioam_enable(int has_trace_option, int has_pot_option, int has_ppc_option)
Definition: vxlan_gpe_ioam.c:522
vxlan_gpe_ioam_disable
clib_error_t * vxlan_gpe_ioam_disable(int has_trace_option, int has_pot_option, int has_ppc_option)
Definition: vxlan_gpe_ioam.c:538
vl_api_vxlan_gpe_ioam_disable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:46
vl_api_vxlan_gpe_ioam_transit_disable_t::dst_addr
vl_api_address_t dst_addr
Definition: ioam_vxlan_gpe.api:107
u32
unsigned int u32
Definition: types.h:88
vl_api_vxlan_gpe_ioam_disable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:45
vl_api_vxlan_gpe_ioam_transit_enable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:90
vl_api_vxlan_gpe_ioam_vni_disable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:75
vl_api_vxlan_gpe_ioam_disable_t
iOAM for VxLAN-GPE disable
Definition: ioam_vxlan_gpe.api:43
vl_api_vxlan_gpe_ioam_disable_t::id
u16 id
Definition: ioam_vxlan_gpe.api:47
u8
unsigned char u8
Definition: types.h:56
vl_api_vxlan_gpe_ioam_transit_disable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:104
vl_api_vxlan_gpe_ioam_transit_disable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:105
vl_api_vxlan_gpe_ioam_vni_enable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:60
vl_api_vxlan_gpe_ioam_transit_enable_t
Enable iOAM for a VXLAN-GPE transit.
Definition: ioam_vxlan_gpe.api:89
vl_api_vxlan_gpe_ioam_enable_t::client_index
u32 client_index
Definition: ioam_vxlan_gpe.api:30
vl_api_vxlan_gpe_ioam_vni_disable_t
Disable iOAM for a VNI (VXLAN-GPE)
Definition: ioam_vxlan_gpe.api:74
vl_api_vxlan_gpe_ioam_vni_disable_t::remote
vl_api_address_t remote
Definition: ioam_vxlan_gpe.api:79
vl_api_vxlan_gpe_ioam_enable_t::context
u32 context
Definition: ioam_vxlan_gpe.api:31