[ovs-dev] [PATCH v8 repost 2] ofproto: Honour Table Mod settings for table-miss handling

Ben Pfaff blp at nicira.com
Wed Mar 12 04:08:20 UTC 2014


On Wed, Mar 12, 2014 at 11:14:52AM +0900, Simon Horman wrote:
> This reworks lookup of rules for both table 0 and table action translation.
> The result is that Table Mod settings, which can alter the miss-behaviour
> of tables, including table 0, on a per-table basis may be honoured.
> 
> Previous patches proposed by myself which build on earlier merged patches
> by Andy Zhou implement the ofproto side of Table Mod. So with this patch
> the feature should be complete.
> 
> Neither this patch, nor any other patches it builds on, alter the default
> behaviour of Open vSwitch. And in particular the OpenFlow1.1 behaviour is
> the default regardless of which OpenFlow version is negotiated between the
> switch and the controller.
> 
> An implementation detail, which lends itself to future work, is the
> handling of OFPTC_TABLE_MISS_CONTINUE. If a table has this behaviour set by
> Table Mod and a miss occurs then a loop is created, skipping to the next
> table. It is quite easy to create a situation where this loop covers ~255
> tables which is very expensive as the lookup for each table involves taking
> locks, amongst other things.
> 
> Cc: Andy Zhou <azhou at nicira.com>
> Signed-off-by: Simon Horman <horms at verge.net.au>

I think I made a wrong suggestion, or at least we did not understand it
the same way.  I remember saying a version or two back that I didn't
like the code duplication and to please reduce it if possible.  But
adding a new struct and a new callback function made it worse, in my
opinion.  Let's go back to the last version that didn't add callbacks,
and then I'll take another stab at that one.

Thanks,

Ben.



More information about the dev mailing list