Received: by 2002:a05:7412:40d:b0:e2:908c:2ebd with SMTP id 13csp504614rdf; Tue, 21 Nov 2023 08:21:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrKpTduyVZn30Vu9Q8VZ1Ts9/dq3JE64HgZ8AKjNFkeQCADNA4AOErUp24BTIx7HiXLgsj X-Received: by 2002:a17:902:d352:b0:1c9:c6f4:e0c3 with SMTP id l18-20020a170902d35200b001c9c6f4e0c3mr14411353plk.62.1700583664282; Tue, 21 Nov 2023 08:21:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1700583664; cv=pass; d=google.com; s=arc-20160816; b=E0naGl41+/hK7bGFKAUjVLTGlsNIDpFH+TelI+U1NIZe3lq5zEenHkHQtj8ye1+sOx xXnDBYjtYPM2i+KHvNoQmS0JOtcOD0BJEgvYfJxCDXoG/Wl5DCm7YDdnnNSG/caoRVaf FeprFJDWkWRUG7ONEw/MQl7Q1o4dzMJOhrY/LljoJU0SLlUmqDiYTBt8EX3pu2Ffgl+f xWyYjBvUg7Qc9MdybEl5+1ryp0o3XXw4KMAPwUQSJIb48miMzUf/1TR00RGZmBhYcvsJ U0fSfNVFgiVOrssO022n4gztwW+4Yi+3ZwQ6J5xDSXupAFnfcJ4Tm1UccGB0Iz6zbRVL YAew== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=RWITCC/7uwInzq9IknEV7fVAW+/ltnPuLJBrfpq9Y0M=; fh=DvILUhkXcvcI47Bm4yaMAJzTqNI2kadgAModN5uxLpU=; b=NTLIAaZf5W+6a8X4sJ71LWxD6FuM+vPd/BA+vBetrKyGSbRlV/9MFoh6ZxzvVemqsp W3D2dHHX9nhl2iKVj/+hFY8sAG0abemoM6j+oG7uCfMn75iHn0PzwYVXsuIalu5cEvmy LnrDKUsq/zPOwS9d1YH356i8xyNIUBQRO5ENV1y8AztkUGGrH4ouEhVgXFgZyCbarCTM oOaow+oOz+gZhYNvzjXTyjXZ0ov/4kxuGTjFodLNNT6Oue6OYt3Io4ZBK4wKltaaQjhN UPLAlfmciaR9KwmtlvFJmqs+256g8xWY7mzD15Ge61cX5zTd0WzS6z4K5RLQ27zAA4/1 YiMQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector1-marvell-onmicrosoft-com header.b=DIQIkUPI; arc=pass (i=1 spf=pass spfdomain=marvell.com dkim=pass dkdomain=marvell.com dmarc=pass fromdomain=marvell.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id c2-20020a170902aa4200b001cc17d8bcb5si10138170plr.615.2023.11.21.08.21.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 08:21:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector1-marvell-onmicrosoft-com header.b=DIQIkUPI; arc=pass (i=1 spf=pass spfdomain=marvell.com dkim=pass dkdomain=marvell.com dmarc=pass fromdomain=marvell.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 702CF8026431; Tue, 21 Nov 2023 08:21:01 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233336AbjKUQUe (ORCPT + 99 others); Tue, 21 Nov 2023 11:20:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230464AbjKUQUb (ORCPT ); Tue, 21 Nov 2023 11:20:31 -0500 Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 824611AA; Tue, 21 Nov 2023 08:20:27 -0800 (PST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3ALG4u5b014123; Tue, 21 Nov 2023 08:20:13 -0800 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3uewnw1j4n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Nov 2023 08:20:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HGe3RNCIcQUil3RxGiodpSC7aWdnbfzHkuVIRYzC2N2idzddCsuldofU2+E2nZmbsm/68sVa4iuHlbntmCzL5wbwKdSGytfntXwfyTGRTjETKJYA0pc2becJhRFs1QRFB93UHzn3+sKirMbSLJz8BioN4ofo1CB08I9MFf4rNcAca8MbBwEAkebu72VRdhVY7b6wmdE0iQI2qsv0FXZxWTJSYerr8K5s1aVGeMVSRmW1r7xQ4y0XdiViKrqjKIyC1usV1EPweXPszlaDjS6BRoSUVqMHiwMEKTne4i2jqyV2eJ/cbLVD0JAAKpNZBubrbhNqgl3pIGaWXgWJfbtkww== 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=RWITCC/7uwInzq9IknEV7fVAW+/ltnPuLJBrfpq9Y0M=; b=XqkS7JTByZUHrMH1j6Ja9y4PzBQQ2Xcqm6u3XfZt0omE/aG7RkxBSFOkZjI6WNz2ThlfaMM3ePr3uVRO915n0X7OSa9/biijvTQDDRsLR2TRu8K4mX4WzrmpnPuuFbfGemxAv3R8KE5dSiTJPBBVl5s63WHmpNHso4vf9Prs0qp7LJ1KPHfzlk0sFQLeRBtWOvECKmfylNe+PSKc3blGyjE17nHaKT22DpopHHIlUoLuGPn9HH1PMoq2a3HBIdAlyT4Z6EGmYesu4CkbaJkS7wS/cWDxRmD0cs1nIuYIE3Kv61sRIsVlcNoZtLXA3ZQXf15WT+GagGqR3ZLh/+mUyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RWITCC/7uwInzq9IknEV7fVAW+/ltnPuLJBrfpq9Y0M=; b=DIQIkUPISWOGJOxIml1yO5hXUi25yAKrAHkqHS8zqE1A2MyBeIfXPlS0L6HU7ukmuuvTXK2F+y9VY4+v4ae2JiV5TX0iRV6Xfzcm7bF6IW39FGyi8O3cWmik5U5be6GKNQ/uzEFUGrVLt5SZZU5kJcPljN6jMJyFnmZ8ezKvUFM= Received: from SJ0PR18MB5216.namprd18.prod.outlook.com (2603:10b6:a03:430::6) by CH3PR18MB5440.namprd18.prod.outlook.com (2603:10b6:610:15e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov 2023 16:20:11 +0000 Received: from SJ0PR18MB5216.namprd18.prod.outlook.com ([fe80::6a4f:cb8d:70fd:ef2]) by SJ0PR18MB5216.namprd18.prod.outlook.com ([fe80::6a4f:cb8d:70fd:ef2%4]) with mapi id 15.20.7002.026; Tue, 21 Nov 2023 16:20:11 +0000 From: Suman Ghosh To: Simon Horman CC: Wojciech Drewek , Sunil Kovvuri Goutham , Geethasowjanya Akula , Subbaraya Sundeep Bhatta , Hariprasad Kelam , Linu Cherian , Jerin Jacob Kollanukkaran , "davem@davemloft.net" , "edumazet@google.com" , "kuba@kernel.org" , "pabeni@redhat.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [EXT] Re: [net PATCH] octeontx2-pf: Fix ntuple rule creation to direct packet to VF with higher Rx queue than its PF Thread-Topic: [EXT] Re: [net PATCH] octeontx2-pf: Fix ntuple rule creation to direct packet to VF with higher Rx queue than its PF Thread-Index: AQHaG3WoW/JPw3tq9UagL7vstPIRILCDG+oAgAFuHYCAAGVEgIAABqjQ Date: Tue, 21 Nov 2023 16:20:11 +0000 Message-ID: References: <20231120055138.3602102-1-sumang@marvell.com> <745e6518-6253-4ef0-8f05-1421ee4e1fef@intel.com> <20231121155511.GC269041@kernel.org> In-Reply-To: <20231121155511.GC269041@kernel.org> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcc3VtYW5nXGFw?= =?us-ascii?Q?cGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEy?= =?us-ascii?Q?OWUzNWJcbXNnc1xtc2ctZDVjNWE4MjEtODg4OS0xMWVlLWI2ZmItODQxNDRk?= =?us-ascii?Q?ZWVhNTRjXGFtZS10ZXN0XGQ1YzVhODIzLTg4ODktMTFlZS1iNmZiLTg0MTQ0?= =?us-ascii?Q?ZGVlYTU0Y2JvZHkudHh0IiBzej0iNDUzNCIgdD0iMTMzNDUwNTcyMDgzNTc1?= =?us-ascii?Q?MDM0IiBoPSJOTnhmQVZLN1NUR1FiRzhZdjUyaWlFTFBIMkk9IiBpZD0iIiBi?= =?us-ascii?Q?bD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFCZ1dBQUQ2?= =?us-ascii?Q?T0IyWWxoemFBY0gyekhaVjl0TzB3ZmJNZGxYMjA3UVpBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBSEFBQUFCdUR3QUEzZzhBQURvR0FBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?RUFBUUVCQUFBQTlSZW5Md0NBQVFBQUFBQUFBQUFBQUo0QUFBQmhBR1FBWkFC?= =?us-ascii?Q?eUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF?= =?us-ascii?Q?QUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFGOEFjQUJs?= =?us-ascii?Q?QUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFB?= =?us-ascii?Q?RzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFj?= =?us-ascii?Q?d0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlBTUFBeUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR01B?= =?us-ascii?Q?ZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4QWNnQmtB?= =?us-ascii?Q?SE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFCdkFHMEFY?= =?us-ascii?Q?d0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VBY2dCZkFI?= =?us-ascii?Q?WUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?us-ascii?Q?QUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1QUY4QWN3?= =?us-ascii?Q?QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?UUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZBRzBBWlFC?= =?us-ascii?Q?ekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFYd0J6QUd3?= =?us-ascii?Q?QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFHY0FaUUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFI?= =?us-ascii?Q?UUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFC?= =?us-ascii?Q?c0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB?= =?us-ascii?Q?QUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJ?= =?us-ascii?Q?QVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFD?= =?us-ascii?Q?ZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhB?= =?us-ascii?Q?YmdCaEFHMEFaUUJ6QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhB?= =?us-ascii?Q?R3dBWHdCaEFHd0Fid0J1QUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0Iy?= =?us-ascii?Q?QUdVQWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFCbEFITUFY?= =?us-ascii?Q?d0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QVlRQnNBRzhBYmdCbEFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVB?= =?us-ascii?Q?QUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUY4QWNBQnlB?= =?us-ascii?Q?RzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFISUFaUUJ6QUhRQWNn?= =?us-ascii?Q?QnBBR01BZEFCbEFHUUFYd0JvQUdVQWVBQmpBRzhBWkFCbEFITUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFB?= =?us-ascii?Q?QUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUdFQWNnQnRBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-rorf: true x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlB?= =?us-ascii?Q?QUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFad0J2QUc4QVp3QnNB?= =?us-ascii?Q?R1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHMEFZ?= =?us-ascii?Q?UUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBWXdCdkFH?= =?us-ascii?Q?UUFaUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QWJB?= =?us-ascii?Q?QmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QmpBRzhBWkFCbEFITUFYd0JrQUdr?= =?us-ascii?Q?QVl3QjBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFB?= =?us-ascii?Q?SUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlBRzhBYWdC?= =?us-ascii?Q?bEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFHTUFid0J1QUdZQWFRQmtBR1VB?= =?us-ascii?Q?YmdCMEFHa0FZUUJzQUY4QWJRQmhBSElBZGdCbEFHd0FiQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcw?= =?us-ascii?Q?QVlRQnlBSFlBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFGOEFiZ0Jo?= =?us-ascii?Q?QUcwQVpRQnpBRjhBWXdCdkFHNEFaZ0JwQUdRQVpRQnVBSFFBYVFCaEFHd0FY?= =?us-ascii?Q?d0J0QUdFQWNnQjJBR1VBYkFCc0FGOEFid0J5QUY4QVlRQnlBRzBBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFB?= =?us-ascii?Q?QUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpRQmpBSFFBWHdC?= =?us-ascii?Q?dUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0QWRBQnBBR0VB?= =?us-ascii?Q?YkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0JuQUc4QWJ3Qm5B?= =?us-ascii?Q?R3dBWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdV?= =?us-ascii?Q?QWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBRzRBWVFCdEFHVUFjd0Jm?= =?us-ascii?Q?QUhJQVpRQnpBSFFBY2dCcEFHTUFkQUJsQUdRQVh3QnRBR0VBY2dCMkFHVUFi?= =?us-ascii?Q?QUJzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFB?= =?us-ascii?Q?QUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QndBSElB?= =?us-ascii?Q?YndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFjZ0JsQUhNQWRBQnlB?= =?us-ascii?Q?R2tBWXdCMEFHVUFaQUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2QUhJQVh3?= =?us-ascii?Q?QmhBSElBYlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNl?= =?us-ascii?Q?QUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhRQVpRQnlBRzBBYVFCdUFIVUFj?= =?us-ascii?Q?d0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJB?= =?us-ascii?Q?R1VBYkFCc0FGOEFkd0J2QUhJQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFB?= =?us-ascii?Q?QUFBQUFBQUFnQUFBQUFBT2dZQUFBQUFBQUFJQUFBQUFBQUFBQWdBQUFBQUFB?= =?us-ascii?Q?QUFDQUFBQUFBQUFBQWFCZ0FBR1FBQUFCZ0FB?= x-dg-reffive: =?us-ascii?Q?QUFBQUFBQVlRQmtBR1FBY2dCbEFITUFjd0FBQUNRQUFBQUFBQUFBWXdCMUFI?= =?us-ascii?Q?TUFkQUJ2QUcwQVh3QndBR1VBY2dCekFHOEFiZ0FBQUM0QUFBQUFBQUFBWXdC?= =?us-ascii?Q?MUFITUFkQUJ2QUcwQVh3QndBR2dBYndCdUFHVUFiZ0IxQUcwQVlnQmxBSElB?= =?us-ascii?Q?QUFBd0FBQUFBQUFBQUdNQWRRQnpBSFFBYndCdEFGOEFjd0J6QUc0QVh3QmtB?= =?us-ascii?Q?R0VBY3dCb0FGOEFkZ0F3QURJQUFBQXdBQUFBQUFBQUFHTUFkUUJ6QUhRQWJ3?= =?us-ascii?Q?QnRBRjhBY3dCekFHNEFYd0JyQUdVQWVRQjNBRzhBY2dCa0FITUFBQUErQUFB?= =?us-ascii?Q?QUFBQUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCdUFHOEFaQUJs?= =?us-ascii?Q?QUd3QWFRQnRBR2tBZEFCbEFISUFYd0IyQURBQU1nQUFBRElBQUFBQUFBQUFZ?= =?us-ascii?Q?d0IxQUhNQWRBQnZBRzBBWHdCekFITUFiZ0JmQUhNQWNBQmhBR01BWlFCZkFI?= =?us-ascii?Q?WUFNQUF5QUFBQVBnQUFBQUFBQUFCa0FHd0FjQUJmQUhNQWF3QjVBSEFBWlFC?= =?us-ascii?Q?ZkFHTUFhQUJoQUhRQVh3QnRBR1VBY3dCekFHRUFad0JsQUY4QWRnQXdBRElB?= =?us-ascii?Q?QUFBMkFBQUFBQUFBQUdRQWJBQndBRjhBY3dCc0FHRUFZd0JyQUY4QVl3Qm9B?= =?us-ascii?Q?R0VBZEFCZkFHMEFaUUJ6QUhNQVlRQm5BR1VBQUFBNEFBQUFBQUFBQUdRQWJB?= =?us-ascii?Q?QndBRjhBZEFCbEFHRUFiUUJ6QUY4QWJ3QnVBR1VBWkFCeUFHa0FkZ0JsQUY4?= =?us-ascii?Q?QVpnQnBBR3dBWlFBQUFDUUFBQUFBQUFBQVpRQnRBR0VBYVFCc0FGOEFZUUJr?= =?us-ascii?Q?QUdRQWNnQmxBSE1BY3dBQUFGZ0FBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0FY?= =?us-ascii?Q?d0J3QUhJQWJ3QnFBR1VBWXdCMEFGOEFiZ0JoQUcwQVpRQnpBRjhBWXdCdkFH?= =?us-ascii?Q?NEFaZ0JwQUdRQVpRQnVBSFFBYVFCaEFHd0FYd0JoQUd3QWJ3QnVBR1VBQUFC?= =?us-ascii?Q?VUFBQUFBQUFBQUcwQVlRQnlBSFlBWlFCc0FGOEFjQUJ5QUc4QWFnQmxBR01B?= =?us-ascii?Q?ZEFCZkFHNEFZUUJ0QUdVQWN3QmZBSElBWlFCekFIUUFjZ0JwQUdNQWRBQmxB?= =?us-ascii?Q?R1FBWHdCaEFHd0Fid0J1QUdVQUFBQmFBQUFBQUFBQUFHMEFZUUJ5QUhZQVpR?= =?us-ascii?Q?QnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBRzRBWVFCdEFHVUFjd0JmQUhJ?= =?us-ascii?Q?QVpRQnpBSFFBY2dCcEFHTUFkQUJsQUdRQVh3Qm9BR1VBZUFCakFHOEFaQUJs?= =?us-ascii?Q?QUhNQUFBQWdBQUFBQUFBQUFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCaEFISUFi?= =?us-ascii?Q?UUFBQUNZQUFBQUFBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBR2NBYndCdkFH?= =?us-ascii?Q?Y0FiQUJsQUFBQU5BQUFBQUFBQUFCdEFHRUFj?= x-dg-refsix: =?us-ascii?Q?Z0IyQUdVQWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBR01BYndCa0FH?= =?us-ascii?Q?VUFjd0FBQUQ0QUFBQUFBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dC?= =?us-ascii?Q?dkFHb0FaUUJqQUhRQVh3QmpBRzhBWkFCbEFITUFYd0JrQUdrQVl3QjBBQUFB?= =?us-ascii?Q?WGdBQUFBQUFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4QWFnQmxB?= =?us-ascii?Q?R01BZEFCZkFHNEFZUUJ0QUdVQWN3QmZBR01BYndCdUFHWUFhUUJrQUdVQWJn?= =?us-ascii?Q?QjBBR2tBWVFCc0FGOEFiUUJoQUhJQWRnQmxBR3dBYkFBQUFHd0FBQUFBQUFB?= =?us-ascii?Q?QWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFCakFIUUFYd0J1?= =?us-ascii?Q?QUdFQWJRQmxBSE1BWHdCakFHOEFiZ0JtQUdrQVpBQmxBRzRBZEFCcEFHRUFi?= =?us-ascii?Q?QUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2QUhJQVh3QmhBSElBYlFBQUFI?= =?us-ascii?Q?SUFBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFC?= =?us-ascii?Q?akFIUUFYd0J1QUdFQWJRQmxBSE1BWHdCakFHOEFiZ0JtQUdrQVpBQmxBRzRB?= =?us-ascii?Q?ZEFCcEFHRUFiQUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2QUhJQVh3Qm5B?= =?us-ascii?Q?RzhBYndCbkFHd0FaUUFBQUZvQUFBQUFBQUFBYlFCaEFISUFkZ0JsQUd3QWJB?= =?us-ascii?Q?QmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFCbEFITUFYd0J5QUdV?= =?us-ascii?Q?QWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QWJRQmhBSElBZGdCbEFHd0FiQUFB?= =?us-ascii?Q?QUdnQUFBQUFBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dCdkFHb0Fa?= =?us-ascii?Q?UUJqQUhRQVh3QnVBR0VBYlFCbEFITUFYd0J5QUdVQWN3QjBBSElBYVFCakFI?= =?us-ascii?Q?UUFaUUJrQUY4QWJRQmhBSElBZGdCbEFHd0FiQUJmQUc4QWNnQmZBR0VBY2dC?= =?us-ascii?Q?dEFBQUFLZ0FBQUFBQUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWRBQmxBSElB?= =?us-ascii?Q?YlFCcEFHNEFkUUJ6QUFBQUlnQUFBQUFBQUFCdEFHRUFjZ0IyQUdVQWJBQnNB?= =?us-ascii?Q?RjhBZHdCdkFISUFaQUFBQUE9PSIvPjwvbWV0YT4=3D?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR18MB5216:EE_|CH3PR18MB5440:EE_ x-ms-office365-filtering-correlation-id: 9477a07f-07af-4146-5a29-08dbeaadbc39 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Tpq4MlgkutQGNRbLdv3ZdCo8XNgvYh8Xy7cf/GU3KBvh9Dluvo4b/EjFPis8/4m4QsQgm8Mg5i/SBK6d+pq9l6B6R/24KtgBg931wlSb02HXeMfihIP7oHWWLj9S/46i+sLIfbKIDttxtj156IfPfioo6ks+RL9ZziCWAx1eP+O3cdKddbjXrDPNjiKbwL1XtA6UHAKMWd0lh0OQlwEwnkbA1UIN1tyY5BPhAiXkITUi9898Tek9LFFCWC2TkRBB7FGo+XdGZ9Zdkc8W+b/q5CiJ0fRen99u6s0IHr32qbXXS74noSMCp+6oFffqOz3awrrcpGXbtkd9squgITUG+XiMjT33pdNwXTd1klFkuS0pRn2Hv1eQ+b5e0KkO3C21UEl14Qq+SyLxq0yDgpReiUBlQN4BopGuZJo7w1kCwl1qSLvxCmCkRj5sixpc3F9TE56LUzemZPH274ULgmWSQuMNlld7fpnvjOU3k+29cqx0iwkIVSeQt4mKgokA3LjxlLkInooMHDClTvHVCDvjyluwUFLPoqRTCw47Etypby4ZvckM4GjogecSY/56lBocQsbbRFwMmwdR8s723wPrvONrNFO25mQ6plKcZRbtd7Y+v6UdmwaLcNnp+rD0N2MF x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR18MB5216.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(396003)(366004)(346002)(136003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(26005)(9686003)(76116006)(38100700002)(6916009)(66556008)(64756008)(66946007)(54906003)(66476007)(66446008)(8676002)(4326008)(316002)(8936002)(83380400001)(122000001)(7696005)(6506007)(55016003)(71200400001)(478600001)(5660300002)(33656002)(41300700001)(86362001)(2906002)(52536014)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?3qaTuZC5Q3i45NlqhxB1NXmYqii/SUHInp8vQ1juEfYyVs5nKwkx9VoXmYJH?= =?us-ascii?Q?pC/1961WQjBXIsdGVpnIqFUQNumvLMwwv7kIOyESuC6ZpULzbvo/2GNG/wbN?= =?us-ascii?Q?wMZN5TT+NQdeevSKly8L5d4wRAR2vd7qNsbpwgvX1ezbZA1NK/yuVG1pWQcH?= =?us-ascii?Q?jXQC9idOp0gCDjGJEqTQxJNf0GJ4MRsiQf2SLIauPgtDf25M6yIOZ4HL1KUj?= =?us-ascii?Q?XfKvjBSenTq7cBwEECHVQRiNg+2Mgqx82ruNtLMB27WL3fhsG6NrUpzXn3ka?= =?us-ascii?Q?jBJZzhkgzZjMQt5KFM1O0iKUEh8arXpbprTZWHMcyyJK2H7+xtNM4011J1ss?= =?us-ascii?Q?DTLwtjDY5msZW2VAKdRCFkpl3CWfZRjvpKhezjWPyP/lsVhjOs6c9mbuD5dG?= =?us-ascii?Q?v+qO7sFA5GLEKY/l3YbgPzek5hcpYbLXXIYmiEG0WMMMKy4PLNjJRzTXVYrf?= =?us-ascii?Q?B9Vx//wtJS6Xa/ChhSA2TIdfwKKLO/OUqBDK+VtWfS2Id64P0290vIuBIhT+?= =?us-ascii?Q?kh9RbErDr6QAIFiE6t6Vz2OTQykSr/2ZtIh9q+06kyUDJcHei3F13XzKz89L?= =?us-ascii?Q?zQjEbLxUKEcFMTw+x6nQbreKUAqWrPjzMhqH0vUVqW1bNieKDM3YdY/80217?= =?us-ascii?Q?oUxnvuIGA2IpBbyWLriXzBX04kJvG27Xiy9x/gH4X83ME6OlEdhvQHNTWDbW?= =?us-ascii?Q?lwaSnChdlTx2wU/jvFayAa/5JlzLXCE9NVXQtxYX6UNWiMr71VapdLQqNaWi?= =?us-ascii?Q?H0Uj1BqSHq3AFLpfNhdOVeOfL+1akEAvwJHdtXtlAuNuQz+hhvjUOK/SgubA?= =?us-ascii?Q?/XSvlPIrK8RDN7f0BhdHHhSW3Vkz1kn1Oqy9IaNnohtutZLryt2N0roplOOb?= =?us-ascii?Q?FPuXx8CvtedET07wx+6yGwK/MkT79wnIQxKi9MjznU8MmU0KPvKimeT2yQOL?= =?us-ascii?Q?GuYglT6fACUWssl9a02NpArgTEGOy5i//0FsBVBSZtMN9xxYnBEcvHDYCz1K?= =?us-ascii?Q?jYnbuuB1v91c0rurG1/l3Zs6PaaLd0p4pN4Zt4ZH/apYjsdeHR9TDDweq7Op?= =?us-ascii?Q?7F8PtNGvPiy/nyi1fSNOCRyWgaA1bYHw9ZLR3q1UouC/kk8gqcJ6jfWlswyq?= =?us-ascii?Q?jKQ0R+BZPPjHCylO1UPW28mGAwY0vXAUu/U2R3U7nf2vTrN2DJpJQfr+uyTB?= =?us-ascii?Q?ht/vFvITi5ce+lUMdKdUFIefVDgii0XEslEk94LIVtb5d8M+0N+2ZJLWlzph?= =?us-ascii?Q?7R71G1IZGaTN4L7nRKGZmm7232nsAaPQkFFUh+bi4xJRv9bzq3x7yYTgk0ea?= =?us-ascii?Q?hB+nbvOwcgLRrpxs22RZ5litmZGTdlFe9EYZUM6y7Ql+nPBcmcx464A5kUk9?= =?us-ascii?Q?AdXn5ciziEDiknEWzIq6Ho2FT1a7P/XyrZsfcBSUOkR2Cj4xFeON2okYtd6V?= =?us-ascii?Q?tRr6qzj9CeKrkhu1S6bMwjY0E0MrZNSwcr9WUbXxXvifNkKb3Cdx0DCqYJy6?= =?us-ascii?Q?JtQbUfkn5K6NXUp31MBE1iDOFP/zQZBCVqCylWKA1oGBByfFc4niB2icgIqc?= =?us-ascii?Q?a6/I95UqTE6ogYybnQDoRgFU2Iw/LxcSeC764jgC?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR18MB5216.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9477a07f-07af-4146-5a29-08dbeaadbc39 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 16:20:11.0619 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: B/En7ZmzqUwcEDj6Mp/HalwXiI+T4nGBzD6eR1VQI0igNzqLQckp2WR15wrw0KUMxc19T1VK/wlBi2QYSTK2mw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR18MB5440 X-Proofpoint-GUID: 3MYH-lJAeniMF7b_AxhimIZDR37K5hVT X-Proofpoint-ORIG-GUID: 3MYH-lJAeniMF7b_AxhimIZDR37K5hVT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-21_09,2023-11-21_01,2023-05-22_02 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 21 Nov 2023 08:21:01 -0800 (PST) >> >ethtool_rxnfc *nfc) >> >> struct ethhdr *eth_hdr; >> >> bool new =3D false; >> >> int err =3D 0; >> >> + u64 vf_num; >> >> u32 ring; >> >> >> >> if (!flow_cfg->max_flows) { >> >> @@ -1100,9 +1101,26 @@ int otx2_add_flow(struct otx2_nic *pfvf, >> >> struct >> >ethtool_rxnfc *nfc) >> >> if (!(pfvf->flags & OTX2_FLAG_NTUPLE_SUPPORT)) >> >> return -ENOMEM; >> >> >> >> + /* Number of queues on a VF can be greater or less than >> >> + * the PF's queue. Hence no need to check for the >> >> + * queue count. Hence no need to check queue count if PF >> >> + * is installing for its VF. Below is the expected vf_num >value >> >> + * based on the ethtool commands. >> >> + * >> >> + * e.g. >> >> + * 1. ethtool -U ... action -1 =3D=3D> vf_num:255 >> >> + * 2. ethtool -U ... action =3D=3D> vf_num:0 >> >> + * 3. ethtool -U ... vf queue >=3D=3D> >> >> + * vf_num:vf_idx+1 >> >> + */ >> >> + vf_num =3D ethtool_get_flow_spec_ring_vf(fsp->ring_cookie); >> >> + if (!is_otx2_vf(pfvf->pcifunc) && vf_num) >> >> + goto bypass_queue_check; >> > >> >Let's just add this condition to the next if, no need for goto. >> [Suman] I kept it a separate check to make the code more readable. >Otherwise the next if condition will be complicated. > >Readability is subjective, but, FWIIW, I'd also prefer to avoid a goto >here. [Suman] Okay. Since both of you are suggesting the same change, I will upda= te the same in v2. > >> >> + >> >> if (ring >=3D pfvf->hw.rx_queues && fsp->ring_cookie !=3D >> >RX_CLS_FLOW_DISC) >> >> return -EINVAL; >> >> >> >> +bypass_queue_check: >> >> if (fsp->location >=3D otx2_get_maxflows(flow_cfg)) >> >> return -EINVAL; >> >> >> >> @@ -1182,6 +1200,9 @@ int otx2_add_flow(struct otx2_nic *pfvf, >> >> struct >> >ethtool_rxnfc *nfc) >> >> flow_cfg->nr_flows++; >> >> } >> >> >> >> + if (flow->is_vf) >> >> + netdev_info(pfvf->netdev, >> >> + "Make sure that VF's queue number is within its >queue >> >> +limit\n"); >> >> return 0; >> >> } >> >>