[ovs-dev] [PATCH v3] lib/dpif-netdev: Integrate megaflow classifier.
Alex Wang
alexw at nicira.com
Fri Oct 17 06:09:05 UTC 2014
Thx for the revision,
> +/* Removes 'rule' from 'cls', also destructing the 'rule'. */
> +static void
> +dpcls_remove(struct dpcls *cls, struct dpcls_rule *rule)
> +{
> + struct dpcls_subtable *subtable;
> +
> + ovs_assert(rule->mask);
> +
> + INIT_CONTAINER(subtable, rule->mask, mask);
> +
> + if (cmap_remove(&subtable->rules, &rule->cmap_node, rule->flow.hash)
> + == 0) {
> + dpcls_destroy_subtable(cls, subtable);
> + }
> +
> + rule->mask = NULL;
> +}
>
The assignment here caused a segfault in test, since there could be pmd
threads referring to the flow when dpcls_remove() is called. We should not
reset the pointer.
32 UDP flows Spirent test showed no observable improvement but let's
wait for the per-pmd-thread classifier/flow-table~
Otherwise, all tested and looked good~
Acked-by: Alex Wang <alexw at nicira.com>
More information about the dev
mailing list