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



Reply via email to