1 /* Hey Emacs use -*- mode: C -*- */
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:
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 This file defines vpp BIER control-plane API messages which are generally
20 called through a shared memory interface.
22 option version = "1.2.1";
23 import "vnet/fib/fib_types.api";
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
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
44 @param bt_is_add - Is this a route add or delete
46 autoreply define bier_table_add_del
50 vl_api_bier_table_id_t bt_tbl_id;
55 define bier_table_dump
61 define bier_table_details
65 vl_api_bier_table_id_t bt_tbl_id;
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
78 @param br_n_paths - The number of paths
79 @param br_paths - The array of paths
84 vl_api_bier_table_id_t br_tbl_id;
86 vl_api_fib_path_t br_paths[br_n_paths];
89 autoreply define bier_route_add_del
95 vl_api_bier_route_t br_route;
98 define bier_route_dump
102 vl_api_bier_table_id_t br_tbl_id;
105 define bier_route_details
108 vl_api_bier_route_t br_route;
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
119 @param bi_bytes - The bit-string represented as a byte array (MSB first)
125 vl_api_bier_table_id_t bi_tbl_id;
128 u8 bi_bytes[bi_n_bytes];
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.
136 define bier_imp_add_reply
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
149 autoreply define bier_imp_del
162 define bier_imp_details
165 vl_api_bier_table_id_t bi_tbl_id;
168 u8 bi_bytes[bi_n_bytes];
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.
176 autoreply define bier_disp_table_add_del
184 define bier_disp_table_dump
190 define bier_disp_table_details
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
206 @param bde_paths - The outgoing paths for the entry
208 autoreply define bier_disp_entry_add_del
215 u8 bde_payload_proto;
217 vl_api_fib_path_t bde_paths[bde_n_paths];
220 define bier_disp_entry_dump
227 define bier_disp_entry_details
233 u8 bde_payload_proto;
235 vl_api_fib_path_t bde_paths[bde_n_paths];
240 * eval: (c-set-style "gnu")