From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C7DF7A034F; Mon, 7 Feb 2022 03:54:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5895B40685; Mon, 7 Feb 2022 03:54:14 +0100 (CET) Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by mails.dpdk.org (Postfix) with ESMTP id 66C244067C for ; Mon, 7 Feb 2022 03:54:12 +0100 (CET) Received: by mail-pj1-f44.google.com with SMTP id on2so3005641pjb.4 for ; Sun, 06 Feb 2022 18:54:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=wq5J5LCLC2BSg3ulfeN2kSU5q/LX4jTjj6dOLfEEHkE=; b=cWWdUo1vDJ1tSsgUl0dXxirBheGXuI/pKSUxp51P0vlPZk53D/5K7stIv8RmMJj7oW ZHdCPWaZDueKeSey3esD1Yy8Y6MFfkyMJRlphxSgz1cDQL92R/tYSyRtB10BlNept1cx LgFGA5ODHbCBbMOpiNPu0UGFQScj7qND6QZpU0KcVJeNq7E09Jb8kkCwEZdPo9ksn56k a+RkDYvMB/d0/MS8dQHAc+tl3vRwuRIh7hptaraSyJy010arBA6vWM6yDYb0ihdxMuyp w6L9jA15l5b2nUVU2caoGFcuaSUjmNrp63vmJYAOQZZSXy+kjxqiNiOMJlN3sirVgHeU cdwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=wq5J5LCLC2BSg3ulfeN2kSU5q/LX4jTjj6dOLfEEHkE=; b=mlBpYagTyEI4s80Ci+wqL1H6VNXICOLNbIB6snIRUIUOh8k3xk7hKxvHj6YCJpNBmq MtjYSCsmOxRgiqZ/IgfoNujGQwMRbfeL3iG4jhFw0VkY2lvdPknMFHUCCDGiJ/YGiKR7 9dqu6k/i1RZAscsixNaa5IF4EA/mlb+KmtdQVZydgkExvNtwmcJEjKFxSMAThXUKmhu8 z4K4y7rpfC6HZcGHCovkN5OTnupGV5G5cZU9omIBMpG5vOQU3iUylbqtn91uu1+ej8BX enbhB92YXGR1QeT5J2+X20AMWPO6QR8zRsUNHYBdrkvES0WCVM9259JFsAklcpqh119P 1M/w== X-Gm-Message-State: AOAM530k+ZCc0iHJgtixPelJF1rAxe3q5Zax2ZomtAH12/1VtSPUZivB DYA17c4RSit0bMre6diL24tILSt0nHrgQhAh5dY= X-Google-Smtp-Source: ABdhPJydvkp5eS9edC9LijxrPFOGP88DkxzbJI+TASAdrudjFJad3N/iKLwYyhbHaIZRDfxy7BuiTqA2J6Kly9OoHjY= X-Received: by 2002:a17:902:b185:: with SMTP id s5mr4333739plr.123.1644202451515; Sun, 06 Feb 2022 18:54:11 -0800 (PST) MIME-Version: 1.0 References: <20220107115312.280036-1-baymaxhuang@gmail.com> In-Reply-To: From: Harold Huang Date: Mon, 7 Feb 2022 10:54:00 +0800 Message-ID: Subject: Re: [PATCH] net/virtio: include ipv4 cksum to support cksum offload capability To: Maxime Coquelin Cc: dev@dpdk.org, Chenbo Xia Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi, Maxime, Maxime Coquelin =E4=BA=8E2022=E5=B9=B41=E6=9C= =8831=E6=97=A5=E5=91=A8=E4=B8=80 18:04=E5=86=99=E9=81=93=EF=BC=9A > > 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 > > --- > > 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/vi= rtio_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, stru= ct rte_eth_dev_info *dev_info) > > dev_info->rx_offload_capa |=3D RTE_ETH_RX_OFFLOAD_SCATTER= ; > > if (host_features & (1ULL << VIRTIO_NET_F_GUEST_CSUM)) { > > dev_info->rx_offload_capa |=3D > > + 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, stru= ct 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 |=3D > > + 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 for your comments. Previously I want to enable tx checksum offload for the tap device when I use DPDK virtio-user driver with OVS. OVS assume checksum offload capability includes tcp, udp and ipv4 checksum offload: https://github.com/openvswitch/ovs/blob/master/lib/netdev-dpdk.c#L1097. But AFAIK, ipv4 checksum has always been calculated in the kernel. And according to the virito-spec (https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01= .html), VIRTIO_NET_F_GUEST_CSUM feature bit may only indicate TCP or UDP checksum offload, right? Maybe I need to change OVS to adapt to virtio-user driver to enable checksum offload. > > Thanks, > Maxime > Thanks, Harold