[ovs-dev] [PATCH v2] odp-execute: Skip processing actions when batch is emptied

Ben Pfaff blp at ovn.org
Tue Nov 28 18:47:01 UTC 2017


On Thu, Nov 16, 2017 at 06:01:54AM +0000, Vishal Deep Ajmera wrote:
> Today in OVS, when errors are encountered during the execution
> of an action the entire batch of packets may be deleted (for
> e.g. in processing push_tnl_action, if the port is not found
> in the port_cache of PMD). The remaining actions continue to
> be executed even though there are no packets to be processed.
> It is assumed that the code dealing with each action checks that
> the batch is not empty before executing. Crashes may occur if
> the assumption is not met.
> 
> The patch makes OVS skip processing of further actions from the
> action-set once a batch is emptied. Doing so centralizes the
> check in one place and avoids the possibility of crashes.
> 
> Signed-off-by: Vishal Deep Ajmera <vishal.deep.ajmera at ericsson.com>

Is this a bug fix or a precaution?  That is, are there actual cases in
the code today where such a crash occurs?

In the code, please do not add extra () where they are not needed:
                if (last_action || (batch->count == 0)) {


Thanks,

Ben.


More information about the dev mailing list