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 6DD3B4296B; Mon, 17 Apr 2023 11:07:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07EA340698; Mon, 17 Apr 2023 11:07:15 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id 3478B40144; Mon, 17 Apr 2023 11:07:14 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QOYAI+IQ30IHk15FP+YsNdxBz2wMZlvwXYMPXiNqIJ5zNTtwkPPNO9kmY3CCCxFQlEGS39TPjUCUM5Y1XZNFr+eZY1N15jg5vKOsLiJp4ArHXHJhiokstvJ/AtnJ9yBfPW10r2CDhXdv0Y+xtIyTzRt6N+WEUJ6XNm/2gu6gA6XiZfxYfcR2Of8H6J8uvhGWynZXU58uWS/0GA6w+L6xFuK7/mZ2AECR2n0P/zx1laO4Ys8jqTrHLJ+LNOdaCFDFAbFQqMeNvc0ql3UQX1pfKnOBlxO7tcWzsIzRPM9YQMSRBQDUgSunoS/DMmOSXlaXCMBt9G3JtJNAg9i1dUYniQ== 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=jUXF/Ed+lNlrpU93fiVZdwE0kNiy9COHAIHr2PnfP+k=; b=UDVN36g27dcr01/QYcBUuVzlV5BHiqTb0oZbw+LyRN2XEM3ajYGXIzW7diGVYLAbR2nTdwTiE7pW9JwuLal2KaNJSJsjc72nY3/gaoNr4b9Vbhzmy21FnxWwJ55FKgY2pXL8mkv4h5tHCMv2UeixQfbGEUoCVRs4Hivu7XvGjfXf4Y6VbIhZgyxB2eCWyR+9TedF1Hu4SB1LdbM8uws929bL1RYeV381dAw97lQIy21WM9uy/iqjIWwaJdTFvmL303GTC8Mx1JvUEmK+w4Am1UkBEaapfYhRtpY/TcxXDNr6x8jDIRUy5i0rpiAYmB3RMndLq7h0pEW6/nzpMJPKRQ== 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=jUXF/Ed+lNlrpU93fiVZdwE0kNiy9COHAIHr2PnfP+k=; b=jeAghKfCu2MlfH8XC4QlYDBRWT+uUTkd4PDtjkhDGvqMj3hy+DNI3gnOk4ochfqyTaSTiFfhWbbwxhM7BwbnS5ZDxKwnSvg2HM988UXohzycanW6PS8NS3hqnaxrn+x/BVNbKRXdcRG3Kf9Ub969LL/tmXsVFbvMIT9couDc7W0= 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 DS7PR12MB5838.namprd12.prod.outlook.com (2603:10b6:8:79::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Mon, 17 Apr 2023 09:07:12 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::5e2c:c0ed:88a6:a4c7]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::5e2c:c0ed:88a6:a4c7%7]) with mapi id 15.20.6298.045; Mon, 17 Apr 2023 09:07:11 +0000 Message-ID: <312ffb0b-2def-5b5c-6295-1c3ed7f9fb4e@amd.com> Date: Mon, 17 Apr 2023 10:06:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v4] net/sfc: stop misuse of Rx ingress m-port metadata on EF100 Content-Language: en-US To: Ivan Malov , dev@dpdk.org Cc: Andrew Rybchenko , stable@dpdk.org, Andy Moreton References: <20230309041101.8321-1-ivan.malov@arknetworks.am> <20230412135757.6684-1-ivan.malov@arknetworks.am> From: Ferruh Yigit In-Reply-To: <20230412135757.6684-1-ivan.malov@arknetworks.am> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0072.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2af::21) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|DS7PR12MB5838:EE_ X-MS-Office365-Filtering-Correlation-Id: 16a0fe5a-3837-4916-f990-08db3f2320d4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uoPt2NFryZt9f8JGuLbQgMnVTfBCREpRXlue7O5f7V1ISHghrt3s+QPffkLxUL9KNkSjsxhQL1Ut4Y0enSL4jeo719/Xi90nrtyZtYSNXb+pN5AwX9GHAX5FNbOefJ3SvRPOpvcSpTlpYAN5E4Pzwwbd1NtUrBVa3dLPTy7GLnP7UECWsDduD8HBJtjHTgN4c794tYUzIuwU/VJyScXv/k0Wi22gTx1edaHJg6son/+T/6TeGgn74NJkOBH2SELDAQcwewdRA+KghODZvZ6GJQ38SM9Zl6Azb196s/IkswMNzktDW++be9VD0t6jBByPn3vrqax6DZrsHmpYdfvZ+g+Cfl0fVzzsw+dBSsMYn3UEbaCUuzGRy2DcDtFYBfd3gIBpGMdY5ql71XHZhNHNaoSBbbqNP1uwg5a2r0UQS7U9ZlCzxUkG2WzCQxLoAfmPtmmo0HEysOrVq/4DJHIkJXeph7L90+TxPT8dA0ZgCjGTOcuT+ndUMBO9D9PE3cdjrkBhMG5o3md31x9joMKP9ARmUCs9i3bdCiZsQezOf82MH3ho2ILAl7zNLh7u8Ia0WxruNsDX6xJo10iPpBll/lp3bjXAqV9F5ySu+2Vw/cRbhMj3T5hjjBT672ou+EjddyN44Xpew9oGrlawOFSKbg== 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:(13230028)(4636009)(366004)(39860400002)(376002)(346002)(136003)(396003)(451199021)(4326008)(53546011)(6512007)(26005)(8936002)(8676002)(36756003)(41300700001)(86362001)(31686004)(31696002)(316002)(44832011)(5660300002)(66946007)(66556008)(66476007)(54906003)(38100700002)(2906002)(6486002)(6506007)(186003)(2616005)(478600001)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S3hqVWtWNm92NCtpeW5WbmZ5d3Mrc2pPaUtQcGVBMnI5UGJtTWtsUm5DalNu?= =?utf-8?B?T2kyYlAvWDRqV0FYTmZNU2ErTjIzQVBXWThwQkdrZVQ0MjRod2krRGhTSElm?= =?utf-8?B?bXFITlhqTTR4cUNhZEhEMEc0ZmFUS1VUNy81R3pUYmtTQVhzaEtVWU5XekJH?= =?utf-8?B?OUp5TlBzeXk5VnpPcVREcG9Za282VlhDV1hMR1o0b3ZtV0ZrUmJZbkIwQ0dn?= =?utf-8?B?SGVXNDFBOUk0d3YxNDVCRWNKWk1sVTN0cWFuMGdac0ZwZ0MzcVFoS1pvbEFE?= =?utf-8?B?eTVLeUtmLzNEdm9ZcGg4V2hHMksybUJxUUdXNmJDVDVVSnlRL09rdW5ET2NQ?= =?utf-8?B?d1JraFdYVTFGM2dSQ0J2U2pUSG00NnV6V1RIUGIyMW1Ybyt1SmI2VHhPaFdz?= =?utf-8?B?QkcvTnhLcldCL3JueFVFR0lxdElwYmxsUXdTOFdFNUJrY240NmdJNXluNjEv?= =?utf-8?B?UDJBUFFjYmZYWm5HYjAwdjFXaGptNTFBaHZGekhGSEtvTmZwVk5oRy95Z3Rv?= =?utf-8?B?S2V2TFRVTHEzdjFnTEpjRWZWZWJHa2wzSXl0TzEzcDF4UFR4cUM2L1FVVXEy?= =?utf-8?B?UzJZemFaQ3EwZ2kxZ05rZ3RGYW9aRW5QL3B3d1FnZWxnZUlqSk1WZTNySjNv?= =?utf-8?B?VlpkbjBUeXNSSERaKzRRTmtjRUJwSWllMzE4R2tXRWxiZlRGNDRmcENrUW14?= =?utf-8?B?NFg1NjhuZVpRdGtIMU5MUnBZeUZBNzlGOGQ0RnU0SS9UcjZ4ditNUHVUOG5Z?= =?utf-8?B?c2ZyU0JEdzlBdHRPSnF1MCtUZDU5NjltaWYzZEpIWkUzbmRYSEhBM3RGYjc0?= =?utf-8?B?eDdjbVQybFRyQnY5RVJQdnRGU1FQVzJmcWttQThRUEVCYktuWFNPNkhaZ3pW?= =?utf-8?B?NmU0dFFkb2JGL0dOUlZUYkY5SHFkL2JZelE3S0lzeElnb2dsVTJoZEJVdVNL?= =?utf-8?B?Z1R5cGQzT1BVSXMxRmMwUkx3eDBmNHB1S0NaUE5GL0dFc0p3bEVoK0JoOXRY?= =?utf-8?B?SmVURS9FS2tqZDkwWUVvd1RuUVBneDMxZHVybDRrRDJhNUJNZWtpSXdBODcy?= =?utf-8?B?d1ZpMFN3RC81NTAycEJGN3hvQTVuemFhK0ZHVWtGZ0wzNDlnbWgvL2p2cndX?= =?utf-8?B?QkcraWhwUnhzSGRML08rRGZJK2FFcXZKQ3ZzUGZhbzROYjY0cVdxM2dtTVlP?= =?utf-8?B?TldDU1RKbWZyd0t2ZjZrbUhHbVU3RnREUTdwVFdiUDlNNThjVWFtdUl1STRJ?= =?utf-8?B?bzVRUWQ1WlUrd3daK2o5VDFWTHpxcDhId2pmM3BhVG1XN1c0OCtubXVwWFc0?= =?utf-8?B?bFpZRXk3cm8wUi9MYUZtSVBGVVJ1dWs2MXZ1SnBzTWtDRGt5dEJPdWpXL0l3?= =?utf-8?B?bERPV2l5QjhnWlRhZHhEd3F4THJ4MjJVTS9DdzkzeG1kVVphY2F0d0w5WEdk?= =?utf-8?B?YVZ5K2JOODVucHAwNS9jaGJIN2V0aWVHRy9KZlIrY1ZNMUtlOUd0UHl1N29n?= =?utf-8?B?b2dKV2R3OE9HUXBvNjdpQ1VQNml3NFByUW9mRUVySDdVUm51TFIxYTJLbXJs?= =?utf-8?B?MzFJWFdyTHo4SjErQmMyczF1bzlRM0h2a0xHWVlnb2lTWW53bzRzVHpsNTFC?= =?utf-8?B?bXN3c3lwVHMwSnVDUXp2dEZlTDJjN3diY0xqUkdEZGtQS0RFLys1TVVHaDY1?= =?utf-8?B?a2NNVWRkTDBYM1RzQlRtRGQ3MDBRRzJEQmpiWUlhcVNNZksxYnpKSnJaVXhM?= =?utf-8?B?bWFmNFVJWU80WG1yUGdvRmZ5L0pnaHhFSWluWldBSjBtU0I0OGhXSFllYTRS?= =?utf-8?B?Z2FhTDQ4b3dRQzRFcncyUEMrOFdMYkdzaGNMbU1wcU9hMHdCS0hQbDFHRFp1?= =?utf-8?B?S3lVWjJsOFlGS0xOeUtBcDIzeEYzbmdTVk1xekV4ZnpGVlZtYnBGQm5aYzRv?= =?utf-8?B?WDQwU3g1TXNnRUJaSTdlUkdySk5VV3E2VHg4SGpjVm1ZUFZ6UjNwVHNENnhN?= =?utf-8?B?R1dqSFROUGVjby9McEtpTmNSWkRObXEwb2E3YXVPK20yQmNFZEJ2eGRiSDNj?= =?utf-8?B?ZHovdE54VXpCcTI0WGJIVlB0VGdVT1B1MnZCUm0yWVM4NWgwUmJLamprOFNQ?= =?utf-8?Q?qQ0uRsqRQvnyKorDf3Edafjgs?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16a0fe5a-3837-4916-f990-08db3f2320d4 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2023 09:07:11.3655 (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: X8GpuXtXj7xH2pMJ70PWMmnC+0of3RbYbqvkrtvD6Xy7/J4IuZPTuStABbodxRHr X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5838 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 4/12/2023 2:57 PM, 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 > Acked-by: Andrew Rybchenko Applied to dpdk-next-net/main, thanks.