b5525791b5
Previously, a switch would only notify the controller when flows expired. Now, when a switch is told to delete flows, it sends a flow expiration message, enabling the controller to get packet and byte counts from deleted flows. Without this, the controller must retrieve flow statistics and then delete the flow, during which time the counts could change. This could also aid in debugging if multiple applications or programs controlling the same switch are deleting each others' flows. This commit adds a OFPER_DELETE as a choice for the reason field of a flow expiration.