On Tue, Feb 14, 2012 at 04:55:06PM -0800, Ethan Jackson wrote: > > This is in facet_flush_stats(), which gets called from two contexts: > > facet_remove() and facet_revalidate(). It shouldn't really matter in > > facet_remove() since the facet is going away anyway, so the > > facet_revalidate() case is the interesting one. That case comes up > > when the facet's actions change. Now, I can see the point of view > > that "we saw a FIN once, so we'll make that sticky" but the point of > > view I've always taken is slightly different. My point of view is > > that the ideal that Open vSwitch is trying to reach is that every > > packet that goes through a flow executes the actions. That means > > that, when a packet with a FIN goes through the flow, it only changes > > the timeout that one time. If the FIN goes through when the actions > > are different, it has no effect, and there's no "stickiness". In > > reality, though, we only find out about TCP flags periodically, so we > > can only approximate the ideal behavior. By resetting tcp_flags when > > the actions change, we "forget" that the FIN was seen, which seems > > correct to me because in fact it hasn't been seen with the new > > actions. > > Sounds fine to me. We can always change it if for some reason real > controllers prefer the alternative behavior. My intuition is that the > behavior you've written is fine.
Thanks. I pushed this series. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
