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 20B0141E89;
Tue, 14 Mar 2023 04:48:55 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
by mails.dpdk.org (Postfix) with ESMTP id 137FB410DE;
Tue, 14 Mar 2023 04:48:55 +0100 (CET)
Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178])
by mails.dpdk.org (Postfix) with ESMTP id 03F5240F16
for ; Tue, 14 Mar 2023 04:48:54 +0100 (CET)
Received: by inbox.dpdk.org (Postfix, from userid 33)
id E7EAF41E8C; Tue, 14 Mar 2023 04:48:53 +0100 (CET)
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 1181] [DPDK-23.03]loopback_virtio_user_server_mode_cbdma:
testpmd can't loop packets after start dpdk-pdump app Immediately
Date: Tue, 14 Mar 2023 03:48:53 +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: 22.03
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: weix.ling@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: multipart/alternative; boundary=16787657330.dBB58D.4119388
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
MIME-Version: 1.0
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
--16787657330.dBB58D.4119388
Date: Tue, 14 Mar 2023 04:48:53 +0100
MIME-Version: 1.0
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
https://bugs.dpdk.org/show_bug.cgi?id=3D1181
Bug ID: 1181
Summary: [DPDK-23.03]loopback_virtio_user_server_mode_cbdma:
testpmd can't loop packets after start dpdk-pdump app
Immediately
Product: DPDK
Version: 22.03
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: testpmd
Assignee: dev@dpdk.org
Reporter: weix.ling@intel.com
Target Milestone: ---
[Environment]
DPDK version: Use make showversion or for a non-released version: git remot=
e -v
&& git show-ref --heads
23.03.0-rc2
Other software versions: N/A
OS: Ubuntu 22.04.1 LTS/Linux 5.15.45-051545-generic
Compiler: gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
Hardware platform: Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz
NIC hardware: N/A
NIC firmware: N/A
[Test Setup]
Steps to reproduce
List the steps to reproduce the issue.
1.Bind 1 CBDMA channel to vfio-pci, then start vhost-user as back-end:=20
dpdk-devbind.py -b vfio-pci 0000:80:04.0
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 28-36 -n 4 -a 0000:80:04.0
--file-prefix=3Dvhost \--vdev
'eth_vhost0,iface=3Dvhost-net0,queues=3D8,client=3D1,\dmas=3D[txq0@0000:80:=
04.0;txq1@0000:80:04.0;txq2@0000:80:04.0;txq3@0000:80:04.0;txq4@0000:80:04.=
0;txq5@0000:80:04.0;rxq2@0000:80:04.0;rxq3@0000:80:04.0;rxq4@0000:80:04.0;r=
xq5@0000:80:04.0;rxq6@0000:80:04.0;rxq7@0000:80:04.0]'--iova=3Dva
-- -i --nb-cores=3D4 --rxq=3D8 --txq=3D8 --txd=3D1024 --rxd=3D1024
2.Start virtio-user as front-end:
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 38-42 -n 4=20
--file-prefix=3Dvirtio-user0 --no-pci=20=20
\--vdev=3Dnet_virtio_user0,mac=3D00:11:22:33:44:10,path=3D./vhost-net0,queu=
es=3D8,mrg_rxbuf=3D1,in_order=3D1,packed_vq=3D1,server=3D1
\-- -i --nb-cores=3D4 --rxq=3D8 --txq=3D8 --txd=3D1024 --rxd=3D1024
testpmd>set fwd csum
testpmd>start
3.Start dpdk-pdump to capture packets:
x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=3Dvirtio-user0 =
-- \
--pdump=20
'device_id=3Dnet_virtio_user0,queue=3D0,rx-dev=3D/root/dpdk/pdump-rx-q0.pca=
p,mbuf-size=3D8000'
--pdump \
'device_id=3Dnet_virtio_user0,queue=3D1,rx-dev=3D/root/dpdk/pdump-rx-q1.pca=
p,mbuf-size=3D8000'
4.Set forwarding mode and send packets from vhost-user(execute this step mu=
st
immediately, we use the automation script to do, it can be reproduced, and =
if I
add time.sleep(1) before this step, it works well):=20
testpmd>set fwd mac
testpmd>set txpkts 64,64,64,2000,2000,2000=20
testpmd>set burst 1=20
testpmd>start tx_first 1
5.Execute the following command to check the front-end can receive the pack=
ets:
testpmd>show port stats 0
Show the output from the previous commands.
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 ######################=
##
RX-packets: 0 RX-missed: 0 RX-bytes: 0
RX-errors: 0
RX-nombuf: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0=20
Throughput (since last show)
Rx-pps: 0 Rx-bps: 0
Tx-pps: 0 Tx-bps: 0
#########################################################################=
###
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 #####################=
###
RX-packets: 0 RX-missed: 0 RX-bytes: 0
RX-errors: 0
RX-nombuf: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0=20=20
Throughput (since last show)
Rx-pps: 0 Rx-bps: 0
Tx-pps: 0 Tx-bps: 0
#########################################################################=
###
[Expected Result
Explain what is the expected result in text or as an example output:
Packets can loop in 2 testpmds.
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 ########################
RX-packets: 46956447 RX-missed: 0 RX-bytes: 290754319824
RX-errors: 0
RX-nombuf: 0
TX-packets: 46956447 TX-errors: 0 TX-bytes: 290754319824=20
Throughput (since last show)
Rx-pps: 394554 Rx-bps: 19544669232
Tx-pps: 394554 Tx-bps: 19544669232
#########################################################################=
###=20=20
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 #####################=
###
RX-packets: 47551390 RX-missed: 0 RX-bytes: 294438206880
RX-errors: 0
RX-nombuf: 0
TX-packets: 47551390 TX-errors: 0 TX-bytes: 294438206880=20=20
Throughput (since last show)
Rx-pps: 395181 Rx-bps: 19575708200
Tx-pps: 395181 Tx-bps: 19575708200
#########################################################################=
###
Regression
Is this issue a regression: (Y/N) Y
Version the regression was introduced: Specify git id if known.
0fd1386c30c3ad9365d7fdd2829bf7cb2e1b9dff is the first bad commit
commit 0fd1386c30c3ad9365d7fdd2829bf7cb2e1b9dff
Author: Stephen Hemminger
Date: Fri Feb 3 11:14:09 2023 -0800
app/testpmd: cleanup cleanly from signal
Do a clean shutdown of testpmd when a signal is received; instead of
having testpmd kill itself. This fixes the problem where a signal could
be received in the middle of a PMD and then the signal handler would
call PMD's close routine leading to locking problems.
The cmdline structure no longer needs to be global it can
just be local to the prompt() function.
An added benefit is it gets rid of some Windows specific code.
Fixes: d9a191a00e81 ("app/testpmd: fix quitting in container")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger
Acked-by: Ferruh Yigit
app/test-pmd/cmdline.c | 29 ++++++++-----------
app/test-pmd/testpmd.c | 77 +++++++++++++++++++++++------------------------=
---
app/test-pmd/testpmd.h | 1 +
3 files changed, 48 insertions, 59 deletions
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--16787657330.dBB58D.4119388
Date: Tue, 14 Mar 2023 04:48:53 +0100
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.dpdk.org/
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
[Environment]
DPDK version: Use make showversion or for a non-released version: git remot=
e -v
&& git show-ref --heads
23.03.0-rc2
Other software versions: N/A
OS: Ubuntu 22.04.1 LTS/Linux 5.15.45-051545-generic
Compiler: gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
Hardware platform: Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz
NIC hardware: N/A
NIC firmware: N/A
[Test Setup]
Steps to reproduce
List the steps to reproduce the issue.
1.Bind 1 CBDMA channel to vfio-pci, then start vhost-user as back-end:=20
dpdk-devbind.py -b vfio-pci 0000:80:04.0
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 28-36 -n 4 -a 0000:80:04.0
--file-prefix=3Dvhost \--vdev
'eth_vhost0,iface=3Dvhost-net0,queues=3D8,client=3D1,\dmas=3D[txq0@0000=
:80:04.0;txq1@0000:80:04.0;txq2@0000:80:04.0;txq3@0000:80:04.0;=
txq4@0000:80:04.0;txq5@0000:80:04.0;rxq2@0000:80:04.0;rxq3@=
0000:80:04.0;rxq4@0000:80:04.0;rxq5@0000:80:04.0;rxq6@0000:80:0=
4.0;rxq7@0000:80:04.0]'--iova=3Dva
-- -i --nb-cores=3D4 --rxq=3D8 --txq=3D8 --txd=3D1024 --rxd=3D1024
2.Start virtio-user as front-end:
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 38-42 -n 4=20
--file-prefix=3Dvirtio-user0 --no-pci=20=20
\--vdev=3Dnet_virtio_user0,mac=3D00:11:22:33:44:10,path=3D./vhost-net0,queu=
es=3D8,mrg_rxbuf=3D1,in_order=3D1,packed_vq=3D1,server=3D1
\-- -i --nb-cores=3D4 --rxq=3D8 --txq=3D8 --txd=3D1024 --rxd=3D1024
testpmd>set fwd csum
testpmd>start
3.Start dpdk-pdump to capture packets:
x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=3Dvirtio-user0 =
-- \
--pdump=20
'device_id=3Dnet_virtio_user0,queue=3D0,rx-dev=3D/root/dpdk/pdump-rx-q0.pca=
p,mbuf-size=3D8000'
--pdump \
'device_id=3Dnet_virtio_user0,queue=3D1,rx-dev=3D/root/dpdk/pdump-rx-q1.pca=
p,mbuf-size=3D8000'
4.Set forwarding mode and send packets from vhost-user(execute this step mu=
st
immediately, we use the automation script to do, it can be reproduced, and =
if I
add time.sleep(1) before this step, it works well):=20
testpmd>set fwd mac
testpmd>set txpkts 64,64,64,2000,2000,2000=20
testpmd>set burst 1=20
testpmd>start tx_first 1
5.Execute the following command to check the front-end can receive the pack=
ets:
testpmd>show port stats 0
Show the output from the previous commands.
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 ######################=
##
RX-packets: 0 RX-missed: 0 RX-bytes: 0
RX-errors: 0
RX-nombuf: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0=20
Throughput (since last show)
Rx-pps: 0 Rx-bps: 0
Tx-pps: 0 Tx-bps: 0
#########################################################################=
###
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 #####################=
###
RX-packets: 0 RX-missed: 0 RX-bytes: 0
RX-errors: 0
RX-nombuf: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0=20=20
Throughput (since last show)
Rx-pps: 0 Rx-bps: 0
Tx-pps: 0 Tx-bps: 0
#########################################################################=
###
[Expected Result
Explain what is the expected result in text or as an example output:
Packets can loop in 2 testpmds.
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 ########################
RX-packets: 46956447 RX-missed: 0 RX-bytes: 290754319824
RX-errors: 0
RX-nombuf: 0
TX-packets: 46956447 TX-errors: 0 TX-bytes: 290754319824=20
Throughput (since last show)
Rx-pps: 394554 Rx-bps: 19544669232
Tx-pps: 394554 Tx-bps: 19544669232
#########################################################################=
###=20=20
testpmd> show port stats 0=20=20
######################## NIC statistics for port 0 #####################=
###
RX-packets: 47551390 RX-missed: 0 RX-bytes: 294438206880
RX-errors: 0
RX-nombuf: 0
TX-packets: 47551390 TX-errors: 0 TX-bytes: 294438206880=20=20
Throughput (since last show)
Rx-pps: 395181 Rx-bps: 19575708200
Tx-pps: 395181 Tx-bps: 19575708200
#########################################################################=
###
Regression
Is this issue a regression: (Y/N) Y
Version the regression was introduced: Specify git id if known.
0fd1386c30c3ad9365d7fdd2829bf7cb2e1b9dff is the first bad commit
commit 0fd1386c30c3ad9365d7fdd2829bf7cb2e1b9dff
Author: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri Feb 3 11:14:09 2023 -0800
app/testpmd: cleanup cleanly from signal
Do a clean shutdown of testpmd when a signal is received; instead of
having testpmd kill itself. This fixes the problem where a signal could
be received in the middle of a PMD and then the signal handler would
call PMD's close routine leading to locking problems.
The cmdline structure no longer needs to be global it can
just be local to the prompt() function.
An added benefit is it gets rid of some Windows specific code.
Fixes: d9a191a00e81 ("app/testpmd: fix quitting in container")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <=
ferruh.yigit@amd.com>
app/test-pmd/cmdline.c | 29 ++++++++-----------
app/test-pmd/testpmd.c | 77 +++++++++++++++++++++++------------------------=
---
app/test-pmd/testpmd.h | 1 +
3 files changed, 48 insertions, 59 deletions