From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 95C4AA00B8 for ; Mon, 28 Oct 2019 11:16:31 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5B1442AB; Mon, 28 Oct 2019 11:16:31 +0100 (CET) Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by dpdk.org (Postfix) with ESMTP id 3C8B21BF08 for ; Mon, 28 Oct 2019 11:16:30 +0100 (CET) Received: by mail-lf1-f65.google.com with SMTP id 195so7342295lfj.6 for ; Mon, 28 Oct 2019 03:16:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=idTbxQsLum9vouLtt7Z5S11vX9DUmBKBrB8x+9ZTnd8=; b=fVDqf07vbviCn6VVh/q7EG44vCxAYk0dJ+Tq0nC42QOditWqsHo2jZC0S91Ml/zk1H B6acxaGhoCwoAESLJCWPFyQlXz0/0Sl9sn4//aDvTv4RvWc5c4eBGs2xgLn36d/snFFN Ro4+ydmadyytlXPEjnUiuwqxLMk3HPRYB19N2zuZ0w1erNxkrqeCedkYJ/9vN/Dd/6Hl ToTsRFVjRTpiqttFAX7L0pFvrQhsYBOuU3oj+rQoAeKawmAZE47Kadb8cA4ExyVi/CAS nsa0ji/mjlpeoHut1yWf6VSj86cOZvKvonD0wbWFbVG0yjKoTDcjQdSlHs9ytueTI+2X wnKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=idTbxQsLum9vouLtt7Z5S11vX9DUmBKBrB8x+9ZTnd8=; b=NktoQHQJTV8/g33L/nWwIhW82+pNzu3/n3/9+BU3OLur/nD3NczqzkgqiCEUzCol0z Wjh5qQRnlsZrfK08Frv2sGQzesejWxsN194Q6SLLGDQ7iKdqOCU3uNCK8tyVbPUk7w3j ggGIMZGvRzYWWLP7aYAhn9QlDfV7JgctfmwWEtk7UlQTb5krrHzoC0+pHth18OWoQE2S +bNtTjro6V5NJX/jI66MY2Zs2767jCuCmOeKYMPZ3IfSDKsJ5N3hPlHTp+yYZ02W3kYJ 66BirBs1mJKFXDfSI/VTJA993vUboLqDUTHOaNTLSOHxOdw1Dzti8+hjEjPZnMS+X3wp Q9ng== X-Gm-Message-State: APjAAAV/ApiA35wGYs1D6yWDYRT5ZFCvCqCn1pCJBJQKxW1/Ur3vjpL2 sbbJHrvaUA930Oheggxk95vBHQ== X-Google-Smtp-Source: APXvYqxkhd/BRjg57HqgaRe2TUH0ZKh7qev83YDS4IwMOV7FNOa/tUTOptWrs1jUwe8Z7xANO5pOJw== X-Received: by 2002:ac2:46d7:: with SMTP id p23mr4603894lfo.104.1572257789621; Mon, 28 Oct 2019 03:16:29 -0700 (PDT) Received: from localhost.localdomain (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id g25sm5876400ljk.36.2019.10.28.03.16.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 03:16:28 -0700 (PDT) From: Michal Krawczyk To: Marcin Wojtas , Michal Krawczyk , Guy Tzalik , Evgeny Schemeilin , Igor Chauskin Cc: dev@dpdk.org, stable@dpdk.org, Maciej Bielski Date: Mon, 28 Oct 2019 11:16:04 +0100 Message-Id: <20191028101604.12072-1-mk@semihalf.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH] net/ena: fix false indication of bad L4 Rx csums X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Add checking of l4_csum_checked and frag flags before checking the l4_csum_error flag. In case of IP fragment/unchecked L4 csum - add PKT_RX_L4_CKSUM_UNKNOWN flag to the indicated mbuf. Fixes: 1173fca25af9 ("ena: add polling-mode driver") Cc: stable@dpdk.org Signed-off-by: Igor Chauskin Reviewed-by: Maciej Bielski Reviewed-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index aa84fabc5..55b4982da 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -272,9 +272,14 @@ static inline void ena_rx_mbuf_prepare(struct rte_mbuf *mbuf, else if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV6) packet_type |= RTE_PTYPE_L3_IPV6; - if (unlikely(ena_rx_ctx->l4_csum_err)) - ol_flags |= PKT_RX_L4_CKSUM_BAD; + if (!ena_rx_ctx->l4_csum_checked) + ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; + else + if (unlikely(ena_rx_ctx->l4_csum_err) && !ena_rx_ctx->frag) + ol_flags |= PKT_RX_L4_CKSUM_BAD; + else + ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN; + if (unlikely(ena_rx_ctx->l3_csum_err)) ol_flags |= PKT_RX_IP_CKSUM_BAD; -- 2.20.1