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 502B645BB1; Mon, 28 Oct 2024 14:51:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 17D8440E0B; Mon, 28 Oct 2024 14:51:28 +0100 (CET) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020072.outbound.protection.outlook.com [52.101.171.72]) by mails.dpdk.org (Postfix) with ESMTP id 58064400D7 for ; Mon, 28 Oct 2024 14:51:27 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZLUv5w+DoGzpOeieA9r9lB+8UR6qwolPg19X2OJHlMCRcbuCA8xW/Y9ixDNbHcE6Q7uc33dg4K14zcpW/BKxFZZfbZpnqoxxuKMPq3sR5LnAtPteRnjwa+bwxjpkuM0eibjLLnhJWK4jxmRqXEZYpcdwfhKS6BUAjXuKPUfFaPN1WlnAxVTNOmWY/ODW7okauYcxGtMS+nHQayHnL5+AekX70K2UEl8QrMZ2QF10MHcIoeyfRUf/H6j3Dgl4To4GvFHlZ93SNQj0N0iF1Bq6Pev6i863wZSCh1BZrgff6sFrR3eSgdRXNr6MC60ahjUNQA09UGdtwZT7EszdrBgPmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=mR8PHpI2DvmEwdyzhCxn1Z3rKNB7b3BEDz7kk1RT75k=; b=Ns8PthNp/0uALe9uzMoqiwIO6byINhRAu1Avc+ZnCESKPKZiV2skUd54WTkD8Np9l38APz8AlIgY60BHMG6fglI1mxmx8Y6GnE5HEILKsHFmcQdjUmEQl4s0fPR561TqkUFOjvuZSfrC5wuKw2MQ8Ws9DCJtTkKmvUOgJT0WeQ0gKcdoqp9xLfQ/kZBQIYXBI6Wl6xbLZUOVGFfNHGHK1Fd0Gc3A/VjsLfZh7tqndVZ3MPGP/DlFYrVd6/QTReG+URXzeF7FtER6SI61Mw9K7ySqDsrAzPIVNl9PJ6dAwbcsWuBvR9eA+f5P0eCDqf9DxMUg04dEOh3JiUI9+GPLWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=allegro-packets.com; dmarc=pass action=none header.from=allegro-packets.com; dkim=pass header.d=allegro-packets.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=allegro-packets.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mR8PHpI2DvmEwdyzhCxn1Z3rKNB7b3BEDz7kk1RT75k=; b=eDq2u95QZ9F4gajCI2TtIZUcN1bdw0MVzvDpjwKXQpCKi+KZFsMVqybbltLQwW3blSzcpu6518g1L8PeMIMxU9w9qid5PEq1upyfZySYul7J95wnXtTFyH44UQmI1Y+GEdqYsRoR3IIE6yrj3QZqDiODeiHQ40bnxYa+5EqVUSeXYdMEQtfnvfPpfn2uI3SvrT/dJ0KEujsy/4dVmWkGoyFFKcRyY1RUHJLYs9JK0YUZmmonMPR5TZv32EMUp2CUjyJh933gSvM6I2G14Sj9hEF4vmYcwF6TyhxFwr/7kDEnveIyrd3wvdHDJLV4cXKATE6eIf5QjQeF1TNTOfnjRg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=allegro-packets.com; Received: from BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:60::13) by FR0P281MB1499.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:85::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.23; Mon, 28 Oct 2024 13:51:25 +0000 Received: from BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM ([fe80::e877:d319:1b52:4c53]) by BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM ([fe80::e877:d319:1b52:4c53%7]) with mapi id 15.20.8093.025; Mon, 28 Oct 2024 13:51:25 +0000 Message-ID: <5f0486a2-eb1e-4349-bdca-ee2c241379b3@allegro-packets.com> Date: Mon, 28 Oct 2024 14:51:23 +0100 User-Agent: Mozilla Thunderbird Content-Language: de-DE, en-US To: "dev@dpdk.org" From: Martin Weiser Subject: [PATCH] igc: fix invalid length and corrupted multi-segment mbufs Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR3P281CA0136.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::9) To BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:60::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BE1P281MB3111:EE_|FR0P281MB1499:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c6cb960-0d18-49ec-e944-08dcf7579d23 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|10070799003|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Szcyenh3SGVVNTBwMFlIdDRBbVJZaDNjMlpOUm5pL2t2cEMyVU5VVzVVT3ZP?= =?utf-8?B?VURGMVZvZHpDSVQ2a296WTcwNm9IdFpiYi9QeFM0a21teXJhN3p3SUEwV2lR?= =?utf-8?B?SGpad0J6bkUxNnhxQ09yVmFiZkhOd0VXZE1IRUVKRW9OVW9mRm4yTDVMWkNy?= =?utf-8?B?c0pBR2RKMzV6V0dvM0lPZTdCNlB5L2w1dEQwYlJRd1VlNzRDVVlOdCtkRzht?= =?utf-8?B?NGtyVitkYVQwRHhNTXZ1UUhTNlZMbEE0WjFzeXRkY2Fha2E3eWJNdi84VVl2?= =?utf-8?B?RGgvMUVoMStFNFUwYXJpeFB6MTVZWU5ucGFsbExaT1ZSUXc2R3NCN0o4OVhh?= =?utf-8?B?LzlEV2dQaXJGZ1RmbG90UWxES041cGJERlRWS1BBNjQ4Z28xQlUxVFNzaVp6?= =?utf-8?B?WEhRWTZYWnh2dnZrVWxZMTVIU0IxOU5mL21lT2VrY3F5S0RBdERaV2NuU0tJ?= =?utf-8?B?a2hUb1FSNnZyL2o2TWhIdHZtRjlkcDJONXcvcFJKRXQzcGFReXNYS1NQZDFL?= =?utf-8?B?ZjFsVHJkR1R3Vi9idDNQYWxkMm9TbnoxZTN6b0VWR1gvUHVaU1ZLVGV2UnlC?= =?utf-8?B?ZzJSYkVUS2ppK1ZEZzM0RzJiVzFuNWd0Z29jcm9ZM3BGZG1YTzBMODJBVjA4?= =?utf-8?B?RlZDM2RobEY2RitZUEJheTM2K0V2YTQ5UXFJUkIwOElPMkpQN1BLYWR1YWEw?= =?utf-8?B?Uk9sQjVkMUN5bk8zMjlkVVpVU2luOVFWZG15dXBFZGtCdDFkcnVxRHBZaEN3?= =?utf-8?B?UVRrSTZKa0dWWUZtQWUwUjJBT1lmckhTUzR0TC95dlo1MFZNOXlTNUt4UXpl?= =?utf-8?B?ZVU0M0EzTDAxZ3VXT0RiZjNtb1FENldPNmtxMG1aL1hJOU00S1RPSUExc0lS?= =?utf-8?B?SnpUSTdmZ3gzbzBiVDJRcFN3TFVUNTVOd0U4NExxdWk2Z2ZWb2JLT011Unly?= =?utf-8?B?NHp0dGJUL0N4eitkTjhyMnpMWXU2ZXVtVmNNMk5GODhWdk9pb2thRjMyMmlF?= =?utf-8?B?ODcydUlSdWRkd0J4SFo2TzB0cEQ5K2YxdEN0R2gxVjBKUmtZYXk0Yk9qWHA5?= =?utf-8?B?ZlZDQkdsZlRzYi96dDdreGRHMnR4dldkNmNoNFdaVzhCSmdITW5rN2QvcU5v?= =?utf-8?B?dWF6TlBUYzNXb1dPMVFtRnFrZGxvbk52ZlUxTGhJNG9JQXZPVTUrYnVBNWlv?= =?utf-8?B?TmVsM0lXclBHMHdPZE4rRjBWNk85Yi9iSmhPK2RSRmd0TVFFT2N6ckFjcWlB?= =?utf-8?B?cEU0ZHdkbVBKNUxZaWEzQ1ltMDBEME5uSjN3dUxWbHpLUElXYXVIQzBacDEv?= =?utf-8?B?aDFaQ1ZMS0tZN3M1SnBSdlUwOUVEY3dIUjQrSHpMM0RYdDJ3VkVxRmFDK1ZX?= =?utf-8?B?Vlh1OTZEUFVzUmFpSjZ4WHdyUzgvZHJDQWFndGlUVWRKV0pTQnllRkFJeS8v?= =?utf-8?B?cGcwSG5MU0Q2dTFVZFhGam5WcnpuWU9jcmdvMzBwUzlrREpHZU5zNnMvSno3?= =?utf-8?B?cVFZaFFXcUNibVhIZy9hZ1ViRldoSHkrc24vcTArWkM1bFN1ZnZXNjV4Tm9q?= =?utf-8?B?dmxFd0RhVmFndGVkc01uVjNtUHhrUlMwcUJsTTNtSld5WVF3TWF0Z1B4bmpj?= =?utf-8?B?ZEthZTMvY1QxUithaEdQNnowdFVKeU1DTDBxejhmRzZOMFlBZjBESDBiUlk4?= =?utf-8?B?ckRDS3dUWjBwaGtUZUFOMTVHOW5Fc1hHWTlqR2xKWDlOb0M5WlZ1TlhaVHZ0?= =?utf-8?Q?K+ssGlyPRpk2TzG/8MPML6X0C+8uBCZPgxu893C?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(10070799003)(376014)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c3ovLzNpdFZycnhkNC9QSkcyeDBJWVNOWnJoTFJiSmQ1cDFIVUVCMzgvY2lV?= =?utf-8?B?MWZEZjNRVVAvN3FSeE43TEhXRTNPODc2VnBwTG5GUjY3bkR5YlFXQjBVOHg1?= =?utf-8?B?cjNSMHliN1VGeHp0M0t4YkRUMGRMNnVVS1pPUGpzN3hSNENBN0tncUliZmNV?= =?utf-8?B?VzVHMVZRUXFUazAvaHAxamNaS0V1MGxQMFphQXdOOXArNFo4Yy9zaEMvQWt5?= =?utf-8?B?WnR3WnpWMXRsdjdJMkdLeWV5enVMRmlraDNoMHVHdVJ6VXpNeFBSdkJhSGNF?= =?utf-8?B?SnI0MHhJT21QZWZWQ2hvQ3oyWjlSd1lsVjFwclUwNUJaK3RQODdwOFhld1gy?= =?utf-8?B?YkNoYjY4ejNJOW1DK1ZsdGdmTlBTTkdzRnBzU2Rpc3pKT2p1ZU5mSnNRNW1N?= =?utf-8?B?ZG90dWFtZ1o2cXNnNG5hYzZuOUVQM0E2ZVRkRUdoN2g3MUJXZFJkbkVYZWVh?= =?utf-8?B?UkpOMDRoZUo3Z0RKbkRUUUdtQjlsL0d1bllSeW1URGhhZktDeTlvOU5oU2Mr?= =?utf-8?B?d1Q4bXVyRXFIbG9HaDM0cTBGU0tzZGlNdnpnMmZkTW05YXFnMDdtZVBBN0JL?= =?utf-8?B?ek03UmJsa2I1YWZ4RllEMWM4WlJBNmIvaXFDS1JndmdZMHBvVEJLRDJiY1JF?= =?utf-8?B?dzhuVGFaUnhhS3BIQ215TzZ3RjhZUDIxQWgxcFVJT3BHVVRmcENXbHgyK3hP?= =?utf-8?B?UmZPTkNpaXBmeFFlQ2huLzhvcU5adXorNTJzUUFHSmVGM3ROMmttVThMRW9l?= =?utf-8?B?NGo1SThtN00rQ0lhbUdlK2k5SGRUcGhKWnNuWURnSU5SbUxlWmNnQ1VFcXJS?= =?utf-8?B?bmZoYTJXMWt0cHBOaDlZa09yMDg5UmVvV0c0MHNLTWNCWVY5Um9oNmg0a2tB?= =?utf-8?B?NldzMWthcGZuTXJ6MHhrVmkrby9taXpLalo0QzRtWVlYcUJzMzhLaHBuekd6?= =?utf-8?B?OEpoaXgxeWJBT3ZPK3g4em9hMDNUdDdlS2ZlcFN2M3Noa2ZvREJ2QTJKcEFC?= =?utf-8?B?eWxtTnhuNEwrbHBHYmwyWiswL1Y0T01WNzZJR2dtUGY1eTNLYytDZlNEYlJL?= =?utf-8?B?RGNibXFKL09jRlRDK3BaU1BqTGVmcTJjTHg2MFFTelZZblBpK25OWDFTOFZQ?= =?utf-8?B?SzZDZ0dSbGpReGlFRnpSY2JHTTVXa3VxSUV1a3RZcnZaZ1BNcEhSckE0ZjRS?= =?utf-8?B?QjZiQTkwZFdRZEVGalk2T0kxb1lmZW5peUdOemRSV0oyQ0l1NmwzczFOV2VO?= =?utf-8?B?cXl1WWVFSFJwR2dqaUZlOHNQalRreEMvT0ljWlFzU3l0QkRlSHpOMW1KT1RO?= =?utf-8?B?YWJMZGNlUlhSNXR1aVVxcU9WM2tnazJzUGp6ckN1YmEyMkt6Y01jc2xYNkFj?= =?utf-8?B?TEpMb1dNaCt5eGdXd3Zvc1JuOFJmZVE4Tmp0WVlnMU9DNmc1VWYyTmM1TDhS?= =?utf-8?B?VDFnajB3UDBDakw2anZtVEMybkdsWkJNbGFHUWozZm5BbGVTVWVpRDhnTHpK?= =?utf-8?B?SCtkWWVCWmt0M0t1cjZya3dzM2JhOFhqMVF0YkNRMzE5bytpRkNOYVpUN1Q4?= =?utf-8?B?SlNub2pVMkRlVko1QzcrdWtLNHltMXNqdlVEcktjUUVqeXRvb0hrblRobkpv?= =?utf-8?B?SU5KcDV1MnNQQUswVUY5MnJhQUVPTkRPRDVsV2pha3RhRHdvMUh6Unc4WGhm?= =?utf-8?B?ZmU2dzhhUkZObU1COWdPRWlzTzcvU3UrUk5Sd0p5Y0tiSitKZmpDZ1lKZ0ZM?= =?utf-8?B?bXMrMGZqMnFlTTZXQnFtUjFjK3RHNndqQzRMOW9RWGNNQTlEdTFhTm0rSGJC?= =?utf-8?B?U01QNm9BQjFtalFJT3Y1R2s1cjkybGxCRlo1UkhpdGo2V3l6K1ZkWGt2cFFw?= =?utf-8?B?aEYydkZXTHBnZEtmV1ZQallTVnd0eGxGS1d5TkRmVlBXWlFCTUp2aGJlVDNu?= =?utf-8?B?c3gzTkwwZmpyaEhiUWc0Q25tLzZKUkg1TDVJNzUrekNqMW05c3k3Sk1KOXE0?= =?utf-8?B?QndvT0E0dzFueWNTWGd4Zkk4Y1B4MTlhdkthT1hOdnRPc3VkZEdhVnd4azhw?= =?utf-8?B?L2tFR2ZDYm52ay9wQ3gvSVMyZzN3NXhFZ2IrZXJWbFRCSHl4L0Zid1dsTG5E?= =?utf-8?B?NThUTlZPSExDNldBZzNhaWdkckdieDVjb1EzekZvdnJYRHdpdlAxa0RLQTc1?= =?utf-8?B?eFduVXhnTnR5REk3Wko0b2kwU3ZjNlBYcEh0U3RoRGE3TE8reUdRb1Z4VUtv?= =?utf-8?Q?amIXAhEMiKCSdMaq+sf4uF3nBmmY23gbpZSbPxTzkk=3D?= X-OriginatorOrg: allegro-packets.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c6cb960-0d18-49ec-e944-08dcf7579d23 X-MS-Exchange-CrossTenant-AuthSource: BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2024 13:51:25.2266 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: c65709ba-d173-4248-a752-2f88437ee1ad X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FXGmriMOL1CXCV2zZaeEN0sVMMl9wtjRfFA7O0fCR9OjV/yPcDqoUcUhL97IRT3dPnKYsZbmx86ECbpUQgTiC6rygaz99z9XUSapDuCsTbJdSyrKrRp/eMoREpE5nXJX X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR0P281MB1499 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 The issue only appeared with hardware-timestamping enabled (RTE_ETH_RX_OFFLOAD_TIMESTAMP). The length of the prepended hardware timestamp was not subtracted from the data length so that received packets were 16 bytes longer than expected. In scatter-gather mode only the first mbuf has a timestamp but the data offset of the follow-up mbufs was not adjusted accordingly. This caused 16 bytes of packet data to be missing between the segments. Signed-off-by: Martin Weiser ---  drivers/net/igc/igc_txrx.c | 9 +++++++++  1 file changed, 9 insertions(+) diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c index d0cee1b016..2fafa91bd5 100644 --- a/drivers/net/igc/igc_txrx.c +++ b/drivers/net/igc/igc_txrx.c @@ -347,6 +347,8 @@ igc_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)          rxm->data_off = RTE_PKTMBUF_HEADROOM;          data_len = rte_le_to_cpu_16(rxd.wb.upper.length) - rxq->crc_len; +        if (rxq->offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP) +            data_len -= IGC_TS_HDR_LEN;          rxm->data_len = data_len;          rxm->pkt_len = data_len;          rxm->nb_segs = 1; @@ -509,6 +511,12 @@ igc_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,           */          rxm->data_off = RTE_PKTMBUF_HEADROOM;          data_len = rte_le_to_cpu_16(rxd.wb.upper.length); +        if (rxq->offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP) { +            if (first_seg == NULL) +                data_len -= IGC_TS_HDR_LEN; +            else +                rxm->data_off -= IGC_TS_HDR_LEN; +        }          rxm->data_len = data_len;          /* @@ -557,6 +565,7 @@ igc_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,                  last_seg->data_len = last_seg->data_len -                       (RTE_ETHER_CRC_LEN - data_len);                  last_seg->next = NULL; +                rxm = last_seg;              } else {                  rxm->data_len = (uint16_t)                      (data_len - RTE_ETHER_CRC_LEN); -- 2.47.0