From patchwork Mon Dec 28 09:24:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: taoyunxiang X-Patchwork-Id: 1420996 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.138; helo=whitealder.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 whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4D4QdY3VG8z9sVv for ; Tue, 29 Dec 2020 05:13:05 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B9A018708A; Mon, 28 Dec 2020 18:13:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H6l0W5t2S6tX; Mon, 28 Dec 2020 18:12:58 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 26E5C870A4; Mon, 28 Dec 2020 18:11:05 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E44AEC1DA5; Mon, 28 Dec 2020 18:11:04 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8EE10C1D9C for ; Mon, 28 Dec 2020 09:26:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4CEB6816DB for ; Mon, 28 Dec 2020 09:26:06 +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 bXCwQFChDEOS for ; Mon, 28 Dec 2020 09:26:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from cmccmta1.chinamobile.com (cmccmta1.chinamobile.com [221.176.66.79]) by hemlock.osuosl.org (Postfix) with ESMTP id 5BEEC870C3 for ; Mon, 28 Dec 2020 09:26:02 +0000 (UTC) Received: from spf.mail.chinamobile.com (unknown[172.16.121.3]) by rmmx-syy-dmz-app04-12004 (RichMail) with SMTP id 2ee45fe9a490763-c2153; Mon, 28 Dec 2020 17:25:37 +0800 (CST) X-RM-TRANSID: 2ee45fe9a490763-c2153 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-7b856; Mon, 28 Dec 2020 17:25:36 +0800 (CST) X-RM-TRANSID: 2ee25fe9a48a90b-7b856 From: Tao YunXiang To: ovs-dev@openvswitch.org Date: Mon, 28 Dec 2020 01:24:28 -0800 Message-Id: <20201228092520.11807-11-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: Liuchang Subject: [ovs-dev] [PATCH 10/62] netdev-offload-dpdk: Fix compile warnings 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: Liuchang Code Source From: Self Code Description: Fix compile warnings Jira: #[Optional] 市场项目编号(名称):[Optional] --- lib/dpif-netdev.c | 8 ++++---- lib/netdev-offload-dpdk.c | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 74fd05c..ce6ba27 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -2275,7 +2275,7 @@ static int mark_to_flow_disassociate(struct dp_netdev_pmd_thread *pmd, struct dp_netdev_flow *flow) { - const char *dpif_type_str = dpif_normalize_type(dpif_type(pmd->dp->dpif)); + const char *dpif_type_str = dpif_normalize_type(pmd->dp->class->type); struct cmap_node *mark_node = CONST_CAST(struct cmap_node *, &flow->mark_node); uint32_t mark = flow->mark; @@ -2402,7 +2402,7 @@ dp_netdev_flow_offload_put(struct dp_flow_offload_item *offload) const struct dpif_class *dpif_class = pmd->dp->class; struct dp_netdev_flow *flow = offload->flow; odp_port_t in_port = flow->flow.in_port.odp_port; - const char *dpif_type_str = dpif_normalize_type(dpif_type(pmd->dp->dpif)); + const char *dpif_type_str = dpif_normalize_type(pmd->dp->class->type); bool modification = offload->op == DP_NETDEV_FLOW_OFFLOAD_OP_MOD; struct offload_info info; struct netdev *port; @@ -2438,7 +2438,6 @@ dp_netdev_flow_offload_put(struct dp_flow_offload_item *offload) } } info.flow_mark = mark; - info.dpif_class = dpif_class; port = netdev_ports_get(in_port, dpif_type_str); if (!port) { @@ -3045,6 +3044,7 @@ dpif_netdev_get_flow_offload_status(const struct dp_netdev *dp, struct netdev *netdev; struct match match; struct ofpbuf buf; + const char *dpif_type_str = dpif_normalize_type(dp->class->type); int ret = 0; @@ -3052,7 +3052,7 @@ dpif_netdev_get_flow_offload_status(const struct dp_netdev *dp, return false; } - netdev = netdev_ports_get(odp_port, dpif_normalize_type(dp->class->type)); + netdev = netdev_ports_get(netdev_flow->flow.in_port.odp_port, dpif_type_str); if (!netdev) { return false; } diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 5cce175..7cb2dc0 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -568,9 +568,12 @@ parse_flow_match(struct flow_patterns *patterns, { uint8_t *next_proto_mask = NULL; uint8_t proto = 0; + struct match consumed_match; struct flow *consumed_masks; - consumed_masks = &match->wc.masks; + memcpy(&consumed_match, match, sizeof consumed_match); + + consumed_masks = &(consumed_match.wc.masks); /* Not attemp to offload in_port/recirc_id ? memset(&consumed_masks->in_port, 0, sizeof consumed_masks->in_port); consumed_masks->recirc_id = 0; @@ -884,7 +887,7 @@ add_output_action(struct netdev *netdev, int ret = 0; port = nl_attr_get_odp_port(nla); - outdev = netdev_ports_get(port, info->dpif_class); + outdev = netdev_ports_get(port, netdev->dpif_type); if (outdev == NULL) { VLOG_DBG_RL(&rl, "Cannot find netdev for odp port %"PRIu32, port); return -1;