From b0ed42c8be975474c158b553471b706f979ad8cd Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 13 Aug 2013 11:22:26 -0700 Subject: [PATCH] tests: Fix problems in "learning action - self-modifying flow" test. This test had two problems. First, it had a bizarre dependency on stats that were not up-to-date: the "ovs-ofctl dump-flows" assumed that only the first one of ten packets sent through the switch had been accounted to OpenFlow flow statistics. Adding a 1-second time warp fixed this problem by ensuring that all ten packets were accounted. (That's why this patch updates the expected output of "ovs-ofctl dump-flows".) Second, multithreading has made packet processing less predictable in general. This commit adds 10-ms time warps after sending each packet, which seems to make the test reliable for me. Signed-off-by: Ben Pfaff --- tests/learn.at | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/learn.at b/tests/learn.at index 7e781c377..fc8d07199 100644 --- a/tests/learn.at +++ b/tests/learn.at @@ -291,12 +291,14 @@ AT_CHECK([[ovs-ofctl add-flow br0 'actions=load:3->NXM_NX_REG0[0..15],learn(tabl # Trace some packets arriving. The particular packets don't matter. for i in 1 2 3 4 5 6 7 8 9 10; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)' + ovs-appctl time/warp 10 done # Check for the learning entry. +ovs-appctl time/warp 1000 AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [[ n_packets=1, n_bytes=60, actions=load:0x3->NXM_NX_REG0[0..15],learn(table=0,priority=65535,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2 - priority=65535,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:05 actions=output:3 + n_packets=9, n_bytes=540, priority=65535,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:05 actions=output:3 NXST_FLOW reply: ]]) -- 2.47.0