[ovs-dev] [fin_timeout 3/3] Implement new "fin_timeout" action and "learn" feature.
Ben Pfaff
blp at nicira.com
Wed Feb 15 18:38:31 UTC 2012
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.
More information about the dev
mailing list