From patchwork Wed Nov 10 16:28:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 1553497 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" (1024-bit key; unprotected) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=UkExf/dr; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Hq9Kw4G7Fz9sCD for ; Thu, 11 Nov 2021 03:29:40 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id D1AE381959; Wed, 10 Nov 2021 16:29:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jwK8Bp0xBuDT; Wed, 10 Nov 2021 16:29:37 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp1.osuosl.org (Postfix) with ESMTPS id B994581003; Wed, 10 Nov 2021 16:29:35 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id C8157C0037; Wed, 10 Nov 2021 16:29:34 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 41BF3C0039 for ; Wed, 10 Nov 2021 16:29:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id BCF09403DB for ; Wed, 10 Nov 2021 16:29:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=corigine.onmicrosoft.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U21idz-hs3v5 for ; Wed, 10 Nov 2021 16:29:28 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on20711.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe59::711]) by smtp4.osuosl.org (Postfix) with ESMTPS id 1AD8C403E1 for ; Wed, 10 Nov 2021 16:29:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IRVL2c3bAgxql2vTSypGJpFQxXev/7ZzThdfxJYjWngapnrq91CoWV3sXV2AF+QdoKKKznK3zcByKEcBh6N6pwO8Avvdd59LFx2mJ2EWLxwNJ9NkHB1DQCVq/C42sbAQxlvn5pCF1Ee5UzSw72gzJ3pCbgerf9+LRrAfIChjAG8BqE8BUuA0778kLkL/OtO0Jmx6jrRebka4bkwwYo2i/AV0AelXFmnJsF0OHzLO1tXSBrX68hGxGA68maUqtxtYDUllTB68f1VRzcvlVlY+GPXRzmaYzQZbjD/w4R3PBDamfucLTit0KQuf47e7KNeXCY+b1xnlLOQ/imXR1USxBg== 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=yRUh5bYcsEOBi5sbGzj3blNoXT+WrAfnzmdm/d43bJ0=; b=AkcMnt1IpqeYxS4VtatA8zTgNnpdYhBaTwNprlHQspoi008PQcSww61qi7xuYUSl+WTpuna5LYI35hy0A5kkW7GO9EJwjqn+p1u51z5mXMuEUbWiXxjlcKm3D/S6R0PId/mlJ1x+/eadqi8rBYBkM+QMjJjoqkTqLF3qV9sjSpcg5QqiLH3g9X4uqyA19vc8PjOr5j4jXiRDVbdZOkEx5GP+8YhFOa/n97ilrBGtQOLxTveslW6JAr/b9m4qW5trevCfNn+M2Ft0TCnJV4KgBrfh3XXnELhhBKH9e02B0wqR5xQvrVxOFGKDadL6qE39j8iaTm7ek7iPscG7lmHXfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yRUh5bYcsEOBi5sbGzj3blNoXT+WrAfnzmdm/d43bJ0=; b=UkExf/drc5ag66FK5WM71xnNgS0Q3iv/85cSLGThRa/zLVAkAOcQriisSFTPXt1Nep/9agOV640ItfbdOeHKsBxHdUF0TuWoX+ksbWxd+jLY4nf3/SBZMDp4zJtlVVXIttQ9QDM3gu8dAhR9rfvDF6h2TJ3NGfjsvh5ZJGTjSXQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) by PH0PR13MB5639.namprd13.prod.outlook.com (2603:10b6:510:12a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.14; Wed, 10 Nov 2021 16:29:27 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::e1d9:64d0:cb4f:3e90]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::e1d9:64d0:cb4f:3e90%9]) with mapi id 15.20.4690.005; Wed, 10 Nov 2021 16:29:27 +0000 From: Simon Horman To: dev@openvswitch.org Date: Wed, 10 Nov 2021 17:28:55 +0100 Message-Id: <20211110162858.20101-5-simon.horman@corigine.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211110162858.20101-1-simon.horman@corigine.com> References: <20211110162858.20101-1-simon.horman@corigine.com> X-ClientProxiedBy: AM0PR02CA0224.eurprd02.prod.outlook.com (2603:10a6:20b:28f::31) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 Received: from madeliefje.horms.nl (80.113.23.202) by AM0PR02CA0224.eurprd02.prod.outlook.com (2603:10a6:20b:28f::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Wed, 10 Nov 2021 16:29:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2bbaae28-425b-4c99-bc22-08d9a4674365 X-MS-TrafficTypeDiagnostic: PH0PR13MB5639: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3968; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x2quET2IFFNRKJiG4nXhLn8kY2nsW8Husq16tVE3ER1PvuKNTJn5sRfIF0VxoNWdmtk2QgHKIxBY/q163BBMAMOYM4hPiqD32O72yT+bO72XJbUpsexsVJbtZmnICAsh4It/SppzmDdDyFRl3cSCCMWWqOgg1n+lIMQbtRqDlNHQvv/eHBGySl8Jrt+VoiAdvaRySJaN+UmYM6T9VVB3lVwc6ghOhxaD4AvVhmPG7fX59MqOJ557xFXheMOrfBAbmhqDoCdReakaoWRr6j6a61AE4HhY4dCFYyNRV86FDQ0/DgpaBtSDjwTfdswGPNeX3HmSev2f7NNfral9eSYrFrEONX1BsDhcZ+PKjq317YUruDmF7LFAIu51UdQ7iM/Wb+VPribZmyg/jrmcKsOkv/mdDWtZ/qxgmnwCZA5DRBgMF+/NY5gYbkw55jL718tLSA+NL86Nyg5RYKFFvsVBMoJw67Cser7j4Nj7iiXOXl/+yoHnMeOdn0XIe8V/l2IovFoMKG+iStt9LaR2vuyXuNkpy+7f82yA9q8ksLNYCjAHVMYDlNH8xmMD5CV0FtwNH7Un/Z26/WY/bGsOHCLX2TqhK+ZvRojDyld5WdI9xZzOIlkaiFb45062C3DB2KdJ3u0DfqbGZLBT3pAztLlejFQQLyEmGDzxTB6SrbXwGMTp/aO+4uO8Fg9KNamlEKGYDua+syInZBlyjIy+1z0ZfA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB4842.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(376002)(396003)(39830400003)(366004)(136003)(1076003)(36756003)(86362001)(8676002)(66946007)(54906003)(107886003)(6512007)(44832011)(6666004)(316002)(83380400001)(6916009)(956004)(66476007)(508600001)(4326008)(5660300002)(8936002)(2906002)(6506007)(52116002)(186003)(6486002)(26005)(38100700002)(38350700002)(66556008)(2616005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lwL51dgA6+GE8yu13JOLi6Fhn8G6/bDFsoPfif3t2KcUq4tHU3juf+HW/f6Wk+vnL7dfmOiHFvNJpJ5suo6NlPShLFY09KZJ/Y7HpzPkCQcmKqbrFgjqJpAucpKoKAGg9XVxh4XLz55Sb7aRDHAYNda3bsGLm8Rm22S2gyfcKYK/n2TcHZYqTjARML3J0YfFiRjPteeZgUjs1v8JJeZAJBNBDBcl12bpeLc2vG5cQquqBux6ol0X6ZYCTduWim68bDqwgFJZVgkabTHLZeInOHxT7IrxlcXnG9W7icZVGD8OJDzBUHxaWPPkyzxXCNhdcuSyyviAPaTUW62EhO5tXpTnFZ3BSajdV+IBBzFrgumPnPD6LQoewKDQvDsyg1bh57hsAFeNdd54PMIQsoF+6JsgOMqIoBDYIrhq+gizScpjRyGU9vFr+YedkXO4l8GS2DTpelzJEzPBwMOrq4WEc6AFeO+KWTXHJFUNfTuFcmqRtv3dFUfp9DMCh+5jYdfs2cuLOjGdHuLc8fUTyuruwnPXr7uSOauMxI0lfmuaZLsMLBXe6Q4GoHDzWAQX6Inlqm+rfF+6nZlUCsMrRekGHIo/Oxc0iFxaNnPR9L/xlYa6QBqefzloMnUmhISXES9ytK/YltGKXleaTp3LWzhpsezIeXyQ95yESnCLmai4OJkQCziCK0yJczR396HGV7mK3+onvWBi6Ae8g6MvxQxwOGBCQiBB/YkfKKEogvDOMdiIxYNBXzxzY2Z3+YCGAQk3XmnRvTDfvNK8UvttmOH9rJDzPaB9hB16lVVw842v5k6mDVRsZgxo+rjc/emGGmYY4bNgg5HHtIU13vLimRPYxhxyfdW3eWALc1HoiYm68cZkDoYmOxgjnW7ZSQ9QqD0Zkt2ome3f6tBV83rV9kZ+7QOnEsg2NgNVXeeBwMRxWEp80yozOB/LvrpbMOwl8Tj9gUmEMiExBY76j0MWB57RMR91t8+rs7UzswGXAorRWqb1I5plwG5WqJEx5uQktks5/W5J+53JMfrpxi6nMzRKenTr6UkMSp2Uh6oCAgURUf79/aH1b7tdpMofw4yyEYuPjAlInmM502MmlCGH5tmRRnOCjWnfHeJJs1KJDxmdgxi1UBnT/pY4FdlODXjjRttyfuIJHmMvhuAnYNKV9unjEGwUS1Vf9pqOOsqoAcrVCcq9FXSJrcs70W7ccn1GDGPQkXxv4SOFVcx8Rd5q2PacEZw2l/tfWS6EDYIvp8xNDTFGkbkrPwBEijQnCLLpeGE0JKgV5CBiZtIFFnmHe8TdJE22Gg6oxvjFkl+Fjwx5d0P+Mna6LHbvTfhTEKuAOIeICT2+NuyZHtWsOAuCKYRtfEFdLeY69RiQaamjtM9oncMlgyggr/hqq6Kc3fezEuIU6yoPcFpeGWcxCjo1Eek1623su8iCeIVTAByqmJKkvc52Xsv/TS4BHWZTRlzfcMFRVBCc6CIZ8I3b/fqmSU62U/tC2AWYoIB5HEIKLCHYLdlSldb6tD5mO7sY7rV8rldVLZ9kagaSS+TUaPsLohQ0GFLS22TPHbFJJFdPUR/xMLhBbMBmucI9nO1ma5pRIh9aVnHUgk+rGXopMVTb/X5S517TwwQ1hdxc7dDbBLK+NgCX1cahnX9uOWVKOIdo5UedmumoOwBOaVp+A0Vw+JBAJA== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bbaae28-425b-4c99-bc22-08d9a4674365 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 16:29:27.1362 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4X7DSvIfmO3iDBjoAkONbAKyrVuoESJTXX7hmBt23vRt+a5RFw/HzSsgxfM248E6yFe86gpbilwbAs21OszXNcOdrhaFKGpfrbBpdm/pSJw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR13MB5639 Cc: Baowen Zheng , Tianyu Yuan , oss-drivers@corigine.com Subject: [ovs-dev] [PATCH/RFC 4/7] dpif-netlink: delete TC police action instance when deleting meter instance 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: Baowen Zheng Delete the corresponding TC police action when deleting a meter. This is part of adding support for hardware offload of meters via OVS-TC. The delete may failed if there is filter rule is refered to this action. Signed-off-by: Baowen Zheng Signed-off-by: Tianyu Yuan Signed-off-by: Simon Horman --- lib/dpif-netlink.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c index 3c42db0fa..81eb19c51 100644 --- a/lib/dpif-netlink.c +++ b/lib/dpif-netlink.c @@ -4167,6 +4167,41 @@ dpif_netlink_meter_add_police(ofproto_meter_id meter_id, return 0; } +static int +dpif_netlink_meter_del_police(ofproto_meter_id meter_id, + struct ofputil_meter_stats *stats OVS_UNUSED, + uint16_t max_bands OVS_UNUSED) +{ + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20); + struct ofpbuf request; + struct tcamsg *tcmsg; + size_t total_offset; + size_t act_offset; + int index = 0; + int prio = 0; + int error; + + tcmsg = tc_act_make_request(RTM_DELACTION, 0, &request); + if (!tcmsg) { + return ENODEV; + } + + dpif_netlink_police_start_nested(&request, &prio, &total_offset, + &act_offset); + index = METER_ID_TO_POLICY_INDEX(meter_id.uint32); + nl_msg_put_u32(&request, TCA_ACT_INDEX, index); + dpif_netlink_police_end_nested(&request, &total_offset, &act_offset); + + error = tc_transact(&request, NULL); + if (error) { + VLOG_ERR_RL(&rl, "failed to send del netlink msg for provider " + "id %u error %d\n", meter_id.uint32, error); + return error; + } + + return 0; +} + static int dpif_netlink_meter_set__(struct dpif *dpif_, ofproto_meter_id meter_id, bool add, struct ofputil_meter_config *config) @@ -4355,6 +4390,11 @@ static int dpif_netlink_meter_del(struct dpif *dpif, ofproto_meter_id meter_id, struct ofputil_meter_stats *stats, uint16_t max_bands) { + + if (netdev_is_flow_api_enabled()) { + dpif_netlink_meter_del_police(meter_id, stats, max_bands); + } + return dpif_netlink_meter_get_stats(dpif, meter_id, stats, max_bands, OVS_METER_CMD_DEL); }