From patchwork Tue Sep 8 22:23:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 515620 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (li376-54.members.linode.com [96.126.127.54]) by ozlabs.org (Postfix) with ESMTP id 2A91214031D for ; Wed, 9 Sep 2015 08:23:48 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id B97E110662; Tue, 8 Sep 2015 15:23:38 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx1e3.cudamail.com (mx1.cudamail.com [69.90.118.67]) by archives.nicira.com (Postfix) with ESMTPS id BA5E510660 for ; Tue, 8 Sep 2015 15:23:37 -0700 (PDT) Received: from bar2.cudamail.com (localhost [127.0.0.1]) by mx1e3.cudamail.com (Postfix) with ESMTPS id D6619420426 for ; Tue, 8 Sep 2015 16:23:36 -0600 (MDT) X-ASG-Debug-ID: 1441751016-03dc531a9ff79d0001-byXFYA Received: from mx1-pf2.cudamail.com ([192.168.24.2]) by bar2.cudamail.com with ESMTP id ZPe5cRqh85iZCrJy (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 08 Sep 2015 16:23:36 -0600 (MDT) X-Barracuda-Envelope-From: blp@nicira.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.24.2 Received: from unknown (HELO mail-pa0-f43.google.com) (209.85.220.43) by mx1-pf2.cudamail.com with ESMTPS (RC4-SHA encrypted); 8 Sep 2015 22:23:36 -0000 Received-SPF: unknown (mx1-pf2.cudamail.com: Multiple SPF records returned) X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.43 Received: by padhk3 with SMTP id hk3so50843575pad.3 for ; Tue, 08 Sep 2015 15:23:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0IswMdUe7rWvbp/+U9lXehZPGtJtR4wE9sE+YwKOg14=; b=MiDcW/gV4uUTf5wDQ6NKRsuU4eQz6J7Z+NfzKV9SCNSXDh7ne9hECmBPRYMz0uH/O2 LpsIFuKJ0EudcWkD4I04zrgAXnN5Zxd4qdSiLEGwFlXtZZfFaFopE4omkzxTLhuu2UNl 0iY0hnGUPLwHxFm8yP6cea2/tfXsPD1uToNwBe6HAwyeJ5W7VfRbwjIC4KQApXk4ljCp TTHLEYlB6I4UeGJRW1aTdICbHAdX+Jyx/wA7kTeoSoPxupCL7ONo48MSsA7xpldNHyN7 EFnQ7SauANX0IJzpouTAngHvgFEg0IucbSY3DmL9O6N2/LqMfvXcnSrqpwbFA5XZy7dq 0FXw== X-Gm-Message-State: ALoCoQk/iboREq4V719XN4VpPmjwIwYWrJ5w1QZwxFq3M4YTA0BOoXU9R+pN3o9wU8NpqjlZAG9Z X-Received: by 10.68.227.8 with SMTP id rw8mr63507995pbc.74.1441751015101; Tue, 08 Sep 2015 15:23:35 -0700 (PDT) Received: from sigabrt.benpfaff.org (173-228-112-165.dsl.dynamic.fusionbroadband.com. [173.228.112.165]) by smtp.gmail.com with ESMTPSA id j4sm4622527pdk.9.2015.09.08.15.23.33 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 08 Sep 2015 15:23:33 -0700 (PDT) X-CudaMail-Envelope-Sender: blp@nicira.com X-Barracuda-Apparent-Source-IP: 173.228.112.165 From: Ben Pfaff To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-E2-907098483 X-CudaMail-DTE: 090815 X-CudaMail-Originating-IP: 209.85.220.43 Date: Tue, 8 Sep 2015 15:23:39 -0700 X-ASG-Orig-Subj: [##CM-E2-907098483##][PATCH 3/3] tests: Add tests for out_port and out_group. Message-Id: <1441751019-8625-3-git-send-email-blp@nicira.com> X-Mailer: git-send-email 2.1.3 In-Reply-To: <1441751019-8625-1-git-send-email-blp@nicira.com> References: <1441751019-8625-1-git-send-email-blp@nicira.com> X-Barracuda-Connect: UNKNOWN[192.168.24.2] X-Barracuda-Start-Time: 1441751016 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://web.cudamail.com:443/cgi-mod/mark.cgi X-ASG-Whitelist: Header =?UTF-8?B?eFwtY3VkYW1haWxcLXdoaXRlbGlzdFwtdG8=?= X-Virus-Scanned: by bsmtpd at cudamail.com X-Barracuda-BRTS-Status: 1 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH 3/3] tests: Add tests for out_port and out_group. X-BeenThere: dev@openvswitch.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dev-bounces@openvswitch.org Sender: "dev" Open vSwitch has supported these features on flow_mod for a long time, but it has never included a test. This commit adds tests for both. Signed-off-by: Ben Pfaff --- tests/ofproto.at | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/tests/ofproto.at b/tests/ofproto.at index e3f08a8..c379a19 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -1304,6 +1304,120 @@ OFPST_FLOW reply (OF1.2): OVS_VSWITCHD_STOP AT_CLEANUP +AT_SETUP([ofproto - flow_mod with out_port matching (OpenFlow 1.0)]) +OVS_VSWITCHD_START +AT_DATA([flows.txt], [dnl + in_port=1 actions=output:2 + in_port=2 actions=output:1,output:2,output:3 + in_port=3 actions=output:3,output:1,output:2 + in_port=4 actions=drop + in_port=5 actions=output:3 + in_port=6 actions=output:1 +]) +AT_CHECK([ovs-ofctl -F openflow10 add-flows br0 flows.txt]) +(cat flows.txt; echo 'OFPST_FLOW reply:') > expout +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +(grep 'output:2' flows.txt; echo 'OFPST_FLOW reply:') > expout +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 out_port=2 | ofctl_strip | sort], [0], [expout]) + +AT_CHECK([ovs-ofctl -F openflow10 del-flows br0 out_port=2]) +(grep -v 'output:2' flows.txt; echo 'OFPST_FLOW reply:') > expout +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -F openflow10 del-flows br0 out_port=3]) +(grep -v 'output:[[23]]' flows.txt; echo 'OFPST_FLOW reply:') > expout +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -F openflow10 del-flows br0 out_port=1]) +(grep -v 'output:[[123]]' flows.txt; echo 'OFPST_FLOW reply:') > expout +AT_CHECK([ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +OVS_VSWITCHD_STOP +AT_CLEANUP + +AT_SETUP([ofproto - flow_mod with out_port matching (OpenFlow 1.1)]) +OVS_VSWITCHD_START +AT_DATA([flows.txt], [dnl + in_port=1 actions=output:2 + in_port=2 actions=output:1,write_actions(output:2,output:3) + in_port=3 actions=output:3,output:1,write_actions(output:2) + in_port=4 actions=drop + in_port=5 actions=write_actions(output:3) + in_port=6 actions=output:1 +]) +AT_CHECK([ovs-ofctl -O OpenFlow11 add-flows br0 flows.txt]) +(cat flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +(grep 'output:2' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 out_port=2 | ofctl_strip | sort], [0], [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_port=2]) +(grep -v 'output:2' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_port=3]) +(grep -v 'output:[[23]]' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_port=1]) +(grep -v 'output:[[123]]' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +OVS_VSWITCHD_STOP +AT_CLEANUP + +AT_SETUP([ofproto - flow_mod with out_group matching (OpenFlow 1.1)]) +OVS_VSWITCHD_START +AT_DATA([groups.txt], [dnl +group_id=1,type=all,bucket=output:10 +group_id=2,type=all,bucket=output:10 +group_id=3,type=all,bucket=output:10 +]) +AT_CHECK([ovs-ofctl -O OpenFlow11 add-groups br0 groups.txt]) +AT_DATA([flows.txt], [dnl + in_port=1 actions=group:2,output:5 + in_port=2 actions=group:1,write_actions(group:2,group:3,output:6) + in_port=3 actions=group:3,group:1,write_actions(group:2,output:3) + in_port=4 actions=output:4 + in_port=5 actions=write_actions(output:4,group:3) + in_port=6 actions=group:1 +]) +AT_CHECK([ovs-ofctl -O OpenFlow11 add-flows br0 flows.txt]) +(cat flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +(grep 'output:3' flows.txt | grep 'group:2'; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 out_port=3,out_group=2 | ofctl_strip | sort], [0], [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_group=2]) +(grep -v 'group:2' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_group=3]) +(grep -v 'group:[[23]]' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +AT_CHECK([ovs-ofctl -O OpenFlow11 del-flows br0 out_group=1]) +(grep -v 'group:[[123]]' flows.txt; echo 'OFPST_FLOW reply (OF1.1):') > expout +AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], + [expout]) + +OVS_VSWITCHD_STOP +AT_CLEANUP + AT_SETUP([ofproto - flow table configuration (OpenFlow 1.0)]) OVS_VSWITCHD_START # Check the default configuration.