From patchwork Sat Jul 2 03:18:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jianbo Liu X-Patchwork-Id: 1651417 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=d+cWRIZo; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LZcjT0GMZz9ryY for ; Sat, 2 Jul 2022 13:18:51 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 1557940482; Sat, 2 Jul 2022 03:18:49 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1557940482 Authentication-Results: smtp2.osuosl.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=d+cWRIZo X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jDyRPsIViidE; Sat, 2 Jul 2022 03:18:48 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 1F0354011A; Sat, 2 Jul 2022 03:18:47 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1F0354011A Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id E3A25C0035; Sat, 2 Jul 2022 03:18:46 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1CEDDC002D for ; Sat, 2 Jul 2022 03:18:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id CA5E24011A for ; Sat, 2 Jul 2022 03:18:44 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org CA5E24011A X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ey1n_f5Ggkk0 for ; Sat, 2 Jul 2022 03:18:43 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 6D0E640102 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2048.outbound.protection.outlook.com [40.107.100.48]) by smtp2.osuosl.org (Postfix) with ESMTPS id 6D0E640102 for ; Sat, 2 Jul 2022 03:18:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KIbKS49lNqt/dNaFCYgG+bggzAKo5+VeUfEp4lRyC6zHL03k+29R0j42sWnQfIilh5XapoAifQ/5sBT86CLrKvesXN4FDkmTNqSK1zAucIEiNwM4WHv5aZpakrX5c7dqm3lfHvMlXOgWzh/CR7lHClz5vxA+OpC3r71C6PwnP/tzBvEBmtTMJGkKjJWlwhN2nLmJa1qduWltVas5gpveHepHnmrZ1GAqNTlKFLcommR8ZB9TsZekomO9NSwoyTius1QV2MvtKhPmzssNib2ZqUoISSvd96ptQiximweliMeyy31cO2y/3SzL5tFdAz6shbpax+Uu1D62d2KpGg8bZg== 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=R+Tf9d7K6wZp3zXdSBHO2tDWlcy7olQfgQUsfu7lHOM=; b=XoHek+PMuSybNXHCLzKi4cx8SmjKzby0Dp4uZ3A+Jb0jEMKNT47GqRkCEgRfnNw5USvqgurdYOzNns2ZDcyDK+or8NJsj7s6O2ceRrtwno+e9K66E6s3f+h3KTDpGi1JAbX335Gg/CwFhW4MeNNo6bv3XeI8Ykmk7QkbPTijq8NU7V9WU+SgRdrxf8IoFhcUGx27S5WjGXSEHUPoVo0BtXsSecmFo6mSwXm4DWUVD4ZlGbes9p7kzB1UPSSS+/GgoIAQa1SCf0qWoGEuORJ1wgi03QxomjmKkX7abQ7LWv346kkEpjPZFoxr8TR0L4qskgZyrXtSZhfPDy/b6fRnuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=corigine.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none 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=R+Tf9d7K6wZp3zXdSBHO2tDWlcy7olQfgQUsfu7lHOM=; b=d+cWRIZovsod5Q4WWW90F5VXzbSCuyRQsNR5hQnDSOKuHSAyN2Q77Roa73y6mjlBi6qxGkObBfFozadngW+G3haXfWaCID6gvEKB8A18OmNDMgRhcAtTjonqEw90r822OrySkEi9BlTaBwTQYfJ4FLxWFkyxMTwWJnX00WdVt5d3o2/BTvjlCQW7WepCQAHBY0NloZJbp1gXW64QQhKpsIeXleOcn+U7SXynsareH1+9gy+JCuSeJ6GRepAL7K3lO3vIKcCarLMe3HnZLNRgFnL6jt3iYe3mDzOYK7ag8ygVmG9itJA9O0/vh6bufwQLekn60SGUOqNg3K7r5ytWBA== Received: from MWHPR17CA0055.namprd17.prod.outlook.com (2603:10b6:300:93::17) by MWHPR12MB1613.namprd12.prod.outlook.com (2603:10b6:301:11::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Sat, 2 Jul 2022 03:18:38 +0000 Received: from CO1NAM11FT022.eop-nam11.prod.protection.outlook.com (2603:10b6:300:93:cafe::f) by MWHPR17CA0055.outlook.office365.com (2603:10b6:300:93::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.18 via Frontend Transport; Sat, 2 Jul 2022 03:18:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.235) by CO1NAM11FT022.mail.protection.outlook.com (10.13.175.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5395.14 via Frontend Transport; Sat, 2 Jul 2022 03:18:38 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Sat, 2 Jul 2022 03:18:38 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 1 Jul 2022 20:18:37 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 1 Jul 2022 20:18:35 -0700 To: , , , , , Date: Sat, 2 Jul 2022 03:18:23 +0000 Message-ID: <20220702031832.13282-1-jianbol@nvidia.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c4e31ca-534d-4329-9934-08da5bd98eb7 X-MS-TrafficTypeDiagnostic: MWHPR12MB1613:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9tVxyp/EiCHBYNqWpklbk38GCD+twrjNgwT+p+BqASIKCQfv0W2caMMXyeH2iYfva0m7UKqBUQInKcXyy0pxEebUpYTMFKeX2TO6BoYTw2/cRQfO10jAayen/6XucMgf1BgNXaUBZJGeWtrVmF3td8T3RIqqwj7oWaEvJmj5YJv8PV30Z9Juohm2v2qTemt+42TuD1/MUQc5wRe3/SqNkasy10CBbEvil1tAEDzKVi0K/e8b8bmpFsmHrXWHnBjZ000fAZjaYnITJPyYvXhibSd0wmZfe5CC10eNVUThR3qyxHSZOUc2WboTG3jSCL5csN+j2FihJpguQFFMtQuYvx8SAnauVr8DU9smpU2t7qj+1d3i4D8azFvSc6nMRJVSWmfVym89I87EcVlVi2df3LAbTIeumoAQac8hc65WeD6k1umO2N41BmVcGzSQEmTLwWqVyMouGWVZDf75U3j/V/Ml6ifkXIvJxwXXtX0m/jEXAx8s/pcUhn6Q+dOc1/04ykbmo1Kt5464as5BEP7OBzcfjVdWPaSztqCT4nc3kmeXWtPTp8ZXlf2PZ70ZIMKrLStZlmzoXnaGK98Gnq8gIBnl0Bvd1IOmu3i1kgCdhaxov1Zt4vMMXUWkeh/5KcKaBsWRtXPrH5hYZj/53ir4IYJB2NHyivep6Zik5qse+X6gQ+rlXFojfqLJTVs30xD9J6m3Y4A8aYtP+y7t/Qbxn/cDRJB8Ww5tNrrCSY6WHF7+doXbS7rttXcr3amQGuc6ZcngBTcdRIvmBKawvU0ve/VhJ7UjodGX6kjMCCx4QEH3NN1NQ5VnKY1MI7Lp6PLDZ9jZxB5548qYm9bMBygEvDveY72nD6TuTEB6FSfBNr0= X-Forefront-Antispam-Report: CIP:12.22.5.235; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230016)(4636009)(346002)(376002)(396003)(136003)(39860400002)(40470700004)(36840700001)(46966006)(1076003)(107886003)(6666004)(4326008)(2906002)(478600001)(5660300002)(70586007)(41300700001)(186003)(8676002)(8936002)(2616005)(36756003)(316002)(40460700003)(47076005)(40480700001)(81166007)(110136005)(70206006)(86362001)(7696005)(82310400005)(26005)(426003)(336012)(36860700001)(82740400003)(83380400001)(356005)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2022 03:18:38.5680 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c4e31ca-534d-4329-9934-08da5bd98eb7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.235]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT022.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1613 Cc: Jianbo Liu Subject: [ovs-dev] [v6 0/9] Add support for ovs metering with tc 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: Jianbo Liu via dev From: Jianbo Liu Reply-To: Jianbo Liu Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" This series is to add support for tc offloading of ovs metering, and enhance OVS to use new kernel feature which offload tc police action to hardware. To do the offloading, new APIs for meter are added in netdev-offload, and OVS meters are mapped to tc police actions with one-to-one relationship for dpif-netlink. Notes: v6 - Add howto doc for meter offload. - other misc changes after review. v5 - Add the stats of dropped packets. - Enhance meter tests. - other misc changes. v4 - Move meter offload API to netdev_flow_api. - Add tests to check if meter is offloaded. - Modify NEWS. v3 - Add netdev-offload APIs for meter. - Move the implementation to lower netdev-offload-tc layer. v2 - Move tc police parse call from last patch to 2nd patch. 2nd patch is adding the parse lib func and add the call to it in that patch. Last patch is the put of tc police act. In 2nd patch also add empty switch case for tc police act put as the impl. is done in the last patch when support for put is being added. Jianbo Liu (9): netdev-offload: Add meter offload API tc: Add support parsing tc police action netdev-linux: Refactor put police action netlink message netdev-linux: Add functions to manipulate tc police action netdev-offload-tc: Implement meter offload API for tc netdev-offload-tc: Cleanup police actions with reserved indexes on startup netdev-offload-tc: Offloading rules with police actions dpif-netlink: Offloading meter to tc police action doc: Add meter offload topic document Documentation/automake.mk | 1 + Documentation/howto/index.rst | 1 + Documentation/howto/tc-offload.rst | 75 +++++++ NEWS | 2 + lib/dpif-netlink.c | 31 ++- lib/netdev-linux.c | 233 ++++++++++++++++---- lib/netdev-linux.h | 6 + lib/netdev-offload-provider.h | 27 +++ lib/netdev-offload-tc.c | 336 +++++++++++++++++++++++++++++ lib/netdev-offload.c | 59 +++++ lib/netdev-offload.h | 5 + lib/tc.c | 251 +++++++++++++++++---- lib/tc.h | 14 ++ tests/system-offloads-traffic.at | 98 +++++++++ 14 files changed, 1056 insertions(+), 83 deletions(-) create mode 100644 Documentation/howto/tc-offload.rst