summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-04-18 10:11:43 -0700
committerBen Pfaff <blp@nicira.com>2011-04-19 11:55:19 -0700
commit0721c0739fb73e1ab2f0446e896deccc0bb8d92a (patch)
tree1f4d6bdaed0e6910e61aa96ec6ecfa2add42452d /tests
parente2bd05933f2c813e1cce42b8fe0db6230dffb13c (diff)
downloadopenvswitch-0721c0739fb73e1ab2f0446e896deccc0bb8d92a.tar.gz
ofp-util: Properly handle "tun_id"s in tun_id_from_cookie flows.
Just setting the tun_id field isn't enough--it's also necessary to set the tun_id_mask. Otherwise the call to cls_rule_zero_wildcarded_fields() at the end of ofputil_cls_rule_from_match() will zero out the tun_id again. This was broken by commit 8368c090cab "Implement arbitrary bitwise masks for tun_id field" back in January. (This makes me wonder whether we can drop support for tun_id_from_cookie now.) Reported-by: Dan Wendlandt <dan@nicira.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/ofproto.at8
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 95067561c..fc7ff57ef 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -48,10 +48,14 @@ AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply:
])
AT_CHECK([echo 'in_port=1,actions=0' | ovs-ofctl add-flows br0 -])
AT_CHECK([ovs-ofctl add-flow br0 in_port=0,actions=1])
-AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION], [0], [dnl
-NXST_FLOW reply:
+dnl Tests for a bug in which ofproto ignored tun_id in tun_id_from_cookie
+dnl flow_mod commands.
+AT_CHECK([ovs-ofctl add-flow -F tun_id_from_cookie br0 tun_id=1,actions=mod_vlan_vid:4])
+AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION | sort], [0], [dnl
cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=1 actions=output:0
cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=65534 actions=output:1
+ cookie=0x100000000, duration=?s, table_id=0, n_packets=0, n_bytes=0, tun_id=0x1 actions=mod_vlan_vid:4
+NXST_FLOW reply:
])
AT_CHECK([ovs-ofctl del-flows br0])
AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply: