tap device speed

Antonio Di Bacco a.dibacco.ks at gmail.com
Mon Oct 9 19:48:12 CEST 2023


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 at fetgem01:~$ sudo vdpa dev add name vduse0 mgmtdev vduse
kernel answers: Invalid argument
manderwo at fetgem01:~$ vdpa mgmtdev show
vduse:
  supported_classes block
manderwo at fetgem01:~$

Do you know what could be wrong?

Thank you in advance,
Antonio.

On Wed, Oct 4, 2023 at 9:50 AM Maxime Coquelin
<maxime.coquelin at redhat.com> 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/7f72500a-5317-c66d-3f36-2fd65c874b47@redhat.com/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
> > <maxime.coquelin at redhat.com> wrote:
> >>
> >>
> >>
> >> On 10/4/23 08:17, David Marchand wrote:
> >>> On Tue, Oct 3, 2023 at 6:01 PM Stephen Hemminger
> >>> <stephen at networkplumber.org> wrote:
> >>>>
> >>>> On Tue, 3 Oct 2023 10:49:16 +0200
> >>>> Antonio Di Bacco <a.dibacco.ks at gmail.com> 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
> >>
> >
>


More information about the users mailing list