The simple Tx path in virtio has been removed in below commit. This patch removes an undefined function declaration of simple Tx and all related descriptions in the doc. Fixes: 57f818963d80 ("net/virtio: remove simple Tx path") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> --- doc/guides/nics/virtio.rst | 15 ++------------- drivers/net/virtio/virtio_ethdev.h | 3 --- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst index 2ae875cb4..da9cd6ba6 100644 --- a/doc/guides/nics/virtio.rst +++ b/doc/guides/nics/virtio.rst @@ -201,7 +201,7 @@ The packet transmission flow is: Virtio PMD Rx/Tx Callbacks -------------------------- -Virtio driver has 4 Rx callbacks and 3 Tx callbacks. +Virtio driver has 4 Rx callbacks and 2 Tx callbacks. Rx callbacks: @@ -223,9 +223,6 @@ Tx callbacks: #. ``virtio_xmit_pkts``: Regular version. -#. ``virtio_xmit_pkts_simple``: - Vector version fixes the available ring indexes to optimize performance. - #. ``virtio_xmit_pkts_inorder``: In-order version. @@ -239,25 +236,17 @@ By default, the non-vector callbacks are used: Vector callbacks will be used when: -* ``txmode.offloads`` is set to ``0x0``, which implies: - - * Single segment is specified. - - * No offload support is needed. - * Mergeable Rx buffers is disabled. The corresponding callbacks are: * For Rx: ``virtio_recv_pkts_vec``. -* For Tx: ``virtio_xmit_pkts_simple``. - Example of using the vector version of the virtio poll mode driver in ``testpmd``:: - testpmd -l 0-2 -n 4 -- -i --tx-offloads=0x0 --rxq=1 --txq=1 --nb-cores=1 + testpmd -l 0-2 -n 4 -- -i --rxq=1 --txq=1 --nb-cores=1 In-order callbacks only work on simulated virtio user vdev. diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h index 20d331795..a10111758 100644 --- a/drivers/net/virtio/virtio_ethdev.h +++ b/drivers/net/virtio/virtio_ethdev.h @@ -103,9 +103,6 @@ uint16_t virtio_xmit_pkts_inorder(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t virtio_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts); -uint16_t virtio_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts, - uint16_t nb_pkts); - int eth_virtio_dev_init(struct rte_eth_dev *eth_dev); void virtio_interrupt_handler(void *param); -- 2.17.1
The Rx function that will be used when in-order is enabled should be virtio_recv_mergeable_pkts_inorder() instead of virtio_xmit_pkts_inorder(). Fixes: 8f3bd7e8702d ("net/virtio: add in-order Rx/Tx into selection") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> --- doc/guides/nics/virtio.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst index da9cd6ba6..08438d064 100644 --- a/doc/guides/nics/virtio.rst +++ b/doc/guides/nics/virtio.rst @@ -251,7 +251,7 @@ Example of using the vector version of the virtio poll mode driver in In-order callbacks only work on simulated virtio user vdev. * For Rx: If mergeable Rx buffers is enabled and in-order is enabled then - ``virtio_xmit_pkts_inorder`` is used. + ``virtio_recv_mergeable_pkts_inorder`` is used. * For Tx: If in-order is enabled then ``virtio_xmit_pkts_inorder`` is used. -- 2.17.1
The virtio_recv_mergeable_pkts_inorder() has been renamed to virtio_recv_pkts_inorder() and added the non-mergeable support in below commit. Fixes: efcda13648d2 ("net/virtio: add non-mergeable support to in-order path") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> --- doc/guides/nics/virtio.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst index 08438d064..b3c356856 100644 --- a/doc/guides/nics/virtio.rst +++ b/doc/guides/nics/virtio.rst @@ -215,8 +215,8 @@ Rx callbacks: Vector version without mergeable Rx buffer support, also fixes the available ring indexes and uses vector instructions to optimize performance. -#. ``virtio_recv_mergeable_pkts_inorder``: - In-order version with mergeable Rx buffer support. +#. ``virtio_recv_pkts_inorder``: + In-order version with mergeable and non-mergeable Rx buffer support. Tx callbacks: @@ -250,8 +250,7 @@ Example of using the vector version of the virtio poll mode driver in In-order callbacks only work on simulated virtio user vdev. -* For Rx: If mergeable Rx buffers is enabled and in-order is enabled then - ``virtio_recv_mergeable_pkts_inorder`` is used. +* For Rx: If in-order is enabled then ``virtio_recv_pkts_inorder`` is used. * For Tx: If in-order is enabled then ``virtio_xmit_pkts_inorder`` is used. -- 2.17.1
This patch removes an unwanted empty line in a sentence. Fixes: 71afcefbd53e ("doc: update virtio ring size and header size") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> --- doc/guides/nics/virtio.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst index 011954ff6..bd0116176 100644 --- a/doc/guides/nics/virtio.rst +++ b/doc/guides/nics/virtio.rst @@ -7,7 +7,6 @@ Poll Mode Driver for Emulated Virtio NIC Virtio is a para-virtualization framework initiated by IBM, and supported by KVM hypervisor. In the Data Plane Development Kit (DPDK), we provide a virtio Poll Mode Driver (PMD) as a software solution, comparing to SRIOV hardware solution, - for fast guest VM to guest VM communication and guest VM to host communication. Vhost is a kernel acceleration module for virtio qemu backend. -- 2.17.1
On 8/13/19 4:07 AM, Tiwei Bie wrote:
> The simple Tx path in virtio has been removed in below commit.
> This patch removes an undefined function declaration of simple
> Tx and all related descriptions in the doc.
>
> Fixes: 57f818963d80 ("net/virtio: remove simple Tx path")
> Cc: stable@dpdk.org
>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> doc/guides/nics/virtio.rst | 15 ++-------------
> drivers/net/virtio/virtio_ethdev.h | 3 ---
> 2 files changed, 2 insertions(+), 16 deletions(-)
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
On 8/13/19 4:07 AM, Tiwei Bie wrote:
> The Rx function that will be used when in-order is enabled
> should be virtio_recv_mergeable_pkts_inorder() instead of
> virtio_xmit_pkts_inorder().
>
> Fixes: 8f3bd7e8702d ("net/virtio: add in-order Rx/Tx into selection")
> Cc: stable@dpdk.org
>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> doc/guides/nics/virtio.rst | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
On 8/13/19 4:07 AM, Tiwei Bie wrote:
> The virtio_recv_mergeable_pkts_inorder() has been renamed to
> virtio_recv_pkts_inorder() and added the non-mergeable support
> in below commit.
>
> Fixes: efcda13648d2 ("net/virtio: add non-mergeable support to in-order path")
> Cc: stable@dpdk.org
>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> doc/guides/nics/virtio.rst | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
On 8/13/19 4:07 AM, Tiwei Bie wrote:
> This patch removes an unwanted empty line in a sentence.
>
> Fixes: 71afcefbd53e ("doc: update virtio ring size and header size")
> Cc: stable@dpdk.org
>
> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
> ---
> doc/guides/nics/virtio.rst | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
> index 011954ff6..bd0116176 100644
> --- a/doc/guides/nics/virtio.rst
> +++ b/doc/guides/nics/virtio.rst
> @@ -7,7 +7,6 @@ Poll Mode Driver for Emulated Virtio NIC
> Virtio is a para-virtualization framework initiated by IBM, and supported by KVM hypervisor.
> In the Data Plane Development Kit (DPDK),
> we provide a virtio Poll Mode Driver (PMD) as a software solution, comparing to SRIOV hardware solution,
> -
> for fast guest VM to guest VM communication and guest VM to host communication.
>
> Vhost is a kernel acceleration module for virtio qemu backend.
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>