blob: 5b24f259f687c29e9277c7a0ab6a7b05fefea0cb [file] [log] [blame]
Matus Fabianf468e232016-12-02 06:00:53 -08001/* 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 */
22define l2_xconnect_details
23{
24 u32 context;
25 u32 rx_sw_if_index;
26 u32 tx_sw_if_index;
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*/
33define l2_xconnect_dump
34{
35 u32 client_index;
36 u32 context;
37};
38
Pavel Kotucek0f971d82017-01-03 10:48:54 +010039/** \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
46*/
47define l2_fib_table_entry
48{
49 u32 context;
50 u32 bd_id;
51 u64 mac;
52 u32 sw_if_index;
53 u8 static_mac;
54 u8 filter_mac;
55 u8 bvi_mac;
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*/
62define l2_fib_table_dump
63{
64 u32 client_index;
65 u32 context;
66 u32 bd_id;
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*/
73define l2_fib_clear_table
74{
75 u32 client_index;
76 u32 context;
77};
78
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
82*/
83define l2_fib_clear_table_reply
84{
85 u32 context;
86 i32 retval;
87};
88
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
96 @param static_mac -
97 @param filter_mac -
98*/
99define l2fib_add_del
100{
101 u32 client_index;
102 u32 context;
103 u64 mac;
104 u32 bd_id;
105 u32 sw_if_index;
106 u8 is_add;
107 u8 static_mac;
108 u8 filter_mac;
109 u8 bvi_mac;
110};
111
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
115*/
116define l2fib_add_del_reply
117{
118 u32 context;
119 i32 retval;
120};
121
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
128*/
129define l2_flags
130{
131 u32 client_index;
132 u32 context;
133 u32 sw_if_index;
134 u8 is_set;
135 u32 feature_bitmap;
136};
137
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
141*/
142define l2_flags_reply
143{
144 u32 context;
145 i32 retval;
146 u32 resulting_feature_bitmap;
147};
148
149/** \brief L2 bridge domain add or delete request
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 flood - enable/disable bcast/mcast flooding in the bd
154 @param uu_flood - enable/disable uknown unicast flood in the bd
155 @param forward - enable/disable forwarding on all interfaces in the bd
156 @param learn - enable/disable learning on all interfaces in the bd
157 @param arp_term - enable/disable arp termination in the bd
158 @param mac_age - mac aging time in min, 0 for disabled
159 @param is_add - add or delete flag
160*/
161define bridge_domain_add_del
162{
163 u32 client_index;
164 u32 context;
165 u32 bd_id;
166 u8 flood;
167 u8 uu_flood;
168 u8 forward;
169 u8 learn;
170 u8 arp_term;
171 u8 mac_age;
172 u8 is_add;
173};
174
175/** \brief L2 bridge domain add or delete response
176 @param context - sender context, to match reply w/ request
177 @param retval - return code for the set bridge flags request
178*/
179define bridge_domain_add_del_reply
180{
181 u32 context;
182 i32 retval;
183};
184
185/** \brief L2 bridge domain request operational state details
186 @param client_index - opaque cookie to identify the sender
187 @param context - sender context, to match reply w/ request
188 @param bd_id - the bridge domain id desired or ~0 to request all bds
189*/
190define bridge_domain_dump
191{
192 u32 client_index;
193 u32 context;
194 u32 bd_id;
195};
196
197/** \brief L2 bridge domain operational state response
198 @param bd_id - the bridge domain id
199 @param flood - bcast/mcast flooding state on all interfaces in the bd
200 @param uu_flood - uknown unicast flooding state on all interfaces in the bd
201 @param forward - forwarding state on all interfaces in the bd
202 @param learn - learning state on all interfaces in the bd
203 @param arp_term - arp termination state on all interfaces in the bd
204 @param mac_age - mac aging time in min, 0 for disabled
205 @param n_sw_ifs - number of sw_if_index's in the domain
206*/
207define bridge_domain_details
208{
209 u32 context;
210 u32 bd_id;
211 u8 flood;
212 u8 uu_flood;
213 u8 forward;
214 u8 learn;
215 u8 arp_term;
216 u8 mac_age;
217 u32 bvi_sw_if_index;
218 u32 n_sw_ifs;
219};
220
221/** \brief L2 bridge domain sw interface operational state response
222 @param bd_id - the bridge domain id
223 @param sw_if_index - sw_if_index in the domain
224 @param shg - split horizon group for the interface
225*/
226define bridge_domain_sw_if_details
227{
228 u32 context;
229 u32 bd_id;
230 u32 sw_if_index;
231 u8 shg;
232};
233
234/** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD,
235 L2_UU_FLOOD, or L2_ARP_TERM) request
236 @param client_index - opaque cookie to identify the sender
237 @param context - sender context, to match reply w/ request
238 @param bd_id - the bridge domain to set the flags for
239 @param is_set - if non-zero, set the flags, else clear them
240 @param feature_bitmap - bits that are non-zero to set or clear
241*/
242define bridge_flags
243{
244 u32 client_index;
245 u32 context;
246 u32 bd_id;
247 u8 is_set;
248 u32 feature_bitmap;
249};
250
251/** \brief Set bridge flags response
252 @param context - sender context, to match reply w/ request
253 @param retval - return code for the set bridge flags request
254 @param resulting_feature_bitmap - the feature bitmap value after the request is implemented
255*/
256define bridge_flags_reply
257{
258 u32 context;
259 i32 retval;
260 u32 resulting_feature_bitmap;
261};
262
263/*
264 * Local Variables:
265 * eval: (c-set-style "gnu")
266 * End:
267 */