#
1c1b35b5 |
| 02-Mar-2023 |
Chengwen Feng <fengchengwen@huawei.com> |
net/virtio: fix empty devargs parsing
The rte_kvargs_process() was used to parse KV pairs, it also supports to parse 'only keys' (e.g. socket_id) type. And the callback function parameter 'value' is
net/virtio: fix empty devargs parsing
The rte_kvargs_process() was used to parse KV pairs, it also supports to parse 'only keys' (e.g. socket_id) type. And the callback function parameter 'value' is NULL when parsed 'only keys'.
This patch fixes segment fault when parse input args with 'only keys' (e.g. vectorized,vdpa).
Fixes: 4710e16a4a7b ("net/virtio: add parameter to enable vectorized path") Fixes: 44d7b2e87b69 ("net/virtio: refactor devargs parsing") Fixes: 440f03c25378 ("net/virtio: skip device probe in vDPA mode") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
1acb7f54 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver defi
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_driver objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
#
1f37cb2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/pci: make driver-only headers private
The pci 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 indentatio
bus/pci: make driver-only headers private
The pci 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: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
5729407f |
| 06-Jun-2022 |
Yuan Wang <yuanx.wang@intel.com> |
net/virtio: unmap PCI device in secondary process
In multi-process, the secondary process will remap PCI during initialization, but the mapping is not removed in the uninit path, the device is not c
net/virtio: unmap PCI device in secondary process
In multi-process, the secondary process will remap PCI during initialization, but the mapping is not removed in the uninit path, the device is not closed, and the device busy error will be reported when the device is hotplugged.
This patch unmaps PCI device at secondary process uninitialization based on virtio_rempa_pci.
Fixes: 36a7a2e7a53f ("net/virtio: move PCI device init in dedicated file") Cc: stable@dpdk.org
Signed-off-by: Yuan Wang <yuanx.wang@intel.com> Tested-by: Wei Ling <weix.ling@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.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 ...
|
#
aa0d4b8a |
| 03-Feb-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix secondary process crash with PCI devices
The Virtio rework series mistakenly moved the rte_pci_device pointer to struct virtio_hw, which is shared between the two processes. But this
net/virtio: fix secondary process crash with PCI devices
The Virtio rework series mistakenly moved the rte_pci_device pointer to struct virtio_hw, which is shared between the two processes. But this structure is per-process, so this change made secondary process to try accessing primary process-only memory, leading to a crash.
This patch reverts to proper behavior, by storing the rte_pci_device pointer into the per-process virtio_pci_internal struct. It also provides helper to get the pointer from the virtio_hw struct pointer.
Bugzilla ID: 633 Fixes: c8d4b02f72ae ("net/virtio: move legacy IO to virtio PCI")
Reported-by: Anatoly Burakov <anatoly.burakov@intel.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
b93c3530 |
| 01-Feb-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix PCI ops assignment
VIRTIO_OPS() macro relies on the port ID stored in the virtio_hw struct. Issue is that it is used before being assigned at init time. It results in all devices set
net/virtio: fix PCI ops assignment
VIRTIO_OPS() macro relies on the port ID stored in the virtio_hw struct. Issue is that it is used before being assigned at init time. It results in all devices setting ops on port ID 0, causing crash later when calling ops for port IDs other than 0.
This patch ensures port ID assignment is done at early primary process probe time, before it is being used.
Bugzilla ID: 631 Fixes: 512e27eeb743 ("net/virtio: move PCI specific dev init to PCI ethdev init")
Reported-by: Wei Ling <weix.ling@intel.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com> Tested-by: Wei Ling <weix.ling@intel.com>
show more ...
|
#
f8b60756 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
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 <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
c8d4b02f |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move legacy IO to virtio PCI
This patch moves Virtio PCI legacy IO handling to virtio_pci.c. Two functions are created so that virtio_pci_ethdev does not have to care about it.
Signed-o
net/virtio: move legacy IO to virtio PCI
This patch moves Virtio PCI legacy IO handling to virtio_pci.c. Two functions are created so that virtio_pci_ethdev does not have to care about it.
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>
show more ...
|
#
c4fa9cc7 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
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 <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
1ac79346 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: store PCI type in virtio device metadata
Going further in making the Virtio ethdev layer bus agnostic, this patch adds a boolean in the Virtio PCI device metadata.
Signed-off-by: Maxime
net/virtio: store PCI type in virtio device metadata
Going further in making the Virtio ethdev layer bus agnostic, this patch adds a boolean in the Virtio PCI device metadata.
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>
show more ...
|
#
7793d293 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move MSI-X detection to PCI ethdev
This patch introduces a new callback to notify the bus driver some interrupt related operation was done.
This is used by Virtio PCI driver to check ms
net/virtio: move MSI-X detection to PCI ethdev
This patch introduces a new callback to notify the bus driver some interrupt related operation was done.
This is used by Virtio PCI driver to check msix status.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
512e27ee |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move PCI specific dev init to PCI ethdev init
This patch moves the PCI specific initialization from eth_virtio_dev_init() to eth_virtio_pci_init().
Signed-off-by: Maxime Coquelin <maxim
net/virtio: move PCI specific dev init to PCI ethdev init
This patch moves the PCI specific initialization from eth_virtio_dev_init() to eth_virtio_pci_init().
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>
show more ...
|
#
36a7a2e7 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move PCI device init in dedicated file
This patch moves the PCI Ethernet device registration bits in a dedicated patch. In following patches, more code will be moved there, with the goal
net/virtio: move PCI device init in dedicated file
This patch moves the PCI Ethernet device registration bits in a dedicated patch. In following patches, more code will be moved there, with the goal of making virtio_ethdev.c truly bus-agnostic.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|