|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <[email protected]> |
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 <[email protected]>
show more ...
|
| #
edca47a1 |
| 23-Dec-2021 |
Harold Huang <[email protected]> |
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: [email protected]
Signed-off-by: Harold Huang <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1 |
|
| #
ba55c94a |
| 30-Sep-2021 |
Maxime Coquelin <[email protected]> |
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: [email protected]
Reported-by: Olivier Matz <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Tested-by: Olivier Matz <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
f3854eba |
| 16-Sep-2021 |
Thomas Monjalon <[email protected]> |
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 <[email protected]> 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 <[email protected]> Reviewed-by: David Marchand <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
c995b005 |
| 17-Jun-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
f078c2f0 |
| 17-Jun-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
9f528374 |
| 21-Apr-2021 |
Chengwen Feng <[email protected]> |
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: [email protected]
Signed-off-by: Chengwen Feng <[email protected]> Signed-off-by: Min Hu (Connor) <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3 |
|
| #
6564ddcd |
| 01-Feb-2021 |
David Marchand <[email protected]> |
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 <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
| #
3169550f |
| 16-Mar-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]> Reviewed-by: David Marchand <[email protected]> Tested-by: Balazs Nemeth <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc2 |
|
| #
94973531 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
5b75b63c |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
9af79db2 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
6c251919 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
cc0151b3 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: add virtio-user features ops
This patch introduces new callbacks for getting and setting Virtio features, and implements them for the different backend types.
Signed-off-by: Maxime Coqu
net/virtio: add virtio-user features ops
This patch introduces new callbacks for getting and setting Virtio features, and implements them for the different backend types.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
df968842 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move vring alignment to generic header
This patch moves vring alignment define to the generic Virtio header.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Che
net/virtio: move vring alignment to generic header
This patch moves vring alignment define to the generic Virtio header.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
6a504290 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: make interrupt handling more generic
This patch aims at isolating MSIX notion into PCI layer.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: David Marchand <da
net/virtio: make interrupt handling more generic
This patch aims at isolating MSIX notion into PCI layer.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
9328e105 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move config definitions to generic header
This patch moves config and status definitions from the PCI header to the generic one.
Signed-off-by: Maxime Coquelin <[email protected]
net/virtio: move config definitions to generic header
This patch moves config and status definitions from the PCI header to the generic one.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
b4f9a45a |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move features definition to generic header
This patch moves all the Virtio definition to the generic header. It also renames some helpers to no more reference PCI.
Signed-off-by: Maxime
net/virtio: move features definition to generic header
This patch moves all the Virtio definition to the generic header. It also renames some helpers to no more reference PCI.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
f8b60756 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: introduce generic virtio header
This patch moves virtio_hw and virtio callbacks into a generic virtio header, now that they have been curated from PCI references.
Signed-off-by: Maxime
net/virtio: introduce generic virtio header
This patch moves virtio_hw and virtio callbacks into a generic virtio header, now that they have been curated from PCI references.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
c4fa9cc7 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: remove bus type enum
Bus type awareness at the generic ethdev level is no more needed as previous patches have made it bus-agnostic.
This patch removes it from struct virtio_hw.
Signed
net/virtio: remove bus type enum
Bus type awareness at the generic ethdev level is no more needed as previous patches have made it bus-agnostic.
This patch removes it from struct virtio_hw.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
cbb135b3 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: validate features at bus level
This patch provides a new callback for the bus type to validate negotiated features are compatible with it.
Only user for now is PCI modern bus type, whic
net/virtio: validate features at bus level
This patch provides a new callback for the bus type to validate negotiated features are compatible with it.
Only user for now is PCI modern bus type, which implies that the device supports Virtio 1.0+.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
f12908c8 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: add callback for device closing
This patch introduces a new callback for device closing, making virtio_dev_close() bus-agnostic.
Signed-off-by: Maxime Coquelin <[email protected]
net/virtio: add callback for device closing
This patch introduces a new callback for device closing, making virtio_dev_close() bus-agnostic.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
17043a29 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: force IOVA as VA mode for virtio-user
At least Vhost-user backend of Virtio-user PMD requires IOVA as VA mode. Until now, it was implemented as a hack by forcing to use mbuf's buf_addr f
net/virtio: force IOVA as VA mode for virtio-user
At least Vhost-user backend of Virtio-user PMD requires IOVA as VA mode. Until now, it was implemented as a hack by forcing to use mbuf's buf_addr field instead of buf_iova.
This patch removes all this logic and just fails probing if IOVA as VA mode is not selected. It simplifies the code overall, and removes some bus-specific logic from generic virtio_ethdev.c.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
65832c82 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
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 <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
0cd63b6f |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: introduce virtio bus type
This patch is preliminary work for introducing a bus layer in Virtio PMD, in order to improve Virtio-user integration.
A new bus type is added to provide a uni
net/virtio: introduce virtio bus type
This patch is preliminary work for introducing a bus layer in Virtio PMD, in order to improve Virtio-user integration.
A new bus type is added to provide a unified way to distinguish which bus type is used (PCI modern, PCI legacy or Virtio-user).
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|