[ovs-dev] [PATCH] datapath: Increase maximum number of actions per flow.

Jesse Gross jesse at nicira.com
Thu Sep 16 00:42:24 UTC 2010


On Thu, Sep 16, 2010 at 12:18 AM, Ben Pfaff <blp at nicira.com> wrote:
> Outputting to 1024 ports is going to be slow and expensive no matter
> what we do.  Despite that, I have a few ideas to make a bad situation a
> little bit better:
>
> * Hash action sets and merge duplicates, to reduce duplication.  (This
>  is a good idea in userspace too.)

This seems like a cool idea but I don't know how often it will
actually help in practice.

>
> * Allow multiple pages of actions to be chained together in a linked
>  list or array, so that we don't require contiguous pages.

Why not just use vmalloc() for large allocations?

>
> * Introduce actions that output to more than one port, e.g. all the
>  ports in a range, or using some kind of bitmap scheme.

Also seems cool but maybe a little over engineered.  Realistically,
we're probably only going to hit this for flood actions and it doesn't
handle more complicated situations well anyways.

>
> * Really start using port groups.

This seems like the overall best solution.  I wonder if we could get
away with just a fixed flood action?  That wouldn't deal well with
differing vlans though.

>
> * Make vswitchd/bridge.c smarter, so that it doesn't have to flush the
>  MAC learning table in so many situations, so that we don't actually
>  end up flooding packets so often.

This clearly makes sense independent of the other solutions that we choose.




More information about the dev mailing list