From patchwork Wed Jul 27 15:06:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thadeu Lima de Souza Cascardo X-Patchwork-Id: 653391 X-Patchwork-Delegate: diproiettod@vmware.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (archives.nicira.com [96.126.127.54]) by ozlabs.org (Postfix) with ESMTP id 3rzyyl17Hrz9t25 for ; Thu, 28 Jul 2016 01:07:27 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id 7819310EA7; Wed, 27 Jul 2016 08:07:09 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx3v3.cudamail.com (mx3.cudamail.com [64.34.241.5]) by archives.nicira.com (Postfix) with ESMTPS id 65EC610E8B for ; Wed, 27 Jul 2016 08:07:05 -0700 (PDT) Received: from bar6.cudamail.com (localhost [127.0.0.1]) by mx3v3.cudamail.com (Postfix) with ESMTPS id F27E21626C9 for ; Wed, 27 Jul 2016 09:07:04 -0600 (MDT) X-ASG-Debug-ID: 1469632024-0b323747721219a0001-byXFYA Received: from mx3-pf1.cudamail.com ([192.168.14.2]) by bar6.cudamail.com with ESMTP id PLNRjNjKfKpOxvkW (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 27 Jul 2016 09:07:04 -0600 (MDT) X-Barracuda-Envelope-From: cascardo@redhat.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.14.2 Received: from unknown (HELO mx1.redhat.com) (209.132.183.28) by mx3-pf1.cudamail.com with ESMTPS (DHE-RSA-AES256-SHA encrypted); 27 Jul 2016 15:07:04 -0000 Received-SPF: pass (mx3-pf1.cudamail.com: SPF record at _spf1.redhat.com designates 209.132.183.28 as permitted sender) X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-Barracuda-RBL-IP: 209.132.183.28 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 90C8F8122C for ; Wed, 27 Jul 2016 15:07:03 +0000 (UTC) Received: from indiana.gru.redhat.com (ovpn-116-130.phx2.redhat.com [10.3.116.130]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u6RF6rX0020124 for ; Wed, 27 Jul 2016 11:07:02 -0400 X-CudaMail-Envelope-Sender: cascardo@redhat.com From: Thadeu Lima de Souza Cascardo To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-V1-726019270 X-CudaMail-DTE: 072716 X-CudaMail-Originating-IP: 209.132.183.28 Date: Wed, 27 Jul 2016 12:06:44 -0300 X-ASG-Orig-Subj: [##CM-V1-726019270##][PATCH 4/5] dpif-netdev: use the open_type when creating the local port Message-Id: <1469632005-16490-5-git-send-email-cascardo@redhat.com> In-Reply-To: <1469632005-16490-1-git-send-email-cascardo@redhat.com> References: <1469632005-16490-1-git-send-email-cascardo@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 27 Jul 2016 15:07:03 +0000 (UTC) X-Barracuda-Connect: UNKNOWN[192.168.14.2] X-Barracuda-Start-Time: 1469632024 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 Subject: [ovs-dev] [PATCH 4/5] dpif-netdev: use the open_type when creating the local port 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" Instead of using the internal type, use the port_open_type when creating the local port. That makes sure that whenever dpif_port_query is used, the netdev open_type is returned instead of the "internal" type. For other ports, that is already the case, as the netdev type is used when creating the dp_netdev_port. That changes the output of dpctl when showing the local port, and also when trying to change its type. So, corresponding tests are fixed. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 11 ++++++----- tests/dpctl.at | 13 +++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index f05ca4e..1fea0d7 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -941,7 +941,9 @@ create_dp_netdev(const char *name, const struct dpif_class *class, ovs_mutex_lock(&dp->port_mutex); dp_netdev_set_nonpmd(dp); - error = do_add_port(dp, name, "internal", ODPP_LOCAL); + error = do_add_port(dp, name, dpif_netdev_port_open_type(dp->class, + "internal"), + ODPP_LOCAL); ovs_mutex_unlock(&dp->port_mutex); if (error) { dp_netdev_free(dp); @@ -1129,7 +1131,7 @@ hash_port_no(odp_port_t port_no) } static int -port_create(const char *devname, const char *open_type, const char *type, +port_create(const char *devname, const char *type, odp_port_t port_no, struct dp_netdev_port **portp) { struct netdev_saved_flags *sf; @@ -1142,7 +1144,7 @@ port_create(const char *devname, const char *open_type, const char *type, *portp = NULL; /* Open and validate network device. */ - error = netdev_open(devname, open_type, &netdev); + error = netdev_open(devname, type, &netdev); if (error) { return error; } @@ -1233,8 +1235,7 @@ do_add_port(struct dp_netdev *dp, const char *devname, const char *type, return EEXIST; } - error = port_create(devname, dpif_netdev_port_open_type(dp->class, type), - type, port_no, &port); + error = port_create(devname, type, port_no, &port); if (error) { return error; } diff --git a/tests/dpctl.at b/tests/dpctl.at index 067f2d2..b6d5dd6 100644 --- a/tests/dpctl.at +++ b/tests/dpctl.at @@ -23,14 +23,14 @@ AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl dummy@br0: lookups: hit:0 missed:0 lost:0 flows: 0 - port 0: br0 (internal) + port 0: br0 (dummy) ]) AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy,port_no=5]) AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl dummy@br0: lookups: hit:0 missed:0 lost:0 flows: 0 - port 0: br0 (internal) + port 0: br0 (dummy) port 5: vif1.0 (dummy) ]) AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy], [2], [], @@ -44,8 +44,9 @@ AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 vif1.0,type=system], [2], [], [ovs-vswitchd: vif1.0: can't change type from dummy to system ovs-appctl: ovs-vswitchd: server returned an error ]) -AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=dummy], [2], [], - [ovs-vswitchd: br0: can't change type from internal to dummy +AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=dummy], [0]) +AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=internal], [2], [], + [ovs-vswitchd: br0: can't change type from dummy to internal ovs-appctl: ovs-vswitchd: server returned an error ]) AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0]) @@ -53,7 +54,7 @@ AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl dummy@br0: lookups: hit:0 missed:0 lost:0 flows: 0 - port 0: br0 (internal) + port 0: br0 (dummy) ]) AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0], [2], [], [ovs-vswitchd: no port named vif1.0 @@ -63,7 +64,7 @@ AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl dummy@br0: lookups: hit:0 missed:0 lost:0 flows: 0 - port 0: br0 (internal) + port 0: br0 (dummy) ]) AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 nonexistent], [2], [], [ovs-vswitchd: no port named nonexistent