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 44AE546192 for ; Tue, 4 Feb 2025 23:36:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C4A774021E; Tue, 4 Feb 2025 23:36:44 +0100 (CET) Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) by mails.dpdk.org (Postfix) with ESMTP id A7996400EF for ; Tue, 4 Feb 2025 23:36:43 +0100 (CET) Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-2a8690dcb35so1976340fac.3 for ; Tue, 04 Feb 2025 14:36:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738708603; x=1739313403; darn=dpdk.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=dwg7FB5P5Vq6i7EuElHsEd/U+dL0AU4LNyFavQTt18Q=; b=Y4alL+8/o52e6uD8sqs24xF7AKukxron1HegRGU+fE92yFKRHgfBkjaJ+GwFhTI1qX TX9bAkwRmVNQqORP9zw0c9KP3IXewCZQgjjTxTS8BGAyj8H/EXISIip50IHTQJxnHaxL zQh82nWBN5FQG7DMFZ39TSlbezGgPFhFAcCkFbIW5IxfPRmehCMrrDUEy3EbSQ+kUg9w QuN+WhOpuEXQpxN/SGQqiE8unyLKmMKKF2a7iTwuvZxUdCuaXLkDfbKKj5B2xaAOZZgu QxdfsmzVsZziJgQdRdXi7GDBZUC3nCEsWYMDnxfelVfL5iR0CsnaPJnta7L/NwhUow6+ x30A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738708603; x=1739313403; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=dwg7FB5P5Vq6i7EuElHsEd/U+dL0AU4LNyFavQTt18Q=; b=UvD6h2G+iaWUeznpYuTppHTNG6Kon+O9d3wrjVOPLbT4mHdU2957s/JMYjuf6Xi4lP Z54tF09DllNtqi/joyEULr5gi2eIMwOZKSVEFFx7D+TpesjPXMVOsgpII2CY3Gwy1xqV VPLo5Ce3jbAMfSTH2kxPQd0zU5VbABo62ZNx+m73ZXVMhkTFXRtXVINwHwEqH/dgXvWa ZY6q0FpF+HZcCTKz/KpkPm2LE2DpnrzX4Tjy8/w8d0BnLEC0RAoWKjLzK363lzSI+UFw kMoClbZUSnTnuUJqz4ki/TBYN1mOU7UfW9sxGJj6rPmgcheWupuewUN5jVwnS3ZGEhOW b/vQ== X-Gm-Message-State: AOJu0YzzYmEWrxQKFrbKO7fgKbpleiT6sP7oRuemOZfqE6oDgT8GAXPQ wJr3/fluk+Db97bekFNSGVsMN3EyPjKJKIVSB2LvpmRJ5hs15Mcqtzoh+yzq3DRkoO4feOeK9fM 3Iv5J6CEfOGCQOEZRMLqQEvOXOqmhiWPd X-Gm-Gg: ASbGnct7G5v1saRFD/BDew1Qyl37xYzySFMEXPeNoKJXTLYSgdqCbG/ZcyYgGFAhZOb FTXj3HKZj5WreKucwUUczyiQd8zwlckKioKFIQW5/Jvvshk83yevTM1H4ouvGGSm4mxqEJeU= X-Google-Smtp-Source: AGHT+IGbd2VqMlzaVfW2Il7oMmnhU9vhqu5J8DHxcSuGil2gc3kmWMA4caDzj0UBiNYbTYeewikphaBR74UVkVGJ1/E= X-Received: by 2002:a05:6870:ec87:b0:297:c04:9191 with SMTP id 586e51a60fabf-2b804ecdf61mr449270fac.3.1738708602688; Tue, 04 Feb 2025 14:36:42 -0800 (PST) MIME-Version: 1.0 From: Alan Beadle Date: Tue, 4 Feb 2025 17:36:31 -0500 X-Gm-Features: AWEUYZkOQDdp7uxrRqfanbK9OIFVwSSnMWQjm-Tez1cud51CoVZHB9qA1q6J6Mw Message-ID: Subject: Corrupted payload when sending many individual mbufs in loop To: users@dpdk.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hello, I am working on an application that involves fragmenting a large buffer into many smaller packets/mbufs and sending them with DPDK. The fragment packets for each data buffer are currently sent in a loop without any throttling (I plan to add some sort of rate limiting later). I am not using any of the special DPDK features for IP fragmention. I am simply preparing and sending mbufs for each fragment. The problem I am having is that when I need to send large buffers, which involve many packets being sent in a tight loop, sometimes part of the payload is corrupted when received on the other machine. This is rare and only happens above a certain data rate. I would like to have a reliable way to detect (or even better, prevent) this corruption. Out of paranoia I placed an rte_compiler_barrier() and then an rte_mb() (a memory barrier) between the code that prepares the mbuf and the actual tx_burst(). It did not help and I think it should be unnecessary. I found some information about the function rte_mbuf_check() and have started using it to check every received packet on the other end. It fails to detect this corruption. Any advice would be appreciated. -Alan