#
ff11fc60 |
| 05-Aug-2024 |
Kommula Shiva Shankar <kshankar@marvell.com> |
net/virtio-user: reset used index counter
When the virtio device is reinitialized during ethdev reconfiguration, all the virtio rings are recreated and repopulated on the device. Accordingly, reset
net/virtio-user: reset used index counter
When the virtio device is reinitialized during ethdev reconfiguration, all the virtio rings are recreated and repopulated on the device. Accordingly, reset the used index counter value back to zero.
Fixes: 48a4464029a7 ("net/virtio-user: support control VQ for packed") Cc: stable@dpdk.org
Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
52901852 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: use proper type for number of queue pairs
The number of queue pairs is specified as a 16 bits unsigned int in the Virtio specification.
Signed-off-by: Maxime Coquelin <maxime.coque
net/virtio-user: use proper type for number of queue pairs
The number of queue pairs is specified as a 16 bits unsigned int in the Virtio specification.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
c1a6f787 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix device starting failure handling
If the device fails to start, read the status from the device and return early.
Fixes: 57912824615f ("net/virtio-user: support vhost status set
net/virtio-user: fix device starting failure handling
If the device fails to start, read the status from the device and return early.
Fixes: 57912824615f ("net/virtio-user: support vhost status setting") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
4851ef2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentat
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
edca47a1 |
| 23-Dec-2021 |
Harold Huang <baymaxhuang@gmail.com> |
net/virtio-user: fix resource leak on probing failure
When eth_virtio_dev_init is failed, the registered virtio user memory event cb is not released and the backend created tap device is not destroy
net/virtio-user: fix resource leak on probing failure
When eth_virtio_dev_init is failed, the registered virtio user memory event cb is not released and the backend created tap device is not destroyed. It would cause some residual tap device existed in the host and creating a new vdev could be failed because the new virtio_user_dev could use the same address pointer and register memory event cb to the same address is not allowed.
Fixes: ca8326a94365 ("net/virtio_user: fix error management during init") Cc: stable@dpdk.org
Signed-off-by: Harold Huang <baymaxhuang@gmail.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
ba55c94a |
| 30-Sep-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: revert forcing IOVA as VA mode for virtio-user
This patch removes the simplification in Virtio descriptors handling, where their buffer addresses are IOVAs for Virtio PCI devices, and VA
net/virtio: revert forcing IOVA as VA mode for virtio-user
This patch removes the simplification in Virtio descriptors handling, where their buffer addresses are IOVAs for Virtio PCI devices, and VA-only for Virtio-user devices, which added a requirement on Virtio-user that it only supported IOVA as VA.
This change introduced a regression for applications using Virtio-user and other physical PMDs that require IOVA as PA because they don't use an IOMMU.
This patch reverts to the old behaviour, but needed to be reworked because of the refactoring that happened in v21.02.
Fixes: 17043a2909bb ("net/virtio: force IOVA as VA mode for virtio-user") Cc: stable@dpdk.org
Reported-by: Olivier Matz <olivier.matz@6wind.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Tested-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
f3854eba |
| 16-Sep-2021 |
Thomas Monjalon <thomas@monjalon.net> |
net/virtio: remove blank lines in log
The macros PMD_*_LOG already include the line feed character. Redundant \n are removed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: David
net/virtio: remove blank lines in log
The macros PMD_*_LOG already include the line feed character. Redundant \n are removed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
c995b005 |
| 17-Jun-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: add MAC device config getter and setter
This patch uses the new device config ops to get and set the MAC address if supported.
If a valid MAC address is passed as devarg of the Virtio-u
net/virtio: add MAC device config getter and setter
This patch uses the new device config ops to get and set the MAC address if supported.
If a valid MAC address is passed as devarg of the Virtio-user PMD, the driver will try to store it in the device config space. Otherwise the one provided in the device config space will be used, if available.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
f078c2f0 |
| 17-Jun-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: keep device and frontend features separated
This patch is preliminary rework to add support for getting and setting device's config space.
In order to get or set a device config such as
net/virtio: keep device and frontend features separated
This patch is preliminary rework to add support for getting and setting device's config space.
In order to get or set a device config such as its MAC address, we need to know whether the device itself support the feature, or if it is emulated by the frontend.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
9f528374 |
| 21-Apr-2021 |
Chengwen Feng <fengchengwen@huawei.com> |
net/virtio: fix getline memory leakage
This patch fixes getline memory leakage when parsing dynamic major num.
Fixes: 7d62bf6f54ba ("net/virtio: introduce vhost-vDPA backend type") Cc: stable@dpdk.
net/virtio: fix getline memory leakage
This patch fixes getline memory leakage when parsing dynamic major num.
Fixes: 7d62bf6f54ba ("net/virtio: introduce vhost-vDPA backend type") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
6564ddcd |
| 01-Feb-2021 |
David Marchand <david.marchand@redhat.com> |
net/virtio: remove duplicated port ID from virtio-user
The private virtio_user_dev structure embeds a virtio_hw which itself contains the ethdev port_id. Make use of it and remove the duplicate port
net/virtio: remove duplicated port ID from virtio-user
The private virtio_user_dev structure embeds a virtio_hw which itself contains the ethdev port_id. Make use of it and remove the duplicate port_id field.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
3169550f |
| 16-Mar-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: remove reference to virtqueue in vrings
Vrings are part of the virtqueues, so we don't need to have a pointer to it in Vrings descriptions.
Instead, let's just subtract from its offset
net/virtio: remove reference to virtqueue in vrings
Vrings are part of the virtqueues, so we don't need to have a pointer to it in Vrings descriptions.
Instead, let's just subtract from its offset to calculate virtqueue address.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com> Tested-by: Balazs Nemeth <bnemeth@redhat.com>
show more ...
|
#
94973531 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move vhost-user specifics to its backend
This patch moves all the Vhost-user backend specific logic like Vhost FD, listen FD and interrupt handling to the vhost-user backend implementati
net/virtio: move vhost-user specifics to its backend
This patch moves all the Vhost-user backend specific logic like Vhost FD, listen FD and interrupt handling to the vhost-user backend implementation.
In order to achieve that, new ops are created to update the link status, disconnect and reconnect the server, and fetch the link state interrupt FD.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
5b75b63c |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move protocol features to vhost-user
Since only protocol features are specific to Vhost-user backend, this patch moves all related code to Vhost-user file.
Signed-off-by: Maxime Coqueli
net/virtio: move protocol features to vhost-user
Since only protocol features are specific to Vhost-user backend, this patch moves all related code to Vhost-user file.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
9af79db2 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: make server mode blocking
This patch makes the Vhost-user backend server mode blocking at init, waiting for the client connection.
The goal is to make the driver more reliable, as witho
net/virtio: make server mode blocking
This patch makes the Vhost-user backend server mode blocking at init, waiting for the client connection.
The goal is to make the driver more reliable, as without waiting for client connection, the Virtio driver has to assume the Vhost-user backend will support all the features it has advertized, which could lead to undefined behaviour.
For example, without this patch, if the user enables packed ring Virtio feature but the backend does not support it, the ring initialized by the driver will not be compatible with the backend.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
6c251919 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: add virtio-user protocol features ops
This patch introduces new callbacks for getting and setting Vhost-user protocol features.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.co
net/virtio: add virtio-user protocol features ops
This patch introduces new callbacks for getting and setting Vhost-user protocol features.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|