It wasn't obvious how ownership transferred to odp_execute_actions() or to its callback.
CC: Yifeng Sun <[email protected]> Signed-off-by: Ben Pfaff <[email protected]> --- lib/odp-execute.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/odp-execute.c b/lib/odp-execute.c index 2d20cd57fd1d..5ff180f9cbca 100644 --- a/lib/odp-execute.c +++ b/lib/odp-execute.c @@ -665,6 +665,15 @@ requires_datapath_assistance(const struct nlattr *a) return false; } +/* Executes all of the 'actions_len' bytes of datapath actions in 'actions' on + * the packets in 'batch'. If 'steal' is true, possibly modifies and + * definitely free the packets in 'batch', otherwise leaves 'batch' unchanged. + * + * Some actions (e.g. output actions) can only be executed by a datapath. This + * function implements those actions by passing the action and the packets to + * 'dp_execute_action' (along with 'dp'). If 'dp_execute_action' is passed a + * true 'may_steal' parameter then it may possibly modify and must definitely + * free the packets passed into it, otherwise it must leave them unchanged. */ void odp_execute_actions(void *dp, struct dp_packet_batch *batch, bool steal, const struct nlattr *actions, size_t actions_len, -- 2.10.2 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
