|
Revision tags: v24.07-rc2, v24.07-rc1 |
|
| #
e12a0166 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
| #
27595cd8 |
| 15-Apr-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: move alignment attribute on types for MSVC
Move location of __rte_aligned(a) to new conventional location. The new placement between {struct,union} and the tag allows the desired alignment
drivers: move alignment attribute on types for MSVC
Move location of __rte_aligned(a) to new conventional location. The new placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for both C and C++. Additionally, it avoids confusion by Doxygen when generating documentation.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
|
Revision tags: v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1, v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1 |
|
| #
f9236364 |
| 17-Oct-2023 |
Fengjiang Liu <liufengjiang.0426@bytedance.com> |
net/virtio: fix missing next flag in Tx packed ring
When the packets is sent in packed mode, and the packets data and virtio-header are divided into two desc, set the next flag of virtio-header desc
net/virtio: fix missing next flag in Tx packed ring
When the packets is sent in packed mode, and the packets data and virtio-header are divided into two desc, set the next flag of virtio-header desc
Bugzilla ID: 1295 Fixes: 892dc798fa9c ("net/virtio: implement Tx path for packed queues") Cc: stable@dpdk.org
Signed-off-by: Fengjiang Liu <liufengjiang.0426@bytedance.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
| #
8c41645b |
| 20-Sep-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix descriptor addresses in 32-bit build
With Virtio-user, the Virtio descriptor buffer address is the virtual address of the mbuf's buffer. On 32-bit builds, it is expected to be 32 bit
net/virtio: fix descriptor addresses in 32-bit build
With Virtio-user, the Virtio descriptor buffer address is the virtual address of the mbuf's buffer. On 32-bit builds, it is expected to be 32 bits.
With Virtio-PCI, the Virtio descriptor buffer address is the physical address of the mbuf's buffer. On 32-bit builds running on 64-bit kernel, it is expected to be up to 64 bits.
This patch introduces a new mask field in virtqueue's struct to filter our the upper 4 bytes of the address only when necessary. An optimization is introduced for 64-bit builds to remove the masking, as the address is always 64 bits wide.
Fixes: ba55c94a7ebc ("net/virtio: revert forcing IOVA as VA mode for virtio-user") Cc: stable@dpdk.org
Reported-by: Sampath Peechu <speechu@cisco.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1, v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
b02b02b6 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: extract virtqueue init from virtio queue init
This patch extracts the virtqueue initialization out of the Virtio ethdev queue initialization, as preliminary work to provide a way for Vir
net/virtio: extract virtqueue init from virtio queue init
This patch extracts the virtqueue initialization out of the Virtio ethdev queue initialization, as preliminary work to provide a way for Virtio-user to allocate its shadow control virtqueue.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
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 ...
|
| #
89149851 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: refactor indirect desc headers init
This patch refactors the indirect descriptors headers initialization in a dedicated function, and makes it used by both queue init and reset functions
net/virtio: refactor indirect desc headers init
This patch refactors the indirect descriptors headers initialization in a dedicated function, and makes it used by both queue init and reset functions.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
5fddf290 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move vring memzone to virtqueue struct
Whatever its type (Rx, Tx or Ctl), all the virtqueue require a memzone for the vrings. This patch moves its pointer to the virtqueue struct, simpli
net/virtio: move vring memzone to virtqueue struct
Whatever its type (Rx, Tx or Ctl), all the virtqueue require a memzone for the vrings. This patch moves its pointer to the virtqueue struct, simplifying the code.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
a632f0f6 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: refactor virtqueue headers allocation
This patch refactors virtqueue initialization by moving its headers allocation and deallocation in dedicated function.
While at it, it renames the
net/virtio: refactor virtqueue headers allocation
This patch refactors virtqueue initialization by moving its headers allocation and deallocation in dedicated function.
While at it, it renames the memzone metadata and address pointers in the virtnet_tx and virtnet_ctl structures to remove redundant virtio_net_ prefix.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
35e7012e |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move CVQ code into a dedicated file
This patch moves Virtio control queue code into a dedicated file, as preliminary rework to support shadow control queue in Virtio-user.
Signed-off-by
net/virtio: move CVQ code into a dedicated file
This patch moves Virtio control queue code into a dedicated file, as preliminary rework to support shadow control queue in Virtio-user.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1 |
|
| #
d118ff60 |
| 29-Sep-2022 |
Olivier Matz <olivier.matz@6wind.com> |
net/virtio: remove declaration of undefined function
This function is not defined, remove its declaration.
Fixes: c1f86306a026 ("virtio: add new driver")
Signed-off-by: Olivier Matz <olivier.matz@
net/virtio: remove declaration of undefined function
This function is not defined, remove its declaration.
Fixes: c1f86306a026 ("virtio: add new driver")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1 |
|
| #
013b4c52 |
| 03-Jun-2022 |
Bruce Richardson <bruce.richardson@intel.com> |
replace zero-length arrays with flexible ones
This patch replaces instances of zero-sized arrays i.e. those at the end of structures with "[0]" with the more standard syntax of "[]". Replacement was
replace zero-length arrays with flexible ones
This patch replaces instances of zero-sized arrays i.e. those at the end of structures with "[0]" with the more standard syntax of "[]". Replacement was done using coccinelle script, with some revert and cleanup of whitespace afterwards.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2 |
|
| #
0c9d6620 |
| 27-Oct-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: support RSS
Provide the capability to update the hash key, hash types and RETA table on the fly (without needing to stop/start the device). However, the key length and the number of RETA
net/virtio: support RSS
Provide the capability to update the hash key, hash types and RETA table on the fly (without needing to stop/start the device). However, the key length and the number of RETA entries are fixed to 40B and 128 entries respectively. This is done in order to simplify the design, but may be revisited later as the Virtio spec provides this flexibility.
Note that only VIRTIO_NET_F_RSS support is implemented, VIRTIO_NET_F_HASH_REPORT, which would enable reporting the packet RSS hash calculated by the device into mbuf.rss, is not yet supported.
Regarding the default RSS configuration, it has been chosen to use the default Intel ixgbe key as default key, and default RETA is a simple modulo between the hash and the number of Rx queues.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
daa02b5c |
| 15-Oct-2021 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Sign
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
| #
ad6f0194 |
| 21-Oct-2021 |
Xuan Ding <xuan.ding@intel.com> |
net/virtio: fix avail descriptor ID
Vhost will update desc’s Buffer ID advance to next used descriptor when VIRTIO_F_IN_ORDER feature negotiated. When virtio reuses the descriptor, the Buffer ID sho
net/virtio: fix avail descriptor ID
Vhost will update desc’s Buffer ID advance to next used descriptor when VIRTIO_F_IN_ORDER feature negotiated. When virtio reuses the descriptor, the Buffer ID should be restored even VIRTQ_DESC_F_INDIRECT feature negotiated.
Fixes: b473061b0e1d ("net/virtio: fix indirect descriptors in packed datapaths") Cc: stable@dpdk.org
Signed-off-by: Xuan Ding <xuan.ding@intel.com> Signed-off-by: Yong Liu <yong.liu@intel.com> Signed-off-by: Miao Li <miao.li@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
| #
6474b594 |
| 16-Sep-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/virtio: fix Tx checksum for tunnel packets
Tx prepare method calls rte_net_intel_cksum_prepare(), which handles tunnel packets correctly, but Tx burst path does not take tunnel presence into acc
net/virtio: fix Tx checksum for tunnel packets
Tx prepare method calls rte_net_intel_cksum_prepare(), which handles tunnel packets correctly, but Tx burst path does not take tunnel presence into account when computing the offsets.
Fixes: 58169a9c8153 ("net/virtio: support Tx checksum offload") Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.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 ...
|
| #
e2ca43a3 |
| 15-Sep-2021 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
net/virtio: fix Tx cleanup functions to have same signature
There is a family of cleanup from completed transmits functions. Fix packed virtqueues cleanup functions to have the same signature as spl
net/virtio: fix Tx cleanup functions to have same signature
There is a family of cleanup from completed transmits functions. Fix packed virtqueues cleanup functions to have the same signature as split virtqueues have. This lets all functions of the family to match the same callback prototype.
Fixes: 892dc798fa9c ("net/virtio: implement Tx path for packed queues") Cc: stable@dpdk.org
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2 |
|
| #
85a4fa2f |
| 03-May-2021 |
David Marchand <david.marchand@redhat.com> |
net/virtio: refactor Tx offload helper
Purely cosmetic but it is rather odd to have an "offload" helper that checks if it actually must do something. We already have the same checks in most callers,
net/virtio: refactor Tx offload helper
Purely cosmetic but it is rather odd to have an "offload" helper that checks if it actually must do something. We already have the same checks in most callers, so move this branch in them.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Flavio Leitner <fbl@sysclose.org> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
| #
004d8e85 |
| 03-May-2021 |
David Marchand <david.marchand@redhat.com> |
net/virtio: do not touch Tx offload flags
Tx offload flags are of the application responsibility. Leave the mbuf alone and use a local storage for implicit tcp checksum offloading in case of TSO.
S
net/virtio: do not touch Tx offload flags
Tx offload flags are of the application responsibility. Leave the mbuf alone and use a local storage for implicit tcp checksum offloading in case of TSO.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Flavio Leitner <fbl@sysclose.org>
show more ...
|
|
Revision tags: v21.05-rc1 |
|
| #
97bd5372 |
| 16-Mar-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: pack virtqueue structure
This patch optimizes packing of the virtqueue struct by moving fields around to fill holes.
Offset field is not used and so can be removed.
Signed-off-by: Maxi
net/virtio: pack virtqueue structure
This patch optimizes packing of the virtqueue struct by moving fields around to fill holes.
Offset field is not used and so can be removed.
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 ...
|
| #
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 ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2 |
|
| #
b5ba7ee4 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: remove last PCI refs in non-PCI code
This patch finalizes the bus isolation part of this refactoring.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia
net/virtio: remove last PCI refs in non-PCI code
This patch finalizes the bus isolation part of this refactoring.
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 ...
|
| #
b4f9a45a |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
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 <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|