From patchwork Mon Jun 29 09:50:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sriharsha Basavapatna X-Patchwork-Id: 1318818 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=openvswitch.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=EiKEz+lj; dkim-atps=neutral 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 49wNGg6prRz9sQx for ; Mon, 29 Jun 2020 19:58:19 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 740CC888AB; Mon, 29 Jun 2020 09:58:18 +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 lOdl7eUMzMdW; Mon, 29 Jun 2020 09:58:17 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 63B6C88882; Mon, 29 Jun 2020 09:58:17 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 49727C0895; Mon, 29 Jun 2020 09:58:17 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id CE9FBC016E for ; Mon, 29 Jun 2020 09:58:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id CB7AE87692 for ; Mon, 29 Jun 2020 09:58:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WiAjeCphbqYU for ; Mon, 29 Jun 2020 09:58:15 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 648AA8767F for ; Mon, 29 Jun 2020 09:58:15 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id e18so8066111pgn.7 for ; Mon, 29 Jun 2020 02:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3X62S+YrxExYIUuxfeICF2bKT731iLZD4cjA7Q/ljHQ=; b=EiKEz+ljXofXa502M+W4Xg9kZ4YM5hSH4EB9AFIsJC09aCF8bZ81auKTNT6G2A7p4a +QOKro5YCoPYrsoMprgazcBPeIA2LjzW8dmk/9C4qfgtqcn/UIfqkHbUSo/y5hYmRXLG cDQCo+qgUZYInD975U1hSxW30/YIZkk0g4Dag= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3X62S+YrxExYIUuxfeICF2bKT731iLZD4cjA7Q/ljHQ=; b=AaaTQc1zzz6wmPAt7+quh+bl5LLEYlOLWwaV7C86D8G0entGspWeYIKvkhzU5hyA/Q Le2DEYQOe9hMzCOmSMm4q6CsvuNCddMMNzpgO0HxacWt7MtkzILWd1SUuUPGOrIc8Htx 3WzUhc+ZHTH53f9sVGFs1nGeG/O4b4GqEIp3SiU/8B1D4PehdTKk60j/ZRjyaYmQxHWX EPKeI1nYyqxaOgfQIYXmOlyyMsBK4GtvGkySXB8uoTLsv95rOBQKAd+wcCjwWGK3YDSI bA4C8fHGq6X2WPKYL2BK47BTEuqL+MfXiLiINBx6DDO64LhsEelN68EXsPV5jvS2+/YG mQtA== X-Gm-Message-State: AOAM5329WWQD9QVux3bwYMV/EaFuNAOWLWuUr8O4DRGpjPxDnjUUgke6 g3CbQS0XfUSXkBZKCKEQvucOlXshPSH/7OaVshgYtnOEHHOYle1ni8wj53rDVMQsPu/nKUbUaxq Kl89i0RCgR0Uv1djunwGMzcbtzAOtCejoABkXSFN2d8G+k4+qSmDPEx42YssjOgt6H3cXaOwSFY K1S2CL X-Google-Smtp-Source: ABdhPJwU6DNlfRyZSfnPbC2h+QN6M/9Px4GTUCtGyBbB6W/tqHpByLPfTCnwnl29Q+rZBTceYLQkMw== X-Received: by 2002:a17:902:6b8c:: with SMTP id p12mr13001900plk.256.1593424240077; Mon, 29 Jun 2020 02:50:40 -0700 (PDT) Received: from dhcp-10-123-153-36.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id mr8sm1227888pjb.5.2020.06.29.02.50.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2020 02:50:39 -0700 (PDT) To: dev@openvswitch.org Date: Mon, 29 Jun 2020 05:50:19 -0400 Message-Id: <20200629095020.8491-5-sriharsha.basavapatna@broadcom.com> X-Mailer: git-send-email 2.25.0.rc2 In-Reply-To: <20200629095020.8491-1-sriharsha.basavapatna@broadcom.com> References: <20200629095020.8491-1-sriharsha.basavapatna@broadcom.com> MIME-Version: 1.0 Subject: [ovs-dev] [PATCH v4 4/5] dpif-netdev: Support flow_get() with partial-action-offload 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: , X-Patchwork-Original-From: Sriharsha Basavapatna via dev From: Sriharsha Basavapatna Reply-To: Sriharsha Basavapatna Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" For flows that offload partial actions in egress direction, provide the right netdev to fetch statistics. Signed-off-by: Sriharsha Basavapatna --- lib/dpif-netdev.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index b96a75d1f..e489e2d90 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -3180,8 +3180,14 @@ dpif_netdev_get_flow_offload_status(const struct dp_netdev *dp, return false; } - netdev = netdev_ports_get(netdev_flow->flow.in_port.odp_port, - dpif_normalize_type(dp->class->type)); + if (netdev_flow->partial_actions_offloaded && + netdev_flow->egress_offload_port != ODPP_NONE) { + netdev = netdev_ports_get(netdev_flow->egress_offload_port, + dpif_normalize_type(dp->class->type)); + } else { + netdev = netdev_ports_get(netdev_flow->flow.in_port.odp_port, + dpif_normalize_type(dp->class->type)); + } if (!netdev) { return false; }