FD.io VPP
v19.08.3-2-gbabecb413
Vector Packet Processing
l3xc.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
/** \file
18
This file defines the vpp control-plane API messages
19
used to control the L3XC plugin
20
*/
21
22
option
version
=
"1.0.0"
;
23
24
import
"vnet/fib/fib_types.api"
;
25
26
/** \brief Get the plugin version
27
@param client_index - opaque cookie to identify the sender
28
@param context - sender context, to match reply w/ request
29
*/
30
define l3xc_plugin_get_version
31
{
32
u32
client_index
;
33
u32
context
;
34
};
35
36
/** \brief Reply to get the plugin version
37
@param context - returned sender context, to match reply w/ request
38
@param major - Incremented every time a known breaking behavior change is introduced
39
@param minor - Incremented with small changes, may be used to avoid buggy versions
40
*/
41
define l3xc_plugin_get_version_reply
42
{
43
u32
context
;
44
u32
major
;
45
u32
minor
;
46
};
47
48
/** \brief A description of an L3XC policy
49
@param input interface of the x-connect
50
@param n_paths Number of paths
51
@param paths The set of forwarding paths.
52
*/
53
typeonly define l3xc
54
{
55
u32
sw_if_index
;
56
u8
is_ip6
;
57
u8
n_paths
;
58
vl_api_fib_path_t
paths
[
n_paths
];
59
};
60
61
define
l3xc_update
62
{
63
u32
client_index
;
64
u32
context
;
65
vl_api_l3xc_t
l3xc
;
66
};
67
define l3xc_update_reply
68
{
69
u32
context
;
70
i32
retval
;
71
u32
stats_index
;
72
};
73
74
75
autoreply define l3xc_del
76
{
77
u32
client_index
;
78
u32
context
;
79
u32
sw_if_index
;
80
u8
is_ip6
;
81
};
82
83
/** \brief Dump all L3XC policies
84
*/
85
define l3xc_dump
86
{
87
u32
client_index
;
88
u32
context
;
89
u32
sw_if_index
;
90
};
91
92
/** \brief description returned in the dump
93
*/
94
define l3xc_details
95
{
96
u32
context
;
97
vl_api_l3xc_t
l3xc
;
98
};
vl_api_l3xc_details_t::l3xc
vl_api_l3xc_t l3xc
Definition:
l3xc.api:97
vl_api_l3xc_details_t::context
u32 context
Definition:
l3xc.api:96
vl_api_l3xc_del_t::client_index
u32 client_index
Definition:
l3xc.api:77
vl_api_l3xc_dump_t::client_index
u32 client_index
Definition:
l3xc.api:87
vl_api_l3xc_update_reply_t::stats_index
u32 stats_index
Definition:
l3xc.api:71
vl_api_l3xc_t::is_ip6
u8 is_ip6
Definition:
l3xc.api:56
vl_api_l3xc_plugin_get_version_reply_t::minor
u32 minor
Definition:
l3xc.api:45
vl_api_l3xc_update_reply_t::context
u32 context
Definition:
l3xc.api:69
vl_api_l3xc_t
A description of an L3XC policy.
Definition:
l3xc.api:53
u8
unsigned char u8
Definition:
types.h:56
vl_api_l3xc_dump_t::sw_if_index
u32 sw_if_index
Definition:
l3xc.api:89
vl_api_l3xc_dump_t::context
u32 context
Definition:
l3xc.api:88
u32
unsigned int u32
Definition:
types.h:88
l3xc_update
int l3xc_update(u32 sw_if_index, u8 is_ip6, const fib_route_path_t *rpaths)
Create or update an L3XC Policy.
Definition:
l3xc.c:83
vl_api_l3xc_update_t::l3xc
vl_api_l3xc_t l3xc
Definition:
l3xc.api:65
vl_api_l3xc_plugin_get_version_reply_t::major
u32 major
Definition:
l3xc.api:44
vl_api_l3xc_del_t::sw_if_index
u32 sw_if_index
Definition:
l3xc.api:79
vl_api_l3xc_plugin_get_version_t::context
u32 context
Definition:
l3xc.api:33
n_paths
u8 n_paths
Definition:
ip.api:457
vl_api_l3xc_update_t::context
u32 context
Definition:
l3xc.api:64
vl_api_l3xc_update_t::client_index
u32 client_index
Definition:
l3xc.api:63
vl_api_l3xc_t::n_paths
u8 n_paths
Definition:
l3xc.api:57
version
option version
Definition:
l3xc.api:22
i32
signed int i32
Definition:
types.h:77
paths
vl_api_mfib_path_t paths[n_paths]
Definition:
ip.api:458
vl_api_l3xc_update_reply_t::retval
i32 retval
Definition:
l3xc.api:70
vl_api_l3xc_plugin_get_version_reply_t::context
u32 context
Definition:
l3xc.api:43
vl_api_l3xc_del_t::context
u32 context
Definition:
l3xc.api:78
vl_api_l3xc_del_t::is_ip6
u8 is_ip6
Definition:
l3xc.api:80
vl_api_l3xc_t::sw_if_index
u32 sw_if_index
Definition:
l3xc.api:55
vl_api_l3xc_plugin_get_version_t::client_index
u32 client_index
Definition:
l3xc.api:32
src
plugins
l3xc
l3xc.api
Generated on Mon Oct 19 2020 14:03:20 for FD.io VPP by
1.8.13