Currently, the consistency check is using the flow_mod with the OFPFC_DELETE, instead of OFPFC_DELETE_STRICT that can result in an operation that remove all flows in the switch. When the consistency check sends the command to remove a flow that doesn't have the match fields defined, the non-strict DELETE can remove all flows from the switch.
Without the match fields defined in the normal delete the Wildcards will be defined used for the missing fields. Therefore, that will be removed all flows from the switch.
Therefore, it's necessary to implement support to DELETE_STRICT on flow_manager and of_core NApp, currently the pyof (#L33) already have to support to DELETE_STRICT.
Using the OFPC_DELETE_STRICT instead of OFPFC_DELETE will avoid deleting more than the specified flow.
Currently, the consistency check is using the
flow_mod
with theOFPFC_DELETE
, instead ofOFPFC_DELETE_STRICT
that can result in an operation that remove all flows in the switch. When the consistency check sends the command to remove a flow that doesn't have the match fields defined, the non-strict DELETE can remove all flows from the switch. Without the match fields defined in the normal delete the Wildcards will be defined used for the missing fields. Therefore, that will be removed all flows from the switch.Therefore, it's necessary to implement support to DELETE_STRICT on
flow_manager
andof_core
NApp, currently thepyof
(#L33) already have to support toDELETE_STRICT.
Using the
OFPC_DELETE_STRICT
instead ofOFPFC_DELETE
will avoid deleting more than the specified flow.