Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
openflow_rofl_exceptions.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef OPENFLOW_ROFL_EXCEPTIONS_H
6 #define OPENFLOW_ROFL_EXCEPTIONS_H 1
7 
8 #include <assert.h>
9 
10 #include "rofl/common/croflexception.h"
11 
12 
13 namespace rofl {
14 
15 class eOpenFlowBase : public RoflException {
16 public:
18  const std::string& __arg = std::string("eOpenFlowBase")) :
19  RoflException(__arg) {};
20  virtual ~eOpenFlowBase() throw() {};
21 };
22 
23 /* exceptions for hello according to OpenFlow */
24 class eHelloBase : public eOpenFlowBase {
25 public:
26  eHelloBase(
27  const std::string& __arg = std::string("eHelloBase")) :
28  eOpenFlowBase(__arg) {};
29 };
30 class eHelloIncompatible : public eHelloBase { // OFPHFC_INCOMPATIBLE
31 public:
33  const std::string& __arg = std::string("eHelloIncompatible")) :
34  eHelloBase(__arg) {};
35 };
36 class eHelloEperm : public eHelloBase { // OFPHFC_EPERM
37 public:
39  const std::string& __arg = std::string("eHelloEperm")) :
40  eHelloBase(__arg) {};
41 };
42 
43 /* exceptions for requests according to OpenFlow */
45 public:
47  const std::string& __arg = std::string("eBadRequestBase")) :
48  eOpenFlowBase(__arg) {};
49 };
50 class eBadRequestBadVersion : public eBadRequestBase { // OFPBRC_BAD_VERSION
51 public:
53  const std::string& __arg = std::string("eBadRequestBadVersion")) :
54  eBadRequestBase(__arg) {};
55 };
56 class eBadRequestBadType : public eBadRequestBase { // OFPBRC_BAD_TYPE
57 public:
59  const std::string& __arg = std::string("eBadRequestBadType")) :
60  eBadRequestBase(__arg) {};
61 };
62 class eBadRequestBadStat : public eBadRequestBase { // OFPBRC_BAD_STAT
63 public:
65  const std::string& __arg = std::string("eBadRequestBadStat")) :
66  eBadRequestBase(__arg) {};
67 };
68 class eBadRequestBadExperimenter : public eBadRequestBase { // OFPBRC_BAD_EXPERIMENTER
69 public:
71  const std::string& __arg = std::string("eBadRequestBadExperimenter")) :
72  eBadRequestBase(__arg) {};
73 };
74 class eBadRequestBadExpType : public eBadRequestBase { // OFPBRC_BAD_EXP_TYPE
75 public:
77  const std::string& __arg = std::string("eBadRequestBadExpType")) :
78  eBadRequestBase(__arg) {};
79 };
80 class eBadRequestEperm : public eBadRequestBase { // OFPBRC_EPERM
81 public:
83  const std::string& __arg = std::string("eBadRequestEperm")) :
84  eBadRequestBase(__arg) {};
85 };
86 class eBadRequestBadLen : public eBadRequestBase { // OFPBRC_BAD_LEN
87 public:
89  const std::string& __arg = std::string("eBadRequestBadLen")) :
90  eBadRequestBase(__arg) {};
91 };
92 class eBadRequestBufferEmpty : public eBadRequestBase { // OFPBRC_BUFFER_EMPTY
93 public:
95  const std::string& __arg = std::string("eBadRequestBufferEmpty")) :
96  eBadRequestBase(__arg) {};
97 };
98 class eBadRequestBufferUnknown : public eBadRequestBase { // OFPBRC_BUFFER_UNKNOWN
99 public:
101  const std::string& __arg = std::string("eBadRequestBufferUnknown")) :
102  eBadRequestBase(__arg) {};
103 };
104 class eBadRequestBadTableId : public eBadRequestBase { // OFPBRC_BAD_TABLE_ID
105 public:
107  const std::string& __arg = std::string("eBadRequestBadTableId")) :
108  eBadRequestBase(__arg) {};
109 };
110 class eBadRequestIsSlave : public eBadRequestBase { // OFPBRC_IS_SLAVE
111 public:
113  const std::string& __arg = std::string("eBadRequestIsSlave")) :
114  eBadRequestBase(__arg) {};
115 };
116 class eBadRequestBadPort : public eBadRequestBase { // OFPBRC_BAD_PORT
117 public:
119  const std::string& __arg = std::string("eBadRequestBadPort")) :
120  eBadRequestBase(__arg) {};
121 };
122 class eBadRequestBadPacket : public eBadRequestBase { // OFPBRC_BAD_PACKET
123 public:
125  const std::string& __arg = std::string("eBadRequestBadPacket")) :
126  eBadRequestBase(__arg) {};
127 };
128 class eBadRequestMultipartBufferOverflow : public eBadRequestBase { // OFPBRC_MULTIPART_BUFFER_OVERFLOW
129 public:
131  const std::string& __arg = std::string("eBadRequestMultipartBufferOverflow")) :
132  eBadRequestBase(__arg) {};
133 };
134 
135 /* exceptions for action-containing requests according to OpenFlow */
137 public:
139  const std::string& __arg = std::string("eBadActionBase")) :
140  eOpenFlowBase(__arg) {};
141 };
142 class eBadActionBadType : public eBadActionBase { // OFPBAC_BAD_TYPE
143 public:
145  const std::string& __arg = std::string("eBadActionBadType")) :
146  eBadActionBase(__arg) {};
147 };
148 class eBadActionBadLen : public eBadActionBase { // OFPBAC_BAD_LEN
149 public:
151  const std::string& __arg = std::string("eBadActionBadLen")) :
152  eBadActionBase(__arg) {};
153 };
154 class eBadActionBadExperimenter : public eBadActionBase { // OFPBAC_BAD_EXPERIMENTER
155 public:
157  const std::string& __arg = std::string("eBadActionBadExperimenter")) :
158  eBadActionBase(__arg) {};
159 };
160 class eBadActionBadExperimenterType : public eBadActionBase { // OFPBAC_BAD_EXPERIMENTER_TYPE
161 public:
163  const std::string& __arg = std::string("eBadActionBadExperimenterType")) :
164  eBadActionBase(__arg) {};
165 };
166 class eBadActionBadOutPort : public eBadActionBase { // OFPBAC_BAD_OUT_PORT
167 public:
169  const std::string& __arg = std::string("eBadActionBadOutPort")) :
170  eBadActionBase(__arg) {};
171 };
172 class eBadActionBadArgument : public eBadActionBase { // OFPBAC_BAD_ARGUMENT
173 public:
175  const std::string& __arg = std::string("eBadActionBadArgument")) :
176  eBadActionBase(__arg) {};
177 };
178 class eBadActionEperm : public eBadActionBase { // OFPBAC_EPERM
179 public:
181  const std::string& __arg = std::string("eBadActionEperm")) :
182  eBadActionBase(__arg) {};
183 };
184 class eBadActionTooMany : public eBadActionBase { // OFPBAC_TOO_MANY
185 public:
187  const std::string& __arg = std::string("eBadActionTooMany")) :
188  eBadActionBase(__arg) {};
189 };
190 class eBadActionBadQueue : public eBadActionBase { // OFPBAC_BAD_QUEUE
191 public:
193  const std::string& __arg = std::string("eBadActionBadQueue")) :
194  eBadActionBase(__arg) {};
195 };
196 class eBadActionBadOutGroup : public eBadActionBase { // OFPBAC_BAD_OUT_GROUP
197 public:
199  const std::string& __arg = std::string("eBadActionBadOutGroup")) :
200  eBadActionBase(__arg) {};
201 };
202 class eBadActionMatchInconsistent : public eBadActionBase { // OFPBAC_MATCH_INCONSISTENT
203 public:
205  const std::string& __arg = std::string("eBadActionMatchInconsistent")) :
206  eBadActionBase(__arg) {};
207 };
208 class eBadActionUnsupportedOrder : public eBadActionBase { // OFPBAC_UNSUPPORTED_ORDER
209 public:
211  const std::string& __arg = std::string("eBadActionUnsupportedOrder")) :
212  eBadActionBase(__arg) {};
213 };
214 class eBadActionBadTag : public eBadActionBase { // OFPBAC_BAD_TAG
215 public:
217  const std::string& __arg = std::string("eBadActionBadTag")) :
218  eBadActionBase(__arg) {};
219 };
220 class eBadActionBadSetType : public eBadActionBase { // OFPBAC_BAD_SET_TYPE
221 public:
223  const std::string& __arg = std::string("eBadActionBadSetType")) :
224  eBadActionBase(__arg) {};
225 };
226 class eBadActionBadSetLen : public eBadActionBase { // OFPBAC_BAD_SET_LEN
227 public:
229  const std::string& __arg = std::string("eBadActionBadSetLen")) :
230  eBadActionBase(__arg) {};
231 };
232 class eBadActionBadSetArgument : public eBadActionBase { // OFPBAC_BAD_SET_ARGUMENT
233 public:
235  const std::string& __arg = std::string("eBadActionBadSetArgument")) :
236  eBadActionBase(__arg) {};
237 };
238 
239 /* exceptions for action-containing requests according to OpenFlow */
240 class eBadInstBase : public eOpenFlowBase {
241 public:
242  eBadInstBase(
243  const std::string& __arg = std::string("eBadInstBase")) :
244  eOpenFlowBase(__arg) {};
245 };
246 class eBadInstUnknownInst : public eBadInstBase { // OFPBIC_UNKNOWN_INST
247 public:
249  const std::string& __arg = std::string("eBadInstUnknownInst")) :
250  eBadInstBase(__arg) {};
251 };
252 class eBadInstUnsupInst : public eBadInstBase { // OFPBIC_UNSUP_INST
253 public:
255  const std::string& __arg = std::string("eBadInstUnsupInst")) :
256  eBadInstBase(__arg) {};
257 };
258 class eBadInstBadTableId : public eBadInstBase { // OFPBIC_BAD_TABLE_ID
259 public:
261  const std::string& __arg = std::string("eBadInstBadTableId")) :
262  eBadInstBase(__arg) {};
263 };
264 class eBadInstUnsupMetadata : public eBadInstBase { // OFPBIC_UNSUP_METADATA
265 public:
267  const std::string& __arg = std::string("eBadInstUnsupMetadata")) :
268  eBadInstBase(__arg) {};
269 };
270 class eBadInstUnsupMetadataMask : public eBadInstBase { // OFPBIC_UNSUP_METADATA_MASK
271 public:
273  const std::string& __arg = std::string("eBadInstUnsupMetadataMask")) :
274  eBadInstBase(__arg) {};
275 };
276 class eBadInstBadExperimenter : public eBadInstBase { // OFPBIC_BAD_EXPERIMENTER
277 public:
279  const std::string& __arg = std::string("eBadInstBadExperimenter")) :
280  eBadInstBase(__arg) {};
281 };
282 class eBadInstBadExpType : public eBadInstBase { // OFPBIC_BAD_EXP_TYPE
283 public:
285  const std::string& __arg = std::string("eBadInstBadExpType")) :
286  eBadInstBase(__arg) {};
287 };
288 class eBadInstBadLen : public eBadInstBase { // OFPBIC_BAD_LEN
289 public:
291  const std::string& __arg = std::string("eBadInstBadLen")) :
292  eBadInstBase(__arg) {};
293 };
294 class eBadInstEperm : public eBadInstBase { // OFPBIC_EPERM
295 public:
297  const std::string& __arg = std::string("eBadInstEPerm")) :
298  eBadInstBase(__arg) {};
299 };
300 
301 /* exceptions for action-containing requests according to OpenFlow */
302 class eBadMatchBase : public eOpenFlowBase {
303 public:
305  const std::string& __arg = std::string("eBadMatchBase")) :
306  eOpenFlowBase(__arg) {};
307 };
308 class eBadMatchBadType : public eBadMatchBase { // OFPBMC_BAD_TYPE
309 public:
311  const std::string& __arg = std::string("eBadMatchBadType")) :
312  eBadMatchBase(__arg) {};
313 };
314 class eBadMatchBadLen : public eBadMatchBase { // OFPBMC_BAD_LEN
315 public:
317  const std::string& __arg = std::string("eBadMatchBadLen")) :
318  eBadMatchBase(__arg) {};
319 };
320 class eBadMatchBadTag : public eBadMatchBase { // OFPBMC_BAD_TAG
321 public:
323  const std::string& __arg = std::string("eBadMatchBadTag")) :
324  eBadMatchBase(__arg) {};
325 };
326 class eBadMatchBadDlAddrMask : public eBadMatchBase { // OFPBMC_BAD_DL_ADDR_MASK
327 public:
329  const std::string& __arg = std::string("eBadMatchBadDlAddrMask")) :
330  eBadMatchBase(__arg) {};
331 };
332 class eBadMatchBadNwAddrMask : public eBadMatchBase { // OFPBMC_BAD_NW_ADDR_MASK
333 public:
335  const std::string& __arg = std::string("eBadMatchBadNwAddrMask")) :
336  eBadMatchBase(__arg) {};
337 };
338 class eBadMatchBadWildcards : public eBadMatchBase { // OFPBMC_BAD_WILDCARDS
339 public:
341  const std::string& __arg = std::string("eBadMatchBadWildcards")) :
342  eBadMatchBase(__arg) {};
343 };
344 class eBadMatchBadField : public eBadMatchBase { // OFPBMC_BAD_FIELD
345 public:
347  const std::string& __arg = std::string("eBadMatchBadField")) :
348  eBadMatchBase(__arg) {};
349 };
350 class eBadMatchBadValue : public eBadMatchBase { // OFPBMC_BAD_VALUE
351 public:
353  const std::string& __arg = std::string("eBadMatchBadValue")) :
354  eBadMatchBase(__arg) {};
355 };
356 class eBadMatchBadMask : public eBadMatchBase { // OFPBMC_BAD_MASK
357 public:
359  const std::string& __arg = std::string("eBadMatchBadMask")) :
360  eBadMatchBase(__arg) {};
361 };
362 class eBadMatchBadPrereq : public eBadMatchBase { // OFPBMC_BAD_PREREQ
363 public:
365  const std::string& __arg = std::string("eBadMatchBadPrereq")) :
366  eBadMatchBase(__arg) {};
367 };
368 class eBadMatchDupField : public eBadMatchBase { // OFPBMC_DUP_FIELD
369 public:
371  const std::string& __arg = std::string("eBadMatchDupField")) :
372  eBadMatchBase(__arg) {};
373 };
374 class eBadMatchEperm : public eBadMatchBase { // OFPBMC_EPERM
375 public:
377  const std::string& __arg = std::string("eBadMatchEperm")) :
378  eBadMatchBase(__arg) {};
379 };
380 
381 /* exceptions for flow-mod tables and flow-mod entries according to OpenFlow */
382 class eFlowModBase : public eOpenFlowBase {
383 public:
384  eFlowModBase(
385  const std::string& __arg = std::string("eFlowModBase")) :
386  eOpenFlowBase(__arg) {};
387 };
388 class eFlowModUnknown : public eFlowModBase { // OFPFMFC_UNKNOWN
389 public:
391  const std::string& __arg = std::string("eFlowModUnknown")) :
392  eFlowModBase(__arg) {};
393 };
394 class eFlowModTableFull : public eFlowModBase { // OFPFMFC_TABLE_FULL
395 public:
397  const std::string& __arg = std::string("eFlowModTableFull")) :
398  eFlowModBase(__arg) {};
399 };
400 class eFlowModBadTableId : public eFlowModBase { // OFPFMFC_BAD_TABLE_ID
401 public:
403  const std::string& __arg = std::string("eFlowModBadTableId")) :
404  eFlowModBase(__arg) {};
405 };
406 class eFlowModOverlap : public eFlowModBase { // OFPFMFC_OVERLAP
407 public:
409  const std::string& __arg = std::string("eFlowModOverlap")) :
410  eFlowModBase(__arg) {};
411 };
412 class eFlowModEperm : public eFlowModBase { // OFPFMFC_EPERM
413 public:
415  const std::string& __arg = std::string("eFlowModEperm")) :
416  eFlowModBase(__arg) {};
417 };
418 class eFlowModBadTimeout : public eFlowModBase { // OFPFMFC_BAD_TIMEOUT
419 public:
421  const std::string& __arg = std::string("eFlowModBadTimeout")) :
422  eFlowModBase(__arg) {};
423 };
424 class eFlowModBadCommand : public eFlowModBase { // OFPFMFC_BAD_COMMAND
425 public:
427  const std::string& __arg = std::string("eFlowModBadCommand")) :
428  eFlowModBase(__arg) {};
429 };
430 class eFlowModBadFlags : public eFlowModBase { // OFPFMFC_BAD_FLAGS
431 public:
433  const std::string& __arg = std::string("eFlowModBadFlags")) :
434  eFlowModBase(__arg) {};
435 };
436 
437 /* exceptions for group table and group entries according to OpenFlow */
438 class eGroupModBase : public eOpenFlowBase {
439 public:
441  const std::string& __arg = std::string("eGroupModBase")) :
442  eOpenFlowBase(__arg) {};
443 };
444 class eGroupModExists : public eGroupModBase { // OFPGMFC_GROUP_EXISTS
445 public:
447  const std::string& __arg = std::string("eGroupModExists")) :
448  eGroupModBase(__arg) {};
449 };
450 class eGroupModInvalGroup : public eGroupModBase { // OFPGMFC_INVALID_GROUP
451 public:
453  const std::string& __arg = std::string("eGroupModInvalGroup")) :
454  eGroupModBase(__arg) {};
455 };
456 class eGroupModWeightUnsupported : public eGroupModBase { // OFPGMFC_WEIGHT_UNSUPPORTED
457 public:
459  const std::string& __arg = std::string("eGroupModWeightUnsupported")) :
460  eGroupModBase(__arg) {};
461 };
462 class eGroupModOutOfGroups : public eGroupModBase { // OFPGMFC_OUT_OF_GROUPS
463 public:
465  const std::string& __arg = std::string("eGroupModOutOfGroups")) :
466  eGroupModBase(__arg) {};
467 };
468 class eGroupModOutOfBuckets : public eGroupModBase { // OFPGMFC_OUT_OF_BUCKETS
469 public:
471  const std::string& __arg = std::string("eGroupModOutOfBuckets")) :
472  eGroupModBase(__arg) {};
473 };
474 class eGroupModChainingUnsupported : public eGroupModBase { // OFPGMFC_CHAINING_UNSUPPORTED
475 public:
477  const std::string& __arg = std::string("eGroupModChainingUnsupported")) :
478  eGroupModBase(__arg) {};
479 };
480 class eGroupModWatchUnsupported : public eGroupModBase { // OFPGMFC_WATCH_UNSUPPORTED
481 public:
483  const std::string& __arg = std::string("eGroupModWatchUnsupported")) :
484  eGroupModBase(__arg) {};
485 };
486 class eGroupModLoop : public eGroupModBase { // OFPGMFC_LOOP
487 public:
489  const std::string& __arg = std::string("eGroupModLoop")) :
490  eGroupModBase(__arg) {};
491 };
492 class eGroupModUnknownGroup : public eGroupModBase { // OFPGMFC_UNKNOWN_GROUP
493 public:
495  const std::string& __arg = std::string("eGroupModUnknownGroup")) :
496  eGroupModBase(__arg) {};
497 };
498 class eGroupModChainedGroup : public eGroupModBase { // OFPGMFC_CHAINED_GROUP
499 public:
501  const std::string& __arg = std::string("eGroupModChainedGroup")) :
502  eGroupModBase(__arg) {};
503 };
504 class eGroupModBadType : public eGroupModBase { // OFPGMFC_BAD_TYPE
505 public:
507  const std::string& __arg = std::string("eGroupModBadType")) :
508  eGroupModBase(__arg) {};
509 };
510 class eGroupModBadCommand : public eGroupModBase { // OFPGMFC_BAD_COMMAND
511 public:
513  const std::string& __arg = std::string("eGroupModBadCommand")) :
514  eGroupModBase(__arg) {};
515 };
516 class eGroupModBadBucket : public eGroupModBase { // OFPGMFC_BAD_BUCKET
517 public:
519  const std::string& __arg = std::string("eGroupModBadBucket")) :
520  eGroupModBase(__arg) {};
521 };
522 class eGroupModBadWatch : public eGroupModBase { // OFPGMFC_BAD_WATCH
523 public:
525  const std::string& __arg = std::string("eGroupModBadWatch")) :
526  eGroupModBase(__arg) {};
527 };
528 class eGroupModEperm : public eGroupModBase { // OFPGMFC_EPERM
529 public:
531  const std::string& __arg = std::string("eGroupModEperm")) :
532  eGroupModBase(__arg) {};
533 };
534 
535 /* exceptions for port-mod commands according to OpenFlow */
536 class ePortModBase : public eOpenFlowBase {
537 public:
538  ePortModBase(
539  const std::string& __arg = std::string("ePortModBase")) :
540  eOpenFlowBase(__arg) {};
541 };
542 class ePortModBadPort : public ePortModBase { // OFPPMFC_BAD_PORT
543 public:
545  const std::string& __arg = std::string("ePortModBadPort")) :
546  ePortModBase(__arg) {};
547 };
548 class ePortModBadHwAddr : public ePortModBase { // OFPPMFC_BAD_HW_ADDR
549 public:
551  const std::string& __arg = std::string("ePortModBadHwAddr")) :
552  ePortModBase(__arg) {};
553 };
554 class ePortModBadConfig : public ePortModBase { // OFPPMFC_BAD_CONFIG
555 public:
557  const std::string& __arg = std::string("ePortModBadConfig")) :
558  ePortModBase(__arg) {};
559 };
560 class ePortModBadAdvertise : public ePortModBase { // OFPPMFC_BAD_ADVERTISE
561 public:
563  const std::string& __arg = std::string("ePortModBadAdvertise")) :
564  ePortModBase(__arg) {};
565 };
566 class ePortModEperm : public ePortModBase { // OFPPMFC_EPERM
567 public:
569  const std::string& __arg = std::string("ePortModEperm")) :
570  ePortModBase(__arg) {};
571 };
572 
573 /* exceptions for table-mod commands according to OpenFlow */
574 class eTableModBase : public eOpenFlowBase {
575 public:
577  const std::string& __arg = std::string("eTableModBase")) :
578  eOpenFlowBase(__arg) {};
579 };
580 class eTableModBadTable : public eTableModBase { // OFPTMFC_BAD_TABLE
581 public:
583  const std::string& __arg = std::string("eTableModBadTable")) :
584  eTableModBase(__arg) {};
585 };
586 class eTableModBadConfig : public eTableModBase { // OFPTMFC_BAD_CONFIG
587 public:
589  const std::string& __arg = std::string("eTableModBadConfig")) :
590  eTableModBase(__arg) {};
591 };
592 class eTableModEperm : public eTableModBase { // OFPTMFC_EPERM
593 public:
595  const std::string& __arg = std::string("eTableModEperm")) :
596  eTableModBase(__arg) {};
597 };
598 
599 /* exceptions for queue-op commands according to OpenFlow */
600 class eQueueOpBase : public eOpenFlowBase {
601 public:
602  eQueueOpBase(
603  const std::string& __arg = std::string("eQueueOpBase")) :
604  eOpenFlowBase(__arg) {};
605 };
606 class eQueueOpBadPort : public eQueueOpBase { // OFPQOFC_BAD_PORT
607 public:
609  const std::string& __arg = std::string("eQueueOpBadPort")) :
610  eQueueOpBase(__arg) {};
611 };
612 class eQueueOpBadQueue : public eQueueOpBase { // OFPQOFC_BAD_QUEUE
613 public:
615  const std::string& __arg = std::string("eQueueOpBadQueue")) :
616  eQueueOpBase(__arg) {};
617 };
618 class eQueueOpEperm : public eQueueOpBase { // OFPQOFC_EPERM
619 public:
621  const std::string& __arg = std::string("eQueueOpEperm")) :
622  eQueueOpBase(__arg) {};
623 };
624 
625 /* exceptions for switch-config commands according to OpenFlow */
627 public:
629  const std::string& __arg = std::string("eSwitchConfigBase")) :
630  eOpenFlowBase(__arg) {};
631 };
632 class eSwitchConfigBadFlags : public eSwitchConfigBase { // OFPSCFC_BAD_FLAGS
633 public:
635  const std::string& __arg = std::string("eSwitchConfigBadFlags")) :
636  eSwitchConfigBase(__arg) {};
637 };
638 class eSwitchConfigBadLen : public eSwitchConfigBase { // OFPSCFC_BAD_LEN
639 public:
641  const std::string& __arg = std::string("eSwitchConfigBadLen")) :
642  eSwitchConfigBase(__arg) {};
643 };
644 class eSwitchConfigEPerm : public eSwitchConfigBase { // OFPSCFC_EPERM
645 public:
647  const std::string& __arg = std::string("eSwitchConfigEPerm")) :
648  eSwitchConfigBase(__arg) {};
649 };
650 
651 /* exceptions for role-request commands according to OpenFlow */
653 public:
655  const std::string& __arg = std::string("eRoleRequestBase")) :
656  eOpenFlowBase(__arg) {};
657 };
658 class eRoleRequestStale : public eRoleRequestBase { // OFPRRFC_STALE
659 public:
661  const std::string& __arg = std::string("eRoleRequestStale")) :
662  eRoleRequestBase(__arg) {};
663 };
664 class eRoleRequestUnsupported : public eRoleRequestBase { // OFPRRFC_UNSUPPORTED
665 public:
667  const std::string& __arg = std::string("eRoleRequestUnsupported")) :
668  eRoleRequestBase(__arg) {};
669 };
670 class eRoleRequestBadRole : public eRoleRequestBase { // OFPRRFC_BAD_ROLE
671 public:
673  const std::string& __arg = std::string("eRoleRequestBadRole")) :
674  eRoleRequestBase(__arg) {};
675 };
676 
677 /* exceptions for meter-mod commands according to OpenFlow */
678 class eMeterModBase : public eOpenFlowBase {
679 public:
681  const std::string& __arg = std::string("eMeterModBase")) :
682  eOpenFlowBase(__arg) {};
683 };
684 class eMeterModUnknown : public eMeterModBase { // OFPMMFC_UNKNOWN
685 public:
687  const std::string& __arg = std::string("eMeterModUnknown")) :
688  eMeterModBase(__arg) {};
689 };
690 class eMeterModMeterExists : public eMeterModBase { // OFPMMFC_METER_EXISTS
691 public:
693  const std::string& __arg = std::string("eMeterModMeterExists")) :
694  eMeterModBase(__arg) {};
695 };
696 class eMeterModInvalidMeter : public eMeterModBase { // OFPMMFC_INVALID_METER
697 public:
699  const std::string& __arg = std::string("eMeterModInvalidMeter")) :
700  eMeterModBase(__arg) {};
701 };
702 class eMeterModUnknownMeter : public eMeterModBase { // OFPMMFC_UNKNOWN_METER
703 public:
705  const std::string& __arg = std::string("eMeterModUnknownMeter")) :
706  eMeterModBase(__arg) {};
707 };
708 class eMeterModBadCommand : public eMeterModBase { // OFPMMFC_BAD_COMMAND
709 public:
711  const std::string& __arg = std::string("eMeterModBadCommand")) :
712  eMeterModBase(__arg) {};
713 };
714 class eMeterModBadFlags : public eMeterModBase { // OFPMMFC_BAD_FLAGS
715 public:
717  const std::string& __arg = std::string("eMeterModBadFlags")) :
718  eMeterModBase(__arg) {};
719 };
720 class eMeterModBadRate : public eMeterModBase { // OFPMMFC_BAD_RATE
721 public:
723  const std::string& __arg = std::string("eMeterModBadRate")) :
724  eMeterModBase(__arg) {};
725 };
726 class eMeterModBadBurst : public eMeterModBase { // OFPMMFC_BAD_BURST
727 public:
729  const std::string& __arg = std::string("eMeterModBadBurst")) :
730  eMeterModBase(__arg) {};
731 };
732 class eMeterModBadBand : public eMeterModBase { // OFPMMFC_BAD_BAND
733 public:
735  const std::string& __arg = std::string("eMeterModBadBand")) :
736  eMeterModBase(__arg) {};
737 };
738 class eMeterModBadBandValue : public eMeterModBase { // OFPMMFC_BAD_BAND_VALUE
739 public:
741  const std::string& __arg = std::string("eMeterModBadBandValue")) :
742  eMeterModBase(__arg) {};
743 };
744 class eMeterModOutOfMeters : public eMeterModBase { // OFPMMFC_OUT_OF_METERS
745 public:
747  const std::string& __arg = std::string("eMeterModOutOfMeters")) :
748  eMeterModBase(__arg) {};
749 };
750 class eMeterModOutOfBands : public eMeterModBase { // OFPMMFC_OUT_OF_BANDS
751 public:
753  const std::string& __arg = std::string("eMeterModOutOfBands")) :
754  eMeterModBase(__arg) {};
755 };
756 
757 /* exceptions for table-features commands according to OpenFlow */
759 public:
761  const std::string& __arg = std::string("eTableFeaturesReqBase")) :
762  eOpenFlowBase(__arg) {};
763 };
764 class eTableFeaturesReqBadTable : public eTableFeaturesReqBase { //OFPTFFC_BAD_TABLE
765 public:
767  const std::string& __arg = std::string("eTableFeaturesReqBadTable")) :
768  eTableFeaturesReqBase(__arg) {};
769 };
770 class eTableFeaturesReqBadMetaData : public eTableFeaturesReqBase { //OFPTFFC_BAD_METADATA
771 public:
773  const std::string& __arg = std::string("eTableFeaturesReqBadMetaData")) :
774  eTableFeaturesReqBase(__arg) {};
775 };
776 class eTableFeaturesReqBadType : public eTableFeaturesReqBase { //OFPTFFC_BAD_TYPE
777 public:
779  const std::string& __arg = std::string("eTableFeaturesReqBadType")) :
780  eTableFeaturesReqBase(__arg) {};
781 };
782 class eTableFeaturesReqBadLen : public eTableFeaturesReqBase { //OFPTFFC_BAD_LEN
783 public:
785  const std::string& __arg = std::string("eTableFeaturesReqBadLen")) :
786  eTableFeaturesReqBase(__arg) {};
787 };
788 class eTableFeaturesReqBadArgument : public eTableFeaturesReqBase { //OFPTFFC_BAD_ARGUMENT
789 public:
791  const std::string& __arg = std::string("eTableFeaturesReqBadArgument")) :
792  eTableFeaturesReqBase(__arg) {};
793 };
794 class eTableFeaturesReqEperm : public eTableFeaturesReqBase { //OFPTFFC_EPERM
795 public:
797  const std::string& __arg = std::string("eTableFeaturesReqEperm")) :
798  eTableFeaturesReqBase(__arg) {};
799 };
800 
801 }; // end of namespace
802 
803 #endif
Definition: openflow_rofl_exceptions.h:374
Definition: openflow_rofl_exceptions.h:732
Definition: openflow_rofl_exceptions.h:282
Definition: openflow_rofl_exceptions.h:344
Definition: openflow_rofl_exceptions.h:232
Definition: openflow_rofl_exceptions.h:142
Definition: openflow_rofl_exceptions.h:276
Definition: openflow_rofl_exceptions.h:362
Definition: openflow_rofl_exceptions.h:166
Definition: openflow_rofl_exceptions.h:332
Definition: openflow_rofl_exceptions.h:702
Definition: openflow_rofl_exceptions.h:80
Definition: openflow_rofl_exceptions.h:240
Definition: openflow_rofl_exceptions.h:184
Definition: openflow_rofl_exceptions.h:302
Definition: openflow_rofl_exceptions.h:220
Definition: openflow_rofl_exceptions.h:678
Definition: openflow_rofl_exceptions.h:522
Definition: openflow_rofl_exceptions.h:626
Definition: openflow_rofl_exceptions.h:684
Definition: openflow_rofl_exceptions.h:738
Definition: openflow_rofl_exceptions.h:208
Definition: openflow_rofl_exceptions.h:770
Definition: openflow_rofl_exceptions.h:632
Definition: openflow_rofl_exceptions.h:50
Definition: openflow_rofl_exceptions.h:670
Definition: openflow_rofl_exceptions.h:15
Definition: openflow_rofl_exceptions.h:172
Definition: openflow_rofl_exceptions.h:62
Definition: openflow_rofl_exceptions.h:412
Definition: openflow_rofl_exceptions.h:696
Definition: openflow_rofl_exceptions.h:438
Definition: openflow_rofl_exceptions.h:600
Definition: openflow_rofl_exceptions.h:154
Definition: openflow_rofl_exceptions.h:264
Definition: openflow_rofl_exceptions.h:504
Definition: openflow_rofl_exceptions.h:214
Definition: openflow_rofl_exceptions.h:56
Definition: openflow_rofl_exceptions.h:418
Definition: openflow_rofl_exceptions.h:764
Definition: openflow_rofl_exceptions.h:196
Definition: openflow_rofl_exceptions.h:758
Definition: openflow_rofl_exceptions.h:104
Definition: openflow_rofl_exceptions.h:548
Definition: openflow_rofl_exceptions.h:574
Definition: openflow_rofl_exceptions.h:98
Definition: openflow_rofl_exceptions.h:486
Definition: openflow_rofl_exceptions.h:498
Definition: openflow_rofl_exceptions.h:782
Definition: openflow_rofl_exceptions.h:190
Definition: openflow_rofl_exceptions.h:122
Definition: openflow_rofl_exceptions.h:294
Definition: openflow_rofl_exceptions.h:542
Definition: openflow_rofl_exceptions.h:690
Definition: openflow_rofl_exceptions.h:516
Definition: openflow_rofl_exceptions.h:24
Definition: openflow_rofl_exceptions.h:258
Definition: openflow_rofl_exceptions.h:338
Definition: openflow_rofl_exceptions.h:468
Definition: openflow_rofl_exceptions.h:794
Definition: openflow_rofl_exceptions.h:592
Definition: openflow_rofl_exceptions.h:720
Definition: openflow_rofl_exceptions.h:474
Definition: openflow_rofl_exceptions.h:110
Definition: openflow_rofl_exceptions.h:444
Definition: openflow_rofl_exceptions.h:708
Definition: openflow_rofl_exceptions.h:554
Definition: openflow_rofl_exceptions.h:528
Definition: openflow_rofl_exceptions.h:430
Definition: openflow_rofl_exceptions.h:406
Definition: openflow_rofl_exceptions.h:714
Definition: openflow_rofl_exceptions.h:128
Definition: openflow_rofl_exceptions.h:644
Definition: openflow_rofl_exceptions.h:618
Definition: openflow_rofl_exceptions.h:480
Definition: openflow_rofl_exceptions.h:462
Definition: openflow_rofl_exceptions.h:658
Definition: openflow_rofl_exceptions.h:606
Definition: openflow_rofl_exceptions.h:246
Definition: openflow_rofl_exceptions.h:92
Definition: openflow_rofl_exceptions.h:566
Definition: openflow_rofl_exceptions.h:492
Definition: openflow_rofl_exceptions.h:86
Definition: openflow_rofl_exceptions.h:580
Definition: openflow_rofl_exceptions.h:74
Definition: openflow_rofl_exceptions.h:456
Definition: openflow_rofl_exceptions.h:30
Definition: openflow_rofl_exceptions.h:744
Definition: openflow_rofl_exceptions.h:382
Definition: openflow_rofl_exceptions.h:776
Definition: openflow_rofl_exceptions.h:368
Definition: openflow_rofl_exceptions.h:160
Definition: openflow_rofl_exceptions.h:320
Definition: openflow_rofl_exceptions.h:252
Definition: openflow_rofl_exceptions.h:664
Definition: openflow_rofl_exceptions.h:308
Definition: openflow_rofl_exceptions.h:424
Definition: openflow_rofl_exceptions.h:586
Definition: openflow_rofl_exceptions.h:36
Definition: openflow_rofl_exceptions.h:350
Definition: openflow_rofl_exceptions.h:750
Definition: openflow_rofl_exceptions.h:326
Definition: openflow_rofl_exceptions.h:612
Definition: openflow_rofl_exceptions.h:400
Definition: openflow_rofl_exceptions.h:148
Definition: openflow_rofl_exceptions.h:288
Definition: openflow_rofl_exceptions.h:178
Definition: openflow_rofl_exceptions.h:638
Definition: openflow_rofl_exceptions.h:510
Definition: openflow_rofl_exceptions.h:136
Definition: openflow_rofl_exceptions.h:44
Definition: openflow_rofl_exceptions.h:388
Definition: openflow_rofl_exceptions.h:202
Definition: openflow_rofl_exceptions.h:68
Definition: openflow_rofl_exceptions.h:536
Definition: openflow_rofl_exceptions.h:726
Definition: openflow_rofl_exceptions.h:394
Definition: openflow_rofl_exceptions.h:560
Definition: openflow_rofl_exceptions.h:314
Definition: openflow_rofl_exceptions.h:226
Definition: openflow_rofl_exceptions.h:788
Definition: openflow_rofl_exceptions.h:116
Definition: openflow_rofl_exceptions.h:652
Definition: openflow_rofl_exceptions.h:270
Definition: croflexception.h:27
Definition: openflow_rofl_exceptions.h:356
Definition: openflow_rofl_exceptions.h:450