From patchwork Thu Feb 23 18:11:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Tu X-Patchwork-Id: 1747097 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=HXDKZFq7; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PN1V15BKSz23yr for ; Fri, 24 Feb 2023 05:18:01 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1pVGAF-00057c-E5; Thu, 23 Feb 2023 18:17:55 +0000 Received: from mail-dm6nam10on2086.outbound.protection.outlook.com ([40.107.93.86] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1pVGAD-00057V-Gy for kernel-team@lists.ubuntu.com; Thu, 23 Feb 2023 18:17:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L64jtseEaiheGlLB4DEgZTpgLefYbYVSb6EmTPuRjhfqV+upQjhwPgha6oQM+UubEl8YbKWugfSGGKAMjRzsYuvRJrQ0+agZUgtPIGSbX7nL01Bm0mD+j+F1Os0T7ZyRgrzyfOzGnpEH6YwZ4R90A0kQKhjZhwjePKg9zf6I0HKyRWtVl8YZoYOC5MmQj3nAUtVxS0Rfnmk1hVDGbsQ6qhU+P5FHWzHr8cmtA3U0LmKbpfvvxxvw34WcYtFQ8YJfW64/SH7hsoaSYXGChl4bxdtVNYfe/egJ4TWFXWpsOgG/E9af4kVt8Hns84nZyzCusQpP8s9kDWR4UGZS34xAWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GHCiSUGmrsXdCwOLfSExhLsQFdTnahbqMGnfO/CQt6w=; b=LCc5DY7v557IFZMEEWIb3ImG5VJku6P2B62vFrHxIVLDou/LqaB3cQs+oG4VeKt9RsNt8GV5ZMUY2M6KB019NX6FLTrBWdruQ7WsAZF2vHTaj7E4hFgq2xc+EeQ5iHdRxE/d/JuqoCKrYQK3fWKeKd1/6g+FCCEmoEPgPduKQrwBO4EtoWIENjW3HGFo5FKFSeQuPSJXnRy0bGRpI4f/vcDi1AYoPOsxMd1h7PzpFRjkQa/e+u3GSsgTQkUwcsfA9ui28IPCe/OrNWHsEX1XkedRJCRYH7xhENw8SStP0VVKrt4ToLS2xhquAc6Vj+zymy2jo0BYh2rHdszZre7wcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none (sender ip is 216.228.118.232) smtp.rcpttodomain=lists.ubuntu.com smtp.mailfrom=sw-mtx-003.mtx.labs.mlnx; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GHCiSUGmrsXdCwOLfSExhLsQFdTnahbqMGnfO/CQt6w=; b=HXDKZFq7VS6RUVkIZpsCkhxPTeEUipw5XcNLuWiFIqOU+ihb4wOQNlqqq5R1ETQyNKqe31qhQY/5Y7i2McoE7tstsku3Z58F5W5phbLRZPNRvhw2/xlyHUl4UFya5e5aKPLwungRng80f8yRG0oRKjVgjjFAnfd6KKt+RtRTcI1+4bWDcVVsoo8BaG3Ze3P6romdf8tyGkjMe5agAEaegkmvlIDL3tAh5px7vSVHXA0scO2Eccu4PxmHkMtnbj9+jiVddYwBz+Z4/25EnFBZuc/N5ZbTmBIZqWHI33JtAzxJOl37chNPgEd68VScrHURudjoz1m/ywc1fessTKhS6Q== Received: from MW4P221CA0022.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::27) by BY5PR12MB4998.namprd12.prod.outlook.com (2603:10b6:a03:1d4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21; Thu, 23 Feb 2023 18:17:50 +0000 Received: from CO1NAM11FT015.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8b:cafe::52) by MW4P221CA0022.outlook.office365.com (2603:10b6:303:8b::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.21 via Frontend Transport; Thu, 23 Feb 2023 18:17:50 +0000 X-MS-Exchange-Authentication-Results: spf=none (sender IP is 216.228.118.232) smtp.mailfrom=sw-mtx-003.mtx.labs.mlnx; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=nvidia.com; Received-SPF: None (protection.outlook.com: sw-mtx-003.mtx.labs.mlnx does not designate permitted sender hosts) Received: from mail.nvidia.com (216.228.118.232) by CO1NAM11FT015.mail.protection.outlook.com (10.13.175.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21 via Frontend Transport; Thu, 23 Feb 2023 18:17:49 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 23 Feb 2023 10:11:46 -0800 Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 23 Feb 2023 10:11:46 -0800 Received: from mtl123.mtl.labs.mlnx (10.127.8.10) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Thu, 23 Feb 2023 10:11:46 -0800 Received: from sw-mtx-003.mtx.labs.mlnx (sw-mtx-003.mtx.labs.mlnx [10.9.151.14]) by mtl123.mtl.labs.mlnx (8.14.4/8.14.4) with ESMTP id 31NIBghS002652; Thu, 23 Feb 2023 20:11:44 +0200 Received: from sw-mtx-003.mtx.labs.mlnx (localhost [127.0.0.1]) by sw-mtx-003.mtx.labs.mlnx (8.15.2/8.15.2/Debian-22ubuntu3) with ESMTP id 31NIBfBg1262465; Thu, 23 Feb 2023 20:11:41 +0200 Received: (from root@localhost) by sw-mtx-003.mtx.labs.mlnx (8.15.2/8.15.2/Submit) id 31NIBfan1262464; Thu, 23 Feb 2023 20:11:41 +0200 From: William Tu To: Subject: [SRU][F:linux-bluefield][PATCH v1 2/2] netfilter: flowtable: add counter support in HW offload Date: Thu, 23 Feb 2023 20:11:33 +0200 Message-ID: <20230223181133.1262442-3-witu@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230223181133.1262442-1-witu@nvidia.com> References: <20230223181133.1262442-1-witu@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT015:EE_|BY5PR12MB4998:EE_ X-MS-Office365-Filtering-Correlation-Id: e4bb7038-8ff0-4de5-6521-08db15ca45a6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u9Wn7hOb4hpypffVhfxmeXDUAWkeOgrzHJQyp1SvtSu9i/tdg/HR/IRIEita0EZd0gK/uCF9ZfLcJCUShudiBDocD34i5jRKc39E78ruoBco+irUsknK2VKy/mIp/IB2Cxj5fIkMYwJqU3OfwhOZdNm6+/6Qd/sUHOSaXUXOl4oGmPsxAFZ47dyUk6+VbeeHPvRSoTkRPWAfoiY5+itQx5LxB5d05nQJlexhcaGXHoLUKQ/fYxvb4hCulm/TeK9X5PK5wXVkbxIxjdsRijOAo0M6f7eZU5tjL8V4z1VbWaqQ1xy2cOd5GWG7Qposx45dzF7NDh0fjLS5XnUzQYw5QK6o/W2w2Zgi3CrlnfhAiBvwWIyAkqH96zVtuYxCUNlNcuz7mMkvxEZ3yrEzBqaqd8R1UBOiZDpY8K5Z3qKg3o+wjC+JGkMN2TS9YG+4JybftXC9ei9SeBTptzmscMBEta1TeEmQA9v1JDdcfltqSkjlOdrdpRPHbCoarVUxsbe3p9dItdpHMRfg70CSVu6/WHHs0G8hWDCTRJHwu+qhGwmvDR5xDnU9Lyi3H+qXLpurnu42nLPbAa8WA9Xex+YXM9PLZpVYrF9Jy3Lfv/RWPvi7AGA00ltUeH3DOS18JS7yH5KhPTjmBk1ZYZWL6DbZN7yGU99Tlph8yn32J1iIQp/MQ1Af3f5kYQ3j11KJypm8GMfJIwaw8/UPH/HEKSQpe6Ex45wpNab4TmdDfPl0kLfN1XzlL8a+qxIzlvN2pKx7chT/AxEmbwTiSxZfZdRy7pt3Ld6vAmx6UVFmRJzEYmssan40sTfs/UZrKW0QnNni X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(39860400002)(396003)(376002)(346002)(136003)(451199018)(46966006)(40470700004)(2906002)(336012)(36756003)(82740400003)(35950700001)(316002)(966005)(107886003)(6666004)(34020700004)(41300700001)(2616005)(42882007)(70206006)(7636003)(1076003)(70586007)(47076005)(40480700001)(40460700003)(5660300002)(82310400005)(498600001)(54906003)(8676002)(83170400001)(356005)(4326008)(6916009)(26005)(42186006)(8936002)(84790400001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2023 18:17:49.6823 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4bb7038-8ff0-4de5-6521-08db15ca45a6 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT015.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4998 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: bodong@nvidia.com, vlad@nvidia.com, dann.frazier@canonical.com Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: wenxu BugLink: https://bugs.launchpad.net/bugs/2008136 Store the conntrack counters to the conntrack entry in the HW flowtable offload. Signed-off-by: wenxu Signed-off-by: Pablo Neira Ayuso (cherry picked from commit ef803b3cf96a26e2a601755b237585a23e6bc30c) Signed-off-by: William Tu [William Tu: fix flow_offload_get_timeout] --- net/netfilter/nf_flow_table_offload.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/netfilter/nf_flow_table_offload.c b/net/netfilter/nf_flow_table_offload.c index 668bdb375205..bf786e5e516b 100644 --- a/net/netfilter/nf_flow_table_offload.c +++ b/net/netfilter/nf_flow_table_offload.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -802,6 +803,17 @@ static void flow_offload_work_stats(struct flow_offload_work *offload) /* Clear HW_OFFLOAD right away when hw module is removed. */ if (!lastused) clear_bit(IPS_HW_OFFLOAD_BIT, &offload->flow->ct->status); + + if (offload->flowtable->flags & NF_FLOWTABLE_COUNTER) { + if (stats[0].pkts) + nf_ct_acct_add(offload->flow->ct, + FLOW_OFFLOAD_DIR_ORIGINAL, + stats[0].pkts, stats[0].bytes); + if (stats[1].pkts) + nf_ct_acct_add(offload->flow->ct, + FLOW_OFFLOAD_DIR_REPLY, + stats[1].pkts, stats[1].bytes); + } } static void flow_offload_work_handler(struct work_struct *work)