On 13 Jul 2022, at 20:27, Harry van Haaren wrote:

> From: Emma Finn <emma.f...@intel.com>
>
> This commit introduces the initial infrastructure required to allow
> different implementations for OvS actions. The patch introduces action
> function pointers which allows user to switch between different action
> implementations available. This will allow for more performance and 
> flexibility
> so the user can choose the action implementation to best suite their use case.
>
> Signed-off-by: Emma Finn <emma.f...@intel.com>
> Acked-by: Harry van Haaren <harry.van.haa...@intel.com>
>
> ---

<SNIP>

> +/* The active function pointers on the datapath. ISA optimized 
> implementations
> + * are enabled by plugging them into this static arary, which is consulted 
> when
> + * applying actions on the datapath.
> + */

The comment ending should be on the same line. Please fix this in all places of 
this patch.

> +static struct odp_execute_action_impl *actions_active_impl;
> +
> +static int
> +odp_actions_impl_set(const char *name)
> +{
> +    struct odp_execute_action_impl *active;
> +    active = odp_execute_action_set(name);
> +    if (!active) {
> +        VLOG_ERR("Failed setting action implementation to %s", name);
> +        return 1;
> +    }
> +
> +    actions_active_impl = active;

This should be an atomic store.

> +    return 0;
> +
> +}
> +

<SNIP>

> @@ -879,8 +913,20 @@ odp_execute_actions(void *dp, struct dp_packet_batch 
> *batch, bool steal,
>              continue;
>          }
>
> -        switch ((enum ovs_action_attr) type) {
> +        /* If type is set in the active actions implementation, call the
> +         * function-pointer and continue to the next action.
> +         */
> +        if (actions_active_impl->funcs[attr_type] &&

The actions_active_impl pointer should have been read atomically.
Looks like I also missed this in the previous patches...

> +                attr_type <= OVS_ACTION_ATTR_MAX) {
> +            actions_active_impl->funcs[attr_type](batch, a);
> +            continue;
> +        }

Those are the only comments I have on this patch, the rest looks good.

//Eelco

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to