From patchwork Wed Sep 7 09:36:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 1675204 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=fail (SPF fail - not authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010:0:a800:ff:fe58:3b77; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: legolas.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=pc8niOfd; dkim-atps=neutral Received: from smtp3.osuosl.org (unknown [IPv6:2605:bc80:3010:0:a800:ff:fe58:3b77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMxwQ2mzMz1yhR for ; Wed, 7 Sep 2022 19:36:33 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id B6A7E60A69; Wed, 7 Sep 2022 09:36:27 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org B6A7E60A69 Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=pc8niOfd X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Um3PjUPAfxJq; Wed, 7 Sep 2022 09:36:26 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id 6F23D60777; Wed, 7 Sep 2022 09:36:25 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 6F23D60777 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 338CCC0032; Wed, 7 Sep 2022 09:36:25 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id ABA77C002D for ; Wed, 7 Sep 2022 09:36:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 7D75D80BBE for ; Wed, 7 Sep 2022 09:36:24 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7D75D80BBE Authentication-Results: smtp1.osuosl.org; dkim=pass (1024-bit key) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=pc8niOfd 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 N5EQX4xOiXSK for ; Wed, 7 Sep 2022 09:36:23 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 864FA80BB9 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2091.outbound.protection.outlook.com [40.107.93.91]) by smtp1.osuosl.org (Postfix) with ESMTPS id 864FA80BB9 for ; Wed, 7 Sep 2022 09:36:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S+H0NqjgysT0fxDY9KJL2VOPJO0/XrRn90nOpUwQAAP2cwtpRsIMEzvb9l9ffmPR6fAGPl9R+pQQRwnb2FuIFA3Wl4GJHgbaR6q5L+d0N8EM2dNP9JCLqpmcULdubbRWyy3T8FUWPRnk2IZrA/qppkp007arhkmvEO133FWHHk2SsRS9Zrs9Qor/7Qj4WzcaaSjJJqoyAyxHRfQDz02C3IGJR6YPmZ+rfT8LnO/j5QoT/NTT+8DFIKIy1dBZjogK4Jxyu04T7I1POrSLx+YrrdBmkX/IYd9CnicTUAldYYkDxeajwpwf6ym28NFclTWK0NDZB1SP3mR88pb8RGaS/A== 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=slJ5d1AithuCmUJGKgX6j5XTBZgH690IKRgA52SNQxs=; b=kZEHngGbFBBudttTVt5GAc6iQwm2vhXxbokwB951GSrfivpC9Rhg+6UmitXKZHurreWWntQ9VFWnkXQ2lH7wqtD+Msu/DU1dB8WlUfv2SEAiAOM9P8PyHPea/Rz/dbo7tyPp0+yW/MFjtW0U8Uu1faSlak94dkvBWPvVrOXqmw7rB6m0z746KcVqNywxfTFwgxgl5lT17nJQ11gk/8c/c3A6VAp42YAT466eT5DPrU933g6bo5eZwqyd+6yp/2ea/PYpge2a+2oCfTqeJjEBh9X2m/plbGpahIVA1lnShnpUw2LPVFW/vjGTNa5IqNZrxJ6QKMNVkQqNhDsOqmtbbQ== 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=slJ5d1AithuCmUJGKgX6j5XTBZgH690IKRgA52SNQxs=; b=pc8niOfd+0kr4+Q7QzeJuMFTCiME++4YbwTfVVjXL9srgWbMX7M8zqWXq3P6Nsig99PXYWoy6vLsL64h7v8RdYdNuRptLMZwY95+6C+W7jmaSYXt08kDzbK5RakB600MklKoK7Gl8qnIx3XRq0MRzGs7TVUqUmUGIgrEmgZGhNg= 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 CO1PR13MB4853.namprd13.prod.outlook.com (2603:10b6:303:fb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Wed, 7 Sep 2022 09:36:19 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::a1e6:3e37:b3f3:7576]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::a1e6:3e37:b3f3:7576%9]) with mapi id 15.20.5612.014; Wed, 7 Sep 2022 09:36:19 +0000 From: Simon Horman To: dev@openvswitch.org Date: Wed, 7 Sep 2022 11:36:06 +0200 Message-Id: <20220907093606.33656-1-simon.horman@corigine.com> X-Mailer: git-send-email 2.30.2 X-ClientProxiedBy: AS4P189CA0006.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5d7::10) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|CO1PR13MB4853:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ec9c0c7-fd10-4ac7-993b-08da90b46b53 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2mL9xnpaYJXrhCG2q/EoWW4XUQDDpCkFC5HSld9jvr1L5uC0FLGuM/NJF5m6cDBmUsJBB4Qg8iAlTcBjagtGE+4n+PZWJrDLRmqK8hi8/IAP1Lz6rZMQd0N2DL9k0auVjwoqLAIyWHdHCdu1EvOTtuiW3ahMNYSBDKaeAYVG/NK3fYMgP6xgcAWnKy75WfP9MP0Ogu0ImK/1dd9WZAevRTEs0LUW2cWLqAXOPjxhthKGI7MHF3Qg42JSqhZXd/AcEkpKIMGNXZkK76g81XRjJVdqK8mxnQLtO/B8iukbYWC+jLQIroT8KdVmXvxsalst9rNF4rGzHljJv6W2AyG5Iuszpyhs01Dd/ZfiTG0FIipyHgW2zGiPifqGnlmSeKck4zjtKn1ZxS7GMeG7+yqkI4csu9zSZRL3FpN5RQFuirB7IXd1NKnhpkTQnBNDaQnHgwlOZpYJ+pgOviZR+fib+lyESaPDymgeRPBU3BtF6h2AUJ09HwDl0HhjAvj4EEbGZRnh7yi8KUyy/reepDTyKCGusRhBBUuzt/Ny/NKM0PeXEZM7dFwF13VjrKMuZsPqQeh+8YwL6o/8KtaEwgFp5CNVwWIlW4qIliG2Qlx4qFbDtAhF26f3vlhl2UsqeXNK8YawYEexzD/LoVcx0MDrxctph4Ol9XbJEVX58ZiBgzzX5ch5VLTX83uNTVlmp3yhnanZSDoAqGTT+jdPKEFJ/A== 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:(13230016)(4636009)(39840400004)(346002)(396003)(366004)(376002)(136003)(4326008)(66946007)(8676002)(54906003)(316002)(6916009)(5660300002)(36756003)(6486002)(478600001)(41300700001)(44832011)(107886003)(86362001)(6506007)(6666004)(6512007)(52116002)(8936002)(66476007)(1076003)(2616005)(186003)(83380400001)(66556008)(2906002)(38100700002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dLjyLJFoNbMCh3HFv1TmkeVUvrGg39cYggwkEfOBdUiaYgzoQ0yNCikh4gLGJ8nTVgxHU59Cn5e9dsZLg5+oiAMrJlyhoDBAXW9ZZ646rG7vb+uEoWXMNiE7DMnwEZius65DG66fvUs1hWaM/xZMVrYsPPnI1KBia+i9V2i0w8ltx0em4qBPVOF9euEpdzMYmSVQBQAXyUkgO3tjdvIVB+oX5Y0Qwg63aCRPmk9aJK73ayCsIibKOZiDU1TUSLEiqumy3Y4Ehdd3l81pVJPrGvnIDdK7sRGkh1lweJmKbUqWKZjCY4SlWmqoin/nbp+mIJDMU79Z9oHcMVBQYvBDuH3/4+JQ5Y+v0NyXfe6u+GqJbtTsC3gE/IB8kRxVJFXUiek+fJOkpydJMWJWC9WIASHYDLHoqjHEDGMdTD7OLwjiTsivXNqjD9y7cvj0pi3/VPeAMocvbHGe2kf8qxWJ7127tdFycI7rM9Zg3qOsCzjNWpb7b+5Ea7h+4sMRpOlfafEFI1+efbqxK7etkIeoRDU8iiSs0ZCTMoULvjbEVfFUV2cjEho/lV/GJfxHbO4vO7Ez+2VkGLXcr4dNNhgUJm6gjGwBiXQvw8F6+sNVZqGysRsRC5AeJNtG6yb6lZqHApgETC1YU/HU24HXOKF8HEQ7UmXXUrUt5/WHTHGCRL92JzgRp9GGY5aHs4HwVcMtvVorTHFRa82MNYwOKqFIZMguIPQ2KURpfJ7F163htLq/8yV3N1FNWW+eSbDf5fmetRNvJUKfk0ZGOpBp4DjZ25fgCO/c/qs5QPm8Tjl5MtU9bkMKA+hHU6B1jHHOMt2RkJtNzQmW3Nyd5UQGi2nEXqA5Q7yUOvDQD1CG2bM5aZ3f/STWyyoUPSo5S1Qt9yQI1BMEnleFxovh2Pdzs9znHRiLoPrMHb68DxcVqnc4tlIjge/owOzjznokbndzV5JL17vtNjgW2Gps0g16kD6TaxhgTAKZ5PIvZT+Dry7f7ZXMbmWkFw1c3OwmkWtxBK4uX6EWsDuss2seOb84+hvYsOH2SADlfJ94AuUXH9+jkOBCI7xmU2Hvq05qDgFnetgUDjgKA0KIeLr2yn8e7HGzGaiQm+n0XU65zUX82S2Ml0Ho8FLjIpsOqRT8Ew7nvlKe1HrsNf7QdDc9pTyvNTBzoqm0OWIr0pohg5cD89FxmhnfhBpK1gC8OqbFWrX4uolNbBQdevMXbipzB18inQ57X3PA5c8P89agTV18zvUUFGoJr9xwxYZ5HJDzBCNls7H6x2/GDw49gB5XNqTl5Cqz2Sg1QNTHm3sTraYdxwRVB6ht8/n9ynwbS79iEerUwVax2HM7WzYklv9yuvlwSAqFGebvXw8tpA922l63oIOLjndGJfq0+1CaVSUD7qcIWMHS+wNum+XYTVOv83fnpx2hRn6o4FwzyMVCAaA/lJxC5zjq9ZDSd5+1dZs8vgZjFFnol0JgILGcAfu+dp+JgogUr8CBUbtBO1Uv+CygpIwzBq721Bmoij6GtxerLc37p4cD7vnA4ih6wsK47JB/kmpcqU67csX3E1VZMmESmbEkePtjyxqrxyzGolDC6KVYVcGVlBScHERhZgUBsmtCPx86mKV6BxFL3EruwQOcec0LRgZ2ffFT82weAMDDbR2k4pmCfZNerjhXPLEW1AMsTva3zQ== X-OriginatorOrg: corigine.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR13MB4853 Cc: Baowen Zheng , Simon Horman , oss-drivers@corigine.com, Tianyu Yuan Subject: [ovs-dev] [PATCH] tc: Fix stats dump when using same meter table 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: Tianyu Yuan When we apply meter police on both directions of TCP traffic, the dumped stats is shown same (as shown below). This issue is introduced by modifying the stats update strategy. ...,in_port(6),eth(),eth_type(0x0800),ipv4(frag=no), packets:1488557, bytes:2089059644, used:0.040s, actions:meter(0),9 ...,in_port(9),eth(),eth_type(0x0800),ipv4(frag=no), packets:1488557, bytes:2089059644, used:0.040s, actions:meter(0),6 In previous patch, after parsing police action, the flower stats will be updated by dumped meter table stats, which will result in the issue above. Thus, the stats of meter table should not be used when dumping flow stats. Ignore the stats update when police.index belongs to meter. Fixes: a9b8cdde69de ("tc: Add support parsing tc police action") Signed-off-by: Tianyu Yuan Reviewed-by: Baowen Zheng Signed-off-by: Simon Horman Acked-by: Eelco Chaudron --- Changes between v2 and v3 * Add comment to explain why we skip stats update only when act_police is meter Changes between v1 and v2 * Fix checkpatch errors --- lib/tc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/tc.c b/lib/tc.c index f8fbe44bf244..0cf6817d3ca9 100644 --- a/lib/tc.c +++ b/lib/tc.c @@ -1904,6 +1904,8 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower, struct nlattr *act_cookie; const char *act_kind; struct nlattr *action_attrs[ARRAY_SIZE(act_policy)]; + int act_index = flower->action_count; + bool is_meter = false; int err = 0; if (!nl_parse_nested(action, act_policy, action_attrs, @@ -1941,6 +1943,7 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower, nl_parse_act_ct(act_options, flower); } else if (!strcmp(act_kind, "police")) { nl_parse_act_police(act_options, flower); + is_meter = tc_is_meter_index(flower->actions[act_index].police.index); } else { VLOG_ERR_RL(&error_rl, "unknown tc action kind: %s", act_kind); err = EINVAL; @@ -1955,6 +1958,16 @@ nl_parse_single_action(struct nlattr *action, struct tc_flower *flower, flower->act_cookie.len = nl_attr_get_size(act_cookie); } + /* + * Skip the stats update when act_police is meter, since there are always + * some other actions following meter. For other potential kind of police, + * whose stats could not be skipped (e.g. filter has only one police + * action), update the action stats to flow rule + */ + if (is_meter) { + return 0; + } + return nl_parse_action_stats(action_attrs[TCA_ACT_STATS], &flower->stats_sw, &flower->stats_hw, NULL); }