From c168dcc8f7b87579ac6c6a5d0e133377f41cb9f0 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 31 May 2011 17:09:43 -0700 Subject: [PATCH] ofproto: Add simple tests for dumping aggregates and for OpenFlow 1.0. We had no tests that exercised OFPST_AGGREGATE or NXST_AGGREGATE. At one point in development I screwed up aggregate stats badly enough that they caused an immediate and reproducible segfault, which this simple test would have caught. Also, it's best to test everything in both NXM and OpenFlow 1.0 flow formats, since they have slightly different code. --- tests/ofproto.at | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tests/ofproto.at b/tests/ofproto.at index bb43149f..b9dac35a 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -42,7 +42,7 @@ done OFPROTO_STOP AT_CLEANUP -AT_SETUP([ofproto - basic flow_mod commands]) +AT_SETUP([ofproto - basic flow_mod commands (NXM)]) OFPROTO_START AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply: ]) @@ -53,8 +53,31 @@ AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION | sort], [0], [ cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=1 actions=output:0 NXST_FLOW reply: ]) +AT_CHECK([ovs-ofctl dump-aggregate br0 | STRIP_XIDS], [0], [dnl +NXST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=2 +]) AT_CHECK([ovs-ofctl del-flows br0]) AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply: ]) OFPROTO_STOP AT_CLEANUP + +AT_SETUP([ofproto - basic flow_mod commands (OpenFlow 1.0)]) +OFPROTO_START +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | STRIP_XIDS], [0], [OFPST_FLOW reply: +]) +AT_CHECK([echo 'in_port=1,actions=0' | ovs-ofctl -F openflow10 add-flows br0 -]) +AT_CHECK([ovs-ofctl -F openflow10 add-flow br0 in_port=0,actions=1]) +AT_CHECK([ovs-ofctl -F openflow10 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=0 actions=output:1 + cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=1 actions=output:0 +OFPST_FLOW reply: +]) +AT_CHECK([ovs-ofctl -F openflow10 dump-aggregate br0 | STRIP_XIDS], [0], [dnl +OFPST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=2 +]) +AT_CHECK([ovs-ofctl -F openflow10 del-flows br0]) +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | STRIP_XIDS], [0], [OFPST_FLOW reply: +]) +OFPROTO_STOP +AT_CLEANUP -- 2.30.2