Message ID | 20240812134124.27637-1-dmarx@iol.unh.edu (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 99407457A1; Mon, 12 Aug 2024 15:41:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8A10E406BB; Mon, 12 Aug 2024 15:41:09 +0200 (CEST) Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by mails.dpdk.org (Postfix) with ESMTP id 583C440654 for <dev@dpdk.org>; Mon, 12 Aug 2024 15:41:08 +0200 (CEST) Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-7a1d066a5daso281541285a.3 for <dev@dpdk.org>; Mon, 12 Aug 2024 06:41:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1723470067; x=1724074867; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=yLDuv38J/y/AVvoPSIoEx95pLJKRLB5e6B32PnnH5GA=; b=NbtuNwk/fxPOuF2bYjdZtrX3kkWM8Suu+7u+9bYgjFZMoZhO4lkuQ5WaZlWVxasgNk Wg3761TkzL6+3/qfjUGGqKXfG82kiQZE2OZxyJ2VMeeph5SGZB4wymaMJKP4JQNFjmaR Nw4VVGJwoqtLJDFddlrrAHVIAUfJHEhyfY8OE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723470067; x=1724074867; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yLDuv38J/y/AVvoPSIoEx95pLJKRLB5e6B32PnnH5GA=; b=lJTxXhlKzkoTf1ZCF11nssSUvpQ/l0uNUwIJ2qo2kL4hArwRjAz/xi1YYsWeY3uxKH IaUxNL/lbbZzc7zD116u+uIuNHhnyl7Q5qM9OY/aLL10k1idVW/C9G/dmoZLerMcBJjp yXAgKDGwEOXHn/g6vDgHBU8KBaQjjWQZoP0B4omNRdd21WG69hzwLK4+2SZomKEXWNhF I7sTXslVKNtaCyfu6vXsuJwO9qLWNxihIDjaRwbM7lXh7kE8URa++Uk9yfMQUSm/jOw2 wFJUf9CtU4IKZqepYjWVAq5Querq2wxReYis52UrInx+89I1rfA1cfs9LHEZpwAaKsgr YIOw== X-Gm-Message-State: AOJu0Yz0Vp+CIBgdPZDqfCYCFwy8rlZlVV0hmlQXMyiE501452B55eHN XzgD4ugPut6S4g+30FOPiMiaOx6cNaIQxfjaSrKIHDFZIY/LKtQvbrPN37cBwfs= X-Google-Smtp-Source: AGHT+IHajHBOdIF5K3WT9KBi4BitDMA9whF0uppHhHhgGPWkbSeJu7+juHa7r6KZo4O7mfFwAQHAcg== X-Received: by 2002:a05:620a:3916:b0:79d:599a:6a21 with SMTP id af79cd13be357-7a4e151b6f5mr25997285a.16.1723470067540; Mon, 12 Aug 2024 06:41:07 -0700 (PDT) Received: from dean-laptop.iol.unh.edu ([2606:4100:3880:1271:f9bd:24da:464d:6294]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7a4c7d624c7sm247544785a.23.2024.08.12.06.41.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Aug 2024 06:41:07 -0700 (PDT) From: Dean Marx <dmarx@iol.unh.edu> To: probb@iol.unh.edu, npratte@iol.unh.edu, jspewock@iol.unh.edu, luca.vizzarro@arm.com, yoan.picchi@foss.arm.com, Honnappa.Nagarahalli@arm.com, paul.szczepanek@arm.com, juraj.linkes@pantheon.tech Cc: dev@dpdk.org, Dean Marx <dmarx@iol.unh.edu> Subject: [RFC v1 0/2] dts: initial checksum offload suite Date: Mon, 12 Aug 2024 09:41:22 -0400 Message-ID: <20240812134124.27637-1-dmarx@iol.unh.edu> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
dts: initial checksum offload suite
|
|
Message
Dean Marx
Aug. 12, 2024, 1:41 p.m. UTC
Test suite for verifying checksum hardware offload through the PMD works as expected. This is done by checking the verbose output in testpmd while in csum forwarding mode, specifically the ol_flags section, to ensure they match the flags in the test plan. However, there are a few issues I noticed while writing the suite that made me hesitant to submit a patch: 1. SCTP hardware offload is not supported on any of the NICs I tested on. I've tried this on mlx5, i40e, and bnxt drivers and none of them support it. SCTP offload is used as part of almost every test case, so I removed SCTP packets from the suite entirely. I intend to keep it that way unless anyone is able to use the command "csum set sctp hw 0" without an "SCTP not supported" error. 2. There are two Tx checksum test cases, which involve checking the Tx flags section of verbose output to ensure they match the ones in the test plan. However, the Tx flags don't appear to change at all depending on what packet you send to testpmd, which leaves me with no way to verify correct behavior. I'm considering removing the Tx cases entirely, but they are a large chunk of the suite so if anyone disagrees I can look for more of a workaround. If anyone has any comments or advice about the issues above it is greatly appreciated. Dean Marx (2): dts: add csum HW offload to testpmd shell dts: checksum offload test suite dts/framework/config/conf_yaml_schema.json | 3 +- dts/framework/remote_session/testpmd_shell.py | 94 ++++++ dts/tests/TestSuite_checksum_offload.py | 288 ++++++++++++++++++ 3 files changed, 384 insertions(+), 1 deletion(-) create mode 100644 dts/tests/TestSuite_checksum_offload.py
Comments
Hey Dean, Thanks for the patch, I left some thoughts on the point you raise below and some of the larger things I noticed throughout the series. The logic seems to all be right though and I can understand what you were going for, so the broader ideas seem good to me. On Mon, Aug 12, 2024 at 9:41 AM Dean Marx <dmarx@iol.unh.edu> wrote: > > Test suite for verifying checksum hardware offload through the > PMD works as expected. This is done by checking the verbose output in > testpmd while in csum forwarding mode, specifically the ol_flags > section, to ensure they match the flags in the test plan. However, > there are a few issues I noticed while writing the suite that made > me hesitant to submit a patch: > > 1. SCTP hardware offload is not supported on any of the NICs I tested > on. I've tried this on mlx5, i40e, and bnxt drivers and none of them > support it. SCTP offload is used as part of almost every test case, so I > removed SCTP packets from the suite entirely. I intend to keep it that > way unless anyone is able to use the command "csum set sctp hw 0" > without an "SCTP not supported" error. > 2. There are two Tx checksum test cases, which involve checking the Tx > flags section of verbose output to ensure they match the ones in the > test plan. However, the Tx flags don't appear to change at all > depending on what packet you send to testpmd, which leaves me with no > way to verify correct behavior. I'm considering removing the Tx cases > entirely, but they are a large chunk of the suite so if anyone disagrees > I can look for more of a workaround. > As for the Tx issue, I have also noticed that these flags are inconsistent. It looks like the Tx side of things have flags representing if there is checksum data for the various layers, but even then it doesn't show up in the verbose output when there is verbose information. I think that if it isn't consistent then we can't write a test suite that is generic enough to be run on the hardware and it probably makes more sense to just leave it out of the suite. I'm honestly not sure if it is a bug or just a misunderstanding with what these flags should be doing since the Tx flags are much less clear to me than the Rx. Regardless, it's not like it's something we can search for with a capability or anything so we don't have a great mechanism for getting this to work if it truly is just something where different drivers do it differently. > If anyone has any comments or advice about the issues above it is > greatly appreciated. > > Dean Marx (2): > dts: add csum HW offload to testpmd shell > dts: checksum offload test suite > > dts/framework/config/conf_yaml_schema.json | 3 +- > dts/framework/remote_session/testpmd_shell.py | 94 ++++++ > dts/tests/TestSuite_checksum_offload.py | 288 ++++++++++++++++++ > 3 files changed, 384 insertions(+), 1 deletion(-) > create mode 100644 dts/tests/TestSuite_checksum_offload.py > > -- > 2.44.0 >