Before this spec change, flow expiration messages included a duration
field for the time the flow was active. To find out the amount of time
the flow received traffic would have been much harder - the controller
would need to store a record of all flow mods it has sent, to know the
idle_timeout of this flow. Additionally, both phrases, 'time flow was
active' and 'time traffic was received' were used in the spec for the
duration field.
Now we return the idle timeout in the flow expiration message, and ensure
duration is the time the entry was present in the flow table. The hard
timeout will be obvious if it is the reason for the deletion, since the
reason field will be OFPER_HARD_TIMEOUT, and the duration will be the hard
timeout value. From the duration and the idle_timeout, we can also
compute the time the flow received traffic.