8 #ifndef COFMSG_ERROR_H_
9 #define COFMSG_ERROR_H_ 1
11 #include "rofl/common/openflow/messages/cofmsg.h"
12 #include "rofl/common/openflow/openflow_common.h"
13 #include "rofl/common/openflow/openflow.h"
29 uint8_t *emu_error_msg;
35 #define err_msg emu.emu_error_msg
36 #define err10_msg emu.emu10_error_msg
37 #define err12_msg emu.emu12_error_msg
38 #define err13_msg emu.emu13_error_msg
49 uint16_t err_type = 0,
50 uint16_t err_code = 0,
108 pack(uint8_t *buf = (uint8_t*)0,
size_t buflen = 0);
115 unpack(uint8_t *buf,
size_t buflen);
129 get_err_type()
const;
135 set_err_type(uint16_t type);
141 get_err_code()
const;
147 set_err_code(uint16_t code);
158 operator<< (std::ostream& os,
cofmsg_error const& msg) {
159 os << dynamic_cast<cofmsg const&>( msg );
160 os <<
indent(2) <<
"<cofmsg_error >" << std::endl;
163 uint32_t error_id = ((uint32_t)msg.get_err_type() << 16) | msg.get_err_code();
164 switch ((int32_t)error_id) {
165 case OFPETC_HELLO_FAILED_INCOMPATIBLE: {
166 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" HELLO-FAILED-INCOMPATIBLE >" << std::endl;
168 case OFPETC_HELLO_FAILED_EPERM: {
169 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" HELLO-FAILED-EPERM >" << std::endl;
171 case OFPETC_BAD_REQUEST_BAD_VERSION: {
172 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-VERSION >" << std::endl;
174 case OFPETC_BAD_REQUEST_BAD_TYPE: {
175 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-TYPE >" << std::endl;
177 case OFPETC_BAD_REQUEST_BAD_STAT: {
178 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-STAT >" << std::endl;
180 case OFPETC_BAD_REQUEST_BAD_EXPERIMENTER: {
181 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-EXPERIMENTER >" << std::endl;
183 case OFPETC_BAD_REQUEST_BAD_EXP_TYPE: {
184 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-EXP-TYPE >" << std::endl;
186 case OFPETC_BAD_REQUEST_EPERM: {
187 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-EPERM >" << std::endl;
189 case OFPETC_BAD_REQUEST_BAD_LEN: {
190 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-LEN >" << std::endl;
192 case OFPETC_BAD_REQUEST_BUFFER_EMPTY: {
193 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BUFFER-EMPTY >" << std::endl;
195 case OFPETC_BAD_REQUEST_BUFFER_UNKNOWN: {
196 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BUFFER-UNKNOWN >" << std::endl;
198 case OFPETC_BAD_REQUEST_BAD_TABLE_ID: {
199 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-TABLE-ID >" << std::endl;
201 case OFPETC_BAD_REQUEST_IS_SLAVE: {
202 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-IS-SLAVE >" << std::endl;
204 case OFPETC_BAD_REQUEST_BAD_PORT: {
205 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-PORT >" << std::endl;
207 case OFPETC_BAD_REQUEST_BAD_PACKET: {
208 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-BAD-PACKET >" << std::endl;
210 case OFPETC_BAD_REQUEST_MULTIPART_BUFFER_OVERFLOW: {
211 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-REQUEST-MULTIPART-BUFFER-OVERFLOW >" << std::endl;
213 case OFPETC_BAD_ACTION_BAD_TYPE: {
214 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-TYPE >" << std::endl;
216 case OFPETC_BAD_ACTION_BAD_LEN: {
217 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-LEN >" << std::endl;
219 case OFPETC_BAD_ACTION_BAD_EXPERIMENTER: {
220 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-EXPERIMENTER >" << std::endl;
222 case OFPETC_BAD_ACTION_BAD_EXP_TYPE: {
223 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-EXP-TYPE >" << std::endl;
225 case OFPETC_BAD_ACTION_BAD_OUT_PORT: {
226 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-OUT-PORT >" << std::endl;
228 case OFPETC_BAD_ACTION_BAD_ARGUMENT: {
229 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-ARGUMENT >" << std::endl;
231 case OFPETC_BAD_ACTION_EPERM: {
232 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-EPERM >" << std::endl;
234 case OFPETC_BAD_ACTION_TOO_MANY: {
235 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-TOO-MANY >" << std::endl;
237 case OFPETC_BAD_ACTION_BAD_QUEUE: {
238 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-QUEUE >" << std::endl;
240 case OFPETC_BAD_ACTION_BAD_OUT_GROUP: {
241 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-OUT-GROUP >" << std::endl;
243 case OFPETC_BAD_ACTION_MATCH_INCONSISTENT: {
244 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-MATCH-INCONSISTENT >" << std::endl;
246 case OFPETC_BAD_ACTION_UNSUPPORTED_ORDER: {
247 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-UNSUPPORTED-ORDER >" << std::endl;
249 case OFPETC_BAD_ACTION_BAD_TAG: {
250 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-TAG >" << std::endl;
252 case OFPETC_BAD_ACTION_BAD_SET_TYPE: {
253 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-SET-TYPE >" << std::endl;
255 case OFPETC_BAD_ACTION_BAD_SET_LEN: {
256 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-SET-LEN >" << std::endl;
258 case OFPETC_BAD_ACTION_BAD_SET_ARGUMENT: {
259 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-ACTION-BAD-SET-ARGUMENT >" << std::endl;
261 case OFPETC_BAD_INSTRUCTION_UNKNOWN_INST: {
262 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-UNKNOWN-INST >" << std::endl;
264 case OFPETC_BAD_INSTRUCTION_UNSUP_INST: {
265 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-UNSUP-INST >" << std::endl;
267 case OFPETC_BAD_INSTRUCTION_BAD_TABLE_ID: {
268 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-BAD-TABLE-ID >" << std::endl;
270 case OFPETC_BAD_INSTRUCTION_UNSUP_METADATA: {
271 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-UNSUP-METADATA >" << std::endl;
273 case OFPETC_BAD_INSTRUCTION_UNSUP_METADATA_MASK: {
274 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-UNSUP-METADATA-MASK >" << std::endl;
276 case OFPETC_BAD_INSTRUCTION_BAD_EXPERIMENTER: {
277 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-BAD-EXPERIMENTER >" << std::endl;
279 case OFPETC_BAD_INSTRUCTION_BAD_EXP_TYPE: {
280 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-BAD-EXP-TYPE >" << std::endl;
282 case OFPETC_BAD_INSTRUCTION_BAD_LEN: {
283 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-BAD-LEN >" << std::endl;
285 case OFPETC_BAD_INSTRUCTION_EPERM: {
286 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-INSTRUCTION-EPERM >" << std::endl;
288 case OFPETC_BAD_MATCH_BAD_TYPE: {
289 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-TYPE >" << std::endl;
291 case OFPETC_BAD_MATCH_BAD_LEN: {
292 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-LEN >" << std::endl;
294 case OFPETC_BAD_MATCH_BAD_TAG: {
295 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-TAG >" << std::endl;
297 case OFPETC_BAD_MATCH_BAD_DL_ADDR_MASK: {
298 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-DL-ADDR-MASK >" << std::endl;
300 case OFPETC_BAD_MATCH_BAD_NW_ADDR_MASK: {
301 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-NW-ADDR-MASK >" << std::endl;
303 case OFPETC_BAD_MATCH_BAD_WILDCARDS: {
304 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-WILDCARDS >" << std::endl;
306 case OFPETC_BAD_MATCH_BAD_FIELD: {
307 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-FIELD >" << std::endl;
309 case OFPETC_BAD_MATCH_BAD_VALUE: {
310 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-VALUE >" << std::endl;
312 case OFPETC_BAD_MATCH_BAD_MASK: {
313 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-MASK >" << std::endl;
315 case OFPETC_BAD_MATCH_BAD_PREREQ: {
316 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-BAD-PREREQ >" << std::endl;
318 case OFPETC_BAD_MATCH_DUP_FIELD: {
319 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-DUP-FIELD >" << std::endl;
321 case OFPETC_BAD_MATCH_EPERM: {
322 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" BAD-MATCH-EPERM >" << std::endl;
324 case OFPETC_FLOW_MOD_UNKNOWN: {
325 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-UNKNOWN >" << std::endl;
327 case OFPETC_FLOW_MOD_TABLE_FULL: {
328 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-TABLE-FULL >" << std::endl;
330 case OFPETC_FLOW_MOD_BAD_TABLE_ID: {
331 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-BAD-TABLE-ID >" << std::endl;
333 case OFPETC_FLOW_MOD_OVERLAP: {
334 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-OVERLAP >" << std::endl;
336 case OFPETC_FLOW_MOD_EPERM: {
337 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-EPERM >" << std::endl;
339 case OFPETC_FLOW_MOD_BAD_TIMEOUT: {
340 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-BAD-TIMEOUT >" << std::endl;
342 case OFPETC_FLOW_MOD_BAD_COMMAND: {
343 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-BAD-COMMAND >" << std::endl;
345 case OFPETC_FLOW_MOD_BAD_FLAGS: {
346 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" FLOW-MOD-BAD-FLAGS >" << std::endl;
348 case OFPETC_GROUP_MOD_GROUP_EXISTS: {
349 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-GROUP-EXISTS >" << std::endl;
351 case OFPETC_GROUP_MOD_INVALID_GROUP: {
352 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-INVALID-GROUP >" << std::endl;
354 case OFPETC_GROUP_MOD_WEIGHT_UNSUPPORTED: {
355 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-WEIGHT-UNSUPPORTED >" << std::endl;
357 case OFPETC_GROUP_MOD_OUT_OF_GROUPS: {
358 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-OUT-OF-GROUPS >" << std::endl;
360 case OFPETC_GROUP_MOD_OUT_OF_BUCKETS: {
361 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-OUT-OF-BUCKETS >" << std::endl;
363 case OFPETC_GROUP_MOD_CHAINING_UNSUPPORTED: {
364 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-CHAINING-UNSUPPORTED >" << std::endl;
366 case OFPETC_GROUP_MOD_WATCH_UNSUPPORTED: {
367 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-WATCH-UNSUPPORTED >" << std::endl;
369 case OFPETC_GROUP_MOD_LOOP: {
370 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-LOOP >" << std::endl;
372 case OFPETC_GROUP_MOD_UNKNOWN_GROUP: {
373 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-UNKNOWN-GROUP >" << std::endl;
375 case OFPETC_GROUP_MOD_CHAINED_GROUP: {
376 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-CHAINED-GROUP >" << std::endl;
378 case OFPETC_GROUP_MOD_BAD_TYPE: {
379 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-BAD-TYPE >" << std::endl;
381 case OFPETC_GROUP_MOD_BAD_COMMAND: {
382 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-BAD-COMMAND >" << std::endl;
384 case OFPETC_GROUP_MOD_BAD_BUCKET: {
385 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-BAD-BUCKET >" << std::endl;
387 case OFPETC_GROUP_MOD_BAD_WATCH: {
388 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-BAD-WATCH >" << std::endl;
390 case OFPETC_GROUP_MOD_EPERM: {
391 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" GROUP-MOD-EPERM >" << std::endl;
393 case OFPETC_PORT_MOD_BAD_PORT: {
394 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" PORT-MOD-BAD-PORT >" << std::endl;
396 case OFPETC_PORT_MOD_BAD_HW_ADDR: {
397 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" PORT-MOD-BAD-HW-ADDR >" << std::endl;
399 case OFPETC_PORT_MOD_BAD_CONFIG: {
400 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" PORT-MOD-BAD-CONFIG >" << std::endl;
402 case OFPETC_PORT_MOD_BAD_ADVERTISE: {
403 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" PORT-MOD-BAD-ADVERTISE >" << std::endl;
405 case OFPETC_PORT_MOD_EPERM: {
406 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" PORT-MOD-EPERM >" << std::endl;
408 case OFPETC_TABLE_MOD_BAD_TABLE: {
409 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-MOD-BAD-TABLE >" << std::endl;
411 case OFPETC_TABLE_MOD_BAD_CONFIG: {
412 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-MOD-BAD-CONFIG >" << std::endl;
414 case OFPETC_TABLE_MOD_EPERM: {
415 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-MOD-EPERM >" << std::endl;
417 case OFPETC_QUEUE_OP_BAD_PORT: {
418 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" QUEUE-OP-BAD-PORT >" << std::endl;
420 case OFPETC_QUEUE_OP_BAD_QUEUE: {
421 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" QUEUE-OP-BAD-QUEUE >" << std::endl;
423 case OFPETC_QUEUE_OP_EPERM: {
424 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" QUEUE-OP-EPERM >" << std::endl;
426 case OFPETC_SWITCH_CONFIG_BAD_FLAGS: {
427 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" SWITCH-CONFIG-BAD-FLAGS >" << std::endl;
429 case OFPETC_SWITCH_CONFIG_BAD_LEN: {
430 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" SWITCH-CONFIG-BAD-LEN >" << std::endl;
432 case OFPETC_SWITCH_CONFIG_EPERM: {
433 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" SWITCH-CONFIG-EPERM >" << std::endl;
435 case OFPETC_ROLE_REQUEST_STALE: {
436 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" ROLE-REQUEST-STALE >" << std::endl;
438 case OFPETC_ROLE_REQUEST_UNSUP: {
439 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" ROLE-REQUEST-UNSUP >" << std::endl;
441 case OFPETC_ROLE_REQUEST_BAD_ROLE: {
442 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" ROLE-REQUEST-BAD-ROLE >" << std::endl;
444 case OFPETC_METER_MOD_UNKNOWN: {
445 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-UNKNOWN >" << std::endl;
447 case OFPETC_METER_MOD_METER_EXISTS: {
448 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-METER-EXISTS >" << std::endl;
450 case OFPETC_METER_MOD_INVALID_METER: {
451 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-INVALID-METER >" << std::endl;
453 case OFPETC_METER_MOD_UNKNOWN_METER: {
454 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-UNKNOWN-METER >" << std::endl;
456 case OFPETC_METER_MOD_BAD_COMMAND: {
457 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-COMMAND >" << std::endl;
459 case OFPETC_METER_MOD_BAD_FLAGS: {
460 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-FLAGS >" << std::endl;
462 case OFPETC_METER_MOD_BAD_RATE: {
463 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-RATE >" << std::endl;
465 case OFPETC_METER_MOD_BAD_BURST: {
466 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-BURST >" << std::endl;
468 case OFPETC_METER_MOD_BAD_BAND: {
469 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-BAND >" << std::endl;
471 case OFPETC_METER_MOD_BAD_BAND_VALUE: {
472 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-BAD-BAND-VALUE >" << std::endl;
474 case OFPETC_METER_MOD_OUT_OF_METERS: {
475 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-OUT-OF-METERS >" << std::endl;
477 case OFPETC_METER_MOD_OUT_OF_BANDS: {
478 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" METER-MOD-OUT-OF-BANDS >" << std::endl;
480 case OFPETC_TABLE_FEATURES_BAD_TABLE: {
481 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-BAD-TABLE >" << std::endl;
483 case OFPETC_TABLE_FEATURES_BAD_METADATA: {
484 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-BAD-METADATA >" << std::endl;
486 case OFPETC_TABLE_FEATURES_BAD_TYPE: {
487 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-BAD-TYPE >" << std::endl;
489 case OFPETC_TABLE_FEATURES_BAD_LEN: {
490 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-BAD-LEN >" << std::endl;
492 case OFPETC_TABLE_FEATURES_BAD_ARGUMENT: {
493 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-BAD-ARGUMENT >" << std::endl;
495 case OFPETC_TABLE_FEATURES_EPERM: {
496 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" TABLE-FEATURES-EPERM >" << std::endl;
498 case OFPETC_EXPERIMENTER: {
499 os <<
indent(4) <<
"<error-id: 0x" << (int)error_id <<
" EXPERIMENTER >" << std::endl;
502 os <<
indent(4) <<
"<err-type:" << (int)msg.get_err_type() <<
" >" << std::endl;
503 os <<
indent(4) <<
"<err-code:" << (int)msg.get_err_code() <<
" >" << std::endl;
521 size_t datalen = 0) :
522 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_LEN, data, datalen) {};
534 size_t datalen = 0) :
535 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_VERSION, data, datalen) {};
547 size_t datalen = 0) :
548 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_TYPE, data, datalen) {};
560 size_t datalen = 0) :
561 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_STAT, data, datalen) {};
573 size_t datalen = 0) :
574 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_EXPERIMENTER, data, datalen) {};
586 size_t datalen = 0) :
587 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_EXP_TYPE, data, datalen) {};
599 size_t datalen = 0) :
600 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_EPERM, data, datalen) {};
612 size_t datalen = 0) :
613 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BUFFER_EMPTY, data, datalen) {};
625 size_t datalen = 0) :
626 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BUFFER_UNKNOWN, data, datalen) {};
638 size_t datalen = 0) :
639 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_TABLE_ID, data, datalen) {};
651 size_t datalen = 0) :
652 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_IS_SLAVE, data, datalen) {};
664 size_t datalen = 0) :
665 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_PORT, data, datalen) {};
677 size_t datalen = 0) :
678 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_BAD_PACKET, data, datalen) {};
690 size_t datalen = 0) :
691 cofmsg_error(ofp_version, xid, OFPET_BAD_REQUEST, OFPBRC_MULTIPART_BUFFER_OVERFLOW, data, datalen) {};
703 size_t datalen = 0) :
704 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_TYPE, data, datalen) {};
716 size_t datalen = 0) :
717 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_LEN, data, datalen) {};
729 size_t datalen = 0) :
730 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_EXPERIMENTER, data, datalen) {};
742 size_t datalen = 0) :
743 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_EXP_TYPE, data, datalen) {};
755 size_t datalen = 0) :
756 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_OUT_PORT, data, datalen) {};
768 size_t datalen = 0) :
769 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_ARGUMENT, data, datalen) {};
781 size_t datalen = 0) :
782 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_EPERM, data, datalen) {};
794 size_t datalen = 0) :
795 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_TOO_MANY, data, datalen) {};
807 size_t datalen = 0) :
808 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_QUEUE, data, datalen) {};
820 size_t datalen = 0) :
821 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_OUT_GROUP, data, datalen) {
822 if (ofp_version < rofl::openflow12::OFP_VERSION)
836 size_t datalen = 0) :
837 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_MATCH_INCONSISTENT, data, datalen) {
838 if (ofp_version < rofl::openflow12::OFP_VERSION)
852 size_t datalen = 0) :
853 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_UNSUPPORTED_ORDER, data, datalen) {
854 if (ofp_version < rofl::openflow12::OFP_VERSION)
868 size_t datalen = 0) :
869 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_TAG, data, datalen) {
870 if (ofp_version < rofl::openflow12::OFP_VERSION)
884 size_t datalen = 0) :
885 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_SET_LEN, data, datalen) {
886 if (ofp_version < rofl::openflow13::OFP_VERSION)
900 size_t datalen = 0) :
901 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_SET_TYPE, data, datalen) {
902 if (ofp_version < rofl::openflow13::OFP_VERSION)
916 size_t datalen = 0) :
917 cofmsg_error(ofp_version, xid, OFPET_BAD_ACTION, OFPBAC_BAD_SET_ARGUMENT, data, datalen) {
918 if (ofp_version < rofl::openflow13::OFP_VERSION)
932 size_t datalen = 0) :
933 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_UNKNOWN_INST, data, datalen) {
934 if (ofp_version < rofl::openflow12::OFP_VERSION)
948 size_t datalen = 0) :
949 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_UNSUP_INST, data, datalen) {
950 if (ofp_version < rofl::openflow12::OFP_VERSION)
964 size_t datalen = 0) :
965 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_BAD_TABLE_ID, data, datalen) {
966 if (ofp_version < rofl::openflow12::OFP_VERSION)
980 size_t datalen = 0) :
981 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_UNSUP_METADATA, data, datalen) {
982 if (ofp_version < rofl::openflow12::OFP_VERSION)
996 size_t datalen = 0) :
997 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_UNSUP_METADATA_MASK, data, datalen) {
998 if (ofp_version < rofl::openflow12::OFP_VERSION)
1009 uint8_t ofp_version,
1012 size_t datalen = 0) :
1013 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_BAD_EXPERIMENTER, data, datalen) {
1014 if (ofp_version < rofl::openflow12::OFP_VERSION)
1025 uint8_t ofp_version,
1028 size_t datalen = 0) :
1029 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_BAD_EXP_TYPE, data, datalen) {
1030 if (ofp_version < rofl::openflow13::OFP_VERSION)
1041 uint8_t ofp_version,
1044 size_t datalen = 0) :
1045 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_BAD_LEN, data, datalen) {
1046 if (ofp_version < rofl::openflow13::OFP_VERSION)
1057 uint8_t ofp_version,
1060 size_t datalen = 0) :
1061 cofmsg_error(ofp_version, xid, OFPET_BAD_INSTRUCTION, OFPBIC_EPERM, data, datalen) {
1062 if (ofp_version < rofl::openflow13::OFP_VERSION)
1073 uint8_t ofp_version,
1076 size_t datalen = 0) :
1077 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_TYPE, data, datalen) {
1078 if (ofp_version < rofl::openflow12::OFP_VERSION)
1089 uint8_t ofp_version,
1092 size_t datalen = 0) :
1093 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_LEN, data, datalen) {
1094 if (ofp_version < rofl::openflow12::OFP_VERSION)
1105 uint8_t ofp_version,
1108 size_t datalen = 0) :
1109 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_TAG, data, datalen) {
1110 if (ofp_version < rofl::openflow12::OFP_VERSION)
1121 uint8_t ofp_version,
1124 size_t datalen = 0) :
1125 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_DL_ADDR_MASK, data, datalen) {
1126 if (ofp_version < rofl::openflow12::OFP_VERSION)
1137 uint8_t ofp_version,
1140 size_t datalen = 0) :
1141 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_NW_ADDR_MASK, data, datalen) {
1142 if (ofp_version < rofl::openflow12::OFP_VERSION)
1153 uint8_t ofp_version,
1156 size_t datalen = 0) :
1157 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_WILDCARDS, data, datalen) {
1158 if (ofp_version < rofl::openflow12::OFP_VERSION)
1169 uint8_t ofp_version,
1172 size_t datalen = 0) :
1173 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_FIELD, data, datalen) {
1174 if (ofp_version < rofl::openflow12::OFP_VERSION)
1185 uint8_t ofp_version,
1188 size_t datalen = 0) :
1189 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_VALUE, data, datalen) {
1190 if (ofp_version < rofl::openflow12::OFP_VERSION)
1201 uint8_t ofp_version,
1204 size_t datalen = 0) :
1205 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_MASK, data, datalen) {
1206 if (ofp_version < rofl::openflow12::OFP_VERSION)
1217 uint8_t ofp_version,
1220 size_t datalen = 0) :
1221 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_BAD_PREREQ, data, datalen) {
1222 if (ofp_version < rofl::openflow12::OFP_VERSION)
1233 uint8_t ofp_version,
1236 size_t datalen = 0) :
1237 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_DUP_FIELD, data, datalen) {
1238 if (ofp_version < rofl::openflow12::OFP_VERSION)
1249 uint8_t ofp_version,
1252 size_t datalen = 0) :
1253 cofmsg_error(ofp_version, xid, OFPET_BAD_MATCH, OFPBMC_EPERM, data, datalen) {
1254 if (ofp_version < rofl::openflow12::OFP_VERSION)
1265 uint8_t ofp_version,
1268 size_t datalen = 0) :
1269 cofmsg_error(ofp_version, xid, OFPET_HELLO_FAILED, OFPHFC_INCOMPATIBLE, data, datalen) {
1279 uint8_t ofp_version,
1282 size_t datalen = 0) :
1283 cofmsg_error(ofp_version, xid, OFPET_HELLO_FAILED, OFPHFC_EPERM, data, datalen) {
1284 if (ofp_version < rofl::openflow12::OFP_VERSION)
1295 uint8_t ofp_version,
1298 size_t datalen = 0) :
1299 cofmsg_error(ofp_version, xid, OFPET_SWITCH_CONFIG_FAILED, OFPSCFC_BAD_FLAGS, data, datalen) {
1300 if (ofp_version < rofl::openflow12::OFP_VERSION)
1311 uint8_t ofp_version,
1314 size_t datalen = 0) :
1315 cofmsg_error(ofp_version, xid, OFPET_SWITCH_CONFIG_FAILED, OFPSCFC_BAD_LEN, data, datalen) {
1316 if (ofp_version < rofl::openflow12::OFP_VERSION)
1327 uint8_t ofp_version,
1330 size_t datalen = 0) :
1331 cofmsg_error(ofp_version, xid, OFPET_SWITCH_CONFIG_FAILED, OFPSCFC_EPERM, data, datalen) {
1332 if (ofp_version < rofl::openflow12::OFP_VERSION)
1343 uint8_t ofp_version,
1346 size_t datalen = 0) :
1347 cofmsg_error(ofp_version, xid, OFPET_FLOW_MOD_FAILED, OFPFMFC_UNKNOWN, data, datalen) {
1348 if (ofp_version < rofl::openflow12::OFP_VERSION)
1359 uint8_t ofp_version,
1362 size_t datalen = 0) :
1364 switch (ofp_version) {
1365 case rofl::openflow10::OFP_VERSION: {
1366 set_err_type(rofl::openflow10::OFPET_FLOW_MOD_FAILED);
1367 set_err_code(rofl::openflow10::OFPFMFC_ALL_TABLES_FULL);
1369 case rofl::openflow12::OFP_VERSION:
1370 case rofl::openflow13::OFP_VERSION:
1372 set_err_type(rofl::openflow12::OFPET_FLOW_MOD_FAILED);
1373 set_err_code(rofl::openflow12::OFPFMFC_TABLE_FULL);
1385 uint8_t ofp_version,
1388 size_t datalen = 0) :
1389 cofmsg_error(ofp_version, xid, OFPET_FLOW_MOD_FAILED, OFPFMFC_BAD_TABLE_ID, data, datalen) {
1390 if (ofp_version < rofl::openflow12::OFP_VERSION)
1401 uint8_t ofp_version,
1404 size_t datalen = 0) :
1406 switch (ofp_version) {
1407 case rofl::openflow10::OFP_VERSION: {
1408 set_err_type(rofl::openflow10::OFPET_FLOW_MOD_FAILED);
1409 set_err_code(rofl::openflow10::OFPFMFC_OVERLAP);
1411 case rofl::openflow12::OFP_VERSION:
1412 case rofl::openflow13::OFP_VERSION:
1414 set_err_type(rofl::openflow12::OFPET_FLOW_MOD_FAILED);
1415 set_err_code(rofl::openflow12::OFPFMFC_OVERLAP);
1427 uint8_t ofp_version,
1430 size_t datalen = 0) :
1432 switch (ofp_version) {
1433 case rofl::openflow10::OFP_VERSION: {
1434 set_err_type(rofl::openflow10::OFPET_FLOW_MOD_FAILED);
1435 set_err_code(rofl::openflow10::OFPFMFC_EPERM);
1437 case rofl::openflow12::OFP_VERSION:
1438 case rofl::openflow13::OFP_VERSION:
1440 set_err_type(rofl::openflow12::OFPET_FLOW_MOD_FAILED);
1441 set_err_code(rofl::openflow12::OFPFMFC_EPERM);
1453 uint8_t ofp_version,
1456 size_t datalen = 0) :
1458 switch (ofp_version) {
1459 case rofl::openflow10::OFP_VERSION: {
1460 set_err_type(rofl::openflow10::OFPET_FLOW_MOD_FAILED);
1461 set_err_code(rofl::openflow10::OFPFMFC_BAD_EMERG_TIMEOUT);
1463 case rofl::openflow12::OFP_VERSION:
1464 case rofl::openflow13::OFP_VERSION:
1466 set_err_type(rofl::openflow12::OFPET_FLOW_MOD_FAILED);
1467 set_err_code(rofl::openflow12::OFPFMFC_BAD_TIMEOUT);
1479 uint8_t ofp_version,
1482 size_t datalen = 0) :
1484 switch (ofp_version) {
1485 case rofl::openflow10::OFP_VERSION: {
1486 set_err_type(rofl::openflow10::OFPET_FLOW_MOD_FAILED);
1487 set_err_code(rofl::openflow10::OFPFMFC_BAD_COMMAND);
1489 case rofl::openflow12::OFP_VERSION:
1490 case rofl::openflow13::OFP_VERSION:
1492 set_err_type(rofl::openflow12::OFPET_FLOW_MOD_FAILED);
1493 set_err_code(rofl::openflow12::OFPFMFC_BAD_COMMAND);
1505 uint8_t ofp_version,
1508 size_t datalen = 0) :
1509 cofmsg_error(ofp_version, xid, rofl::openflow10::OFPET_FLOW_MOD_FAILED, rofl::openflow10::OFPFMFC_UNSUPPORTED, data, datalen) {
1510 if (ofp_version > rofl::openflow10::OFP_VERSION)
1521 uint8_t ofp_version,
1524 size_t datalen = 0) :
1525 cofmsg_error(ofp_version, xid, OFPET_FLOW_MOD_FAILED, OFPFMFC_BAD_FLAGS, data, datalen) {
1526 if (ofp_version < rofl::openflow13::OFP_VERSION)
1537 uint8_t ofp_version,
1540 size_t datalen = 0) :
1541 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_GROUP_EXISTS, data, datalen) {
1542 if (ofp_version < rofl::openflow12::OFP_VERSION)
1553 uint8_t ofp_version,
1556 size_t datalen = 0) :
1557 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_INVALID_GROUP, data, datalen) {
1558 if (ofp_version < rofl::openflow12::OFP_VERSION)
1569 uint8_t ofp_version,
1572 size_t datalen = 0) :
1573 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_WEIGHT_UNSUPPORTED, data, datalen) {
1574 if (ofp_version < rofl::openflow12::OFP_VERSION)
1585 uint8_t ofp_version,
1588 size_t datalen = 0) :
1589 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_OUT_OF_GROUPS, data, datalen) {
1590 if (ofp_version < rofl::openflow12::OFP_VERSION)
1601 uint8_t ofp_version,
1604 size_t datalen = 0) :
1605 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_OUT_OF_BUCKETS, data, datalen) {
1606 if (ofp_version < rofl::openflow12::OFP_VERSION)
1617 uint8_t ofp_version,
1620 size_t datalen = 0) :
1621 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_CHAINING_UNSUPPORTED, data, datalen) {
1622 if (ofp_version < rofl::openflow12::OFP_VERSION)
1633 uint8_t ofp_version,
1636 size_t datalen = 0) :
1637 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_WATCH_UNSUPPORTED, data, datalen) {
1638 if (ofp_version < rofl::openflow12::OFP_VERSION)
1649 uint8_t ofp_version,
1652 size_t datalen = 0) :
1653 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_LOOP, data, datalen) {
1654 if (ofp_version < rofl::openflow12::OFP_VERSION)
1665 uint8_t ofp_version,
1668 size_t datalen = 0) :
1669 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_UNKNOWN_GROUP, data, datalen) {
1670 if (ofp_version < rofl::openflow12::OFP_VERSION)
1681 uint8_t ofp_version,
1684 size_t datalen = 0) :
1685 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_CHAINED_GROUP, data, datalen) {
1686 if (ofp_version < rofl::openflow12::OFP_VERSION)
1697 uint8_t ofp_version,
1700 size_t datalen = 0) :
1701 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_BAD_TYPE, data, datalen) {
1702 if (ofp_version < rofl::openflow12::OFP_VERSION)
1713 uint8_t ofp_version,
1716 size_t datalen = 0) :
1717 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_BAD_COMMAND, data, datalen) {
1718 if (ofp_version < rofl::openflow12::OFP_VERSION)
1729 uint8_t ofp_version,
1732 size_t datalen = 0) :
1733 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_BAD_BUCKET, data, datalen) {
1734 if (ofp_version < rofl::openflow12::OFP_VERSION)
1745 uint8_t ofp_version,
1748 size_t datalen = 0) :
1749 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_BAD_WATCH, data, datalen) {
1750 if (ofp_version < rofl::openflow12::OFP_VERSION)
1761 uint8_t ofp_version,
1764 size_t datalen = 0) :
1765 cofmsg_error(ofp_version, xid, OFPET_GROUP_MOD_FAILED, OFPGMFC_EPERM, data, datalen) {
1766 if (ofp_version < rofl::openflow12::OFP_VERSION)
1777 uint8_t ofp_version,
1780 size_t datalen = 0) :
1781 cofmsg_error(ofp_version, xid, OFPET_PORT_MOD_FAILED, OFPPMFC_BAD_PORT, data, datalen) {
1782 if (ofp_version < rofl::openflow12::OFP_VERSION)
1793 uint8_t ofp_version,
1796 size_t datalen = 0) :
1797 cofmsg_error(ofp_version, xid, OFPET_PORT_MOD_FAILED, OFPPMFC_BAD_HW_ADDR, data, datalen) {
1798 if (ofp_version < rofl::openflow12::OFP_VERSION)
1809 uint8_t ofp_version,
1812 size_t datalen = 0) :
1813 cofmsg_error(ofp_version, xid, OFPET_PORT_MOD_FAILED, OFPPMFC_BAD_CONFIG, data, datalen) {
1814 if (ofp_version < rofl::openflow12::OFP_VERSION)
1825 uint8_t ofp_version,
1828 size_t datalen = 0) :
1829 cofmsg_error(ofp_version, xid, OFPET_PORT_MOD_FAILED, OFPPMFC_BAD_ADVERTISE, data, datalen) {
1830 if (ofp_version < rofl::openflow12::OFP_VERSION)
1841 uint8_t ofp_version,
1844 size_t datalen = 0) :
1845 cofmsg_error(ofp_version, xid, OFPET_PORT_MOD_FAILED, OFPPMFC_EPERM, data, datalen) {
1846 if (ofp_version < rofl::openflow12::OFP_VERSION)
1857 uint8_t ofp_version,
1860 size_t datalen = 0) :
1861 cofmsg_error(ofp_version, xid, OFPET_TABLE_MOD_FAILED, OFPTMFC_BAD_TABLE, data, datalen) {
1862 if (ofp_version < rofl::openflow12::OFP_VERSION)
1873 uint8_t ofp_version,
1876 size_t datalen = 0) :
1877 cofmsg_error(ofp_version, xid, OFPET_TABLE_MOD_FAILED, OFPTMFC_BAD_CONFIG, data, datalen) {
1878 if (ofp_version < rofl::openflow12::OFP_VERSION)
1889 uint8_t ofp_version,
1892 size_t datalen = 0) :
1893 cofmsg_error(ofp_version, xid, OFPET_TABLE_MOD_FAILED, OFPTMFC_EPERM, data, datalen) {
1894 if (ofp_version < rofl::openflow12::OFP_VERSION)
1905 uint8_t ofp_version,
1908 size_t datalen = 0) :
1909 cofmsg_error(ofp_version, xid, OFPET_ROLE_REQUEST_FAILED, OFPRRFC_STALE, data, datalen) {
1910 if (ofp_version < rofl::openflow12::OFP_VERSION)
1921 uint8_t ofp_version,
1924 size_t datalen = 0) :
1925 cofmsg_error(ofp_version, xid, OFPET_ROLE_REQUEST_FAILED, OFPRRFC_UNSUP, data, datalen) {
1926 if (ofp_version < rofl::openflow12::OFP_VERSION)
1937 uint8_t ofp_version,
1940 size_t datalen = 0) :
1941 cofmsg_error(ofp_version, xid, OFPET_ROLE_REQUEST_FAILED, OFPRRFC_BAD_ROLE, data, datalen) {
1942 if (ofp_version < rofl::openflow12::OFP_VERSION)
1953 uint8_t ofp_version,
1956 size_t datalen = 0) :
1957 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_UNKNOWN, data, datalen) {
1958 if (ofp_version < rofl::openflow13::OFP_VERSION)
1969 uint8_t ofp_version,
1972 size_t datalen = 0) :
1973 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_METER_EXISTS, data, datalen) {
1974 if (ofp_version < rofl::openflow13::OFP_VERSION)
1985 uint8_t ofp_version,
1988 size_t datalen = 0) :
1989 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_INVALID_METER, data, datalen) {
1990 if (ofp_version < rofl::openflow13::OFP_VERSION)
2001 uint8_t ofp_version,
2004 size_t datalen = 0) :
2005 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_UNKNOWN_METER, data, datalen) {
2006 if (ofp_version < rofl::openflow13::OFP_VERSION)
2017 uint8_t ofp_version,
2020 size_t datalen = 0) :
2021 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_COMMAND, data, datalen) {
2022 if (ofp_version < rofl::openflow13::OFP_VERSION)
2033 uint8_t ofp_version,
2036 size_t datalen = 0) :
2037 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_FLAGS, data, datalen) {
2038 if (ofp_version < rofl::openflow13::OFP_VERSION)
2049 uint8_t ofp_version,
2052 size_t datalen = 0) :
2053 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_RATE, data, datalen) {
2054 if (ofp_version < rofl::openflow13::OFP_VERSION)
2065 uint8_t ofp_version,
2068 size_t datalen = 0) :
2069 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_BURST, data, datalen) {
2070 if (ofp_version < rofl::openflow13::OFP_VERSION)
2081 uint8_t ofp_version,
2084 size_t datalen = 0) :
2085 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_BAND, data, datalen) {
2086 if (ofp_version < rofl::openflow13::OFP_VERSION)
2097 uint8_t ofp_version,
2100 size_t datalen = 0) :
2101 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_BAD_BAND_VALUE, data, datalen) {
2102 if (ofp_version < rofl::openflow13::OFP_VERSION)
2113 uint8_t ofp_version,
2116 size_t datalen = 0) :
2117 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_OUT_OF_METERS, data, datalen) {
2118 if (ofp_version < rofl::openflow13::OFP_VERSION)
2129 uint8_t ofp_version,
2132 size_t datalen = 0) :
2133 cofmsg_error(ofp_version, xid, OFPET_METER_MOD_FAILED, OFPMMFC_OUT_OF_BANDS, data, datalen) {
2134 if (ofp_version < rofl::openflow13::OFP_VERSION)
Definition: cofmsg_error.h:1502
Definition: cofmsg_error.h:1934
Definition: cofmsg_error.h:554
Definition: cofmsg_error.h:567
Definition: cofmsg_error.h:2110
Definition: cofmsg_error.h:1102
Definition: cofmsg_error.h:619
Definition: cofmsg_error.h:1710
Definition: cofmsg_error.h:1646
Definition: cofmsg_error.h:1566
Definition: cofmsg_error.h:1292
Definition: croflexception.h:73
Definition: cofmsg_error.h:593
Definition: openflow13.h:1756
Definition: cofmsg_error.h:1630
Definition: cofmsg_error.h:1006
virtual void reset()
Definition: cofmsg_error.cc:89
Definition: cofmsg_error.h:814
Definition: cofmsg_error.h:1950
Definition: cofmsg_error.h:684
Definition: cofmsg_error.h:1742
Definition: cofmsg_error.h:958
Definition: cofmsg_error.h:801
Definition: cofmsg_error.h:528
Definition: cofmsg_error.h:2014
Definition: cofmsg_error.h:1382
Definition: cofmsg_error.h:1054
Definition: cofmsg_error.h:2030
Definition: cofmsg_error.h:762
Definition: cofmsg_error.h:1424
Definition: cofmsg_error.h:736
Definition: cofmsg_error.h:1182
cofmsg_error(uint8_t of_version, uint32_t xid, uint16_t err_type=0, uint16_t err_code=0, uint8_t *data=0, size_t datalen=0)
Definition: cofmsg_error.cc:5
Definition: cofmsg_error.h:1726
Definition: cofmsg_error.h:926
Definition: cofmsg_error.h:1582
Definition: cofmsg_error.h:1324
Definition: cofmsg_error.h:580
Definition: cofmsg_error.h:1598
Definition: cofmsg_error.h:1758
Definition: cofmsg_error.h:1518
Definition: cofmsg_error.h:2062
Definition: cofmsg_error.h:21
Definition: cofmsg_error.h:1694
Definition: cofmsg_error.h:1822
Definition: cofmsg_error.h:645
Definition: cofmsg_error.h:1356
Definition: openflow12.h:76
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_error.cc:126
Definition: cofmsg_error.h:1070
Definition: cofmsg_error.h:1966
Definition: cofmsg_error.h:1262
Definition: cofmsg_error.h:541
Definition: cofmsg_error.h:1118
Definition: cofmsg_error.h:1276
Definition: cofmsg_error.h:515
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_error.cc:157
virtual void validate()
Definition: cofmsg_error.cc:167
Definition: cofmsg_error.h:2078
Definition: cofmsg_error.h:775
Definition: cofmsg_error.h:1476
Definition: cofmsg_error.h:658
Definition: cofmsg_error.h:1790
Definition: cofmsg_error.h:606
Definition: cofmsg_error.h:1534
Definition: cofmsg_error.h:2094
Definition: cofmsg_error.h:878
virtual size_t length() const
Definition: cofmsg_error.cc:105
Definition: openflow10.h:73
Definition: cofmsg_error.h:862
Definition: cofmsg_error.h:1998
Definition: cofmsg_error.h:894
Definition: cofmsg_error.h:830
Definition: cofmsg_error.h:1198
Definition: cofmsg_error.h:942
Definition: cofmsg_error.h:1246
Definition: cofmsg_error.h:749
Definition: cofmsg_error.h:632
Definition: cofmsg_error.h:1398
Definition: cofmsg_error.h:1550
Definition: cofmsg_error.h:1918
Definition: cofmsg_error.h:1214
Definition: cofmsg_error.h:1870
Definition: cofmsg_error.h:1038
virtual ~cofmsg_error()
Definition: cofmsg_error.cc:81
Definition: cofmsg_error.h:723
Definition: cofmsg_error.h:1230
C++ abstraction for malloc'ed memory areas.
Definition: cmemory.h:44
Definition: cofmsg_error.h:710
Definition: cofmsg_error.h:1086
Definition: cofmsg_error.h:1982
Definition: cofmsg_error.h:1774
Definition: cofmsg_error.h:1854
Definition: cofmsg_error.h:1022
Definition: cofmsg_error.h:1150
Definition: cofmsg_error.h:846
Definition: cofmsg_error.h:1806
Definition: cofmsg_error.h:1166
Definition: cofmsg_error.h:2046
Definition: cofmsg_error.h:1614
Definition: cofmsg_error.h:788
Definition: cofmsg_error.h:697
Definition: cofmsg_error.h:1886
Definition: cofmsg_error.h:2126
Definition: cofmsg_error.h:910
Definition: cofmsg_error.h:1902
Definition: cofmsg_error.h:1450
Definition: cofmsg_error.h:671
Definition: cofmsg_error.h:1678
Definition: cofmsg_error.h:1308
Definition: cofmsg_error.h:1340
Definition: cofmsg_error.h:1662
Definition: cofmsg_error.h:1838
Definition: cofmsg_error.h:1134