vswitchd: Don't reset idle timer when updating flows.
authorBen Pfaff <blp@nicira.com>
Fri, 16 Jan 2009 18:23:51 +0000 (10:23 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 16 Jan 2009 18:23:51 +0000 (10:23 -0800)
commitcf0d3c6016a5cbfdf576ee4a75eadbcaaa97b00c
tree385e346dad3e778c8419e9d410aff09f6a09cd26
parent2c08714a4fd97513caa784fb4b98aef39e2f7e9d
vswitchd: Don't reset idle timer when updating flows.

When a flow was revalidated, we would use a OFPFC_ADD flow_mod message to
change the flow's actions.  However, this resets the idle-timer countdown.
In extreme circumstances, such as when VMs are being continuously migrated,
this meant that completely idle flows would never expire, because their
idle timers would keep getting reset more often than every 5 seconds, and
so the flow table would keep growing, never shrinking.

Now, when we revalidate an existing flow and update its actions, we use
an OFPFC_MODIFY_STRICT flow_mod message, which also updates actions but
does not reset the idle-timer countdown.
vswitchd/bridge.c