From patchwork Fri Jul 29 00:56:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarno Rajahalme X-Patchwork-Id: 653914 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 3s0r3h3QxTz9t25 for ; Fri, 29 Jul 2016 10:59:44 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id CA085114AD; Thu, 28 Jul 2016 17:57:31 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx1e4.cudamail.com (mx1.cudamail.com [69.90.118.67]) by archives.nicira.com (Postfix) with ESMTPS id 8DCCE11456 for ; Thu, 28 Jul 2016 17:57:25 -0700 (PDT) Received: from bar5.cudamail.com (unknown [192.168.21.12]) by mx1e4.cudamail.com (Postfix) with ESMTPS id 213261E0061 for ; Thu, 28 Jul 2016 18:57:25 -0600 (MDT) X-ASG-Debug-ID: 1469753844-09eadd7ae7351640001-byXFYA Received: from mx3-pf3.cudamail.com ([192.168.14.3]) by bar5.cudamail.com with ESMTP id GP4OlouIOqgNUThq (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 28 Jul 2016 18:57:24 -0600 (MDT) X-Barracuda-Envelope-From: jarno@ovn.org X-Barracuda-RBL-Trusted-Forwarder: 192.168.14.3 Received: from unknown (HELO relay2-d.mail.gandi.net) (217.70.183.194) by mx3-pf3.cudamail.com with ESMTPS (DHE-RSA-AES256-SHA encrypted); 29 Jul 2016 00:57:24 -0000 Received-SPF: pass (mx3-pf3.cudamail.com: SPF record at ovn.org designates 217.70.183.194 as permitted sender) X-Barracuda-Apparent-Source-IP: 217.70.183.194 X-Barracuda-RBL-IP: 217.70.183.194 Received: from mfilter32-d.gandi.net (mfilter32-d.gandi.net [217.70.178.163]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id 002C1C5A54; Fri, 29 Jul 2016 02:57:22 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter32-d.gandi.net Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter32-d.gandi.net (mfilter32-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id lvS1ORoGnswz; Fri, 29 Jul 2016 02:57:21 +0200 (CEST) X-Originating-IP: 208.91.1.34 Received: from sc9-mailhost1.vmware.com (unknown [208.91.1.34]) (Authenticated sender: jarno@ovn.org) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id E177CC5A60; Fri, 29 Jul 2016 02:57:20 +0200 (CEST) X-CudaMail-Envelope-Sender: jarno@ovn.org From: Jarno Rajahalme To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-V3-727056558 X-CudaMail-DTE: 072816 X-CudaMail-Originating-IP: 217.70.183.194 Date: Thu, 28 Jul 2016 17:56:17 -0700 X-ASG-Orig-Subj: [##CM-V3-727056558##][PATCH v2 25/26] ofproto: Add 'command' to ofproto_flow_mod. Message-Id: <1469753778-100386-26-git-send-email-jarno@ovn.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1469753778-100386-1-git-send-email-jarno@ovn.org> References: <1469753778-100386-1-git-send-email-jarno@ovn.org> X-Barracuda-Connect: UNKNOWN[192.168.14.3] X-Barracuda-Start-Time: 1469753844 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 v2 25/26] ofproto: Add 'command' to ofproto_flow_mod. 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" This helps releasing ofputil_flow_mod earlier in a later patch. Signed-off-by: Jarno Rajahalme Acked-by: Ben Pfaff --- ofproto/ofproto-provider.h | 1 + ofproto/ofproto.c | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h index f328b4a..35ce4f4 100644 --- a/ofproto/ofproto-provider.h +++ b/ofproto/ofproto-provider.h @@ -1910,6 +1910,7 @@ struct ofproto_flow_mod { /* Replicate needed fields from ofputil_flow_mod to not need it after the * flow has been created. */ + uint16_t command; uint32_t buffer_id; bool modify_cookie; diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 47020b8..b8b6bc2 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -7140,13 +7140,14 @@ ofproto_flow_mod_start(struct ofproto *ofproto, struct ofproto_flow_mod *ofm) } /* Forward flow mod fields we need later. */ + ofm->command = ofm->fm.command; ofm->buffer_id = ofm->fm.buffer_id; ofm->modify_cookie = ofm->fm.modify_cookie; ofm->modify_may_add_flow = (ofm->fm.new_cookie != OVS_BE64_MAX && ofm->fm.cookie_mask == htonll(0)); - switch (ofm->fm.command) { + switch (ofm->command) { case OFPFC_ADD: ofm->event = NXFME_ADDED; return add_flow_start(ofproto, ofm); @@ -7173,7 +7174,7 @@ static void ofproto_flow_mod_revert(struct ofproto *ofproto, struct ofproto_flow_mod *ofm) OVS_REQUIRES(ofproto_mutex) { - switch (ofm->fm.command) { + switch (ofm->command) { case OFPFC_ADD: add_flow_revert(ofproto, ofm); break; @@ -7199,7 +7200,7 @@ ofproto_flow_mod_finish(struct ofproto *ofproto, const struct openflow_mod_requester *req) OVS_REQUIRES(ofproto_mutex) { - switch (ofm->fm.command) { + switch (ofm->command) { case OFPFC_ADD: add_flow_finish(ofproto, ofm, req); break; @@ -7219,7 +7220,7 @@ ofproto_flow_mod_finish(struct ofproto *ofproto, } if (req) { - ofconn_report_flow_mod(req->ofconn, ofm->fm.command); + ofconn_report_flow_mod(req->ofconn, ofm->command); } }