ofproto-dpif: Make it easier to credit statistics for resubmits.
authorBen Pfaff <blp@nicira.com>
Fri, 13 Apr 2012 21:09:10 +0000 (14:09 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 19 Apr 2012 03:37:57 +0000 (20:37 -0700)
commit112bc5f46f04c46e1d4fbfaa93f76ea39b39b66e
tree728ac7703874341fc9a47325944f641a15275e8c
parentc23740be661db40a54b8cd0c397945fb3987e771
ofproto-dpif: Make it easier to credit statistics for resubmits.

Until now, crediting statistics to OpenFlow rules due to "resubmit" actions
has required setting up a "resubmit hook" with a callback function and
auxiliary data.  This commit makes it easier to do, by adding a member to
struct action_xlate_ctx that specifies statistics to credit to each
resubmitted rule.

This commit includes one small behavioral change as an optimization.
Previously, rule_execute() translated the rule twice: once to get the ODP
actions, then a second time after executing the ODP actions to credit
statistics to the rules.  After this commit, rule_execute() translates the
rule only once, crediting statistics as a side effect.  The difference only
becomes visible when executing the actions fails: previously the statistics
would not be incremented, after this commit they will be.  It is very
unusual for executing actions to fail (generally this indicates a bug) so
I'm not concerned about it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/dpif.c
ofproto/ofproto-dpif.c