ofproto: Reinterpret meaning of OpenFlow hard timeouts with OFPFC_MODIFY.
I finally found a good use for hard timeouts in OpenFlow, but they require
a slight reinterpretation of the meaning of hard timeouts. Until now, a
hard timeout meant that a flow would be removed the specified number of
seconds after a flow was created. Intervening modifications with
OFPFC_MODIFY(_STRICT) had no effect on the hard timeout; the flow would
still be deleted the specified number of seconds after its original
creation.
This commit changes the effect of OFPFC_MODIFY(_STRICT). Now, modifying
a flow resets its hard timeout counter. A flow will time out the specified
number of seconds after creation or after the last time it is modified,
whichever comes later.