blob: 380d29737058eddce2b7fa62e84f2497c6eb2381 [file] [log] [blame]
Neale Rannsd792d9c2017-10-21 10:53:20 -07001/*
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*/
Ole Troan9d420872017-10-12 13:06:35 +020021option version = "1.0.0";
22import "vnet/fib/fib_types.api";
Neale Rannsd792d9c2017-10-21 10:53:20 -070023
24/** \brief BIER Table Indentifier
Neale Rannsfa1da152017-12-12 05:32:50 -080025 @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
Neale Rannsd792d9c2017-10-21 10:53:20 -070028*/
29typeonly define bier_table_id
30{
31 u8 bt_set;
32 u8 bt_sub_domain;
33 u8 bt_hdr_len_id;
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
Neale Ranns91286372017-12-05 13:24:04 -080040 @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.
Neale Rannsd792d9c2017-10-21 10:53:20 -070043 @param bt_is_add - Is this a route add or delete
44*/
45autoreply define bier_table_add_del
46{
47 u32 client_index;
48 u32 context;
49 vl_api_bier_table_id_t bt_tbl_id;
50 u32 bt_label;
51 u8 bt_is_add;
52};
53
54define bier_table_dump
55{
56 u32 client_index;
57 u32 context;
58};
59
60define bier_table_details
61{
62 u32 context;
63 u32 bt_label;
64 vl_api_bier_table_id_t bt_tbl_id;
65};
66
Neale Rannsd792d9c2017-10-21 10:53:20 -070067/** \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 @param br_n_paths - The number of paths
76 @param br_paths - The array of paths
77*/
78autoreply define bier_route_add_del
79{
80 u32 client_index;
81 u32 context;
Neale Rannsbe302d72017-12-19 01:34:30 -080082 u32 br_bp;
Neale Rannsd792d9c2017-10-21 10:53:20 -070083 u8 br_is_add;
84 u8 br_is_replace;
85 vl_api_bier_table_id_t br_tbl_id;
86 u8 br_n_paths;
87 vl_api_fib_path3_t br_paths[br_n_paths];
88};
89
90define bier_route_dump
91{
92 u32 client_index;
93 u32 context;
94 vl_api_bier_table_id_t br_tbl_id;
95};
96
97define bier_route_details
98{
99 u32 client_index;
100 u32 context;
101 u16 br_bp;
102 vl_api_bier_table_id_t br_tbl_id;
103 u32 br_n_paths;
104 vl_api_fib_path3_t br_paths[br_n_paths];
105};
106
107/** \brief BIER Imposition Add
108 @param client_index - opaque cookie to identify the sender
109 @param context - sender context, to match reply w/ request
110 @param bi_tbl_id - The BIER table-id used to forward post encap
111 @param bi_src - The source Bit-position in the encap.
Neale Rannsd792d9c2017-10-21 10:53:20 -0700112 @param bi_n_bytes - The number of bytes in the following bit-string
Neale Rannsfa1da152017-12-12 05:32:50 -0800113 @param bi_bytes - The bit-string represented as a byte array (MSB first)
Neale Rannsd792d9c2017-10-21 10:53:20 -0700114*/
115define bier_imp_add
116{
117 u32 client_index;
118 u32 context;
119 vl_api_bier_table_id_t bi_tbl_id;
120 u16 bi_src;
Neale Rannsd792d9c2017-10-21 10:53:20 -0700121 u8 bi_n_bytes;
122 u8 bi_bytes[bi_n_bytes];
123};
124
125/** \brief Reply for BIER route add / del request
126 @param context - returned sender context, to match reply w/ request
127 @param retval - return code
128 @param bi_index - The index of the created imposition object.
129*/
130define bier_imp_add_reply
131{
132 u32 context;
133 i32 retval;
134 u32 bi_index;
135};
136
137/** \brief BIER Imposition Del
138 @param client_index - opaque cookie to identify the sender
139 @param context - sender context, to match reply w/ request
140 @param bi_index - The index of the imposition object (as returned
141 from the ADD)
142*/
143autoreply define bier_imp_del
144{
145 u32 client_index;
146 u32 context;
147 u32 bi_index;
148};
149
150define bier_imp_dump
151{
152 u32 client_index;
153 u32 context;
154};
155
156define bier_imp_details
157{
158 u32 client_index;
159 u32 context;
160 vl_api_bier_table_id_t bi_tbl_id;
161 u16 bi_src;
162 u8 bi_n_bytes;
163 u8 bi_bytes[bi_n_bytes];
164};
165
166/** \brief BIER Disposition Table Add / del route
167 @param client_index - opaque cookie to identify the sender
168 @param context - sender context, to match reply w/ request
169 @param bt_tbl_id - The BIER Disposition table-id.
170*/
171autoreply define bier_disp_table_add_del
172{
173 u32 client_index;
174 u32 context;
175 u32 bdt_tbl_id;
176 u8 bdt_is_add;
177};
178
179define bier_disp_table_dump
180{
181 u32 client_index;
182 u32 context;
183};
184
185define bier_disp_table_details
186{
187 u32 context;
188 u32 bdt_tbl_id;
189};
190
191/** \brief BIER Disposition Entry Add / del
192 @param client_index - opaque cookie to identify the sender
193 @param context - sender context, to match reply w/ request
Neale Rannsceb4d052017-12-13 09:13:41 -0800194 @param bde_bp - The Bit-position value for the entry, i.e. the sender's
195 Use 0 for the default (match any source) entry.
Neale Rannsd792d9c2017-10-21 10:53:20 -0700196 @param bde_tbl_id - The BIER dispositiontable-id the route is added in
197 @param bde_next_hop_sw_if_index - the nextop interface
198 @param bde_is_add - Is this a route add or delete
199 @param bde_payload_proto - The payload protocol for which the next-hop
200 is added
Neale Rannsfa1da152017-12-12 05:32:50 -0800201 @param bde_paths - The outgoing paths for the entry
Neale Rannsd792d9c2017-10-21 10:53:20 -0700202*/
203autoreply define bier_disp_entry_add_del
204{
205 u32 client_index;
206 u32 context;
207 u16 bde_bp;
208 u32 bde_tbl_id;
209 u8 bde_is_add;
210 u8 bde_payload_proto;
211 u8 bde_n_paths;
212 vl_api_fib_path3_t bde_paths[bde_n_paths];
213};
214
215define bier_disp_entry_dump
216{
217 u32 client_index;
218 u32 context;
219 u32 bde_tbl_id;
220};
221
222define bier_disp_entry_details
223{
224 u32 context;
225 u16 bde_bp;
226 u32 bde_tbl_id;
227 u8 bde_is_add;
228 u8 bde_payload_proto;
229 u8 bde_n_paths;
230 vl_api_fib_path3_t bde_paths[bde_n_paths];
231};
232
233/*
234 * Local Variables:
235 * eval: (c-set-style "gnu")
236 * End:
237 */