FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
bier.api
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /** \file
17 
18  This file defines vpp BIER control-plane API messages which are generally
19  called through a shared memory interface.
20 */
21 option version = "1.1.0";
22 import "vnet/fib/fib_types.api";
23 
24 /** \brief BIER Table Indentifier
25  @param bt_set - The BIER set
26  @param bt_sub_domain - the sud-domain
27  @param bt_bit_header_length - the number of bits in the header length
28 */
29 typeonly define bier_table_id
30 {
34 };
35 
36 /** \brief BIER Table Add / del route
37  @param client_index - opaque cookie to identify the sender
38  @param context - sender context, to match reply w/ request
39  @param bt_tbl_id - The BIER table-id the route is added in
40  @param bt_label - The MPLS label for the table (0 or all ones means not set)
41  If the label is not set, then it is assumed that non-MPLS
42  encoding is used.
43  @param bt_is_add - Is this a route add or delete
44 */
45 autoreply define bier_table_add_del
46 {
52 };
53 
54 define bier_table_dump
55 {
58 };
59 
60 define bier_table_details
61 {
65 };
66 
67 /** \brief BIER Route Add / del route
68  @param client_index - opaque cookie to identify the sender
69  @param context - sender context, to match reply w/ request
70  @param br_bp - The Bit-position value
71  @param br_tbl_id - The BIER table-id the route is added in
72  @param br_is_add - Is this a route add or delete
73  @param br_is_replace - Are the paths specfied replacing those already
74  present or are they to be combined.
75  is_replace = 1 and n_paths=0 implies delete the
76  route and all paths;
77  @param br_n_paths - The number of paths
78  @param br_paths - The array of paths
79 */
80 autoreply define bier_route_add_del
81 {
89  vl_api_fib_path_t br_paths[br_n_paths];
90 };
91 
92 define bier_route_dump
93 {
97 };
98 
99 define bier_route_details
100 {
105  vl_api_fib_path_t br_paths[br_n_paths];
106 };
107 
108 /** \brief BIER Imposition Add
109  @param client_index - opaque cookie to identify the sender
110  @param context - sender context, to match reply w/ request
111  @param bi_tbl_id - The BIER table-id used to forward post encap
112  @param bi_src - The source Bit-position in the encap.
113  @param bi_n_bytes - The number of bytes in the following bit-string.
114  VPP only supports BSL of 1024 and less, so this is
115  a u8 field.
116  @param bi_bytes - The bit-string represented as a byte array (MSB first)
117 */
118 define bier_imp_add
119 {
125  u8 bi_bytes[bi_n_bytes];
126 };
127 
128 /** \brief Reply for BIER route add / del request
129  @param context - returned sender context, to match reply w/ request
130  @param retval - return code
131  @param bi_index - The index of the created imposition object.
132 */
133 define bier_imp_add_reply
134 {
138 };
139 
140 /** \brief BIER Imposition Del
141  @param client_index - opaque cookie to identify the sender
142  @param context - sender context, to match reply w/ request
143  @param bi_index - The index of the imposition object (as returned
144  from the ADD)
145 */
146 autoreply define bier_imp_del
147 {
151 };
152 
153 define bier_imp_dump
154 {
157 };
158 
159 define bier_imp_details
160 {
165  u8 bi_bytes[bi_n_bytes];
166 };
167 
168 /** \brief BIER Disposition Table Add / del route
169  @param client_index - opaque cookie to identify the sender
170  @param context - sender context, to match reply w/ request
171  @param bt_tbl_id - The BIER Disposition table-id.
172 */
173 autoreply define bier_disp_table_add_del
174 {
179 };
180 
181 define bier_disp_table_dump
182 {
185 };
186 
187 define bier_disp_table_details
188 {
191 };
192 
193 /** \brief BIER Disposition Entry Add / del
194  @param client_index - opaque cookie to identify the sender
195  @param context - sender context, to match reply w/ request
196  @param bde_bp - The Bit-position value for the entry, i.e. the sender's
197  Use 0 for the default (match any source) entry.
198  @param bde_tbl_id - The BIER dispositiontable-id the route is added in
199  @param bde_next_hop_sw_if_index - the nextop interface
200  @param bde_is_add - Is this a route add or delete
201  @param bde_payload_proto - The payload protocol for which the next-hop
202  is added
203  @param bde_paths - The outgoing paths for the entry
204 */
205 autoreply define bier_disp_entry_add_del
206 {
214  vl_api_fib_path_t bde_paths[bde_n_paths];
215 };
216 
217 define bier_disp_entry_dump
218 {
222 };
223 
224 define bier_disp_entry_details
225 {
232  vl_api_fib_path_t bde_paths[bde_n_paths];
233 };
234 
235 /*
236  * Local Variables:
237  * eval: (c-set-style "gnu")
238  * End:
239  */
vl_api_bier_table_id_t bt_tbl_id
Definition: bier.api:64
option version
Definition: bier.api:21
u32 client_index
Definition: bier.api:207
vl_api_bier_table_id_t bi_tbl_id
Definition: bier.api:122
u32 bde_tbl_id
Definition: bier.api:210
vl_api_bier_table_id_t br_tbl_id
Definition: bier.api:87
unsigned char u8
Definition: types.h:56
u16 bde_bp
Definition: bier.api:209
vl_api_bier_table_id_t bi_tbl_id
Definition: bier.api:162
unsigned int u32
Definition: types.h:88
u8 bde_is_add
Definition: bier.api:229
u16 bde_bp
Definition: bier.api:227
u32 context
Definition: bier.api:226
unsigned short u16
Definition: types.h:57
vl_api_bier_table_id_t br_tbl_id
Definition: bier.api:103
BIER Table Indentifier.
Definition: bier.api:29
u8 bde_payload_proto
Definition: bier.api:230
signed int i32
Definition: types.h:77
u8 bde_payload_proto
Definition: bier.api:212
FIB path.
Definition: fib_types.api:47
u32 bde_tbl_id
Definition: bier.api:221
u32 context
Definition: bier.api:220
vl_api_bier_table_id_t br_tbl_id
Definition: bier.api:96
u32 client_index
Definition: bier.api:219
vl_api_bier_table_id_t bt_tbl_id
Definition: bier.api:49
u8 bde_is_add
Definition: bier.api:211
u8 bde_n_paths
Definition: bier.api:213
u32 context
Definition: bier.api:208
u8 bde_n_paths
Definition: bier.api:231
u32 bde_tbl_id
Definition: bier.api:228