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 CAC6743AD8;
Tue, 20 Feb 2024 04:29:06 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
by mails.dpdk.org (Postfix) with ESMTP id 9BACE402B8;
Tue, 20 Feb 2024 04:29:06 +0100 (CET)
Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178])
by mails.dpdk.org (Postfix) with ESMTP id C71514029B
for ; Tue, 20 Feb 2024 04:29:04 +0100 (CET)
Received: by inbox.dpdk.org (Postfix, from userid 33)
id B88D743B08; Tue, 20 Feb 2024 04:29:04 +0100 (CET)
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/ethdev Bug 1381] TAP device can not support 17 queues
Date: Tue, 20 Feb 2024 03:29:04 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: DPDK
X-Bugzilla-Component: ethdev
X-Bugzilla-Version: 23.11
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: stephen@networkplumber.org
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=17083997440.14e7540f.3325610
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
--17083997440.14e7540f.3325610
Date: Tue, 20 Feb 2024 04:29:04 +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=3D1381
Bug ID: 1381
Summary: TAP device can not support 17 queues
Product: DPDK
Version: 23.11
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: dev@dpdk.org
Reporter: stephen@networkplumber.org
Target Milestone: ---
If you try:
# dpdk-testpmd --log-level=3Dpmd.net.tap:debug -l 1-2 --vdev=3Dnet_tap0 -- =
-i
--rxq=3D8 --txq=3D8
It will fail because:
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
rte_pmd_tap_probe(): Initializing pmd_tap for net_tap0
eth_dev_tap_create(): TAP device on numa 0
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tun_alloc(): Using rt-signal 35
eth_dev_tap_create(): allocated dtap0
Interactive-mode selected
testpmd: create a new mbuf pool : n=3D155456, size=3D2176, socke=
t=3D0
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=3Dpaired and odd forward ports number, the last port=
will
pair with itself.
Configuring Port 0 (socket 0)
tap_dev_configure(): net_tap0: dtap0: TX configured queues number: 8
tap_dev_configure(): net_tap0: dtap0: RX configured queues number: 8
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 0 fd 26
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 0 on fd 26 csum off
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 1 fd 212
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 1 on fd 212 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 2 fd 213
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 2 on fd 213 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 3 fd 214
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 3 on fd 214 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 4 fd 215
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 4 on fd 215 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 5 fd 216
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 5 on fd 216 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 6 fd 217
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 6 on fd 217 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 7 fd 218
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 7 on fd 218 csum o=
ff
tap_setup_queue(): dtap0: dup fd 26 for rx queue qid 0 (219)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 0 on fd 219
tap_setup_queue(): dtap0: dup fd 212 for rx queue qid 1 (220)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 1 on fd 220
tap_setup_queue(): dtap0: dup fd 213 for rx queue qid 2 (221)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 2 on fd 221
tap_setup_queue(): dtap0: dup fd 214 for rx queue qid 3 (222)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 3 on fd 222
tap_setup_queue(): dtap0: dup fd 215 for rx queue qid 4 (223)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 4 on fd 223
tap_setup_queue(): dtap0: dup fd 216 for rx queue qid 5 (224)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 5 on fd 224
tap_setup_queue(): dtap0: dup fd 217 for rx queue qid 6 (225)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 6 on fd 225
tap_setup_queue(): dtap0: dup fd 218 for rx queue qid 7 (226)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 7 on fd 226
EAL: Cannot send more than 8 FDs
tap_mp_req_on_rxtx(): Failed to send start req to secondary 7
This is a regression caused by:
commit c36ce7099c2187926cd62cff7ebd479823554929
Author: Kumara Parameshwaran
Date: Mon Jan 31 20:02:34 2022 +0530
net/tap: fix to populate FDs in secondary process
When a tap device is hotplugged to primary process which in turn
adds the device to all secondary process, the secondary process
does a tap_mp_attach_queues, but the fds are not populated in
the primary during the probe they are populated during the queue_setup,
added a fix to sync the queues during rte_eth_dev_start
Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")
Cc: stable@dpdk.org
Signed-off-by: Kumara Parameshwaran
Reviewed-by: Ferruh Yigit
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--17083997440.14e7540f.3325610
Date: Tue, 20 Feb 2024 04:29:04 +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
If you try:
# dpdk-testpmd --log-level=3Dpmd.net.tap:debug -l 1-2 --vdev=3Dnet_tap0 -- =
-i
--rxq=3D8 --txq=3D8
It will fail because:
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
rte_pmd_tap_probe(): Initializing pmd_tap for net_tap0
eth_dev_tap_create(): TAP device on numa 0
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tun_alloc(): Using rt-signal 35
eth_dev_tap_create(): allocated dtap0
Interactive-mode selected
testpmd: create a new mbuf pool <mb_pool_0>: n=3D155456, size=3D2176,=
socket=3D0
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=3Dpaired and odd forward ports number, the last port=
will
pair with itself.
Configuring Port 0 (socket 0)
tap_dev_configure(): net_tap0: dtap0: TX configured queues number: 8
tap_dev_configure(): net_tap0: dtap0: RX configured queues number: 8
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 0 fd 26
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 0 on fd 26 csum off
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 1 fd 212
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 1 on fd 212 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 2 fd 213
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 2 on fd 213 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 3 fd 214
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 3 on fd 214 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 4 fd 215
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 4 on fd 215 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 5 fd 216
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 5 on fd 216 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 6 fd 217
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 6 on fd 217 csum o=
ff
tun_alloc(): /dev/net/tun Features 00007173
tun_alloc(): Multi-queue support for 16 queues
tun_alloc(): Device name is 'dtap0'
tap_setup_queue(): dtap0: add tx queue for qid 7 fd 218
tap_tx_queue_setup(): TX TUNTAP device name dtap0, qid 7 on fd 218 csum o=
ff
tap_setup_queue(): dtap0: dup fd 26 for rx queue qid 0 (219)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 0 on fd 219
tap_setup_queue(): dtap0: dup fd 212 for rx queue qid 1 (220)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 1 on fd 220
tap_setup_queue(): dtap0: dup fd 213 for rx queue qid 2 (221)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 2 on fd 221
tap_setup_queue(): dtap0: dup fd 214 for rx queue qid 3 (222)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 3 on fd 222
tap_setup_queue(): dtap0: dup fd 215 for rx queue qid 4 (223)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 4 on fd 223
tap_setup_queue(): dtap0: dup fd 216 for rx queue qid 5 (224)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 5 on fd 224
tap_setup_queue(): dtap0: dup fd 217 for rx queue qid 6 (225)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 6 on fd 225
tap_setup_queue(): dtap0: dup fd 218 for rx queue qid 7 (226)
tap_rx_queue_setup(): RX TUNTAP device name dtap0, qid 7 on fd 226
EAL: Cannot send more than 8 FDs
tap_mp_req_on_rxtx(): Failed to send start req to secondary 7
This is a regression caused by:
commit c36ce7099c2187926cd62cff7ebd479823554929
Author: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
Date: Mon Jan 31 20:02:34 2022 +0530
net/tap: fix to populate FDs in secondary process
When a tap device is hotplugged to primary process which in turn
adds the device to all secondary process, the secondary process
does a tap_mp_attach_queues, but the fds are not populated in
the primary during the probe they are populated during the queue_setup,
added a fix to sync the queues during rte_eth_dev_start
Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary pro=
cess")
Cc: stable@dpdk.org
Signed-off-by: Kumara Parameshwaran <kparameshwar@vmware.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>