FD.io VPP  v17.07-30-g839fa73
Vector Packet Processing
l2.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 /** \brief Reply to l2_xconnect_dump
18  @param context - sender context which was passed in the request
19  @param rx_sw_if_index - Receive interface index
20  @param tx_sw_if_index - Transmit interface index
21  */
22 define l2_xconnect_details
23 {
27 };
28 
29 /** \brief Dump L2 XConnects
30  @param client_index - opaque cookie to identify the sender
31  @param context - sender context, to match reply w/ request
32 */
33 define l2_xconnect_dump
34 {
37 };
38 
39 /** \brief l2 fib table details structure
40  @param bd_id - the l2 fib / bridge domain table id
41  @param mac - the entry's mac address
42  @param sw_if_index - index of the interface
43  @param static_mac - the entry is statically configured.
44  @param filter_mac - the entry is a mac filter entry.
45  @param bvi_mac - the mac address is a bridge virtual interface
46 */
47 define l2_fib_table_details
48 {
56 };
57 
58 /** \brief Dump l2 fib (aka bridge domain) table
59  @param client_index - opaque cookie to identify the sender
60  @param bd_id - the l2 fib / bridge domain table identifier
61 */
62 define l2_fib_table_dump
63 {
67 };
68 
69 /** \brief L2 fib clear table request, clear all mac entries in the l2 fib
70  @param client_index - opaque cookie to identify the sender
71  @param context - sender context, to match reply w/ request
72 */
73 autoreply define l2_fib_clear_table
74 {
77 };
78 
79 /** \brief L2 FIB flush all entries
80  @param client_index - opaque cookie to identify the sender
81  @param context - sender context, to match reply w/ request
82 */
83 autoreply define l2fib_flush_all
84 {
87 };
88 
89 /** \brief L2 FIB flush bridge domain entries
90  @param client_index - opaque cookie to identify the sender
91  @param context - sender context, to match reply w/ request
92  @param bd_id - the entry's bridge domain id
93 */
94 autoreply define l2fib_flush_bd
95 {
99 };
100 
101 /** \brief L2 FIB flush interface entries
102  @param client_index - opaque cookie to identify the sender
103  @param context - sender context, to match reply w/ request
104  @param bd_id - the entry's bridge domain id
105 */
106 autoreply define l2fib_flush_int
107 {
111 };
112 
113 /** \brief L2 FIB add entry request
114  @param client_index - opaque cookie to identify the sender
115  @param context - sender context, to match reply w/ request
116  @param mac - the entry's mac address
117  @param bd_id - the entry's bridge domain id
118  @param sw_if_index - the interface
119  @param is_add - If non zero add the entry, else delete it
120  @param static_mac -
121  @param filter_mac -
122 */
123 autoreply define l2fib_add_del
124 {
134 };
135 
136 /** \brief Set L2 flags request !!! TODO - need more info, feature bits in l2_input.h
137  @param client_index - opaque cookie to identify the sender
138  @param context - sender context, to match reply w/ request
139  @param sw_if_index - interface
140  @param is_set - if non-zero, set the bits, else clear them
141  @param feature_bitmap - non-zero bits to set or clear
142 */
143 define l2_flags
144 {
150 };
151 
152 /** \brief Set L2 bits response
153  @param context - sender context, to match reply w/ request
154  @param retval - return code for the set l2 bits request
155 */
156 define l2_flags_reply
157 {
161 };
162 
163 /** \brief L2 bridge domain set mac age
164  @param client_index - opaque cookie to identify the sender
165  @param context - sender context, to match reply w/ request
166  @param bd_id - the bridge domain to create
167  @param mac_age - mac aging time in min, 0 for disabled
168 */
169 autoreply define bridge_domain_set_mac_age
170 {
175 };
176 
177 /** \brief L2 bridge domain add or delete request
178  @param client_index - opaque cookie to identify the sender
179  @param context - sender context, to match reply w/ request
180  @param bd_id - the bridge domain to create
181  @param flood - enable/disable bcast/mcast flooding in the bd
182  @param uu_flood - enable/disable uknown unicast flood in the bd
183  @param forward - enable/disable forwarding on all interfaces in the bd
184  @param learn - enable/disable learning on all interfaces in the bd
185  @param arp_term - enable/disable arp termination in the bd
186  @param mac_age - mac aging time in min, 0 for disabled
187  @param is_add - add or delete flag
188 */
189 autoreply define bridge_domain_add_del
190 {
201 };
202 
203 /** \brief L2 bridge domain request operational state details
204  @param client_index - opaque cookie to identify the sender
205  @param context - sender context, to match reply w/ request
206  @param bd_id - the bridge domain id desired or ~0 to request all bds
207 */
208 define bridge_domain_dump
209 {
213 };
214 
215 /** \brief L2 bridge domain sw interface operational state response
216  @param bd_id - the bridge domain id
217  @param sw_if_index - sw_if_index in the domain
218  @param shg - split horizon group for the interface
219 */
220 typeonly manual_print manual_endian define bridge_domain_sw_if
221 {
225 };
226 
227 /** \brief L2 bridge domain operational state response
228  @param bd_id - the bridge domain id
229  @param flood - bcast/mcast flooding state on all interfaces in the bd
230  @param uu_flood - uknown unicast flooding state on all interfaces in the bd
231  @param forward - forwarding state on all interfaces in the bd
232  @param learn - learning state on all interfaces in the bd
233  @param arp_term - arp termination state on all interfaces in the bd
234  @param mac_age - mac aging time in min, 0 for disabled
235  @param n_sw_ifs - number of sw_if_index's in the domain
236 */
237 manual_print manual_endian define bridge_domain_details
238 {
249  vl_api_bridge_domain_sw_if_t sw_if_details[n_sw_ifs];
250 };
251 
252 /** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD,
253  L2_UU_FLOOD, or L2_ARP_TERM) request
254  @param client_index - opaque cookie to identify the sender
255  @param context - sender context, to match reply w/ request
256  @param bd_id - the bridge domain to set the flags for
257  @param is_set - if non-zero, set the flags, else clear them
258  @param feature_bitmap - bits that are non-zero to set or clear
259 */
260 define bridge_flags
261 {
267 };
268 
269 /** \brief Set bridge flags response
270  @param context - sender context, to match reply w/ request
271  @param retval - return code for the set bridge flags request
272  @param resulting_feature_bitmap - the feature bitmap value after the request is implemented
273 */
274 define bridge_flags_reply
275 {
279 };
280 
281 /** \brief L2 interface vlan tag rewrite configure request
282  @param client_index - opaque cookie to identify the sender
283  @param context - sender context, to match reply w/ request
284  @param sw_if_index - interface the operation is applied to
285  @param vtr_op - Choose from l2_vtr_op_t enum values
286  @param push_dot1q - first pushed flag dot1q id set, else dot1ad
287  @param tag1 - Needed for any push or translate vtr op
288  @param tag2 - Needed for any push 2 or translate x-2 vtr ops
289 */
290 autoreply define l2_interface_vlan_tag_rewrite
291 {
296  u32 push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad
297  u32 tag1; // first pushed tag
298  u32 tag2; // second pushed tag
299 };
300 
301 /** \brief L2 interface pbb tag rewrite configure request
302  @param client_index - opaque cookie to identify the sender
303  @param context - sender context, to match reply w/ request
304  @param sw_if_index - interface the operation is applied to
305  @param vtr_op - Choose from l2_vtr_op_t enum values
306  @param inner_tag - needed for translate_qinq vtr op only
307  @param outer_tag - needed for translate_qinq vtr op only
308  @param b_dmac - B-tag remote mac address, needed for any push or translate_qinq vtr op
309  @param b_smac - B-tag local mac address, needed for any push or translate qinq vtr op
310  @param b_vlanid - B-tag vlanid, needed for any push or translate qinq vtr op
311  @param i_sid - I-tag service id, needed for any push or translate qinq vtr op
312 */
313 autoreply define l2_interface_pbb_tag_rewrite
314 {
320  u8 b_dmac[6];
321  u8 b_smac[6];
324 };
325 
326 /*
327  * Local Variables:
328  * eval: (c-set-style "gnu")
329  * End:
330  */
L2 bridge domain sw interface operational state response.
Definition: l2.api:220
int i32
Definition: types.h:81
u32 feature_bitmap
Definition: l2.api:149
unsigned long u64
Definition: types.h:89
u32 client_index
Definition: l2.api:145
unsigned int u32
Definition: types.h:88
u32 resulting_feature_bitmap
Definition: l2.api:160
unsigned short u16
Definition: types.h:57
unsigned char u8
Definition: types.h:56
u32 sw_if_index
Definition: l2.api:147