Hi Antonio,

On 10/9/23 19:48, Antonio Di Bacco wrote:
Hi Maxime,

trying to follow the steps at the link provided:


sage:
======

1. Probe required Kernel modules
# modprobe vdpa
# modprobe vduse
# modprobe virtio-vdpa

2. Build (require vduse kernel headers to be available)
# meson build
# ninja -C build

3. Create a VDUSE device (vduse0) using Vhost PMD with
testpmd (with 4 queue pairs in this example)
# ./build/app/dpdk-testpmd --no-pci
--vdev=net_vhost0,iface=/dev/vduse/vduse0,queues=4 --log-level=*:9  --
-i --txq=4 --rxq=4

4. Attach the VDUSE device to the vDPA bus
# vdpa dev add name vduse0 mgmtdev vduse

I'm stuck at step 4, with an error:

manderwo@fetgem01:~$ sudo vdpa dev add name vduse0 mgmtdev vduse
kernel answers: Invalid argument
manderwo@fetgem01:~$ vdpa mgmtdev show
vduse:
   supported_classes block
manderwo@fetgem01:~$

Do you know what could be wrong?

I guess you don't have the kernel patches applied, a recent branch can be found on my gitlab aacount.
You can find instructions here:

https://gitlab.com/mcoquelin/vduse-doc/-/blob/master/SETUP.md?ref_type=heads#kernel

Maxime


Thank you in advance,
Antonio.

On Wed, Oct 4, 2023 at 9:50 AM Maxime Coquelin
<[email protected]> wrote:



On 10/4/23 09:42, Antonio Di Bacco wrote:
Thank you for your info that are giving me the right heads up
To experiment with VDUSE and share a virtual network interface (I
don't have a physical NIC) between the Linux kernel and DPDK using
VDUSE, I'm about to follow these steps:

Load Required Kernel Modules:
modprobe vduse
Create /dev/vdpa0 device with:
vdpa -d /dev/vdpa0 -n my_vdpa_driver -q queue_count

I wonder which vdpa_driver should I use, I don't have a real NIC
After having this vdpa0 interface up I can run my DPDK application:

./my_dpdk_app --vdev "net_vdpa0,iface=/dev/vdpa0"

You will use the Vhost PMD in this case (alternative is to use the Vhost
API directly).

Maybe I missed to add steps with Vhost PMD in my doc repo, I'll improve
it but in the mean time you can refer to the steps provided in the DPDK
VDUSE series cover letter:
https://inbox.dpdk.org/dev/[email protected]/T/

Please read the vduse documentation on my gitlab repo anyways, it
provides pointers on the missing Kernel patches (being upstreamed).

Maxime


Regards,
Antonio.

On Wed, Oct 4, 2023 at 9:08 AM Maxime Coquelin
<[email protected]> wrote:



On 10/4/23 08:17, David Marchand wrote:
On Tue, Oct 3, 2023 at 6:01 PM Stephen Hemminger
<[email protected]> wrote:

On Tue, 3 Oct 2023 10:49:16 +0200
Antonio Di Bacco <[email protected]> wrote:

I understand, could we use another solution ? Like a memif  interface
in DPDK and libmemif in Linux?

The issue is accessing kernel networking devices. Both virtio user
and XDP are faster for that. Memif is for doing process to process networking.

For dpdk <-> kernel, as you are mentioning virtio-user/vhost, let me
add that there is some activity on this side, with VDUSE.

Maxime is working on the VDUSE kernel and dpdk bits.
He gave a talk about the current status during the summit and some
performance numbers:
https://dpdksummit2023.sched.com/event/1P9xA/vduse-performance-how-fast-is-it-maxime-coquelin-red-hat



Thanks for sharing David.
I'd like just to add some more information on VDUSE if you want to
experiment with VDUSE, which is still under development:
https://gitlab.com/mcoquelin/vduse-doc

Maxime





Reply via email to