FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
Main Page
Related Pages
Data Structures
Source
Files
Symbols
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
{
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
*/
33
define l2_xconnect_dump
34
{
35
u32
client_index
;
36
u32
context
;
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
{
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
*/
62
define 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
*/
73
autoreply define l2_fib_clear_table
74
{
75
u32
client_index
;
76
u32
context
;
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
{
85
u32
client_index
;
86
u32
context
;
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
{
96
u32
client_index
;
97
u32
context
;
98
u32
bd_id
;
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
{
108
u32
client_index
;
109
u32
context
;
110
u32
sw_if_index
;
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
{
125
u32
client_index
;
126
u32
context
;
127
u64
mac
;
128
u32
bd_id
;
129
u32
sw_if_index
;
130
u8
is_add
;
131
u8
static_mac
;
132
u8
filter_mac
;
133
u8
bvi_mac
;
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
{
145
u32
client_index
;
146
u32
context
;
147
u32
sw_if_index
;
148
u8
is_set
;
149
u32
feature_bitmap
;
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
{
158
u32
context
;
159
i32
retval
;
160
u32
resulting_feature_bitmap
;
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
{
171
u32
client_index
;
172
u32
context
;
173
u32
bd_id
;
174
u8
mac_age
;
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
{
191
u32
client_index
;
192
u32
context
;
193
u32
bd_id
;
194
u8
flood
;
195
u8
uu_flood
;
196
u8
forward
;
197
u8
learn
;
198
u8
arp_term
;
199
u8
mac_age
;
200
u8
is_add
;
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
{
210
u32
client_index
;
211
u32
context
;
212
u32
bd_id
;
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
{
222
u32
context
;
223
u32
sw_if_index
;
224
u8
shg
;
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
{
239
u32
context
;
240
u32
bd_id
;
241
u8
flood
;
242
u8
uu_flood
;
243
u8
forward
;
244
u8
learn
;
245
u8
arp_term
;
246
u8
mac_age
;
247
u32
bvi_sw_if_index
;
248
u32
n_sw_ifs
;
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
{
262
u32
client_index
;
263
u32
context
;
264
u32
bd_id
;
265
u8
is_set
;
266
u32
feature_bitmap
;
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
{
276
u32
context
;
277
i32
retval
;
278
u32
resulting_feature_bitmap
;
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
{
292
u32
client_index
;
293
u32
context
;
294
u32
sw_if_index
;
295
u32
vtr_op
;
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
{
315
u32
client_index
;
316
u32
context
;
317
u32
sw_if_index
;
318
u32
vtr_op
;
319
u16
outer_tag
;
320
u8
b_dmac[6];
321
u8
b_smac[6];
322
u16
b_vlanid
;
323
u32
i_sid
;
324
};
325
326
/*
327
* Local Variables:
328
* eval: (c-set-style "gnu")
329
* End:
330
*/
vl_api_bridge_domain_details_t::uu_flood
u8 uu_flood
Definition:
l2.api:242
vl_api_bridge_domain_details_t::arp_term
u8 arp_term
Definition:
l2.api:245
vl_api_bridge_flags_t::context
u32 context
Definition:
l2.api:263
vl_api_bridge_domain_set_mac_age_t::bd_id
u32 bd_id
Definition:
l2.api:173
vl_api_bridge_domain_add_del_t::mac_age
u8 mac_age
Definition:
l2.api:199
vl_api_l2_xconnect_details_t::rx_sw_if_index
u32 rx_sw_if_index
Definition:
l2.api:25
vl_api_l2_fib_table_details_t::filter_mac
u8 filter_mac
Definition:
l2.api:54
vl_api_l2_fib_table_details_t::static_mac
u8 static_mac
Definition:
l2.api:53
vl_api_l2_fib_table_details_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:52
vl_api_bridge_flags_reply_t::resulting_feature_bitmap
u32 resulting_feature_bitmap
Definition:
l2.api:278
vl_api_l2_fib_clear_table_t::client_index
u32 client_index
Definition:
l2.api:75
vl_api_l2_interface_pbb_tag_rewrite_t::outer_tag
u16 outer_tag
Definition:
l2.api:319
vl_api_l2fib_add_del_t::is_add
u8 is_add
Definition:
l2.api:130
vl_api_l2_fib_table_dump_t::context
u32 context
Definition:
l2.api:65
vl_api_l2_interface_vlan_tag_rewrite_t::client_index
u32 client_index
Definition:
l2.api:292
vl_api_bridge_domain_add_del_t::uu_flood
u8 uu_flood
Definition:
l2.api:195
vl_api_l2fib_flush_all_t::client_index
u32 client_index
Definition:
l2.api:85
vl_api_l2_interface_vlan_tag_rewrite_t::vtr_op
u32 vtr_op
Definition:
l2.api:295
vl_api_l2_xconnect_details_t::context
u32 context
Definition:
l2.api:24
vl_api_bridge_flags_t::feature_bitmap
u32 feature_bitmap
Definition:
l2.api:266
vl_api_bridge_domain_sw_if_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:223
vl_api_l2fib_add_del_t::bvi_mac
u8 bvi_mac
Definition:
l2.api:133
vl_api_l2fib_flush_int_t::context
u32 context
Definition:
l2.api:109
vl_api_bridge_domain_add_del_t::context
u32 context
Definition:
l2.api:192
vl_api_l2_flags_reply_t::context
u32 context
Definition:
l2.api:158
vl_api_bridge_domain_sw_if_t
L2 bridge domain sw interface operational state response.
Definition:
l2.api:220
i32
int i32
Definition:
types.h:81
vl_api_l2_flags_t::feature_bitmap
u32 feature_bitmap
Definition:
l2.api:149
vl_api_l2_interface_vlan_tag_rewrite_t::tag1
u32 tag1
Definition:
l2.api:297
vl_api_l2fib_add_del_t::bd_id
u32 bd_id
Definition:
l2.api:128
u64
unsigned long u64
Definition:
types.h:89
vl_api_bridge_flags_reply_t::retval
i32 retval
Definition:
l2.api:277
vl_api_l2_interface_vlan_tag_rewrite_t::tag2
u32 tag2
Definition:
l2.api:298
vl_api_l2_flags_t::is_set
u8 is_set
Definition:
l2.api:148
vl_api_l2fib_flush_int_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:110
vl_api_bridge_domain_set_mac_age_t::mac_age
u8 mac_age
Definition:
l2.api:174
vl_api_l2_flags_t::context
u32 context
Definition:
l2.api:146
vl_api_l2_fib_table_dump_t::client_index
u32 client_index
Definition:
l2.api:64
vl_api_l2fib_flush_bd_t::context
u32 context
Definition:
l2.api:97
vl_api_bridge_domain_details_t::bvi_sw_if_index
u32 bvi_sw_if_index
Definition:
l2.api:247
vl_api_l2_flags_t::client_index
u32 client_index
Definition:
l2.api:145
vl_api_l2_fib_table_dump_t::bd_id
u32 bd_id
Definition:
l2.api:66
vl_api_l2fib_flush_bd_t::bd_id
u32 bd_id
Definition:
l2.api:98
vl_api_l2fib_flush_bd_t::client_index
u32 client_index
Definition:
l2.api:96
vl_api_bridge_domain_details_t::context
u32 context
Definition:
l2.api:239
vl_api_bridge_domain_sw_if_t::context
u32 context
Definition:
l2.api:222
vl_api_bridge_domain_dump_t::client_index
u32 client_index
Definition:
l2.api:210
vl_api_l2_xconnect_details_t::tx_sw_if_index
u32 tx_sw_if_index
Definition:
l2.api:26
vl_api_l2_flags_reply_t::retval
i32 retval
Definition:
l2.api:159
vl_api_l2_interface_pbb_tag_rewrite_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:317
vl_api_l2_fib_table_details_t::bd_id
u32 bd_id
Definition:
l2.api:50
vl_api_bridge_domain_add_del_t::arp_term
u8 arp_term
Definition:
l2.api:198
vl_api_bridge_domain_details_t::learn
u8 learn
Definition:
l2.api:244
vl_api_bridge_flags_t::client_index
u32 client_index
Definition:
l2.api:262
vl_api_bridge_domain_dump_t::bd_id
u32 bd_id
Definition:
l2.api:212
vl_api_l2fib_add_del_t::client_index
u32 client_index
Definition:
l2.api:125
vl_api_l2fib_add_del_t::context
u32 context
Definition:
l2.api:126
vl_api_l2_fib_clear_table_t::context
u32 context
Definition:
l2.api:76
vl_api_l2_interface_vlan_tag_rewrite_t::context
u32 context
Definition:
l2.api:293
vl_api_l2fib_add_del_t::static_mac
u8 static_mac
Definition:
l2.api:131
vl_api_l2_interface_pbb_tag_rewrite_t::client_index
u32 client_index
Definition:
l2.api:315
vl_api_bridge_domain_add_del_t::learn
u8 learn
Definition:
l2.api:197
vl_api_bridge_domain_details_t::bd_id
u32 bd_id
Definition:
l2.api:240
vl_api_bridge_domain_add_del_t::forward
u8 forward
Definition:
l2.api:196
vl_api_l2_fib_table_details_t::bvi_mac
u8 bvi_mac
Definition:
l2.api:55
vl_api_bridge_flags_t::is_set
u8 is_set
Definition:
l2.api:265
vl_api_l2_xconnect_dump_t::context
u32 context
Definition:
l2.api:36
vl_api_bridge_domain_set_mac_age_t::client_index
u32 client_index
Definition:
l2.api:171
vl_api_bridge_domain_dump_t::context
u32 context
Definition:
l2.api:211
u32
unsigned int u32
Definition:
types.h:88
vl_api_bridge_domain_sw_if_t::shg
u8 shg
Definition:
l2.api:224
vl_api_bridge_domain_add_del_t::is_add
u8 is_add
Definition:
l2.api:200
vl_api_bridge_domain_add_del_t::client_index
u32 client_index
Definition:
l2.api:191
vl_api_l2_interface_pbb_tag_rewrite_t::i_sid
u32 i_sid
Definition:
l2.api:323
vl_api_bridge_domain_details_t::forward
u8 forward
Definition:
l2.api:243
vl_api_l2_flags_reply_t::resulting_feature_bitmap
u32 resulting_feature_bitmap
Definition:
l2.api:160
vl_api_l2fib_flush_all_t::context
u32 context
Definition:
l2.api:86
u16
unsigned short u16
Definition:
types.h:57
vl_api_l2_interface_vlan_tag_rewrite_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:294
vl_api_l2_interface_pbb_tag_rewrite_t::vtr_op
u32 vtr_op
Definition:
l2.api:318
vl_api_bridge_domain_add_del_t::bd_id
u32 bd_id
Definition:
l2.api:193
u8
unsigned char u8
Definition:
types.h:56
vl_api_bridge_domain_details_t::mac_age
u8 mac_age
Definition:
l2.api:246
vl_api_l2_xconnect_dump_t::client_index
u32 client_index
Definition:
l2.api:35
vl_api_l2_interface_pbb_tag_rewrite_t::context
u32 context
Definition:
l2.api:316
vl_api_bridge_flags_reply_t::context
u32 context
Definition:
l2.api:276
vl_api_bridge_domain_details_t::flood
u8 flood
Definition:
l2.api:241
vl_api_l2fib_add_del_t::mac
u64 mac
Definition:
l2.api:127
vl_api_bridge_domain_details_t::n_sw_ifs
u32 n_sw_ifs
Definition:
l2.api:248
vl_api_l2_flags_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:147
vl_api_l2_interface_pbb_tag_rewrite_t::b_vlanid
u16 b_vlanid
Definition:
l2.api:322
vl_api_l2_fib_table_details_t::context
u32 context
Definition:
l2.api:49
vl_api_bridge_domain_add_del_t::flood
u8 flood
Definition:
l2.api:194
vl_api_l2fib_add_del_t::filter_mac
u8 filter_mac
Definition:
l2.api:132
vl_api_bridge_flags_t::bd_id
u32 bd_id
Definition:
l2.api:264
vl_api_l2fib_add_del_t::sw_if_index
u32 sw_if_index
Definition:
l2.api:129
vl_api_l2_interface_vlan_tag_rewrite_t::push_dot1q
u32 push_dot1q
Definition:
l2.api:296
vl_api_bridge_domain_set_mac_age_t::context
u32 context
Definition:
l2.api:172
vl_api_l2fib_flush_int_t::client_index
u32 client_index
Definition:
l2.api:108
vl_api_l2_fib_table_details_t::mac
u64 mac
Definition:
l2.api:51
src
vnet
l2
l2.api
Generated on Tue Nov 7 2017 14:26:30 for FD.io VPP by
1.8.11