Behavior of Ports and Devices

  • Ports that are enabled for OpenFlow cannot take part in any of the normal operations of the device, such as routing and Layer 2 forwarding. However, after OpenFlow is disabled on a port, the port can resume normal operations. This does not require disabling OpenFlow globally on the device.
  • The flow table content is not cleared when the connection to a controller is lost. The device continues to forward traffic according to the flow entries defined in the flow table even in the absence of a controller connection.
  • The flow table entries within the device are cleared when the device is reset.
  • Flow table entries associated with a port are maintained when a port goes down. When the port comes back up, those flow entries are restored on the port. Flow entries are removed only with an explicit command from the controller.
  • When OpenFlow is disabled globally on the device using the no openflow enable command, the flow table in the device is cleared. However, before you can disable OpenFlow globally on the device, you must disable OpenFlow on all interfaces individually.
  • When a controller tries to add a flow to the device with the same priority, rule, and action as a flow that exists in the flow table, the flow statistics are cleared (the system does not add a new flow). The following table summarizes the behavior for similar flows being successively added.

    Flow Table Behavior When Flows Similar to Existing Ones Are Added

    Priority

    Rule

    Action

    Device Behavior

    Same

    Same

    Same

    Clear flow statistics

    Same

    Same

    Different

    • Update the action list
    • Clear the statistics

    Same

    Different

    Same

    Create new flow

    Same

    Different

    Different

    Create new flow

    Different

    Same

    Same

    Create new flow

    Different

    Same

    Different

    Create new flow