From patchwork Mon Dec 28 09:24:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: taoyunxiang X-Patchwork-Id: 1420981 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cmss.chinamobile.com Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4D4Qcf58Ghz9sVv for ; Tue, 29 Dec 2020 05:12:18 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4F22787592; Mon, 28 Dec 2020 18:12:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6w8yP50edttz; Mon, 28 Dec 2020 18:12:13 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by hemlock.osuosl.org (Postfix) with ESMTP id B942B8714E; Mon, 28 Dec 2020 18:11:34 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 87C35C1EF1; Mon, 28 Dec 2020 18:11:34 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id CAE92C0891 for ; Mon, 28 Dec 2020 09:26:18 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id B6FB820464 for ; Mon, 28 Dec 2020 09:26:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tHQM3NHzMiaN for ; Mon, 28 Dec 2020 09:26:17 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from cmccmta2.chinamobile.com (cmccmta2.chinamobile.com [221.176.66.80]) by silver.osuosl.org (Postfix) with ESMTP id 2439B20487 for ; Mon, 28 Dec 2020 09:26:16 +0000 (UTC) Received: from spf.mail.chinamobile.com (unknown[172.16.121.3]) by rmmx-syy-dmz-app07-12007 (RichMail) with SMTP id 2ee75fe9a499b19-c3371; Mon, 28 Dec 2020 17:25:45 +0800 (CST) X-RM-TRANSID: 2ee75fe9a499b19-c3371 X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from yun.localdomain (unknown[112.25.154.146]) by rmsmtp-syy-appsvr02-12002 (RichMail) with SMTP id 2ee25fe9a48a90b-7b89a; Mon, 28 Dec 2020 17:25:45 +0800 (CST) X-RM-TRANSID: 2ee25fe9a48a90b-7b89a From: Tao YunXiang To: ovs-dev@openvswitch.org Date: Mon, 28 Dec 2020 01:24:49 -0800 Message-Id: <20201228092520.11807-32-taoyunxiang@cmss.chinamobile.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201228092520.11807-1-taoyunxiang@cmss.chinamobile.com> References: <8> <20201228092520.11807-1-taoyunxiang@cmss.chinamobile.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 28 Dec 2020 18:10:34 +0000 Cc: Rongyin Subject: [ovs-dev] [PATCH 31/62] dpif-netdev: add megaflow_to_mark disassociate when flow del X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Rongyin Code Source From: Self Code Description: add megaflow_to_mark disassociate when flow del Jira: #[Optional] 市场项目编号(名称):[Optional] --- lib/dpif-netdev.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 73367ab..623e1c8 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -2618,7 +2618,7 @@ dp_netdev_pmd_remove_flow(struct dp_netdev_pmd_thread *pmd, struct cmap_node *node = CONST_CAST(struct cmap_node *, &flow->node); struct dpcls *cls; odp_port_t in_port = flow->flow.in_port.odp_port; - uint32_t mark ; + uint32_t mark = INVALID_FLOW_MARK; cls = dp_netdev_pmd_lookup_dpcls(pmd, in_port); ovs_assert(cls != NULL); @@ -2632,7 +2632,15 @@ dp_netdev_pmd_remove_flow(struct dp_netdev_pmd_thread *pmd, if (mark != INVALID_FLOW_MARK) { flow_mark_free(mark); } + /* As we would to del flow, so disassociate mapping between + * mageflow and mark(this mark value is fail offloaded value) + * for succeed offload mark, this procesure is done in queue_ + * netdev_flow_del + */ + megaflow_to_mark_disassociate(&flow->ufid); } + VLOG_DBG("TIMO DBG: flow del ufid:"UUID_FMT" mark:%u \n", + UUID_ARGS((struct uuid *)&flow->ufid),mark); if (flow->mark != INVALID_FLOW_MARK) { queue_netdev_flow_del(pmd, flow); }