History log of /dpdk/drivers/net/virtio/virtio_user/virtio_user_dev.c (Results 1 – 25 of 135)
Revision Date Author Comments
# 1af8b0b2 14-Dec-2023 David Marchand <david.marchand@redhat.com>

drivers: split multilines log messages

Prepare for RTE_LOG_LINE conversion.

Signed-off-by: David Marchand <david.marchand@redhat.com>


# f665790a 13-Dec-2023 David Marchand <david.marchand@redhat.com>

drivers: remove redundant newline from logs

Fix places where two newline characters may be logged.

Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen

drivers: remove redundant newline from logs

Fix places where two newline characters may be logged.

Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


# 71a98628 12-Jul-2024 Srujana Challa <schalla@marvell.com>

net/virtio-user: fix CQ descriptor address for non-vDPA

This patch modifies the code to convert descriptor buffer IOVA
addresses to virtual addresses only when use_va flag is false.

This patch fixe

net/virtio-user: fix CQ descriptor address for non-vDPA

This patch modifies the code to convert descriptor buffer IOVA
addresses to virtual addresses only when use_va flag is false.

This patch fixes segmentation fault with vhost-user backend.

Fixes: cb5043cb0ca6 ("net/virtio-user: convert IOVA address to virtual")

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Srujana Challa <schalla@marvell.com>

show more ...


# 8b04c3e5 03-Jul-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: fix control queue allocation for non-vDPA

For non-vDPA backends, where the backend does not support
control queue, it is still emulated in the Virtio-user
layer to handle multiqueue

net/virtio-user: fix control queue allocation for non-vDPA

For non-vDPA backends, where the backend does not support
control queue, it is still emulated in the Virtio-user
layer to handle multiqueue feature. The frontend setups a
control queue, which is hidden to the device. It means the
number of vrings metadata to allocate should be based on
the frontend features and not the device features.

This patch fixes out-of-range access reported by ASan,
which could sometimes be noticed at exit time by a
segmentation fault when disabled:

Fixes: b80947743f5e ("net/virtio-user: fix control queue allocation")
Cc: stable@dpdk.org

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

show more ...


# 666ef294 03-Jul-2024 Srujana Challa <schalla@marvell.com>

net/virtio-user: share descriptor IOVA to backend

Add support to share descriptor IOVA to the vhost backend.
This makes virtio_user driver works in IOVA as PA mode when
use_va flag is disabled.
This

net/virtio-user: share descriptor IOVA to backend

Add support to share descriptor IOVA to the vhost backend.
This makes virtio_user driver works in IOVA as PA mode when
use_va flag is disabled.
This patch also disables use_va flag for VDPA backend.

Signed-off-by: Srujana Challa <schalla@marvell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

show more ...


# cb5043cb 03-Jul-2024 Srujana Challa <schalla@marvell.com>

net/virtio-user: convert IOVA address to virtual

This patch modifies the code to convert descriptor buffer IOVA
addresses to virtual addresses during the processing of shadow
control queue when IOVA

net/virtio-user: convert IOVA address to virtual

This patch modifies the code to convert descriptor buffer IOVA
addresses to virtual addresses during the processing of shadow
control queue when IOVA mode is PA. This change enables Virtio-user
to operate with IOVA as the descriptor buffer address.

Signed-off-by: Srujana Challa <schalla@marvell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

show more ...


# b8094774 28-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: fix control queue allocation

It is possible to have the control queue without the
device advertising VIRTIO_NET_F_MQ.

Rely on the VIRTIO_NET_F_CTRL_VQ feature being advertised
inst

net/virtio-user: fix control queue allocation

It is possible to have the control queue without the
device advertising VIRTIO_NET_F_MQ.

Rely on the VIRTIO_NET_F_CTRL_VQ feature being advertised
instead.

Fixes: 6fdf32d1e318 ("net/virtio-user: remove max queues limitation")
Cc: stable@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>

show more ...


# 4de6c17a 28-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: fix shadow control queue notification init

The Virtio-user control queue kick and call FDs were not
uninitialized at device stop time.

This patch fixes this using the queues iterat

net/virtio-user: fix shadow control queue notification init

The Virtio-user control queue kick and call FDs were not
uninitialized at device stop time.

This patch fixes this using the queues iterator helper for
both initialization and uninitialization.

Fixes: 90966e8e5b67 ("net/virtio-user: send shadow virtqueue info to the backend")
Cc: stable@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>

show more ...


# bffcdad5 28-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: fix control queue destruction

This patch uses the freshly renamed iterator to destroy
queues at stop time. Doing this, we fix the missing
control queue destruction.

Fixes: 90966e8e

net/virtio-user: fix control queue destruction

This patch uses the freshly renamed iterator to destroy
queues at stop time. Doing this, we fix the missing
control queue destruction.

Fixes: 90966e8e5b67 ("net/virtio-user: send shadow virtqueue info to the backend")
Cc: stable@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>

show more ...


# 0f5d532a 28-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: rename queue iterator

This is a preliminary rework to prepare for iterating
over queues for non-setup operations.

Also, remove the error log that does not provide much
information

net/virtio-user: rename queue iterator

This is a preliminary rework to prepare for iterating
over queues for non-setup operations.

Also, remove the error log that does not provide much
information given the callbacks already provide one.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>

show more ...


# 735cc250 20-Feb-2024 Nithin Dabilpuram <ndabilpuram@marvell.com>

net/virtio-user: add order platform flag to feature list

VIRTIO_F_ORDER_PLATFORM is needed feature when working with
real HW platforms that are exposing virtio-net devices
via VDPA framework. This f

net/virtio-user: add order platform flag to feature list

VIRTIO_F_ORDER_PLATFORM is needed feature when working with
real HW platforms that are exposing virtio-net devices
via VDPA framework. This feature helps in having more
real ordering requirements between descriptor updates and
notification data updates. Hence enable it if the
device supports the feature.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>

show more ...


# e12a0166 14-May-2024 Tyler Retzlaff <roretzla@linux.microsoft.com>

drivers: use stdatomic API

Replace the use of gcc builtin __atomic_xxx intrinsics with
corresponding rte_atomic_xxx optional rte stdatomic API.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microso

drivers: use stdatomic API

Replace the use of gcc builtin __atomic_xxx intrinsics with
corresponding rte_atomic_xxx optional rte stdatomic API.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

show more ...


# cd218549 13-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio: fix notification area initialization

Notification area is a Virtio feature that requires to be
negotiated because not all devices support it. Currently,
it is tried to be initialized as

net/virtio: fix notification area initialization

Notification area is a Virtio feature that requires to be
negotiated because not all devices support it. Currently,
it is tried to be initialized as soon as the backend
implements the callback, so it assumes all Vhost-vDPA
devices support it.

This patch skips calling the notification area map callback
if the device does not advertise its support.

Fixes: 0fd2782660c8 ("net/virtio-user: support notification area mapping")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

show more ...


# 58c89415 13-Mar-2024 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio: fix vDPA device init advertising control queue

If the vDPA device advertises control queue support, but
the user neither passes "cq=1" as devarg nor requests
multiple queues, the initial

net/virtio: fix vDPA device init advertising control queue

If the vDPA device advertises control queue support, but
the user neither passes "cq=1" as devarg nor requests
multiple queues, the initialization fails because the
driver tries to setup the control queue without negotiating
related feature.

This patch enables the control queue at driver level as
soon as the device claims to support it, and not only when
multiple queue pairs are requested. Also, enable the
control queue event if multiqueue feature has not been
negotiated and device start time, and disable it at device
stop time.

Fixes: b277308e8868 ("net/virtio-user: advertise control VQ support with vDPA")
Cc: stable@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

show more ...


# dbce501e 23-Jan-2024 Srujana Challa <schalla@marvell.com>

net/virtio-user: support RSS

This patch introduces new function to get RSS device config
and adds code to forward the RSS control command to backend
through hw control queue if RSS feature is negoti

net/virtio-user: support RSS

This patch introduces new function to get RSS device config
and adds code to forward the RSS control command to backend
through hw control queue if RSS feature is negotiated.
This patch will help to negotiate VIRTIO_NET_F_RSS feature
if vhost-vdpa backend supports RSS in HW.

Signed-off-by: Srujana Challa <schalla@marvell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

show more ...


# 0fd27826 23-Jan-2024 Srujana Challa <schalla@marvell.com>

net/virtio-user: support notification area mapping

This patch introduces new virtio-user callbacks to map the vq
notification area and implements it for the vhost-vDPA backend.
This is simply done b

net/virtio-user: support notification area mapping

This patch introduces new virtio-user callbacks to map the vq
notification area and implements it for the vhost-vDPA backend.
This is simply done by using mmap()/munmap() for the vhost-vDPA fd.

And also adds code to write to queue notify address in notify callback.
This will help in increasing the kick performance.

Signed-off-by: Srujana Challa <schalla@marvell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

show more ...


# c8254ef1 13-Apr-2023 David Marchand <david.marchand@redhat.com>

net/virtio-user: fix leak when initialisation fails

Caught with ASan.
If initialising a virtio_user port fails, we may leak the ifname passed
via a devargs.

Fixes: 4214a1b493f2 ("net/virtio-user: s

net/virtio-user: fix leak when initialisation fails

Caught with ASan.
If initialising a virtio_user port fails, we may leak the ifname passed
via a devargs.

Fixes: 4214a1b493f2 ("net/virtio-user: support changing tap interface name")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

show more ...


# f9eb7a4b 02-Mar-2023 Tyler Retzlaff <roretzla@linux.microsoft.com>

use atomic intrinsics closer to C11

Use __atomic_fetch_{add,and,or,sub,xor} instead of
__atomic_{add,and,or,sub,xor}_fetch when we have no interest in the
result of the operation.

This change reduc

use atomic intrinsics closer to C11

Use __atomic_fetch_{add,and,or,sub,xor} instead of
__atomic_{add,and,or,sub,xor}_fetch when we have no interest in the
result of the operation.

This change reduces unnecessary code that provided the result of the
atomic operation while this result was not used.

It also brings us to a closer alignment with atomics available in C11
standard and will reduce review effort when they are integrated.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

show more ...


# be26e898 17-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: fix vhost-kernel initialization

This patch fixes a regression causing devices with
Vhost-kernel backends initialization to fail.

Indeed, Vhost-kernel backend init expects
dev->max_

net/virtio-user: fix vhost-kernel initialization

This patch fixes a regression causing devices with
Vhost-kernel backends initialization to fail.

Indeed, Vhost-kernel backend init expects
dev->max_queue_pairs to be set at setup time, while its
assignment was moved after backend setup when adding
control queue support for Vhost-vdpa backends.

It is safe to set dev->max_queue_pairs early for
Vhost-kernel backends as if the backend does not support
multiqueue, its setup will fail.

Bugzilla ID: 1161
Fixes: 7be724856315 ("net/virtio-user: get max number of queue pairs from device")

Reported-by: Wei Ling <weix.ling@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>

show more ...


# 6fdf32d1 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: remove max queues limitation

This patch removes the limitation of 8 queue pairs by
dynamically allocating vring metadata once we know the
maximum number of queue pairs supported by

net/virtio-user: remove max queues limitation

This patch removes the limitation of 8 queue pairs by
dynamically allocating vring metadata once we know the
maximum number of queue pairs supported by the backend.

This is especially useful for Vhost-vDPA with physical
devices, where the maximum queues supported may be much
more than 8 pairs.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>

show more ...


# fcdb603a 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: forward control messages to shadow queue

This patch implements control messages forwarding from the
regular control queue to the shadow control queue.

Signed-off-by: Maxime Coqueli

net/virtio-user: forward control messages to shadow queue

This patch implements control messages forwarding from the
regular control queue to the shadow control queue.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>

show more ...


# 9eb56fb2 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: add callback to enable control queue

This patch introduces a new callback that is to be called
when the backend supports control virtqueue.

Implementation for Vhost-vDPA backend is

net/virtio-user: add callback to enable control queue

This patch introduces a new callback that is to be called
when the backend supports control virtqueue.

Implementation for Vhost-vDPA backend is added in this patch.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>

show more ...


# 90966e8e 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: send shadow virtqueue info to the backend

This patch adds sending the shadow control queue info
to the backend.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed

net/virtio-user: send shadow virtqueue info to the backend

This patch adds sending the shadow control queue info
to the backend.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>

show more ...


# 66b45cea 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: allocate shadow control queue

If the backends supports control virtqueue, allocate a
shadow control virtqueue, and implement the notify callback
that writes into the kickfd.

Signed

net/virtio-user: allocate shadow control queue

If the backends supports control virtqueue, allocate a
shadow control virtqueue, and implement the notify callback
that writes into the kickfd.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>

show more ...


# 7be72485 09-Feb-2023 Maxime Coquelin <maxime.coquelin@redhat.com>

net/virtio-user: get max number of queue pairs from device

When supported by the backend (only vDPA for now), this
patch gets the maximum number of queue pairs supported by
the device by querying it

net/virtio-user: get max number of queue pairs from device

When supported by the backend (only vDPA for now), this
patch gets the maximum number of queue pairs supported by
the device by querying it in its config space.

This is required for adding backend control queue support,
as is index equals the maximum number of queues supported
by the device as described by the Virtio specification.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>

show more ...


123456