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.
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
22 define l2_xconnect_details
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
33 define l2_xconnect_dump
39 /** \brief l2 fib table entry 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
47 define l2_fib_table_entry
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
62 define l2_fib_table_dump
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
73 define l2_fib_clear_table
79 /** \brief L2 fib clear table response
80 @param context - sender context, to match reply w/ request
81 @param retval - return code for the request
83 define l2_fib_clear_table_reply
89 /** \brief L2 FIB add entry request
90 @param client_index - opaque cookie to identify the sender
91 @param context - sender context, to match reply w/ request
92 @param mac - the entry's mac address
93 @param bd_id - the entry's bridge domain id
94 @param sw_if_index - the interface
95 @param is_add - If non zero add the entry, else delete it
112 /** \brief L2 FIB add entry response
113 @param context - sender context, to match reply w/ request
114 @param retval - return code for the add l2fib entry request
116 define l2fib_add_del_reply
122 /** \brief Set L2 flags request !!! TODO - need more info, feature bits in l2_input.h
123 @param client_index - opaque cookie to identify the sender
124 @param context - sender context, to match reply w/ request
125 @param sw_if_index - interface
126 @param is_set - if non-zero, set the bits, else clear them
127 @param feature_bitmap - non-zero bits to set or clear
138 /** \brief Set L2 bits response
139 @param context - sender context, to match reply w/ request
140 @param retval - return code for the set l2 bits request
142 define l2_flags_reply
146 u32 resulting_feature_bitmap;
149 /** \brief L2 bridge domain set mac age
150 @param client_index - opaque cookie to identify the sender
151 @param context - sender context, to match reply w/ request
152 @param bd_id - the bridge domain to create
153 @param mac_age - mac aging time in min, 0 for disabled
155 define bridge_domain_set_mac_age
163 /** \brief Set bridge domain response
164 @param context - sender context, to match reply w/ request
165 @param retval - return code for the set l2 bits request
167 define bridge_domain_set_mac_age_reply
173 /** \brief L2 bridge domain add or delete request
174 @param client_index - opaque cookie to identify the sender
175 @param context - sender context, to match reply w/ request
176 @param bd_id - the bridge domain to create
177 @param flood - enable/disable bcast/mcast flooding in the bd
178 @param uu_flood - enable/disable uknown unicast flood in the bd
179 @param forward - enable/disable forwarding on all interfaces in the bd
180 @param learn - enable/disable learning on all interfaces in the bd
181 @param arp_term - enable/disable arp termination in the bd
182 @param mac_age - mac aging time in min, 0 for disabled
183 @param is_add - add or delete flag
185 define bridge_domain_add_del
199 /** \brief L2 bridge domain add or delete response
200 @param context - sender context, to match reply w/ request
201 @param retval - return code for the set bridge flags request
203 define bridge_domain_add_del_reply
209 /** \brief L2 bridge domain request operational state details
210 @param client_index - opaque cookie to identify the sender
211 @param context - sender context, to match reply w/ request
212 @param bd_id - the bridge domain id desired or ~0 to request all bds
214 define bridge_domain_dump
221 /** \brief L2 bridge domain operational state response
222 @param bd_id - the bridge domain id
223 @param flood - bcast/mcast flooding state on all interfaces in the bd
224 @param uu_flood - uknown unicast flooding state on all interfaces in the bd
225 @param forward - forwarding state on all interfaces in the bd
226 @param learn - learning state on all interfaces in the bd
227 @param arp_term - arp termination state on all interfaces in the bd
228 @param mac_age - mac aging time in min, 0 for disabled
229 @param n_sw_ifs - number of sw_if_index's in the domain
231 define bridge_domain_details
245 /** \brief L2 bridge domain sw interface operational state response
246 @param bd_id - the bridge domain id
247 @param sw_if_index - sw_if_index in the domain
248 @param shg - split horizon group for the interface
250 define bridge_domain_sw_if_details
258 /** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD,
259 L2_UU_FLOOD, or L2_ARP_TERM) request
260 @param client_index - opaque cookie to identify the sender
261 @param context - sender context, to match reply w/ request
262 @param bd_id - the bridge domain to set the flags for
263 @param is_set - if non-zero, set the flags, else clear them
264 @param feature_bitmap - bits that are non-zero to set or clear
275 /** \brief Set bridge flags response
276 @param context - sender context, to match reply w/ request
277 @param retval - return code for the set bridge flags request
278 @param resulting_feature_bitmap - the feature bitmap value after the request is implemented
280 define bridge_flags_reply
284 u32 resulting_feature_bitmap;
287 /** \brief L2 interface vlan tag rewrite configure request
288 @param client_index - opaque cookie to identify the sender
289 @param context - sender context, to match reply w/ request
290 @param sw_if_index - interface the operation is applied to
291 @param vtr_op - Choose from l2_vtr_op_t enum values
292 @param push_dot1q - first pushed flag dot1q id set, else dot1ad
293 @param tag1 - Needed for any push or translate vtr op
294 @param tag2 - Needed for any push 2 or translate x-2 vtr ops
296 define l2_interface_vlan_tag_rewrite
302 u32 push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad
303 u32 tag1; // first pushed tag
304 u32 tag2; // second pushed tag
307 /** \brief L2 interface vlan tag rewrite response
308 @param context - sender context, to match reply w/ request
309 @param retval - return code for the request
311 define l2_interface_vlan_tag_rewrite_reply
317 /** \brief L2 interface pbb tag rewrite configure request
318 @param client_index - opaque cookie to identify the sender
319 @param context - sender context, to match reply w/ request
320 @param sw_if_index - interface the operation is applied to
321 @param vtr_op - Choose from l2_vtr_op_t enum values
322 @param inner_tag - needed for translate_qinq vtr op only
323 @param outer_tag - needed for translate_qinq vtr op only
324 @param b_dmac - B-tag remote mac address, needed for any push or translate_qinq vtr op
325 @param b_smac - B-tag local mac address, needed for any push or translate qinq vtr op
326 @param b_vlanid - B-tag vlanid, needed for any push or translate qinq vtr op
327 @param i_sid - I-tag service id, needed for any push or translate qinq vtr op
329 define l2_interface_pbb_tag_rewrite
342 /** \brief L2 interface pbb tag rewrite response
343 @param context - sender context, to match reply w/ request
344 @param retval - return code for the request
346 define l2_interface_pbb_tag_rewrite_reply
354 * eval: (c-set-style "gnu")