Hi Kyle,
On 12/1/2017 6:27 AM, Kyle Larose wrote:
Hey Jianfeng,
-----Original Message-----
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Jianfeng Tan
Sent: Thursday, November 30, 2017 1:59 PM
To: dev@dpdk.org
Cc: Jianfeng Tan
Subject: [dpdk-dev] [PATCH] bus/vdev: scan and probe vdev in
secondary processes
Base on primary/secondary communication channel [1], we add vdev
action to scan virtual devices in secondary processes.
[1] http://dpdk.org/dev/patchwork/patch/31838/
Signed-off-by: Jianfeng Tan <jianfeng....@intel.com>
---
drivers/bus/vdev/vdev.c | 104
++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 100 insertions(+), 4 deletions(-)
We recently stumbled across a problem where running dpdk-pdump against
a primary which had an rte_eth_bond virtual device would lead to a crash.
We realized this was happening because the vdev bus wasn't being built
properly on the secondary, leading to it corrupting the ethdev structures
for the eth_bond device on the primary. This corruption occurred because pdump
used what it thought was the first free dpdk port id for its pcap_pmd. That
port id collided with the eth_bond pmd, causing the problem.
My feeling is that this patch will fix that problem, since probing the virtual
bus from the primary, rather than just from the eal cmdline arguments, will
allow the secondary to choose an used port id. Am I correct in my understanding?
Yes, that's an issue we want to address in this patch set: those portid
(either physical port or virtual port) will be synchronized to
secondary, if the secondary wants to add port (private to the
secondary), it will use unused portid.
But we still not address the problem that, both the primary and the
secondary are allocating new devices which needs a centralized portid
management mechanism.
Thanks,
Jianfeng
Thanks,
Kyle