[PATCH] net/virtio: include ipv4 cksum to support cksum offload capability
Maxime Coquelin
maxime.coquelin at redhat.com
Mon Jan 31 11:03:58 CET 2022
Hi Harold,
On 1/7/22 12:53, Harold Huang wrote:
> Device cksum offload capability usually include ipv4 cksum, tcp and udp
> cksum offload capability. The application such as OVS usually negotiate
> with the drive like this to enable cksum offload.
>
> Signed-off-by: Harold Huang <baymaxhuang at gmail.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index c2588369b2..65b03bf0e4 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -3041,6 +3041,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_SCATTER;
> if (host_features & (1ULL << VIRTIO_NET_F_GUEST_CSUM)) {
> dev_info->rx_offload_capa |=
> + RTE_ETH_RX_OFFLOAD_IPV4_CKSUM |
> RTE_ETH_RX_OFFLOAD_TCP_CKSUM |
> RTE_ETH_RX_OFFLOAD_UDP_CKSUM;
> }
> @@ -3055,6 +3056,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> RTE_ETH_TX_OFFLOAD_VLAN_INSERT;
> if (host_features & (1ULL << VIRTIO_NET_F_CSUM)) {
> dev_info->tx_offload_capa |=
> + RTE_ETH_TX_OFFLOAD_IPV4_CKSUM |
> RTE_ETH_TX_OFFLOAD_UDP_CKSUM |
> RTE_ETH_TX_OFFLOAD_TCP_CKSUM;
> }
I'm not sure to understand why this is needed, as Vhost lib will always
ensure the IP csum has been calculated. Could you please elaborate?
Thanks,
Maxime
More information about the dev
mailing list