GetAsyncReq - GetAsyncRes - SetAsync

This set of messages is used by the controller to set which asynchronous messages it should send, as well as to query the switch for which asynchronous messages it will send.
Initiator
Controller
Acknowledged
Yes

Not Defined
This message is not defined in this version of the protocol.

Not Defined
This message is not defined in this version of the protocol.

Not Defined
This message is not defined in this version of the protocol.

Structure

The GetAsyncReq is just a header. The GetAsyncRes and SetAsync are identical; they start with the standard header and are followed by three sets of two masks. The three sets can be thought of as arrays of two elements. The first array consists of a two element array of PacketIn Reason codes. The second two arrays are of PortStatus Reason codes. The first element, [0], of each array indicates switch behavior for this controller if the controller's role is either: Equal, or Master. The second element, [1], indicates switch behavior for a controller with the role of Slave.

Message Structure

Name Bits Byte Ordering Constraints
packet_in_mask 32 MSBF See below
packet_in_mask 32 MSBF See below
port_status_mask 32 MSBF See below
port_status_mask 32 MSBF See below
flow_removed_mask 32 MSBF See below
flow_removed_mask 32 MSBF See below

Message Constriants

Field Name Value
packet_in_mask No match 0x00000001
Action 0x00000002
Invalid TTL 0x00000004
port_status_mask Add 0x00000001
Delete 0x00000002
Modify 0x00000004
Field Name Value
flow_removed_mask Idle timeout 0x00000001
Hard timeout 0x00000002
Delete 0x00000003
Group delete 0x00000004

References

OpenFlow Switch Specification 1.3.0, pages 75-76

Structure

The GetAsyncReq is just a header. The GetAsyncRes and SetAsync are identical; they start with the standard header and are followed by three sets of two masks. The three sets can be thought of as arrays of two elements. The first array consists of a two element array of PacketIn Reason codes. The second two arrays are of PortStatus Reason codes. The first element, [0], of each array indicates switch behavior for this controller if the controller's role is either: Equal, or Master. The second element, [1], indicates switch behavior for a controller with the role of Slave.

Message Structure

Name Bits Byte Ordering Constraints
packet_in_mask 32 MSBF See below
packet_in_mask 32 MSBF See below
port_status_mask 32 MSBF See below
port_status_mask 32 MSBF See below
flow_removed_mask 32 MSBF See below
flow_removed_mask 32 MSBF See below

Message Constriants

Field Name Value
packet_in_mask No match 0x00000001
Action 0x00000002
Invalid TTL 0x00000004
port_status_mask Add 0x00000001
Delete 0x00000002
Modify 0x00000004
Field Name Value
flow_removed_mask Idle timeout 0x00000001
Hard timeout 0x00000002
Delete 0x00000003
Group delete 0x00000004

References

OpenFlow Switch Specification 1.3.1, page 91

Coming soon
This content is under development.

Coming soon
This content is under development.

Coming soon
This content is under development.