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:
7 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 This file defines vpp BIER control-plane API messages which are generally
19 called through a shared memory interface.
23 /** \brief BIER Table Indentifier
26 @param bt_bit_header_length
28 typeonly define bier_table_id
35 /** \brief BIER Table Add / del route
36 @param client_index - opaque cookie to identify the sender
37 @param context - sender context, to match reply w/ request
38 @param bt_tbl_id - The BIER table-id the route is added in
39 @param bt_mpls_label - The MPLS label for the table
40 @param bt_is_add - Is this a route add or delete
42 autoreply define bier_table_add_del
46 vl_api_bier_table_id_t bt_tbl_id;
51 define bier_table_dump
57 define bier_table_details
61 vl_api_bier_table_id_t bt_tbl_id;
65 @param sw_if_index - index of the interface
66 @param weight - The weight, for UCMP
67 @param preference - The preference of the path. lowest preference is prefered
68 @param is_local - local if non-zero, else remote
69 @param is_drop - Drop the packet
70 @param is_unreach - Drop the packet and rate limit send ICMP unreachable
71 @param is_prohibit - Drop the packet and rate limit send ICMP prohibited
72 @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2
73 @param next_hop[16] - the next hop address
75 WARNING: this type is replicated, pending cleanup completion
77 typeonly define fib_path3
94 /** \brief BIER Route Add / del route
95 @param client_index - opaque cookie to identify the sender
96 @param context - sender context, to match reply w/ request
97 @param br_bp - The Bit-position value
98 @param br_tbl_id - The BIER table-id the route is added in
99 @param br_is_add - Is this a route add or delete
100 @param br_is_replace - Are the paths specfied replacing those already
101 present or are they to be combined.
102 @param br_n_paths - The number of paths
103 @param br_paths - The array of paths
105 autoreply define bier_route_add_del
112 vl_api_bier_table_id_t br_tbl_id;
114 vl_api_fib_path3_t br_paths[br_n_paths];
117 define bier_route_dump
121 vl_api_bier_table_id_t br_tbl_id;
124 define bier_route_details
129 vl_api_bier_table_id_t br_tbl_id;
131 vl_api_fib_path3_t br_paths[br_n_paths];
134 /** \brief BIER Imposition Add
135 @param client_index - opaque cookie to identify the sender
136 @param context - sender context, to match reply w/ request
137 @param bi_tbl_id - The BIER table-id used to forward post encap
138 @param bi_src - The source Bit-position in the encap.
139 @param bi_is_add - Is this a route add or delete
140 @param bi_n_bytes - The number of bytes in the following bit-string
141 @param bi_bytes - The bit-string represented as a byte array
147 vl_api_bier_table_id_t bi_tbl_id;
151 u8 bi_bytes[bi_n_bytes];
154 /** \brief Reply for BIER route add / del request
155 @param context - returned sender context, to match reply w/ request
156 @param retval - return code
157 @param bi_index - The index of the created imposition object.
159 define bier_imp_add_reply
166 /** \brief BIER Imposition Del
167 @param client_index - opaque cookie to identify the sender
168 @param context - sender context, to match reply w/ request
169 @param bi_index - The index of the imposition object (as returned
172 autoreply define bier_imp_del
185 define bier_imp_details
189 vl_api_bier_table_id_t bi_tbl_id;
192 u8 bi_bytes[bi_n_bytes];
195 /** \brief BIER Disposition Table Add / del route
196 @param client_index - opaque cookie to identify the sender
197 @param context - sender context, to match reply w/ request
198 @param bt_tbl_id - The BIER Disposition table-id.
200 autoreply define bier_disp_table_add_del
208 define bier_disp_table_dump
214 define bier_disp_table_details
220 /** \brief BIER Disposition Entry Add / del
221 @param client_index - opaque cookie to identify the sender
222 @param context - sender context, to match reply w/ request
223 @param bde_bp - The Bit-position value for the entry
224 @param bde_tbl_id - The BIER dispositiontable-id the route is added in
225 @param bde_next_hop_sw_if_index - the nextop interface
226 @param bde_is_add - Is this a route add or delete
227 @param bde_payload_proto - The payload protocol for which the next-hop
229 @param bde_next_hop_table_id - The table ID for the next-hop
230 @param bde_next_hop_proto_is_ip4 - The next-hop is IPV4
231 @param bde_next_hop[16] - the nextop address.
232 Set this to all 0s for dispostion.
234 autoreply define bier_disp_entry_add_del
241 u8 bde_payload_proto;
243 vl_api_fib_path3_t bde_paths[bde_n_paths];
246 define bier_disp_entry_dump
253 define bier_disp_entry_details
259 u8 bde_payload_proto;
261 vl_api_fib_path3_t bde_paths[bde_n_paths];
266 * eval: (c-set-style "gnu")