Error

An error message can be sent by either the switch or the controller and indicates the failure of an operation. The simplest failure pertain to malformed messages or failed version negotiation, while more complex scenarios desbie some failure in state change at the switch. All error messages begin with the standard OpenFlow header, containing the appropriate version and type values, followed by the error structure.
Initiator
Switch, Controller
Acknowledged
No

Structure

The Error message consists of a header, a 2 byte type, a 2 byte code and a variable length data field that contains at least 64 bytes of failed request other than type HelloFailed. Type indicates the high level nature of the error and the combination of type and code determines the detailed content of the error. If the error message is in response to a message from the controller, the xid field in the header of the error message should match that of the message from the controller.

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadStat 0x0002
BadVendor 0x0003
BadSubtype 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadVendor 0x0002
BadVendorType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
Name Type Name Code
FlowMod Failed 0x0003 AllTablesFull 0x0000
Overlap 0x0002
EPerm 0x0003
BadEmergTimeout 0x0004
BadCommand 0x0005
Unsupported 0x0006
PortMod Failed 0x0004 BadPort 0x0000
BadHwAddr 0x0001
QueueOpFailed 0x0005 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002

References

OpenFlow Switch Specification 1.0.0, pages 38-41

Structure

In this version, no changes were made to data structures. However, several types and codes are introduced or modified, especially BadInstruction, BadMatch, GroupModFailed, TableModFailed and SwitchConfigFailed. The data field contains the full failed request without padding if it is shorter than 64 bytes.

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadStat 0x0002
BadExperimenter 0x0003
BadSubtype 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadInstruction 0x0003 UnknownInst 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupMetadata 0x0003
UnsupMetadataMask 0x0004
UnsupExpList 0x0005
BadMatch 0x0004 BadType 0x0000
BadLen 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001

References

OpenFlow Switch Specification 1.1.0, page 52-55

Structure

Experimenter Structure

This version adds an experimenter error message structure.

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadStat 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInst 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupMetadata 0x0003
UnsupMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002

References

OpenFlow Switch Specification 1.2.0, page 66

Structure

Experimenter Structure

In this version, several types and codes are introduced or modified, especially RoleRequestFailed and Experimenter. Experimenter has a slightly different structure in which the code field is replaced by experimenter type and an experimenter id is added before the data field.

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadMultipart 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
MultipartBufferOverflow 0x000D
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInstruction 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupportedMetadata 0x0003
UnsupportedMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002
MeterModFailed 0x000C Unknown 0x0000
MeterExists 0x0001
InvalidMeter 0x0002
UnknownMeter 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadRate 0x0006
BadBurst 0x0007
BadBand 0x0008
BadBandValue 0x0009
OutofMeters 0x000A
OutOfBands 0x000B
TableFeaturesFailed 0x000D BadTable 0x0000
BadMetadata 0x0001
BadType 0x0002
BadLength 0x0003
BadArgument 0x0004
PermissionsError 0x0005

References

OpenFlow Switch Specification 1.3.0, pages 79-84

Structure

Experimenter Structure

No change since OpenFlow 1.3

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadMultipart 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
MultipartBufferOverflow 0x000D
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInstruction 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupportedMetadata 0x0003
UnsupportedMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002
MeterModFailed 0x000C Unknown 0x0000
MeterExists 0x0001
InvalidMeter 0x0002
UnknownMeter 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadRate 0x0006
BadBurst 0x0007
BadBand 0x0008
BadBandValue 0x0009
OutofMeters 0x000A
OutOfBands 0x000B
TableFeaturesFailed 0x000D BadTable 0x0000
BadMetadata 0x0001
BadType 0x0002
BadLength 0x0003
BadArgument 0x0004
PermissionsError 0x0005

References

OpenFlow Switch Specification 1.3.1, pages 95-100

Structure

Experimenter Structure

No change since OpenFlow 1.3

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadMultipart 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
MultipartBufferOverflow 0x000D
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInstruction 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupportedMetadata 0x0003
UnsupportedMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002
MeterModFailed 0x000C Unknown 0x0000
MeterExists 0x0001
InvalidMeter 0x0002
UnknownMeter 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadRate 0x0006
BadBurst 0x0007
BadBand 0x0008
BadBandValue 0x0009
OutofMeters 0x000A
OutOfBands 0x000B
TableFeaturesFailed 0x000D BadTable 0x0000
BadMetadata 0x0001
BadType 0x0002
BadLength 0x0003
BadArgument 0x0004
PermissionsError 0x0005

References

OpenFlow Switch Specification 1.3.2, pages 97-100

Structure

Experimenter Structure

No change since OpenFlow 1.3

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadMultipart 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
MultipartBufferOverflow 0x000D
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInstruction 0x0000
UnsupInst 0x0001
BadTableID 0x0002
UnsupportedMetadata 0x0003
UnsupportedMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
Name Type Name Code
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002
MeterModFailed 0x000C Unknown 0x0000
MeterExists 0x0001
InvalidMeter 0x0002
UnknownMeter 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadRate 0x0006
BadBurst 0x0007
BadBand 0x0008
BadBandValue 0x0009
OutofMeters 0x000A
OutOfBands 0x000B
TableFeaturesFailed 0x000D BadTable 0x0000
BadMetadata 0x0001
BadType 0x0002
BadLength 0x0003
BadArgument 0x0004
PermissionsError 0x0005

References

OpenFlow Switch Specification 1.3.3, pages 102-108

Structure

Experimenter Structure

There were four error types introduced in 1.4: BadProperty, AsyncConfigFailed, FlowMonitorFailed, BundleFailed. Two error codes were added to BadRequestCode type: MultipartRequestTimeout, MultipartReplyTimeout. The DuplicateInstruction error code was added to BadInstruction error type. CantSync and BadPriority codes were added to the FlowmodFailed type. Three codes were deprecated from the TableFeaturesFailed type: BadType, BadLength, BadArgument

Message Structure

Name Bits Byte Ordering Constraints
type 16 MSBF see below
code 16 MSBF see below
data - - none

Constraints

Name Type Name Code
Hello Failed 0x0000 Incompatible 0x0000
EPerm 0x0001
Bad Request 0x0001 BadVersion 0x0000
BadType 0x0001
BadMultipart 0x0002
BadExperimenter 0x0003
BadExperimenterType 0x0004
EPerm 0x0005
BadLength 0x0006
BufferEmpty 0x0007
BufferUnknown 0x0008
BadTableID 0x0009
IsSlave 0x000A
BadPort 0x000B
BadPacket 0x000C
MultipartBufferOverflow 0x000D
MultipartRequestTimeout 0x000E
MultipartReplyTimeout 0x000F
Bad Action 0x0002 BadType 0x0000
BadLength 0x0001
BadExperimenter 0x0002
BadExperimenterType 0x0003
BadOutPort 0x0004
BadArgument 0x0005
EPerm 0x0006
TooMany 0x0007
BadQueue 0x0008
BadOutGroup 0x0009
MatchInconsistent 0x000A
UnsupportedOrder 0x000B
BadTag 0x000C
BadSetType 0x000D
BadSetLength 0x000E
BadSetArgument 0x000F
BadInstruction 0x0003 UnknownInstruction 0x0000
UnsupportedInstruction 0x0001
BadTableID 0x0002
UnsupportedMetadata 0x0003
UnsupportedMetadataMask 0x0004
BadExperimenter 0x0005
BadExperimenterType 0x0006
BadLength 0x0007
EPerm 0x0008
DuplicateInstruction 0x0009
BadMatch 0x0004 BadType 0x0000
BadLength 0x0001
BadTag 0x0002
BadDLAddrMask 0x0003
BadHWAddrMask 0x0004
BadWildcards 0x0005
BadField 0x0006
BadValue 0x0007
BadMask 0x0008
BadPrereq 0x0009
DuplicateField 0x000A
EPerm 0x000B
FlowModFailed 0x0005 Unknown 0x0000
TableFull 0x0001
BadTableID 0x0002
Overlap 0x0003
EPerm 0x0004
BadTimeout 0x0005
BadCommand 0x0006
BadFlags 0x0007
CantSync 0x0008
BadPriority 0x0009
Name Type Name Code
GroupModFailed 0x0006 GroupExists 0x0000
InvalidGroup 0x0001
WeightUnsupported 0x0002
OutOfGroups 0x0002
OutOfBuckets 0x0004
ChainingUnsupported 0x0005
WatchUnsupported 0x0006
Loop 0x0007
UnknownGroup 0x0008
ChainedGroup 0x0009
BadType 0x000A
BadCommand 0x000B
BadBucket 0x000C
BadWatch 0x000D
EPerm 0x000E
PortModFailed 0x0007 BadPort 0x0000
BadHWAddr 0x0001
BadConfig 0x0002
BadAdvertise 0x0003
EPerm 0x0004
TableModFailed 0x0008 BadTable 0x0000
BadConfig 0x0001
EPerm 0x0002
QueueOpFailed 0x0009 BadPort 0x0000
BadQueue 0x0001
EPerm 0x0002
SwitchConfigFailed 0x000A BadFlags 0x0000
BadLen 0x0001
EPerm 0x0002
RoleRequestFailed 0x000B Stale 0x0000
Unsupported 0x0001
BadRole 0x0002
MeterModFailed 0x000C Unknown 0x0000
MeterExists 0x0001
InvalidMeter 0x0002
UnknownMeter 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadRate 0x0006
BadBurst 0x0007
BadBand 0x0008
BadBandValue 0x0009
OutofMeters 0x000A
OutOfBands 0x000B
TableFeaturesFailed 0x000D BadTable 0x0000
BadMetadata 0x0001
PermissionsError 0x0005
AsyncConfigFailed 0x000E Invalid 0x0000
Unsupported 0x0001
EPerm 0x0002
FlowMonitorFailed 0x000F Unknown 0x0000
MonitorExists 0x0001
InvalidMonitor 0x0002
UnknownMonitor 0x0003
BadCommand 0x0004
BadFlags 0x0005
BadTableID 0x0006
BadOut 0x0007
BundleFailed 0x0011 Unknown 0x0000
EPerm 0x0001
BadID 0x0002
BundleExists 0x0003
BundleClosed 0x0004
OutOfBundles 0x0005
BadType 0x0006
BadFlags 0x0007
MsgBadLength 0x0008
MsgBadXID 0x0009
MsgUnsupported 0x000A
MsgConflict 0x000B
TooMany 0x000C
MsgFailed 0x000D
Timeout 0x000E
BundleInProgress 0x000F

References

OpenFlow Switch Specification 1.4, pages 132-139