tests: Avoid race condition in flow monitoring test.
authorBen Pfaff <blp@nicira.com>
Fri, 7 Dec 2012 15:38:11 +0000 (07:38 -0800)
committerBen Pfaff <blp@nicira.com>
Sat, 8 Dec 2012 18:24:28 +0000 (10:24 -0800)
The execution of "ovs-appctl -t ovs-ofctl ofctl/send" could happen before
ovs-appctl received and printed the
    NXST_FLOW_MONITOR reply (xid=0x0):
     event=ADDED table=0 cookie=0 in_port=2 actions=output:1
msesage, which could cause the
    send: OFPT_FLOW_MOD: DEL priority=0 actions=drop
message to be printed before rather than after the NXST_FLOW_MONITOR reply.

This commit fixes the problem by inserting a serializing barrier.

Reported-by: Jarno Rajahalme <jarno.rajahalme@nsn.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
tests/ofproto.at

index 107e366..9c0c6df 100644 (file)
@@ -1463,6 +1463,7 @@ OFPT_BARRIER_REPLY:
 ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
 ovs-ofctl add-flow br0 in_port=1,actions=output:2
 ovs-ofctl add-flow br0 in_port=2,actions=output:1
+ovs-appctl -t ovs-ofctl ofctl/barrier
 ovs-appctl -t ovs-ofctl ofctl/send 010e004812345678003fffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000ffffffffffff0000
 ovs-appctl -t ovs-ofctl ofctl/barrier
 AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip], [0], [NXST_FLOW reply:
@@ -1472,6 +1473,7 @@ AT_CHECK([sed 's/ (xid=0x[[1-9a-fA-F]][[0-9a-fA-F]]*)//' monitor.log], [0],
  event=ADDED table=0 cookie=0 in_port=1 actions=output:2
 NXST_FLOW_MONITOR reply (xid=0x0):
  event=ADDED table=0 cookie=0 in_port=2 actions=output:1
+OFPT_BARRIER_REPLY:
 send: OFPT_FLOW_MOD: DEL priority=0 actions=drop
 NXST_FLOW_MONITOR reply (xid=0x0):
  event=ABBREV xid=0x12345678