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 92104457C6; Wed, 14 Aug 2024 20:20:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8F64A41141; Wed, 14 Aug 2024 20:20:25 +0200 (CEST) Received: from mail-pf1-f225.google.com (mail-pf1-f225.google.com [209.85.210.225]) by mails.dpdk.org (Postfix) with ESMTP id 9B06A41141 for ; Wed, 14 Aug 2024 20:20:23 +0200 (CEST) Received: by mail-pf1-f225.google.com with SMTP id d2e1a72fcca58-710ec581999so76006b3a.2 for ; Wed, 14 Aug 2024 11:20:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1723659622; x=1724264422; 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=ZwEUmCel0LWyCNHWUliGIgsth9jaZXmaMCwq6q66mYc=; b=XDL8RtbyLqtfBwmQLE9Yech5mdqZShteGiHlCE0eKWKDgRm6IxXo3oY9+qgit2l842 q2NBIj2gZMMJGR+f9ogHAR6kUc7puRY0vQomQWHLjfHf3orc+FbVS46kQ+LsmaST7BEA eh+DVgIL/6Zd8UU0/xm8hUL4fFljdEnNTIOBU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723659622; x=1724264422; 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=ZwEUmCel0LWyCNHWUliGIgsth9jaZXmaMCwq6q66mYc=; b=rEnGJzXBcElQMERS8LBxLPuObXOxD/CflBj3Q+D0iIKIeWnVAyOoqQAyDZ3soMXAbQ 2rpAqghZ2g7R9Fsu723yVzwimAslZrZLHMwPYrCJjlJmWg0plfIKw1te2WtiF4/rMHDv SgGopi0NNOvxgBUye5ft33LT4OVp2KhkflNYs5bcMyfAKLB8cHg/7nlSlAvzW9r/cBMH wsa1esff0AhcSoQl5iz/Z2VfJCDGvlztrAznzQWySNwfSaL1LZixuY9V6K60gYmsaSdH bVMgAHS9kav9CtXz+awro8tbCklP0lVgG9oxCu4Fh3C00Ui0qM3EmT6rk3LTVsLwc5Yo 7ATw== X-Gm-Message-State: AOJu0Yz7DqHIrbJkyUt35uSJAZLnxdJbS/gL+EHyjPVk0ZPciUViMA31 ar8bBt1Ug26D7t1wsE6wkZdXr0JGwivANZ81RlNZlt+i8zRzDVq0Rxiw7ZBaXoppTzJi0gHjYUn 63dE5+oP0jMUAHuEVJ1QUL+QUrieVWYcKtXjTrEpWh1ZHAkyC X-Google-Smtp-Source: AGHT+IEp946Udd7zjV05nINj2tzAkhUpYlqDUiRU6wyma7o7WvKG3ZVD9seMtJPBu3Dw3mhI1Uu1mTV6J6TN X-Received: by 2002:a05:6a00:23d3:b0:710:591e:b52f with SMTP id d2e1a72fcca58-712670e7ac3mr5615385b3a.5.1723659622510; Wed, 14 Aug 2024 11:20:22 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id 41be03b00d2f7-7c697a674dfsm266682a12.25.2024.08.14.11.20.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Aug 2024 11:20:22 -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 CF040605C351; Wed, 14 Aug 2024 14:20:20 -0400 (EDT) From: jspewock@iol.unh.edu To: wathsala.vithanage@arm.com, thomas@monjalon.net, probb@iol.unh.edu, juraj.linkes@pantheon.tech, paul.szczepanek@arm.com, yoan.picchi@foss.arm.com, Honnappa.Nagarahalli@arm.com, npratte@iol.unh.edu, alex.chapman@arm.com, Luca.Vizzarro@arm.com Cc: dev@dpdk.org, Jeremy Spewock Subject: [PATCH v1 1/2] dts: add methods for closing ports to testpmd Date: Wed, 14 Aug 2024 14:20:04 -0400 Message-ID: <20240814182005.12251-2-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240814182005.12251-1-jspewock@iol.unh.edu> References: <20240814182005.12251-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 Closing ports is a standard configuration feature that is available in testpmd but the framework lacks the ability to access this command through the Testpmd API. This patch adds a method that performs this action and verifies the results of sending the command to allow developers to have more control over the state of the ports that testpmd is aware of. Depends-on: patch-142952 ("dts: add ability to start/stop testpmd ports") Signed-off-by: Jeremy Spewock --- dts/framework/remote_session/testpmd_shell.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dts/framework/remote_session/testpmd_shell.py b/dts/framework/remote_session/testpmd_shell.py index ca24b28070..51593c61f5 100644 --- a/dts/framework/remote_session/testpmd_shell.py +++ b/dts/framework/remote_session/testpmd_shell.py @@ -805,6 +805,27 @@ def start_all_ports(self, verify: bool = True) -> None: self.ports_started = True + @requires_stopped_ports + def close_all_ports(self, verify: bool = True) -> None: + """Close all ports. + + Args: + verify: If :data:`True` the output of the close command will be scanned in an attempt + to verify that all ports were stopped successfully. Defaults to :data:`True`. + + Raises: + InteractiveCommandExecutionError: If `verify` is :data:`True` and at lease one port + failed to close. + """ + port_close_output = self.send_command("port close all") + if verify: + if type(self._app_params.ports) is list: + num_ports = len(self._app_params.ports) + if not all( + f"Port {p_id} is closed" in port_close_output for p_id in range(num_ports) + ): + raise InteractiveCommandExecutionError("Ports were not closed successfully.") + def show_port_info_all(self) -> list[TestPmdPort]: """Returns the information of all the ports. -- 2.45.2