Hey Joe, Sorry for the delayed reply,
Please see my comments inline, On Sun, Jun 22, 2014 at 11:29 PM, Joe Stringer <joestrin...@nicira.com> wrote: > Alex, could you review this series? > > I think that the correct solution is to perform "retroactive > side-effects", that is, perform side effects as though they had happened at > the time that the flow was hit. Anything that may hide these effects (like > mac table flush) would need to be taken into account. > Totally agree, > However, such information is unavailable, and would be non-trivial to > collect and maintain. > Totally agree, So, I'm thinking this solution, - in revalidate_ukey(), if need_revalidate is set, we always: 1. save the current xcache to old_xcache pointers. 2. conduct full revalidation (but never push stats during revalidation) and get a new xcache. 3.1. if the ukey is the same, delete the new xcache and push stats/side-effects. 3.2. if the ukey is different, only push stats to old_xcache. delete the old_xcache, and save the pointer to new xcache. - in push_dump_ops__(), could we just push stats (skip the side-effects) after deleting the flow? This may require us to never miss dump flow from dp. What do you think? Thanks, Alex Wang,
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev