[ovs-dev] [PATCH v3 3/3] flow: Split miniflow's map.

Ben Pfaff blp at nicira.com
Thu Jul 16 23:44:29 UTC 2015


On Thu, Jul 16, 2015 at 03:15:54PM -0700, Jarno Rajahalme wrote:
> Use two maps in miniflow to allow for expansion of struct flow past
> 512 bytes.  We now have one map for tunnel related fields, and another
> for the rest of the packet metadata and actual packet header fields.
> This split has the benefit that for non-tunneled packets the overhead
> should be minimal.
> 
> Some miniflow utilities now exist in two variants, new ones operating
> over all the data, and the old ones operating only on a single 64-bit
> map at a time.  The old ones require doubling of code but should
> execute faster, so those are used in the datapath and classifier's
> lookup path.
> 
> Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>

I consistently get a test failure in test 636 "tunnel_push_pop - action"
with this commit.  The failure looks like this:

../../tests/tunnel-push-pop.at:131: ovs-ofctl dump-ports int-br | grep 'port  5'
--- -   2015-07-16 16:43:05.417520479 -0700
+++ /home/blp/nicira/ovs/_build/tests/testsuite.dir/at-groups/636/stdout        2015-07-16 16:43:05.410146027 -0700
@@ -1,2 +1,2 @@
-  port  5: rx pkts=1, bytes=98, drop=0, errs=0, frame=0, over=0, crc=0
+  port  5: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
 
I also get a single "sparse" warning though I don't know whether it is
related:

../lib/flow.c:466:13: warning: cast truncates bits from constant value (3ffffffff becomes ffffffff)



More information about the dev mailing list