[PATCH v2 0/6] Vhost checksum offload improvements

Maxime Coquelin maxime.coquelin at redhat.com
Fri Jun 17 16:06:18 CEST 2022



On 6/8/22 14:49, Maxime Coquelin wrote:
> This series aims at improving Vhost checksum offloading
> support.
> 
> The first patch reverts overwritting MAC address in
> testpmd CSUM forward mode. This is required to be able to
> test checksum offloading with real traffic. MAC forwarding
> mode should be used if the MAC addresses need to be
> changed.
> 
> Second patch is a Vhost library fix to be compliant with
> the Virtio specification, which requires that the
> pseudo-header checksum is being set by the device when
> offloading the checksum to the guest.
> 
> Third patch enables the compliant offloading mode of Vhost
> library in Vhost PMD by default, since the legacy mode
> violates the mbuf API by setting Tx flags in the receive
> path. A new devarg is introduced for application willing
> to use the legacy mode.
> 
> Fourth patch is just a small cleanup to represent a boolean
> value as a boolean.
> 
> The two last patches introduces compatibility layers
> that performs checksum in SW when the ethdev and Virtio
> features are not aligned.
> 
> Note that the two last patches are not tagged as fixes
> because they rely on the new compliant offload mode of
> Vhost library, and so would casue an ABI breakage if
> backported.
> 
> With this series, it is now possible to perform IO
> forwarding between a vhost-user port and a Vitio-user
> with kernel backend port even if the guest has negotiated
> VIRTIO_NET_F_CSUM.
> 
> With csum forward mode, it now works whathever the
> offloading configuration set either on Virtio or Ethdev
> sides.
> 
> Changes in v2:
> ==============
> - Add the new devarg to validation array (Wenwu)
> - Fix typos in commit messages (Chenbo, checkpatch, Yuying)
> 
> Maxime Coquelin (6):
>    Revert "app/testpmd: modify mac in csum forwarding"
>    vhost: fix missing enqueue pseudo-header calculation
>    net/vhost: enable compliant offloading mode
>    net/vhost: make VLAN stripping flag a boolean
>    net/vhost: perform SW checksum in Rx path
>    net/vhost: perform SW checksum in Tx path
> 
>   app/test-pmd/csumonly.c            |   4 -
>   doc/guides/nics/features/vhost.ini |   1 +
>   doc/guides/nics/vhost.rst          |   6 ++
>   drivers/net/vhost/rte_eth_vhost.c  | 167 ++++++++++++++++++++++++++++-
>   lib/vhost/virtio_net.c             |  10 ++
>   5 files changed, 180 insertions(+), 8 deletions(-)
> 

Applied to dpdk-next-virtio/main.

Thanks,
Maxime



More information about the dev mailing list