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 6113645BB1; Mon, 28 Oct 2024 15:17:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB955410D4; Mon, 28 Oct 2024 15:17:11 +0100 (CET) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020074.outbound.protection.outlook.com [52.101.171.74]) by mails.dpdk.org (Postfix) with ESMTP id DDF0A400D7 for ; Mon, 28 Oct 2024 15:17:09 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rNL7n/pbr9Jnrn3YaKBDH4/A6q0fS76HI4WOvbjR+EXWVRwDr38WSyToWHLS5Yr2e3grREeJNsUE3yKZPFGeZ1jBSGjkBaISWkVgkOM1+VHhb4j9dtOPytxXffjLG+Dzf6F6ADrCzhKQgV0qzZy0zCoD9OUtgoTFwUOd4MG3gGoZOtGgbmTYebInPCFe9i/c3ANqhsc+0eQehQuWaZFGtDioHqSmuE9lxpb1ZdECJCiMqk/H6hqpHlOfDWbFjZF7ayrmDarIUFsaKQxASK00m1COM4rGvqrTqn3asrJsIcBDHvr8ezQH+qSH1cj6DI5jZhPcSwtKJNM9fwDE6f2H1w== 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=j7W6xY7sbmKfDQ767y8n+Y+4c6mLDkYa4l9T6SESB+k=; b=k57ZeyF56PAR4y/q7lVpGRbE5+fe3Z6+Q2KjLoXQ6brddbvrs7cPgIFHTuS8b+XBfBdzKG7pomak1CeENzaBzQRE4HeUFr2bPO5hNE/g1ZCXt0gtYYDL2l0xilAh9R0tGJc5Rv6zS4ZSJim+QkUWbP2YadlLRJGCGLr7ZF+dJDf6bkEBwrUAXA1uc19uimUqiVXnjgAeGjJhaFUD9l/xk/LyifDp5ijHAW1oZIyB5oZkagCIRJe6zj84ddOuOx9p3xPNnmvz153E+GMmg0ayhN0Heam0CjnbBP4Q/REVPDUvZG1IZlPgfUIpmBTpuF9WzwTRBInB88ogLCVWDHKIxw== 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=j7W6xY7sbmKfDQ767y8n+Y+4c6mLDkYa4l9T6SESB+k=; b=b3uWJ5eX2n0R/ZdxCzaeTkDRW45KgPC0U+I0ZDecLI6hYbGCHLyRkG/c2NMdVcHjOVoTMAqh1cTTsAvj27KtcLUY5Kyt6D8B2ncfoqEu7UZ+knZ0YC/8NPHW1fih4Dfq40nA0QZPYPNrrvdedAg1GvuFLDEb2ZxgAsoH7ZhNBIK3LWF3EtI31t5EQf/U56B8MXqODld9G10rkSpSPDvbS23q/fGcXOfzylvzS+3G4jCve0ef5dPrBIeOingdUeHcH8q7uxKhbm0b4GaapIJFjn7VT9oyZi/N42IveXag/ybWuL7aE2DLJCMjclWB0FqqocPrtLEFDbym8FmBPixqMw== 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 FR2PPF58FEC8779.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d18:2::3c) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.24; Mon, 28 Oct 2024 14:17:08 +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 14:17:08 +0000 Message-ID: Date: Mon, 28 Oct 2024 15:17:07 +0100 User-Agent: Mozilla Thunderbird From: Martin Weiser Subject: [PATCH] igc: fix invalid length and corrupted multi-segment mbufs To: "dev@dpdk.org" Content-Language: de-DE Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR5P281CA0004.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f2::13) To BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:60::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BE1P281MB3111:EE_|FR2PPF58FEC8779:EE_ X-MS-Office365-Filtering-Correlation-Id: afaa97b1-b021-411a-7080-08dcf75b34cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|10070799003|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dXlyTXB4enRmTHVuRU5mNzAxR2oxYlpnVU9mWFdIaUxGNzEwVHhVTGhoZm5I?= =?utf-8?B?Z1dPcGNUREpaRUtiSHFTbnptdFJXRlRjQm51NzJvQysrVTU4djdibVJCbjRS?= =?utf-8?B?cUNQTmhsSTZQT2ZoSm1vT2ZiYW4zZzFNMkRGRU52dDZ0SVZzTnNnbnRzK25F?= =?utf-8?B?NU00UFlPa0NNQUFiUDZtOVIyMitkd2RnaEtBMHAxSjRtV1VSNVNkZHYxZlA1?= =?utf-8?B?ZWNRZ2ZORDZXeWdodFIyU1NiMFd3eC9rUzFEcDNodEVEY3AzMmpWSHdkck5z?= =?utf-8?B?cnExYjZ1aVRrTFN2dXJCVGZRejI4SEFtRjhvQmRjSzYvR0l6V1VyM3h6N3B0?= =?utf-8?B?dzRiTDUvYThKYmNNYnVoR0x2eGNjQkhGb3ZiUDM2MlZtZlZRU25BMUtWT1pL?= =?utf-8?B?WjZ4YnkxaWRlcFBvMllyaEtteTNIOGRWVmF3cWtsMkxqa0dpQ25aSmRwZHZp?= =?utf-8?B?Q00vUGpQMzMwdUEzVElLWVBFV2VkNUhsb1hJL0E5UXR5TzB3L09hUDFBZm83?= =?utf-8?B?eWNMZ1E2bkRjRHZROE9wVStveGxKZjFYNWNvUW5ESHBsQUMraW02Q2hIOE9Z?= =?utf-8?B?N3JiY1NXcnZvc05nNHhsQzBXWFFjVWs5OVUxNGZrR3ZudVdtVStTdU1LdHd4?= =?utf-8?B?TVlMU0VpeWdnREJ5MDlDb0VyckpLa3lRcitqQzhiTUJqRy9oSWYwQ2wwNXZj?= =?utf-8?B?WXFDVjd6OGlXZy9pcWwyM05rNVE5dTNKZ0hrdXZlSTAxQUJkVTZWU3hYRjlm?= =?utf-8?B?aGtlNU0rRFo5NGV6U1Vla2hBbUxtalorVDNoOW9EelpwWkMxV29wa1M4Tkdw?= =?utf-8?B?L2psTVBxUng2amtyVXFiMDFJUThGV2JscmpGeUJzdllzTFR6R25na2N3MUha?= =?utf-8?B?bmlLcm42SFBsZlhLNnhnRjRlS290MVpmS3lDK0Jldm9NVFZJNGlQUml3MjFi?= =?utf-8?B?M2tmNFhzT0R2ak10VFBoR1hxSDlVRVlGYTFEUzFZdVBFRjdoWnJRaEljVy83?= =?utf-8?B?a2RJTWdobDJxMk01S3JTdWdGVW41SWtLdGw2NkFEQk5aQ0V0bFpoRFB2Z2py?= =?utf-8?B?bTlvQ3dRY1E1U2k5VlJLWFBxVlRIMjZHRG16emErS3p1NVVjZnhObWErZ1ZY?= =?utf-8?B?ODhLdW1abnh0V2hEbVdicmcwSmFveHRTTU5yb2xjWnJndnFMbUVkaHUxSVlx?= =?utf-8?B?Q0pabDdvVWtYNGtzOWZENUZ4MlBGeGZPNlQ5QldLTTgwcFJsUEZYV1NHV0t1?= =?utf-8?B?am5Na0Z0MjBUYnNDdlFSVUZWKzdqREhhN3ljQTdpV2RWdTJ4eGxtWGVHNTBU?= =?utf-8?B?Mzh3bG1vdkVpNHNVUU1BMGdBZTRBR2I0TFBMSjFOalZGNTNoRWVKMkl5ZFpY?= =?utf-8?B?N3BOc0J3QXh1eU53NUhVZUtsS0hlSGJaa2NSVkVzbG94bzBXUzhJSEFYVU1s?= =?utf-8?B?eDZ4TWV5eHhUejhmcm90ZnFad3RXRkRUelhPN0JLajJScVVqOFJnOGVJR1pI?= =?utf-8?B?V3ZRK1FkaGFSMDF5TDlkY3JYYmlxeFM3Wm9Nc3hSdVNVbU5ka0NjWE5FRjg1?= =?utf-8?B?RlZGL2JrYlBQeG5ESTQwWUYxTGdiN09pRElmSHhnMTFGY2c2d0d1R2tCdHY5?= =?utf-8?B?NUFrekVBL1M0MCtnK3I1ajlLVHRFblp4U09naklsbXc2d21XMGg1TGYvU3FR?= =?utf-8?B?MTRZZ3dOVkdpUmcwR0lTb1FLbGZ3eW9uWTd3NDBJV3l2U0VIVnFzUWhCdXp2?= =?utf-8?Q?jedHivTKh6KJehu36BOVX8j1xNB+/cFKBaJExno?= 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)(10070799003)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ajl2M2hWck4raFprdzBaWkNORmdubEE5bTU0b1JvaU5mVjVnSjB5MGdVbnFK?= =?utf-8?B?SkNac2FHRmRiYkMyUm5lZGQ5Q3dTT2JnK1ZmaGhoM2hNcnFwQUNZdlJlNHlo?= =?utf-8?B?a09iaUFmSFNJT1ZzbzhhNkhKWXpBd0VWSE1iNHZFU1FZZEFvd3ROR3c0Z3hW?= =?utf-8?B?dmQvZjBpN1orZFMyWVU4QlFVUVBJeHRQbFAyRWh6WHQza0w3SVJ3VUpWZkp2?= =?utf-8?B?N2Fmb0NaTUpaVm1ZVzF5eUQrNEo5YlovSTUrMERSa3d2eVJOdUM3NnlKTmFy?= =?utf-8?B?blE2SkxPM0Q3bU9MZ3RpQkJrcmdpZmpDSmU2cXhsVE5vSUU2bkVLUzBsRDB5?= =?utf-8?B?Zk1IWmRTdnZSNUR1MmVRcDZodmwxMjNRNElqeEdIb3NOeERMTCtMeFFWNUk3?= =?utf-8?B?N09WSUxYSUUwQXZqbWdNRURlbncrU2czNFJEWkhXNEJmR3ZOeThGcGtNMHMz?= =?utf-8?B?Rmd1NlFCQTlKczQ2ckdzOGVRV2s2aE12b1dla0hBZ3JwbHFLcDM5UFZyeE4y?= =?utf-8?B?ajRDRUM3QzdrU3VSVmZVMUxLbkhjWFdhUU5GcWxleGQ4UkdZMm1aeDRyYnBp?= =?utf-8?B?enlQZW5DejFwdlA2V0RYbTJwRTlxYUFkcTZrbDZrNXVSS0crWVNLbTZheHVP?= =?utf-8?B?QW9WcElWQ2J1UGZkSWZzQmp0VTdENmVuN3FoT1hvc0FSM3lWa3lKeENvalU3?= =?utf-8?B?TjkyZXlDWGdMTmk1WVhDYUtnSDE1Q1VmM0kzRjNEUHZqaUtyYW03NjF2RGwx?= =?utf-8?B?dkxDUGVmd2NEdzlyRDFZSzI1cTY2dXdtbmFXR3dENnhDcnI0UzRGVGRMSHp5?= =?utf-8?B?UG0xd25oVXUrLzgwWVhsZ0tIRWlxS2pHN0tJRUVUUlpsdktWR2xieGplS0w0?= =?utf-8?B?QmMxcXhZekpiVmhlN3pmdHlkSWxtOVBGVkd0allzc2ovcVJhKzNkbVlmQ2xi?= =?utf-8?B?OVJpNDU2N0xnZXR2SDEyb3RMc25OZExISUF6cHJtdWJ5Q3M4aGdZZmE0M0hZ?= =?utf-8?B?Qm9vWmVvT2hMTldSdlFDMmNwYkZIY1E0TlBKNm9HNnNaUDlaZWZ5aFQzcS8w?= =?utf-8?B?YTU2TE83RExoQlVDSElVVXYzVVdGN2phQVBBdnovbnA5OTlwUGFBWTV2T2Z4?= =?utf-8?B?elNsNmltTjdKVVhENzI3TmFrRlBucFFtdlJ0QUd0WkErSlpZWkVhTHUvcklU?= =?utf-8?B?RWZGbVlVRFpKSWtnSlBPczFKMkhqMk5QQWN4elZYOGVFR0FvQzhmN0NxTmVL?= =?utf-8?B?aXhEa2NmdHdDYS9NT3laSkZYcW1kVmw2aFU3TXBBT0VyZWp5OFJlVEJXNVE5?= =?utf-8?B?OEFCMFh6SnM3TWJPNUNGbk9QMkJ3enRNYkdRMjNIVnl3QVRDNitDRldXa0ta?= =?utf-8?B?VCtYczdBZW8xWFA0Z3gwU3J6WGwvenBuTGxvQkVuT3hGVEdVREhNV2JwNytV?= =?utf-8?B?M3lLb0p5T2NzbTlpaHgrY1RYbU50aEtUUCt2VmNXYWp0bXBDSGtWUnRzNGdL?= =?utf-8?B?aFhNMlNLOVh0bjUvY2s2VG9reHZMeE5zdkhxZkJDbDZCMmxEY2l2dVg3YnVu?= =?utf-8?B?QURIdXUweW5BRWszQnNvU3lpNXVUcDkveFBHMWQrajg2aDUvNjJ6TWdveDkv?= =?utf-8?B?SlpMWGR2ZnhETm9mMEo5NFFaMHJ6T2N3OGxXZ2ovVVVNVUJlL29NVEhwUGtU?= =?utf-8?B?TFJxM0lrVE8xejM2QjNIbzExYmZDV3U5WUNQSXBpaWw0OWt2K1ZzR25XbGFI?= =?utf-8?B?RXBJRytRakw2dm03OE5oMzRwUXUyWHJxb2dPK01vV2p2aW9kZ2JEL1UyajZU?= =?utf-8?B?b2VaTjBlR1d2aDRDaWNWWnBUWWZ0MFp2UTd5NlVqT0dKeUd0QXFRL3d4OHl5?= =?utf-8?B?aHFzT1VUaDFmeHQ0Vkxqa0xzOThpQkR3UTUrdm5vRHlMR21yOVFob09WNXVt?= =?utf-8?B?R2hYaVduWVdnZTU3NmZnNVNwblgvbkJUalAxY3FpVitCS2dxcGpwVUlMK3J0?= =?utf-8?B?dk5URjA2Qzgxekt6MVVrbGdsZVFadytDWllJdlFMN3VUT2ZaRTMwenFxYzRo?= =?utf-8?B?cngweEVPVzhBYUhuTm5ra2w0VGFhdHZ0aG1XSHM4TjY1SnNVRE4wQjVHS0lp?= =?utf-8?B?T2JZUEs4QVhBZm44ckc5LzJIUHdPM3JFT2UycU1hNlIwR0R4SWFTQTloSGpB?= =?utf-8?B?UlNzdW9CeTg2MzhYdnNUbXhJYnd1NVFmMXE3Yng5M3lHVmlGOStlOFNieGpU?= =?utf-8?B?ZjcyR1M0alAyMVpXNXFtQklPNVNnPT0=?= X-OriginatorOrg: allegro-packets.com X-MS-Exchange-CrossTenant-Network-Message-Id: afaa97b1-b021-411a-7080-08dcf75b34cb X-MS-Exchange-CrossTenant-AuthSource: BE1P281MB3111.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2024 14:17:08.1148 (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: +zRWs8Jk6FdplVj/1p3ruenP5vblEztNAD6V5zw/D4ovS8FTKRNfyLFUljWipOfMKbmIUKv3of9VmZTf1no5daK59EgCFjf75egBrBwpzEGjAXD3K+lk+7H6qG+rNeUy X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR2PPF58FEC8779 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