From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 71F2541EB2; Thu, 16 Mar 2023 18:02:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6580F42D82; Thu, 16 Mar 2023 18:02:47 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 3A4E040DDC; Thu, 16 Mar 2023 18:02:45 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DEIgDEEbWRsD9FBlIdBYhqINnUpRfSuFmu/XerKixiQEQMytyM/o1l7IdZ7wX8BAz4UhBmXG1fL3CkMrggSyte1OfIRXYkgthR+1nIS0l4pAy+1Lu+RKCq/v76DPBth+iP8+cYRQYKIsnHFEKrjyLlxFj6qcS2Q7Y8otNffK98MNdAs6TE/gXcIZT3OeBZhG/l1sonZ4G26vsnT8TSae0zcF4nLq2Deua1yOv7GLv2mNlOFuZXCJPkAiAl3z9uT8sy6F1rS/p4uS5JVMePOMMLoxWwiiHwD+iP34ZJhu9HYPiWnLAg031oztmKKjoPFt/jjF0fdNM48lGUmO1gpSHw== 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=tchDH3UTk7I4Aae+z+xdRKHhJJ94Bchju4JQj4KlegI=; b=S0LbR7T8yLC+bge+fSKXh+HLUFEVoioRh+Zn83kiFUh6HvAjWbvUXlVJPi+KvxWwtCKnt1C7tDAKP6UdWne20AXWfk5FgHqMmEuj5/zARdmCgwoG2qAR++ad9d2dlWclmGJYziZFjh87CkI7G63yoNHVqTDQuZn2o3J1+IGUiduC2JNHMKnpSZuVd2yjzIBIgdpjPqeEcqTQrzBV76RVdFTeHhVHfkGI1vta7xW5BROmQ/SBx93vLtmaCKeIMOLDFCdC3dsSzMilNloBI8ZtLtAtYpXj05uLgVjAdOJj/toBnScdaxlTsDd3t1IzjTBJ6O1VNcxfVW5hZQBuj6zofQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tchDH3UTk7I4Aae+z+xdRKHhJJ94Bchju4JQj4KlegI=; b=WLK0iDM07DJDLM48ynrfg2b5+SLaoRCDyWAeJftloexUwsmjeONEMCqj2KxnWUmzd4CwftA7HGEcz4thI1BlSPHDIBM8lXJEy7tCRTi/PRDIdm6ZRTqzEV+fbh802B0uN3j4JWfyFJYdqwApS2/UL7WE8tfGu+ilHRzZgaBY0RA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by DM4PR12MB5278.namprd12.prod.outlook.com (2603:10b6:5:39e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar 2023 17:02:42 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::dd5a:8a5c:f493:9640]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::dd5a:8a5c:f493:9640%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023 17:02:42 +0000 Message-ID: Date: Thu, 16 Mar 2023 17:02:37 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH v3] net/sfc: stop misuse of Rx ingress m-port metadata on EF100 Content-Language: en-US To: Ivan Malov , dev@dpdk.org, Andrew Rybchenko Cc: stable@dpdk.org, Andy Moreton References: <20230309041101.8321-1-ivan.malov@arknetworks.am> <20230312105426.6732-1-ivan.malov@arknetworks.am> From: Ferruh Yigit In-Reply-To: <20230312105426.6732-1-ivan.malov@arknetworks.am> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0386.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18f::13) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|DM4PR12MB5278:EE_ X-MS-Office365-Filtering-Correlation-Id: 06d98b5a-c37f-406e-e9de-08db26404189 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HuvqdOR9OukUCuxYSieluChMoiOqIY1txhMb1YH+3TjpRj5Mdwd+yr3cXlGwFc91Y3mLODnyWzFmVJqv8RR/KAJM8jK5WzwCMlqZVkcNpgASW3M7csDXvRlmtJrd2GwJ16FosUxWIhkPH8fslieqstzJ7OhMKyyR13/7a51Xvd+ofLrJNdorBIzWgMOAugzXqQqSMkXZMx7roTsg9EYB23sILA27p69NzZUsS7ABULb+HctPuOlXlsX1dB3v1+8Zn5gdG1N6Akodlopb1tb4kc6nPfbwWOgxI6QhU0yd6sfQDI2vc15Y37F/2jupULGueYJie6wG4dJioS2wyPBRs4VPUHSYGg4MeUjJClKRj3QnPdu1qXntspelCelfLVxSJtJbHpMHrXTi4btjiaNIac++qsRNbKjZ0JiyGo77KqFK7l6m8C+SEcdKZWmXfjSeOCa+8RzQv3lDdR1+lv/VGkBHQVRuCD7S9jDaqXeka0nq3ieOrbI5Jjv4iOaAr6spIqZBwM2/DHpJvU6lmOPs+I2e5yz6f6escTIrbgJnFKsVUbRP+WRvOMLj7AR24L9dAgf/MP2gYsQ8S4NncYwYJGVmkDG9jwphCsfOxE1CXatZFKhGftLEhEgmcd8L/DsfbXXIATr+1WVZyYaIZ7Gj2zLDBZu7amQhRJTxbIaGlNm6kGqTOJBVAXMwMtdFDuOnExgavtXvwNgDsnrWKO5ABXuvPv+qypC4eHUS2d/RZtg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(396003)(39860400002)(136003)(346002)(366004)(376002)(451199018)(31686004)(4326008)(36756003)(41300700001)(44832011)(2906002)(8936002)(5660300002)(31696002)(86362001)(38100700002)(66946007)(478600001)(8676002)(66556008)(66476007)(6486002)(6666004)(110136005)(316002)(6512007)(6506007)(53546011)(26005)(2616005)(186003)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0JVd2ZiMjcvbithYm9TZjlHcHFmcm9seXJHNjN4Q0c4K0J4bGhSekkra0l2?= =?utf-8?B?SkNWbmEvbmRPdXdHZllYa3k2cjlUVjFKR0p1SXJHMVNyQmJUcnRnbHU1V0RS?= =?utf-8?B?c2Y5bjluM2U2ditxUDl5QW5MSUtnSGZoajBXTWRGSEdUVWs2NEMyTmpRbVMr?= =?utf-8?B?dDhXRHhJSURTWjE3VzhkSnNKU011UFNyekswTUd6dHNjM3UvNzEvbStMWS9L?= =?utf-8?B?YzltUmpXQzEwUGR1NjJGQjlrVDVEeHRnYkdQSE1DTktDTHVrVFpndzJxQkRa?= =?utf-8?B?UFd1Z3BnRTZHN2JXbzhmQ3RxYVRaMEQvRGsrRmYwTHozU2JwSUtCMXlXT21D?= =?utf-8?B?a0dKd1B4QkJ4REpCWHdmK3VzZnl0UEM0dHZRYWRpUVdIZzZqY2dTVXRKRUhR?= =?utf-8?B?SVc4UHN4R2krSlY4TXgvV2JRN0djNFJaTGg4UkZPSklHcm1vN3VncndOM1B0?= =?utf-8?B?QjZac2pZb3BycnFqalRxSUJnY2dwRGlkd1pHMVk2QVQ1VFkzSVRUUy9jVlBP?= =?utf-8?B?Y3k0cFNvMHZNdlRmdGR3RXlHQzJueStiTkpSeXVVZW1TWlBCM3hCYlNDRVNq?= =?utf-8?B?VXlqd3diVlo2R1VTbkxtRS9JZ3BrSFIrNmROY0ZGajNqSEt3MG9YdVlSeXVw?= =?utf-8?B?b2MyOVVFdktNU2dCY1RVN01XQmFpTmw4VDBtemdTL0RXN0RKNHIxdnlXcWN5?= =?utf-8?B?d2RMQUNkak1DcU50WUEvSGJSTm84aVZHMTd4MzNhQWwzZDBBUExhVWdGdlVF?= =?utf-8?B?bFZDRW5COHlzNjdzeWN3ZnRhUklXRE4zVDBiSi9jSkNyeDBYUlo4eThuZmI2?= =?utf-8?B?blhObUNwanh4V2NiYlgxTW50VFhDSHNJZUdFTVJSOUhsbFJwcVVHeTNXcU5t?= =?utf-8?B?Qm5icVg4MzhGY3Nta1QzOUNFYnJtUm1NNU9nVHQvWkVDdzVmekFnMjNLTisy?= =?utf-8?B?VDB5ajVtS0xnTE94a293ampKTzd5QkdtVGswUnhCaDlaT3djNTh4OERlTEMv?= =?utf-8?B?R0I4dHJWR2lTdjZXZStROXFwdFhMZUpMekllYzRyVmVxb1hyakowQmJWT0ZW?= =?utf-8?B?Um01NmxnNVRhd3pzVldrOTFqam5LcVdXdkhVTWJ6WTZwc1JpdFZlR0MxNFFK?= =?utf-8?B?NDcvaEl6SWhDckx1UlQrOFhFZVBZWU1KdVJIcFhadWJkMHlPakZocUZ2VWhD?= =?utf-8?B?dDZLR2VTSjRyZnFHUy9WZXY1OTBmUWNZdVNZTnNSMUo4UU5UYThuUHZpd3hS?= =?utf-8?B?algxb0FXVlh5Nk1TbmJHcUs3V1ZTVW9GOS82ZC9xcXJ2bklVV25rR3lBTXN5?= =?utf-8?B?RzFVTFM3NVh5cFZBZEtNc3pvQXk4Z3hEZGVaQ3J1S2VCTFVoSkR1U1NuSzVp?= =?utf-8?B?OXY0R0RmcXhIZ0lDK1VOOHpHaUVqZjI5NHVmK0xvaXJGZHNlRmVDbFBtdTIz?= =?utf-8?B?QTJXQXJBby8xc2JMQVlJNkljNk9KU0dpKzlPQjk1RmJPVkg3WlFqSU8wSEFk?= =?utf-8?B?V1BQNWxrWVNBYzRmbTh1cDdXL0k3cmFYL2JRd2ZLN0RRMGVzQ1FPcll2V3J1?= =?utf-8?B?VEVjalRxS1QzcStJeXNaQ2VzQS9aZ0FxSnNLcEpLSEpQWXJQY1N0NWFsbzJK?= =?utf-8?B?WmpGakVQN1VCZHZaR3JuMnR5dytwUXd3VW9vOTE2TXFuQ28vcFF1bWNXamxi?= =?utf-8?B?ZUV0Y3pnZndISlhWNmlDUVBzQzdidlE1d3dhU2RnSjA2bHRXVkVZYm1MTjh6?= =?utf-8?B?U0VnaXF5ekVBZ2ptZStKVUNSUUdzRHJmaGM3cVpwbmZ1SlYzc002T2FFeVU5?= =?utf-8?B?SVpVbGR3T0NBVzhvTmtGZVpLZGM2a3ZQZHhzZ21OSHhLWUgzRURpQ2tVUk94?= =?utf-8?B?VEp0L1k2VS9MQ3hpdFpQWldBaXNXZEVZVzZhbFBSRUpud3lkbVR1OUNwMmlk?= =?utf-8?B?RTBpN2QvR0FTSFdmS1N5M1l6eWQ2ZGNqV2FpSnJFV3N3RzRBUVhMNFd4YTc1?= =?utf-8?B?cjRGVXlJZUtBZlo0NzRqV2tnYmpjNE9xKy83OWdLYmk2WkxMTDhVNmEwbUtq?= =?utf-8?B?SmtNTnJwc0NQY1hvSXFEUzFFVFpLbHZVWHk2NVp1ZHhYL2VLWVdQMWhMSkRP?= =?utf-8?Q?9sUa1jm3wkdQq645GebqpootA?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06d98b5a-c37f-406e-e9de-08db26404189 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 17:02:42.4854 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mJEZmuTL9cyt3Ovg+Q8rYtOYpFPQBZVXjjWCKXisZkenccYgOLTWsndJicjXyevl X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5278 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 3/12/2023 10:54 AM, Ivan Malov wrote: > The driver supports representor functionality. In it, > packets coming from VFs to the dedicated back-end Rx > queue get demultiplexed into front-end Rx queues of > representor ethdevs as per the per-packet metadata > indicating logical HW ingress ports. On transmit, > packets are provided with symmetrical metadata > by front-end Tx queues, and the back-end queue > transforms the data into so-called Tx override > descriptors. These let the packets bypass flow > lookup and go directly to the represented VFs. > > However, in the Rx part, the driver extracts > the said metadata on every HW Rx queue, that > is, not just on the one used by representors. > Doing so leads to a buggy behaviour. It is > revealed by operating testpmd as follows: > > dpdk-testpmd -a 0000:c6:00.0 -a 0000:c6:00.1 -- -i > > testpmd> flow create 0 transfer pattern port_representor \ > port_id is 0 / end actions port_representor port_id 1 / end > Flow rule #0 created > > testpmd> set fwd io > testpmd> start tx_first > > testpmd> flow destroy 0 rule 0 > Flow rule #0 destroyed > > testpmd> stop > > ---------------------- Forward statistics for port 0 ----------------- > RX-packets: 19196498 RX-dropped: 0 RX-total: 19196498 > TX-packets: 19196535 TX-dropped: 0 TX-total: 19196535 > ----------------------------------------------------------------------- > > ---------------------- Forward statistics for port 1 ----------------- > RX-packets: 19196503 RX-dropped: 0 RX-total: 19196503 > TX-packets: 19196530 TX-dropped: 0 TX-total: 19196530 > ----------------------------------------------------------------------- > > In this scenario, two physical functions of the adapter > do not have any corresponding "back-to-back" forwarder > on peer host. Packets transmitted from port 0 can only > be forwarded to port 1 by means of a special flow rule. > > The flow rule indeed works, but destroying it does not > stop forwarding. Port statistics carry on incrementing. > > Also, it is apparent that forwarding in the opposite > direction must not have worked in this case as the > flow is meant to target only one of the directions. > > Because of the bug, the first 32 mbufs received > as a result of the flow rule operation have the > said metadata present. In io mode, testpmd does > not tamper with mbufs and passes them directly > to transmit path, so this data remains in them > instructing the PMD to override destinations > of the packets via Tx option descriptors. > > Expected behaviour is as follows: > > ---------------------- Forward statistics for port 0 ----------------- > RX-packets: 0 RX-dropped: 0 RX-total: 0 > TX-packets: 15787496 TX-dropped: 0 TX-total: 15787496 > ----------------------------------------------------------------------- > > ---------------------- Forward statistics for port 1 ----------------- > RX-packets: 15787464 RX-dropped: 0 RX-total: 15787464 > TX-packets: 32 TX-dropped: 0 TX-total: 32 > ----------------------------------------------------------------------- > > These figures show the rule work only for one direction. > Also, removing the flow shall cause forwarding to cease. > > Provided patch fixes the bug accordingly. > > Fixes: d0f981a3efd8 ("net/sfc: handle ingress mport in EF100 Rx prefix") > Cc: stable@dpdk.org > > Signed-off-by: Ivan Malov > Reviewed-by: Andy Moreton > --- > v3: extra rework after review feedback > v2: address community review notes Any objection @Andrew?