From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4141CA04B1; Sat, 10 Oct 2020 11:45:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 142E21D8D2; Sat, 10 Oct 2020 11:45:29 +0200 (CEST) Received: from inbox.dpdk.org (xvm-172-178.dc0.ghst.net [95.142.172.178]) by dpdk.org (Postfix) with ESMTP id BB8631D8D0 for ; Sat, 10 Oct 2020 11:45:27 +0200 (CEST) Received: by inbox.dpdk.org (Postfix, from userid 33) id 9313BA04B7; Sat, 10 Oct 2020 11:45:26 +0200 (CEST) From: bugzilla@dpdk.org To: dev@dpdk.org Date: Sat, 10 Oct 2020 09:45:26 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: DPDK X-Bugzilla-Component: testpmd X-Bugzilla-Version: 20.11 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: weix.xie@intel.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: dev@dpdk.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All MIME-Version: 1.0 Subject: [dpdk-dev] [Bug 553] iavf_fdir/negative_case: run command with invalid port 'flow flush 2', it can't print error info or warning info. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" https://bugs.dpdk.org/show_bug.cgi?id=3D553 Bug ID: 553 Summary: iavf_fdir/negative_case: run command with invalid port 'flow flush 2', it can't print error info or warning info. Product: DPDK Version: 20.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: testpmd Assignee: dev@dpdk.org Reporter: weix.xie@intel.com Target Milestone: --- Environment: =E2=80=A2DPDK version: 20.11.0-rc0 commit 0e995cbcfc81e1d86d92dfb871ebe14e= e5b8d9e4 =E2=80=A2OS: Ubuntu 20.04.1 LTS / 5.4.0-45-generic =E2=80=A2Compiler: gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0 =E2=80=A2Hardware platform: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz =E2=80=A2NIC hardware: Intel Corporation Ethernet Controller E810-C for QSFP [8086:1592] =E2=80=A2NIC firmware: 2.10 0x8000433e 1.2789.0 =E2=80=A2ICE driver: 1.1.4 =E2=80=A2PKG: ice_comms-1.3.20.0.pkg Steps to reproduce: 1. Generate 2 VFs from PF. # echo 2 > /sys/bus/pci/devices/0000\:81\:00.0/sriov_numvfs 2. Bind 2 VFs to vfio-pci. # dpdk-devbind.py -b vfio-pci 0000:81:01.0 0000:81:01.1 3.Launch testpmd. # x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32,33,34,35 -n 4 -w 0000:81:01.0 -w 0000:81:01.1 -- -i --rxq=3D16 --txq=3D16 testpmd> start testpmd> flow destroy 2 rule 0 testpmd> flow flush 2 Actual Result: testpmd> flow destroy 2 rule 0 Invalid port 2 testpmd> flow flush 2 testpmd> Print info is empty. Expected Result: testpmd> flow destroy 2 rule 0 Invalid port 2 testpmd> flow flush 2 port_flow_complain(): Caught PMD error type 1 (cause unspecified): No such device: No such device Regression: Is this issue a regression: Y First bad commit: commit 2a449871a12dacef6a644254e42175e09a316617 (HEAD) Author: Thomas Monjalon Date: Tue Sep 29 01:14:34 2020 +0200 app/testpmd: align behaviour of multi-port detach A port can be closed in multiple situations: - close command calling close_port() -> rte_eth_dev_close() - exit calling close_port() -> rte_eth_dev_close() - hotplug calling close_port() -> rte_eth_dev_close() - hotplug calling detach_device() -> rte_dev_remove() - port detach command, detach_device() -> rte_dev_remove() - device detach command, detach_devargs() -> rte_eal_hotplug_remove() The flow rules are flushed before each close. It was already done in close_port(), detach_devargs() and detach_port_device() which calls detach_device(), but not in detach_device(). As a consequence, it was missing for siblings of port detach command and unplugged device. The check before calling port_flow_flush() is moved inside the function. The state of the port to close is checked to be stopped. As above, this check was missing in detach_device(), impacting the cases of a multi-port device unplugged or detached with the port detach command. Signed-off-by: Thomas Monjalon Reviewed-by: Ferruh Yigit Acked-by: Stephen Hemminger --=20 You are receiving this mail because: You are the assignee for the bug.=