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 2CB7344114; Thu, 30 May 2024 18:37:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B1738427E4; Thu, 30 May 2024 18:37:13 +0200 (CEST) Received: from mail-yw1-f227.google.com (mail-yw1-f227.google.com [209.85.128.227]) by mails.dpdk.org (Postfix) with ESMTP id 06596427E2 for ; Thu, 30 May 2024 18:37:12 +0200 (CEST) Received: by mail-yw1-f227.google.com with SMTP id 00721157ae682-627ebbefd85so11779167b3.3 for ; Thu, 30 May 2024 09:37:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1717087031; x=1717691831; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Hf5AgSaxPrAWIbVTB3tXbneKSLUAoTsB0XcRcJhv9Jo=; b=VHG40YLEu66ULtU+XQNX2047T+JzhisVWE2DJqFm7rIJ8s30DYYVJR7jFk2SvekoEk McjqTGPjJJ8JXDhIbWewMYjvfgKmUURtAwN6g9RaV+r4dpvWz3I44Z2sZ1oRWa2hSeP1 DeiekVw04lVaihk/3AIwM9F7RJPKtmYA/RQPE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717087031; x=1717691831; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Hf5AgSaxPrAWIbVTB3tXbneKSLUAoTsB0XcRcJhv9Jo=; b=W4l/TJkLHBPtZPIMpwNG6CaL+/Kp6UNbYzGtXUbM9yNr1r4oD4cIxI+ldiW9Pc+5qp ev6W47FCiJoFNo78gwfD1Br+kxtcN2BAa+TSdcITXLJaMsTI600I3RQJxCD6NjjMpbue QjzkP8jN2QK0w8w2QpOCcPV7CmzGVJnuCPCv9OtE5kb8IUbdDaca/TLsw4bQDsbY5/1N C7zmKiSQ3+Jfhxmj/cAupA4tiK/g3LbLJWP21ZrVtUf7h03NjdV6oqUROnN75+nKLYrl d2NPMxVaH0TpDI5WFNkYb+sOQbGjCk2qM6dhhtirN3lKyg7ygutQ0HGwbkTmeuGtS8RR g2ww== X-Gm-Message-State: AOJu0YxSK8F9ZZerTdZ1yLElpSCxqOd2vPRDtDL2K6s0AMBq0AfEelHZ Hc7HzafUDkgkb5DwgO52s3lOlhB/cUIYwTHa3mrBsaAM94uXs0wzC+Ibc1xs7o88u4IP6gssGzj BBaLX2Z3Ekw7jzdT1Q80iB9+OD/g/N9cj X-Google-Smtp-Source: AGHT+IHdkCzZhQjYkru7pLZ2kWm6XtyDHXBDqsUhAOiRF9T2iYbssGhjeJkL6G48PnngrsGOyR2vZpsLSDLB X-Received: by 2002:a81:4e48:0:b0:615:4e88:c029 with SMTP id 00721157ae682-62c6bca76f3mr26510957b3.51.1717087030345; Thu, 30 May 2024 09:37:10 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id 00721157ae682-62c765f84casm11107b3.3.2024.05.30.09.37.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 May 2024 09:37:10 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from iol.unh.edu (unknown [IPv6:2606:4100:3880:1257::1083]) by postal.iol.unh.edu (Postfix) with ESMTP id 769EA605C374; Thu, 30 May 2024 12:37:09 -0400 (EDT) From: jspewock@iol.unh.edu To: juraj.linkes@pantheon.tech, paul.szczepanek@arm.com, wathsala.vithanage@arm.com, Honnappa.Nagarahalli@arm.com, probb@iol.unh.edu, yoan.picchi@foss.arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu, thomas@monjalon.net Cc: dev@dpdk.org, Jeremy Spewock Subject: [PATCH v2 4/4] dts: add test case that utilizes offload to pmd_buffer_scatter Date: Thu, 30 May 2024 12:33:39 -0400 Message-ID: <20240530163339.14566-5-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240530163339.14566-1-jspewock@iol.unh.edu> References: <20240514201436.2496-1-jspewock@iol.unh.edu> <20240530163339.14566-1-jspewock@iol.unh.edu> 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Jeremy Spewock Some NICs tested in DPDK allow for the scattering of packets without an offload and others enforce that you enable the scattered_rx offload in testpmd. The current version of the suite for testing support of scattering packets only tests the case where the NIC supports testing without the offload, so an expansion of coverage is needed to cover the second case as well. depends-on: patch-139227 ("dts: skip test cases based on capabilities") Signed-off-by: Jeremy Spewock --- dts/tests/TestSuite_pmd_buffer_scatter.py | 49 ++++++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/dts/tests/TestSuite_pmd_buffer_scatter.py b/dts/tests/TestSuite_pmd_buffer_scatter.py index 41f6090a7e..1ceaab0f86 100644 --- a/dts/tests/TestSuite_pmd_buffer_scatter.py +++ b/dts/tests/TestSuite_pmd_buffer_scatter.py @@ -16,14 +16,19 @@ """ import struct +from typing import ClassVar from scapy.layers.inet import IP # type: ignore[import] from scapy.layers.l2 import Ether # type: ignore[import] from scapy.packet import Raw # type: ignore[import] from scapy.utils import hexstr # type: ignore[import] -from framework.remote_session.testpmd_shell import TestPmdForwardingModes, TestPmdShell -from framework.test_suite import TestSuite +from framework.remote_session.testpmd_shell import ( + NicCapability, + TestPmdForwardingModes, + TestPmdShell, +) +from framework.test_suite import TestSuite, requires class TestPmdBufferScatter(TestSuite): @@ -48,6 +53,14 @@ class TestPmdBufferScatter(TestSuite): and a single byte of packet data stored in a second buffer alongside the CRC. """ + #: Parameters for testing scatter using testpmd which are universal across all test cases. + base_testpmd_parameters: ClassVar[list[str]] = [ + "--mbcache=200", + "--max-pkt-len=9000", + "--port-topology=paired", + "--tx-offloads=0x00008000", + ] + def set_up_suite(self) -> None: """Set up the test suite. @@ -91,7 +104,7 @@ def scatter_pktgen_send_packet(self, pktsize: int) -> str: return load - def pmd_scatter(self, mbsize: int) -> None: + def pmd_scatter(self, mbsize: int, testpmd_params: list[str]) -> None: """Testpmd support of receiving and sending scattered multi-segment packets. Support for scattered packets is shown by sending 5 packets of differing length @@ -103,17 +116,14 @@ def pmd_scatter(self, mbsize: int) -> None: """ testpmd_shell = self.sut_node.create_interactive_shell( TestPmdShell, - app_parameters=( - "--mbcache=200 " - f"--mbuf-size={mbsize} " - "--max-pkt-len=9000 " - "--port-topology=paired " - "--tx-offloads=0x00008000" - ), + app_parameters=" ".join(testpmd_params), privileged=True, ) with testpmd_shell as testpmd: testpmd.set_forward_mode(TestPmdForwardingModes.mac) + # adjust the MTU of the SUT ports + for port_id in range(testpmd.number_of_ports): + testpmd.set_port_mtu(port_id, 9000) testpmd.start() for offset in [-1, 0, 1, 4, 5]: @@ -127,10 +137,27 @@ def pmd_scatter(self, mbsize: int) -> None: f"{offset}.", ) testpmd.stop() + # reset the MTU of the SUT ports + for port_id in range(testpmd.number_of_ports): + testpmd.set_port_mtu(port_id, 1500) + @requires(NicCapability.scattered_rx) def test_scatter_mbuf_2048(self) -> None: """Run the :meth:`pmd_scatter` test with `mbsize` set to 2048.""" - self.pmd_scatter(mbsize=2048) + self.pmd_scatter( + mbsize=2048, testpmd_params=[*(self.base_testpmd_parameters), "--mbuf-size=2048"] + ) + + def test_scatter_mbuf_2048_with_offload(self) -> None: + """Run the :meth:`pmd_scatter` test with `mbsize` set to 2048 and rx_scatter offload.""" + self.pmd_scatter( + mbsize=2048, + testpmd_params=[ + *(self.base_testpmd_parameters), + "--mbuf-size=2048", + "--enable-scatter", + ], + ) def tear_down_suite(self) -> None: """Tear down the test suite. -- 2.45.1