#
d5284f0d |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: alloc Rx SW ring only if vectorized path
This patch only allocates the SW ring when vectorized datapath is used. It also moves the SW ring and fake mbuf in the virtnet_rx struct since th
net/virtio: alloc Rx SW ring only if vectorized path
This patch only allocates the SW ring when vectorized datapath is used. It also moves the SW ring and fake mbuf in the virtnet_rx struct since this is Rx-only.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
4e6bcde9 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: remove port ID info from Rx queue
The port ID information is duplicated in several places. This patch removes it from the virtnet_rx struct as it can be found in virtio_hw struct.
Signe
net/virtio: remove port ID info from Rx queue
The port ID information is duplicated in several places. This patch removes it from the virtnet_rx struct as it can be found in virtio_hw struct.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.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 ...
|
#
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 ...
|
#
17043a29 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
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 <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
dfd33aa4 |
| 19-Mar-2019 |
Tiwei Bie <tiwei.bie@intel.com> |
net/virtio: refactor virtqueue structure
Put split ring and packed ring specific fields into separate sub-structures, and also union them as they won't be available at the same time.
Signed-off-by:
net/virtio: refactor virtqueue structure
Put split ring and packed ring specific fields into separate sub-structures, and also union them as they won't be available at the same time.
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
57f81896 |
| 02-Jul-2018 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: remove simple Tx path
The simple Tx path does not comply with the Virtio specification. Now that VIRTIO_F_IN_ORDER feature is supported by the Virtio PMD, let's use this optimized path i
net/virtio: remove simple Tx path
The simple Tx path does not comply with the Virtio specification. Now that VIRTIO_F_IN_ORDER feature is supported by the Virtio PMD, let's use this optimized path instead.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
show more ...
|
#
47857470 |
| 12-Feb-2018 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix resuming port with Rx vector path
Since commit efc83a1e7fc3 ("net/virtio: fix queue setup consistency"), when resuming a virtio port, the rx rings are refilled with new mbufs until t
net/virtio: fix resuming port with Rx vector path
Since commit efc83a1e7fc3 ("net/virtio: fix queue setup consistency"), when resuming a virtio port, the rx rings are refilled with new mbufs until they are full (vq->vq_free_cnt == 0). This is done without ensuring that the descriptor index remains a multiple of RTE_VIRTIO_VPMD_RX_REARM_THRESH, which is a prerequisite when using the vector mode. This can cause an out of bound access in the rx ring.
This commit changes the vector refill method from virtqueue_enqueue_recv_refill_simple() to virtio_rxq_rearm_vec(), which properly checks that the refill is done by batch of RTE_VIRTIO_VPMD_RX_REARM_THRESH.
As virtqueue_enqueue_recv_refill_simple() is no more used, this patch also removes the function.
Fixes: efc83a1e7fc3 ("net/virtio: fix queue setup consistency") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
show more ...
|
#
5566a3e3 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
drivers: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@in
drivers: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
54e92902 |
| 04-Apr-2017 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: make segment prefree function public
Document the function and make it public, since it is used at several places in the drivers. The old one is marked as deprecated.
Signed-off-by: Olivier M
mbuf: make segment prefree function public
Document the function and make it public, since it is used at several places in the drivers. The old one is marked as deprecated.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
f412f14f |
| 05-Jul-2016 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
net/virtio: move SSE based Rx code to separate file
Split out SSE instruction based virtio simple Rx implementation to a separate file
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Ac
net/virtio: move SSE based Rx code to separate file
Split out SSE instruction based virtio simple Rx implementation to a separate file
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
show more ...
|