FD.io VPP
v21.10.1-2-g0a485f517
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.1"
;
23
24
import
"vnet/fib/fib_types.api"
;
25
import
"vnet/interface_types.api"
;
26
27
/** \brief Get the plugin version
28
@param client_index - opaque cookie to identify the sender
29
@param context - sender context, to match reply w/ request
30
*/
31
define l3xc_plugin_get_version
32
{
33
u32
client_index
;
34
u32
context
;
35
};
36
37
/** \brief Reply to get the plugin version
38
@param context - returned sender context, to match reply w/ request
39
@param major - Incremented every time a known breaking behavior change is introduced
40
@param minor - Incremented with small changes, may be used to avoid buggy versions
41
*/
42
define l3xc_plugin_get_version_reply
43
{
44
u32
context
;
45
u32
major
;
46
u32
minor
;
47
};
48
49
/** \brief A description of an L3XC policy
50
@param input interface of the x-connect
51
@param n_paths Number of paths
52
@param paths The set of forwarding paths.
53
*/
54
typedef
l3xc
55
{
56
vl_api_interface_index_t
sw_if_index
;
57
bool
is_ip6
;
58
u8
n_paths
;
59
vl_api_fib_path_t
paths
[
n_paths
];
60
};
61
62
define
l3xc_update
63
{
64
u32
client_index
;
65
u32
context
;
66
vl_api_l3xc_t
l3xc
;
67
};
68
define l3xc_update_reply
69
{
70
u32
context
;
71
i32
retval
;
72
u32
stats_index
;
73
};
74
75
76
autoreply define l3xc_del
77
{
78
u32
client_index
;
79
u32
context
;
80
vl_api_interface_index_t
sw_if_index
;
81
bool
is_ip6
;
82
};
83
84
/** \brief Dump all L3XC policies
85
*/
86
define l3xc_dump
87
{
88
u32
client_index
;
89
u32
context
;
90
vl_api_interface_index_t
sw_if_index
;
91
};
92
93
/** \brief description returned in the dump
94
*/
95
define l3xc_details
96
{
97
u32
context
;
98
vl_api_l3xc_t
l3xc
;
99
};
vl_api_l3xc_plugin_get_version_t::client_index
u32 client_index
Definition:
l3xc.api:33
vl_api_l3xc_dump_t::client_index
u32 client_index
Definition:
l3xc.api:88
vl_api_l3xc_update_reply_t::retval
i32 retval
Definition:
l3xc.api:71
is_ip6
bool is_ip6
Definition:
l3xc.api:57
vl_api_l3xc_dump_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition:
l3xc.api:90
vl_api_l3xc_del_t::client_index
u32 client_index
Definition:
l3xc.api:78
vl_api_l3xc_del_t::is_ip6
bool is_ip6
Definition:
l3xc.api:81
vl_api_l3xc_plugin_get_version_t::context
u32 context
Definition:
l3xc.api:34
vl_api_l3xc_plugin_get_version_t
Get the plugin version.
Definition:
l3xc.api:31
vl_api_l3xc_del_t::context
u32 context
Definition:
l3xc.api:79
i32
signed int i32
Definition:
types.h:77
vl_api_l3xc_del_t
Definition:
l3xc.api:76
vl_api_l3xc_update_reply_t
Definition:
l3xc.api:68
vl_api_l3xc_details_t
description returned in the dump
Definition:
l3xc.api:95
vl_api_l3xc_plugin_get_version_reply_t::minor
u32 minor
Definition:
l3xc.api:46
vl_api_l3xc_dump_t
Dump all L3XC policies.
Definition:
l3xc.api:86
vl_api_l3xc_dump_t::context
u32 context
Definition:
l3xc.api:89
version
option version
Definition:
l3xc.api:22
n_paths
u8 n_paths
Definition:
l3xc.api:58
vl_api_l3xc_update_reply_t::stats_index
u32 stats_index
Definition:
l3xc.api:72
vl_api_l3xc_plugin_get_version_reply_t::major
u32 major
Definition:
l3xc.api:45
vl_api_l3xc_details_t::context
u32 context
Definition:
l3xc.api:97
l3xc
typedef l3xc
A description of an L3XC policy.
Definition:
l3xc.api:55
vl_api_l3xc_details_t::l3xc
vl_api_l3xc_t l3xc
Definition:
l3xc.api:98
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
u32
unsigned int u32
Definition:
types.h:88
vl_api_l3xc_plugin_get_version_reply_t
Reply to get the plugin version.
Definition:
l3xc.api:42
vl_api_l3xc_update_reply_t::context
u32 context
Definition:
l3xc.api:70
vl_api_l3xc_update_t
Definition:
l3xc.api:62
vl_api_l3xc_del_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition:
l3xc.api:80
vl_api_l3xc_plugin_get_version_reply_t::context
u32 context
Definition:
l3xc.api:44
paths
vl_api_fib_path_t paths[n_paths]
Definition:
l3xc.api:59
u8
unsigned char u8
Definition:
types.h:56
vl_api_l3xc_update_t::context
u32 context
Definition:
l3xc.api:65
sw_if_index
vl_api_interface_index_t sw_if_index
Definition:
wireguard.api:34
vl_api_l3xc_update_t::client_index
u32 client_index
Definition:
l3xc.api:64
vl_api_l3xc_update_t::l3xc
vl_api_l3xc_t l3xc
Definition:
l3xc.api:66
src
plugins
l3xc
l3xc.api
Generated on Sat Jan 8 2022 10:35:29 for FD.io VPP by
1.8.17