#
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 ...
|
#
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 ...
|
#
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 ...
|
#
23abee9d |
| 17-Mar-2021 |
Ilya Maximets <i.maximets@ovn.org> |
net/virtio: fix interrupt unregistering for listening socket
virtio_user_dev_server_reconnect() is typically called from the interrupt context while checking the link state:
vhost_user_update_lin
net/virtio: fix interrupt unregistering for listening socket
virtio_user_dev_server_reconnect() is typically called from the interrupt context while checking the link state:
vhost_user_update_link_state() --> virtio_user_dev_server_reconnect()
Under this conditions callback unregistering always fails. This means that listenfd is never unregistered and continue to trigger interrupts. For example, if second client will try to connect to the same socket, the server will receive interrupts infinitely because it will not accept them while listen fd is readable and generates epoll events.
Fix that by moving reconfiguration of interrupts out of the interrupt context to alarm handler.
'virtio_user_dev_delayed_handler' renamed to 'virtio_user_dev_delayed_disconnect_handler' to better reflect its purpose.
Additionally improved error logging around interrupt management.
Fixes: bd8f50a45d0f ("net/virtio-user: support server mode") Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.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 ...
|
#
4173c55a |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move vhost-vDPA data to its backend
As done earlier for Vhost-user and Vhost-kernel, this patch moves the Vhost-vDPA specific data to its backend file.
Signed-off-by: Maxime Coquelin <m
net/virtio: move vhost-vDPA data to its backend
As done earlier for Vhost-user and Vhost-kernel, this patch moves the Vhost-vDPA specific data to its backend file.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
86388a3a |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move vhost-kernel data to its backend
As done earlier for Vhost-user, this patch moves the Vhost-Kernel specific data to its backend file.
Signed-off-by: Maxime Coquelin <maxime.coqueli
net/virtio: move vhost-kernel data to its backend
As done earlier for Vhost-user, this patch moves the Vhost-Kernel specific data to its backend file.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.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 ...
|
#
748e5ea5 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: introduce backend data
The goal of this patch is to introduce backend-specific data in order to better isolate what is backend-specific from what is generic to Virtio-user.
For now, onl
net/virtio: introduce backend data
The goal of this patch is to introduce backend-specific data in order to better isolate what is backend-specific from what is generic to Virtio-user.
For now, only Vhost-user protocol features are moved to Vhost-user backend data.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
7990d039 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
65832c82 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
35a6630e |
| 08-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: add missing backend features negotiation
This patch adds missing backend features negotiation for in Vhost-vDPA. Without it, IOTLB messages v2 could be sent by Virtio-user PMD while not
net/virtio: add missing backend features negotiation
This patch adds missing backend features negotiation for in Vhost-vDPA. Without it, IOTLB messages v2 could be sent by Virtio-user PMD while not supported by the backend.
Fixes: 6b901437056e ("net/virtio: introduce vhost-vDPA backend") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
d7e10ea9 |
| 26-Oct-2020 |
Adrian Moreno <amorenoz@redhat.com> |
net/virtio-user: lock-protect status updates
In order to safely set and get the device status from different threads (e.g: interrupt handlers).
Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Re
net/virtio-user: lock-protect status updates
In order to safely set and get the device status from different threads (e.g: interrupt handlers).
Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
b0395dc8 |
| 26-Oct-2020 |
Adrian Moreno <amorenoz@redhat.com> |
net/virtio-user: fix backend selection if stat fails
If stat fails because the file does not exist, it means that the backend must be vhost-user in server mode.
Also, log the detected backend type.
net/virtio-user: fix backend selection if stat fails
If stat fails because the file does not exist, it means that the backend must be vhost-user in server mode.
Also, log the detected backend type.
Bugzilla ID: 559 Fixes: f908b22ea47a ("net/virtio: move backend type selection to ethdev") Cc: stable@dpdk.org
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
show more ...
|
#
844e4683 |
| 29-Sep-2020 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: split virtio-user start
Move feature bit settings in device start out as an standalone function, so that feature bit could be negotiated at device feature_ok status.
Signed-off-by: Maxi
net/virtio: split virtio-user start
Move feature bit settings in device start out as an standalone function, so that feature bit could be negotiated at device feature_ok status.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
7d62bf6f |
| 29-Sep-2020 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: introduce vhost-vDPA backend type
Backend type is determined by checking char-device major numbers
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Adrian More
net/virtio: introduce vhost-vDPA backend type
Backend type is determined by checking char-device major numbers
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
f908b22e |
| 29-Sep-2020 |
Adrian Moreno <amorenoz@redhat.com> |
net/virtio: move backend type selection to ethdev
This is a preparation patch with no functional change.
Use an enum instead of a boolean for the backend type. Move the detection logic to the ethde
net/virtio: move backend type selection to ethdev
This is a preparation patch with no functional change.
Use an enum instead of a boolean for the backend type. Move the detection logic to the ethdev layer (where it is needed for the first time). The virtio_user_dev stores the backend type in the virtio_user_dev struct so the type is only determined once
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
0b0dc66c |
| 05-Aug-2020 |
Adrian Moreno <amorenoz@redhat.com> |
net/virtio-user: support vhost status getting
This patch adds support for VHOST_USER_GET_STATUS request.
Only vhost-user backed is supported for now
Signed-off-by: Adrian Moreno <amorenoz@redhat.c
net/virtio-user: support vhost status getting
This patch adds support for VHOST_USER_GET_STATUS request.
Only vhost-user backed is supported for now
Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
57912824 |
| 05-Aug-2020 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: support vhost status setting
This patch adds support for VHOST_USER_SET_STATUS request. It is used to make the backend aware of Virtio devices status update.
It is useful for the b
net/virtio-user: support vhost status setting
This patch adds support for VHOST_USER_SET_STATUS request. It is used to make the backend aware of Virtio devices status update.
It is useful for the backend to know when the Virtio driver is done with the Virtio device configuration.
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
show more ...
|
#
d0131e49 |
| 28-Jul-2020 |
Xiao Wang <xiao.w.wang@intel.com> |
net/virtio-user: fix status management
Apart from the virtio status, there should be also a network related status for link status management, current implementation mixes up these two statuses.
On
net/virtio-user: fix status management
Apart from the virtio status, there should be also a network related status for link status management, current implementation mixes up these two statuses.
One issue caused by this mixup is when virtio-user running in server mode and vhost as a client connects to it, a RARP packet will be generated by virtio-user due to VIRTIO_NET_S_ANNOUNCE bit is detected in the "status" in interrupt handler.
VIRTIO_NET_S_LINK_UP and VIRTIO_NET_S_ANNOUNCE should be managed by a separated field. This patch adds a "net_status" field for this purpose.
Fixes: e9efa4d93821 ("net/virtio-user: add new virtual PCI driver") Cc: stable@dpdk.org
Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Xiao Wang <xiao.w.wang@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
8e756105 |
| 03-Jul-2020 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: support vhost-user protocol features
This patch adds support for Vhost-user protocol features. It is required to support protocol features that were not in initial Vhost-user specificati
net/virtio: support vhost-user protocol features
This patch adds support for Vhost-user protocol features. It is required to support protocol features that were not in initial Vhost-user specification, such as reply-ack, MTU...
Also, this patch prevents Virtio multiqueue feature negotiation if the slave does not support MQ protocol feature as stated in Vhost-user specification: "The multiple queues feature is supported only when the protocol feature ``VHOST_USER_PROTOCOL_F_MQ`` (bit 0) is set."
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|