From patchwork Tue Jul 19 15:42:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 650263 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 3rv4703P74z9sBM for ; Wed, 20 Jul 2016 01:42:36 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id 8E4EF10AC0; Tue, 19 Jul 2016 08:42:35 -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 013A010AC0 for ; Tue, 19 Jul 2016 08:42:35 -0700 (PDT) Received: from bar5.cudamail.com (localhost [127.0.0.1]) by mx1e3.cudamail.com (Postfix) with ESMTPS id 8B61C420AFE for ; Tue, 19 Jul 2016 09:42:34 -0600 (MDT) X-ASG-Debug-ID: 1468942954-09eadd30a97ede0001-byXFYA Received: from mx1-pf2.cudamail.com ([192.168.24.2]) by bar5.cudamail.com with ESMTP id DGYYXgNElguwdeBW (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 19 Jul 2016 09:42:34 -0600 (MDT) X-Barracuda-Envelope-From: blp@ovn.org X-Barracuda-RBL-Trusted-Forwarder: 192.168.24.2 Received: from unknown (HELO relay6-d.mail.gandi.net) (217.70.183.198) by mx1-pf2.cudamail.com with ESMTPS (DHE-RSA-AES256-SHA encrypted); 19 Jul 2016 15:42:33 -0000 Received-SPF: pass (mx1-pf2.cudamail.com: SPF record at ovn.org designates 217.70.183.198 as permitted sender) X-Barracuda-Apparent-Source-IP: 217.70.183.198 X-Barracuda-RBL-IP: 217.70.183.198 Received: from mfilter32-d.gandi.net (mfilter32-d.gandi.net [217.70.178.163]) by relay6-d.mail.gandi.net (Postfix) with ESMTP id 8BB49FB8CC; Tue, 19 Jul 2016 17:42:31 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter32-d.gandi.net Received: from relay6-d.mail.gandi.net ([IPv6:::ffff:217.70.183.198]) by mfilter32-d.gandi.net (mfilter32-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id F_JQlthBlEkT; Tue, 19 Jul 2016 17:42:30 +0200 (CEST) X-Originating-IP: 173.228.112.241 Received: from sigabrt.benpfaff.org (173-228-112-241.dsl.dynamic.fusionbroadband.com [173.228.112.241]) (Authenticated sender: blp@ovn.org) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 157A2FB8B6; Tue, 19 Jul 2016 17:42:28 +0200 (CEST) X-CudaMail-Envelope-Sender: blp@ovn.org From: Ben Pfaff To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-E2-718033999 X-CudaMail-DTE: 071916 X-CudaMail-Originating-IP: 217.70.183.198 Date: Tue, 19 Jul 2016 08:42:26 -0700 X-ASG-Orig-Subj: [##CM-E2-718033999##][PATCH 1/2] ovn-northd: Only peer router ports to other router ports. Message-Id: <1468942947-30893-1-git-send-email-blp@ovn.org> X-Mailer: git-send-email 2.1.3 X-Barracuda-Connect: UNKNOWN[192.168.24.2] X-Barracuda-Start-Time: 1468942954 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 , Gurucharan Shetty Subject: [ovs-dev] [PATCH 1/2] ovn-northd: Only peer router ports to other router ports. 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" A router port's "peer", if set, must point to another router port, but the code as written also accepted switch ports. This caused problems when switch ports were actually specified. Reported-by: Gurucharan Shetty Reported-at: http://openvswitch.org/pipermail/dev/2016-July/075524.html Signed-off-by: Ben Pfaff --- ovn/northd/ovn-northd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c index 7ce509d..1b55c15 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -715,7 +715,10 @@ join_logical_ports(struct northd_context *ctx, sizeof *op->od->router_ports * (op->od->n_router_ports + 1)); op->od->router_ports[op->od->n_router_ports++] = op; } else if (op->nbr && op->nbr->peer) { - op->peer = ovn_port_find(ports, op->nbr->peer); + struct ovn_port *peer = ovn_port_find(ports, op->nbr->peer); + if (peer && peer->nbr) { + op->peer = peer; + } } } }