FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
bier.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
19
This file defines vpp BIER control-plane API messages which are generally
20
called through a shared memory interface.
21
*/
22
option
version
=
"1.2.1"
;
23
import
"vnet/fib/fib_types.api"
;
24
25
/** \brief BIER Table Identifier
26
@param bt_set - The BIER set
27
@param bt_sub_domain - the sud-domain
28
@param bt_bit_header_length - the number of bits in the header length
29
*/
30
typedef
bier_table_id
31
{
32
u8
bt_set;
33
u8
bt_sub_domain
;
34
u8
bt_hdr_len_id
;
35
};
36
37
/** \brief BIER Table Add / del route
38
@param client_index - opaque cookie to identify the sender
39
@param context - sender context, to match reply w/ request
40
@param bt_tbl_id - The BIER table-id the route is added in
41
@param bt_label - The MPLS label for the table (0 or all ones means not set)
42
If the label is not set, then it is assumed that non-MPLS
43
encoding is used.
44
@param bt_is_add - Is this a route add or delete
45
*/
46
autoreply define bier_table_add_del
47
{
48
u32
client_index
;
49
u32
context
;
50
vl_api_bier_table_id_t
bt_tbl_id
;
51
u32
bt_label
;
52
bool
bt_is_add
;
53
};
54
55
define bier_table_dump
56
{
57
u32
client_index
;
58
u32
context
;
59
};
60
61
define bier_table_details
62
{
63
u32
context
;
64
u32
bt_label
;
65
vl_api_bier_table_id_t
bt_tbl_id
;
66
};
67
68
/** \brief BIER Route Add / del route
69
@param client_index - opaque cookie to identify the sender
70
@param context - sender context, to match reply w/ request
71
@param br_bp - The Bit-position value
72
@param br_tbl_id - The BIER table-id the route is added in
73
@param br_is_add - Is this a route add or delete
74
@param br_is_replace - Are the paths specified replacing those already
75
present or are they to be combined.
76
is_replace = 1 and n_paths=0 implies delete the
77
route and all paths;
78
@param br_n_paths - The number of paths
79
@param br_paths - The array of paths
80
*/
81
typedef
bier_route
82
{
83
u32
br_bp;
84
vl_api_bier_table_id_t
br_tbl_id
;
85
u8
br_n_paths
;
86
vl_api_fib_path_t
br_paths
[
br_n_paths
];
87
};
88
89
autoreply define bier_route_add_del
90
{
91
u32
client_index
;
92
u32
context
;
93
bool
br_is_add
;
94
bool
br_is_replace
;
95
vl_api_bier_route_t
br_route
;
96
};
97
98
define bier_route_dump
99
{
100
u32
client_index
;
101
u32
context
;
102
vl_api_bier_table_id_t
br_tbl_id
;
103
};
104
105
define bier_route_details
106
{
107
u32
context
;
108
vl_api_bier_route_t
br_route
;
109
};
110
111
/** \brief BIER Imposition Add
112
@param client_index - opaque cookie to identify the sender
113
@param context - sender context, to match reply w/ request
114
@param bi_tbl_id - The BIER table-id used to forward post encap
115
@param bi_src - The source Bit-position in the encap.
116
@param bi_n_bytes - The number of bytes in the following bit-string.
117
VPP only supports BSL of 1024 and less, so this is
118
a u8 field.
119
@param bi_bytes - The bit-string represented as a byte array (MSB first)
120
*/
121
define bier_imp_add
122
{
123
u32
client_index
;
124
u32
context
;
125
vl_api_bier_table_id_t
bi_tbl_id
;
126
u16
bi_src
;
127
u8
bi_n_bytes
;
128
u8
bi_bytes[bi_n_bytes];
129
};
130
131
/** \brief Reply for BIER route add / del request
132
@param context - returned sender context, to match reply w/ request
133
@param retval - return code
134
@param bi_index - The index of the created imposition object.
135
*/
136
define bier_imp_add_reply
137
{
138
u32
context
;
139
i32
retval
;
140
u32
bi_index
;
141
};
142
143
/** \brief BIER Imposition Del
144
@param client_index - opaque cookie to identify the sender
145
@param context - sender context, to match reply w/ request
146
@param bi_index - The index of the imposition object (as returned
147
from the ADD)
148
*/
149
autoreply define bier_imp_del
150
{
151
u32
client_index
;
152
u32
context
;
153
u32
bi_index
;
154
};
155
156
define bier_imp_dump
157
{
158
u32
client_index
;
159
u32
context
;
160
};
161
162
define bier_imp_details
163
{
164
u32
context
;
165
vl_api_bier_table_id_t
bi_tbl_id
;
166
u16
bi_src
;
167
u8
bi_n_bytes
;
168
u8
bi_bytes[bi_n_bytes];
169
};
170
171
/** \brief BIER Disposition Table Add / del route
172
@param client_index - opaque cookie to identify the sender
173
@param context - sender context, to match reply w/ request
174
@param bt_tbl_id - The BIER Disposition table-id.
175
*/
176
autoreply define bier_disp_table_add_del
177
{
178
u32
client_index
;
179
u32
context
;
180
u32
bdt_tbl_id
;
181
bool
bdt_is_add
;
182
};
183
184
define bier_disp_table_dump
185
{
186
u32
client_index
;
187
u32
context
;
188
};
189
190
define bier_disp_table_details
191
{
192
u32
context
;
193
u32
bdt_tbl_id
;
194
};
195
196
/** \brief BIER Disposition Entry Add / del
197
@param client_index - opaque cookie to identify the sender
198
@param context - sender context, to match reply w/ request
199
@param bde_bp - The Bit-position value for the entry, i.e. the sender's
200
Use 0 for the default (match any source) entry.
201
@param bde_tbl_id - The BIER disposition table-id the route is added in
202
@param bde_next_hop_sw_if_index - the next hop interface
203
@param bde_is_add - Is this a route add or delete
204
@param bde_payload_proto - The payload protocol for which the next-hop
205
is added
206
@param bde_paths - The outgoing paths for the entry
207
*/
208
autoreply define bier_disp_entry_add_del
209
{
210
u32
client_index
;
211
u32
context
;
212
u16
bde_bp
;
213
u32
bde_tbl_id
;
214
bool
bde_is_add
;
215
u8
bde_payload_proto
;
216
u8
bde_n_paths
;
217
vl_api_fib_path_t bde_paths[bde_n_paths];
218
};
219
220
define bier_disp_entry_dump
221
{
222
u32
client_index
;
223
u32
context
;
224
u32
bde_tbl_id
;
225
};
226
227
define bier_disp_entry_details
228
{
229
u32
context
;
230
u16
bde_bp
;
231
u32
bde_tbl_id
;
232
bool
bde_is_add
;
233
u8
bde_payload_proto
;
234
u8
bde_n_paths
;
235
vl_api_fib_path_t bde_paths[bde_n_paths];
236
};
237
238
/*
239
* Local Variables:
240
* eval: (c-set-style "gnu")
241
* End:
242
*/
vl_api_bier_table_add_del_t::client_index
u32 client_index
Definition:
bier.api:48
vl_api_bier_imp_add_reply_t::bi_index
u32 bi_index
Definition:
bier.api:140
vl_api_bier_imp_details_t::context
u32 context
Definition:
bier.api:164
vl_api_bier_imp_add_t::client_index
u32 client_index
Definition:
bier.api:123
vl_api_bier_disp_entry_add_del_t::bde_paths
vl_api_fib_path_t bde_paths[bde_n_paths]
Definition:
bier.api:217
vl_api_bier_imp_add_t::bi_tbl_id
vl_api_bier_table_id_t bi_tbl_id
Definition:
bier.api:125
bier_route
typedef bier_route
BIER Route Add / del route.
Definition:
bier.api:82
vl_api_bier_imp_dump_t
Definition:
bier.api:156
vl_api_bier_table_add_del_t::context
u32 context
Definition:
bier.api:49
vl_api_bier_disp_entry_add_del_t::context
u32 context
Definition:
bier.api:211
vl_api_bier_disp_entry_details_t::context
u32 context
Definition:
bier.api:229
vl_api_bier_disp_table_dump_t::client_index
u32 client_index
Definition:
bier.api:186
vl_api_bier_route_dump_t::br_tbl_id
vl_api_bier_table_id_t br_tbl_id
Definition:
bier.api:102
vl_api_bier_disp_table_dump_t::context
u32 context
Definition:
bier.api:187
vl_api_bier_imp_dump_t::client_index
u32 client_index
Definition:
bier.api:158
vl_api_bier_imp_del_t::context
u32 context
Definition:
bier.api:152
bt_sub_domain
u8 bt_sub_domain
Definition:
bier.api:33
vl_api_bier_disp_entry_details_t::bde_payload_proto
u8 bde_payload_proto
Definition:
bier.api:233
vl_api_bier_route_dump_t::context
u32 context
Definition:
bier.api:101
vl_api_bier_route_dump_t
Definition:
bier.api:98
u16
unsigned short u16
Definition:
types.h:57
vl_api_bier_table_details_t
Definition:
bier.api:61
vl_api_bier_disp_entry_add_del_t::bde_n_paths
u8 bde_n_paths
Definition:
bier.api:216
vl_api_bier_table_dump_t::client_index
u32 client_index
Definition:
bier.api:57
vl_api_bier_table_add_del_t::bt_is_add
bool bt_is_add
Definition:
bier.api:52
vl_api_bier_disp_entry_add_del_t::bde_is_add
bool bde_is_add
Definition:
bier.api:214
vl_api_bier_imp_details_t::bi_src
u16 bi_src
Definition:
bier.api:166
vl_api_bier_imp_dump_t::context
u32 context
Definition:
bier.api:159
vl_api_bier_table_add_del_t
BIER Table Add / del route.
Definition:
bier.api:46
vl_api_bier_disp_table_details_t
Definition:
bier.api:190
i32
signed int i32
Definition:
types.h:77
vl_api_bier_disp_table_dump_t
Definition:
bier.api:184
vl_api_bier_table_details_t::bt_tbl_id
vl_api_bier_table_id_t bt_tbl_id
Definition:
bier.api:65
vl_api_bier_disp_entry_dump_t::context
u32 context
Definition:
bier.api:223
vl_api_bier_imp_add_reply_t::retval
i32 retval
Definition:
bier.api:139
br_n_paths
u8 br_n_paths
Definition:
bier.api:85
vl_api_bier_route_add_del_t
Definition:
bier.api:89
vl_api_bier_disp_entry_details_t::bde_bp
u16 bde_bp
Definition:
bier.api:230
br_paths
vl_api_fib_path_t br_paths[br_n_paths]
Definition:
bier.api:86
vl_api_bier_imp_details_t::bi_n_bytes
u8 bi_n_bytes
Definition:
bier.api:167
vl_api_bier_disp_entry_details_t
Definition:
bier.api:227
vl_api_bier_disp_table_add_del_t::context
u32 context
Definition:
bier.api:179
vl_api_bier_imp_add_t::bi_bytes
u8 bi_bytes[bi_n_bytes]
Definition:
bier.api:128
vl_api_bier_route_add_del_t::client_index
u32 client_index
Definition:
bier.api:91
vl_api_bier_table_details_t::bt_label
u32 bt_label
Definition:
bier.api:64
vl_api_bier_table_dump_t
Definition:
bier.api:55
vl_api_bier_imp_details_t::bi_bytes
u8 bi_bytes[bi_n_bytes]
Definition:
bier.api:168
vl_api_bier_disp_entry_add_del_t::bde_payload_proto
u8 bde_payload_proto
Definition:
bier.api:215
vl_api_bier_disp_entry_dump_t::client_index
u32 client_index
Definition:
bier.api:222
vl_api_bier_imp_del_t
BIER Imposition Del.
Definition:
bier.api:149
vl_api_bier_route_dump_t::client_index
u32 client_index
Definition:
bier.api:100
vl_api_bier_table_add_del_t::bt_tbl_id
vl_api_bier_table_id_t bt_tbl_id
Definition:
bier.api:50
vl_api_bier_imp_details_t::bi_tbl_id
vl_api_bier_table_id_t bi_tbl_id
Definition:
bier.api:165
vl_api_bier_disp_table_details_t::context
u32 context
Definition:
bier.api:192
vl_api_bier_imp_add_t
BIER Imposition Add.
Definition:
bier.api:121
vl_api_bier_imp_add_reply_t::context
u32 context
Definition:
bier.api:138
vl_api_bier_table_details_t::context
u32 context
Definition:
bier.api:63
vl_api_bier_disp_entry_details_t::bde_paths
vl_api_fib_path_t bde_paths[bde_n_paths]
Definition:
bier.api:235
vl_api_bier_imp_details_t
Definition:
bier.api:162
vl_api_bier_table_dump_t::context
u32 context
Definition:
bier.api:58
vl_api_bier_route_details_t::context
u32 context
Definition:
bier.api:107
vl_api_bier_route_add_del_t::br_route
vl_api_bier_route_t br_route
Definition:
bier.api:95
vl_api_bier_disp_entry_add_del_t::bde_tbl_id
u32 bde_tbl_id
Definition:
bier.api:213
vl_api_bier_disp_entry_dump_t
Definition:
bier.api:220
vl_api_bier_imp_add_t::bi_src
u16 bi_src
Definition:
bier.api:126
vl_api_bier_route_add_del_t::context
u32 context
Definition:
bier.api:92
vl_api_bier_disp_table_add_del_t::client_index
u32 client_index
Definition:
bier.api:178
vl_api_bier_imp_del_t::client_index
u32 client_index
Definition:
bier.api:151
vl_api_bier_disp_table_add_del_t::bdt_is_add
bool bdt_is_add
Definition:
bier.api:181
u32
unsigned int u32
Definition:
types.h:88
bier_table_id
typedef bier_table_id
BIER Table Identifier.
Definition:
bier.api:31
br_tbl_id
vl_api_bier_table_id_t br_tbl_id
Definition:
bier.api:84
vl_api_bier_disp_entry_details_t::bde_n_paths
u8 bde_n_paths
Definition:
bier.api:234
vl_api_bier_table_add_del_t::bt_label
u32 bt_label
Definition:
bier.api:51
vl_api_bier_imp_add_t::bi_n_bytes
u8 bi_n_bytes
Definition:
bier.api:127
vl_api_bier_disp_entry_add_del_t
BIER Disposition Entry Add / del.
Definition:
bier.api:208
vl_api_bier_disp_table_add_del_t::bdt_tbl_id
u32 bdt_tbl_id
Definition:
bier.api:180
vl_api_bier_disp_entry_details_t::bde_is_add
bool bde_is_add
Definition:
bier.api:232
u8
unsigned char u8
Definition:
types.h:56
vl_api_bier_route_add_del_t::br_is_add
bool br_is_add
Definition:
bier.api:93
vl_api_bier_route_details_t::br_route
vl_api_bier_route_t br_route
Definition:
bier.api:108
version
option version
Definition:
bier.api:22
vl_api_bier_imp_add_reply_t
Reply for BIER route add / del request.
Definition:
bier.api:136
vl_api_bier_imp_add_t::context
u32 context
Definition:
bier.api:124
vl_api_bier_disp_entry_details_t::bde_tbl_id
u32 bde_tbl_id
Definition:
bier.api:231
vl_api_bier_disp_entry_add_del_t::client_index
u32 client_index
Definition:
bier.api:210
vl_api_bier_disp_table_add_del_t
BIER Disposition Table Add / del route.
Definition:
bier.api:176
vl_api_bier_disp_table_details_t::bdt_tbl_id
u32 bdt_tbl_id
Definition:
bier.api:193
vl_api_bier_route_add_del_t::br_is_replace
bool br_is_replace
Definition:
bier.api:94
vl_api_bier_route_details_t
Definition:
bier.api:105
bt_hdr_len_id
u8 bt_hdr_len_id
Definition:
bier.api:34
vl_api_bier_imp_del_t::bi_index
u32 bi_index
Definition:
bier.api:153
vl_api_bier_disp_entry_dump_t::bde_tbl_id
u32 bde_tbl_id
Definition:
bier.api:224
vl_api_bier_disp_entry_add_del_t::bde_bp
u16 bde_bp
Definition:
bier.api:212
src
vnet
bier
bier.api
Generated on Sat Jan 8 2022 10:36:09 for FD.io VPP by
1.8.17