The handshake messages (OFPT_FEATURES_REQUEST/OFPT_FEATURES_REPLY
) are used by the controller to fetch basic capabilities and features supported by the switch. On receipt of this message, switch will respond with the OFPT_FEATURES_REPLY
message. The OFPT_FEATURE_REPLY
message informs the controller about the switch capabilities.
On establishment of a successful connection, the controller should know the list of features and tables supported by the switch. This is required because, if the switch doesn't have support for some feature or functionalities, then the controller should provide those functionalities. For instance, if the switch sends a reply message with a capability field having OFPC_PORT_BLOCKED
set, then the switch indicates to the controller that the switch has the capability to block the relevant port to prevent packet loops. If the bit is not set, then the controller should implement mechanisms to avoid packet loops...