From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id EDBFEA00C2
	for <public@inbox.dpdk.org>; Thu,  8 Dec 2022 08:55:20 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 68F9C4161A;
	Thu,  8 Dec 2022 08:54:53 +0100 (CET)
Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com
 [209.85.160.172])
 by mails.dpdk.org (Postfix) with ESMTP id D907C40E28
 for <users@dpdk.org>; Thu,  8 Dec 2022 08:54:51 +0100 (CET)
Received: by mail-qt1-f172.google.com with SMTP id ay32so481131qtb.11
 for <users@dpdk.org>; Wed, 07 Dec 2022 23:54:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=EkQVwxHCafwevtebblZi1Uf5aaO/J9sTTr5wDqe8C54=;
 b=e7cApHmY2vrZ6VhH7XPCIXFycB9IkfP53JRhktFDsb8DYl/yiDCCD2gZ6BLLxgWkDT
 SILHoWM/MYxIkXnu9bUKzhLthp2CgRNzR+WMNOBUVq4vWCZHUdm69RgLYo8fAYYMEMf0
 VX5fNBKNgBLL8ZLG2CVylYFb3cf0pQS76jw1JxLz0HMGbhouP3a0KtZ1h30FE4UYy9Ny
 xGTV1m38nvUVa/9xJtEXTJSJoQP41s4KhbgUwXlOz+0vB7UqaAi/NbalOfCuLCIolTYX
 uByfsTdhzcrmWMiR3kUgH8xIwqXr3yXPIGkxidDGFxN4GsiTZeOgSJOmbj6WraAeyAxx
 mcaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=EkQVwxHCafwevtebblZi1Uf5aaO/J9sTTr5wDqe8C54=;
 b=kR5BtVKH0dYNV+hy9KvCiHM3tbba3D7CZbgIaYqDy9GSlSOnrKSYn/6CeyW2N0omFj
 Is5zYg+tPYAYLeYhqJQURRjEmDl87PO1im8fjFb3pEUZY1uxWoj3Askb2LVnefE7DfgF
 YYNvJKlQFo4ASflIizH044+7WXiCDIeJCMfQoI6puWuo6wdyiDUv3EVNCgNpAbL2+3Rz
 xySX5TugGat5yiYzW41fcCDn+yKtYgLyVqVDoOjXCIDMcKp/J6iIJHlcvpDTFHmi0qHV
 7SJGQc0sN6+jQFbIlbExuDmuYcwmsqAxyTGgDI23ZNPsBXs+MKNax8PFtblRZ2gXONp/
 CXNA==
X-Gm-Message-State: ANoB5plnyFQ84ZRkg4TinEDvH0LswcSdy27kYAGRSMzE9hrt5qg8mvwE
 YgdbvDPHHxUINKh7uhXpg3N6cynpMnX+mbbu2YY=
X-Google-Smtp-Source: AA0mqf6CHhoqwMhfi1SBhl4Ac2TafqxoGhfX1S28dKN58nTjzmhH5srDVA1RxCQSn6DKaB7QrJFr1eb6OCVzpXdVo4Y=
X-Received: by 2002:a05:622a:480e:b0:39c:e18e:758f with SMTP id
 fb14-20020a05622a480e00b0039ce18e758fmr68368153qtb.187.1670486091306; Wed, 07
 Dec 2022 23:54:51 -0800 (PST)
MIME-Version: 1.0
References: <2779611670484222@mail.yandex.ru>
In-Reply-To: <2779611670484222@mail.yandex.ru>
From: Pavel Vazharov <freakpv@gmail.com>
Date: Thu, 8 Dec 2022 09:54:39 +0200
Message-ID: <CAK9EM1-weA=ZiHz1A=NNcNtd5c=RmbEfyFQPg+GdS9u1w3ohHQ@mail.gmail.com>
Subject: Re: How to debug receiving error or "rte_eth_stats.ierrors" ...
To: "Ruslan R. Laishev" <zator@yandex.ru>
Cc: "users@dpdk.org" <users@dpdk.org>
Content-Type: multipart/alternative; boundary="000000000000131c8b05ef4c5a4a"
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

--000000000000131c8b05ef4c5a4a
Content-Type: text/plain; charset="UTF-8"

Few questions:
1. Does the sending NIC support IP and TCP/UDP checksum offloading? I mean,
if these flags set?
    struct rte_eth_dev_info dev_info;

    rte_eth_dev_info_get(cfg.nic_port_id_, &dev_info);
    constexpr auto rxcsum = DEV_RX_OFFLOAD_CHECKSUM;

    constexpr auto l3csum = DEV_TX_OFFLOAD_IPV4_CKSUM;

    constexpr auto l4csum = DEV_TX_OFFLOAD_TCP_CKSUM |
DEV_TX_OFFLOAD_UDP_CKSUM;
    dev_rx_csum_          = ((dev_info.tx_offload_capa & rxcsum) ==
rxcsum);
    dev_tx_csum_l3_       = ((dev_info.tx_offload_capa & l3csum) ==
l3csum);
    dev_tx_csum_l4_       = ((dev_info.tx_offload_capa & l4csum) == l4csum);

2. Do you "tell" the sending NIC to do the checksum calculations before
sending the packets? I mean, do you do something like this for outgoing
packets?
    if (offl.ip_csum) {

        pkt->ol_flags |= PKT_TX_IP_CKSUM | PKT_TX_IPV4;

        pkt->l2_len = RTE_ETHER_HDR_LEN;

        pkt->l3_len = ih_len;

    }

    if (offl.tcp_csum) {

        pkt->ol_flags |= PKT_TX_TCP_CKSUM;

        pkt->l2_len = RTE_ETHER_HDR_LEN;

        pkt->l3_len = ih_len;

    }

    if (offl.udp_csum) {

        pkt->ol_flags |= PKT_TX_UDP_CKSUM;

        pkt->l2_len = RTE_ETHER_HDR_LEN;

        pkt->l3_len = ih_len;

    }

3. Is the receiving side also a DPDK application? If it is, and if the NIC
there supports checksum offloading you can check the flags of the received
packets to see if the receiving NIC has detected checksum errors.
pkt->ol_flags & (PKT_RX_IP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD)

Hope some of the above helps.

On Thu, Dec 8, 2022 at 9:36 AM Ruslan R. Laishev <zator@yandex.ru> wrote:

> Hello !
>
> I wrote too small apps to send and receive  ethernet/ip/udp
> frame/packet/dg, so on received side I  see next situation:
> number of in errors is equally a number of received packets. The test
> packet I made manually,  set offloads  IP/UDP checkusm.
> Is there what I'm need to check additionally ?
>
>

--000000000000131c8b05ef4c5a4a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PjxkaXY+PGRpdj5GZXcgcXVlc3Rpb25zOjxicj48L2Rp
dj4xLiBEb2VzIHRoZSBzZW5kaW5nIE5JQyBzdXBwb3J0IElQIGFuZCBUQ1AvVURQIGNoZWNrc3Vt
IG9mZmxvYWRpbmc/IEkgbWVhbiwgaWYgdGhlc2UgZmxhZ3Mgc2V0Pzxicj7CoCDCoCBzdHJ1Y3Qg
cnRlX2V0aF9kZXZfaW5mbyBkZXZfaW5mbzsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPsKgIMKgIHJ0ZV9ldGhfZGV2X2lu
Zm9fZ2V0KGNmZy5uaWNfcG9ydF9pZF8sICZhbXA7ZGV2X2luZm8pOzxicj7CoCDCoCBjb25zdGV4
cHIgYXV0byByeGNzdW0gPSBERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTTsgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+wqAgwqAgY29uc3RleHByIGF1dG8gbDNjc3Vt
ID0gREVWX1RYX09GRkxPQURfSVBWNF9DS1NVTTsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqA8YnI+wqAgwqAgY29uc3RleHByIGF1dG8gbDRjc3VtID0gREVWX1RYX09GRkxP
QURfVENQX0NLU1VNIHwgREVWX1RYX09GRkxPQURfVURQX0NLU1VNO8KgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIDxicj7CoCDCoCBkZXZfcnhfY3N1bV8gwqAgwqAgwqAgwqAgwqA9ICgoZGV2X2lu
Zm8udHhfb2ZmbG9hZF9jYXBhICZhbXA7IHJ4Y3N1bSkgPT0gcnhjc3VtKTsgwqAgwqA8YnI+wqAg
wqAgZGV2X3R4X2NzdW1fbDNfIMKgIMKgIMKgID0gKChkZXZfaW5mby50eF9vZmZsb2FkX2NhcGEg
JmFtcDsgbDNjc3VtKSA9PSBsM2NzdW0pOyDCoCDCoDxicj7CoCDCoCBkZXZfdHhfY3N1bV9sNF8g
wqAgwqAgwqAgPSAoKGRldl9pbmZvLnR4X29mZmxvYWRfY2FwYSAmYW1wOyBsNGNzdW0pID09IGw0
Y3N1bSk7PGJyPjxicj48L2Rpdj4yLiBEbyB5b3UgJnF1b3Q7dGVsbCZxdW90OyB0aGUgc2VuZGlu
ZyBOSUMgdG8gZG8gdGhlIGNoZWNrc3VtIGNhbGN1bGF0aW9ucyBiZWZvcmUgc2VuZGluZyB0aGUg
cGFja2V0cz8gSSBtZWFuLCBkbyB5b3UgZG8gc29tZXRoaW5nIGxpa2UgdGhpcyBmb3Igb3V0Z29p
bmcgcGFja2V0cz88YnI+wqAgwqAgaWYgKG9mZmwuaXBfY3N1bSkgeyDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCA8YnI+wqAgwqAgwqAgwqAgcGt0LSZndDtvbF9mbGFncyB8PSBQS1RfVFhfSVBf
Q0tTVU0gfCBQS1RfVFhfSVBWNDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
PGJyPsKgIMKgIMKgIMKgIHBrdC0mZ3Q7bDJfbGVuID0gUlRFX0VUSEVSX0hEUl9MRU47IMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJy
PsKgIMKgIMKgIMKgIHBrdC0mZ3Q7bDNfbGVuID0gaWhfbGVuOyDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8
YnI+wqAgwqAgfSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCA8YnI+wqAgwqAgaWYgKG9mZmwudGNwX2NzdW0pIHsgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqA8YnI+wqAgwqAgwqAgwqAgcGt0LSZndDtvbF9mbGFncyB8PSBQS1RfVFhfVENQX0NL
U1VNOyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoDxicj7CoCDCoCDCoCDCoCBwa3QtJmd0O2wyX2xlbiA9IFJURV9FVEhFUl9IRFJfTEVOOyDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oDxicj7CoCDCoCDCoCDCoCBwa3QtJmd0O2wzX2xlbiA9IGloX2xlbjsgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgPGJyPsKgIMKgIH0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgPGJyPsKgIMKgIGlmIChvZmZsLnVkcF9jc3VtKSB7IMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgPGJyPsKgIMKgIMKgIMKgIHBrdC0mZ3Q7b2xfZmxhZ3MgfD0gUEtUX1RYX1VE
UF9DS1NVTTsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqA8YnI+wqAgwqAgwqAgwqAgcGt0LSZndDtsMl9sZW4gPSBSVEVfRVRIRVJfSERSX0xF
TjsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqA8YnI+wqAgwqAgwqAgwqAgcGt0LSZndDtsM19sZW4gPSBpaF9sZW47IMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIDxicj7CoCDCoCB9IDxicj48YnI+PC9kaXY+My4gSXMgdGhlIHJlY2VpdmluZyBzaWRl
IGFsc28gYSBEUERLIGFwcGxpY2F0aW9uPyBJZiBpdCBpcywgYW5kIGlmIHRoZSBOSUMgdGhlcmUg
c3VwcG9ydHMgY2hlY2tzdW0gb2ZmbG9hZGluZyB5b3UgY2FuIGNoZWNrIHRoZSBmbGFncyBvZiB0
aGUgcmVjZWl2ZWQgcGFja2V0cyB0byBzZWUgaWYgdGhlIHJlY2VpdmluZyBOSUMgaGFzIGRldGVj
dGVkIGNoZWNrc3VtIGVycm9ycy48YnI+cGt0LSZndDtvbF9mbGFncyAmYW1wOyAoUEtUX1JYX0lQ
X0NLU1VNX0JBRCB8IFBLVF9SWF9MNF9DS1NVTV9CQUQpPGJyPjxicj48L2Rpdj48ZGl2PkhvcGUg
c29tZSBvZiB0aGUgYWJvdmUgaGVscHMuPGJyPjwvZGl2PjwvZGl2Pjxicj48ZGl2IGNsYXNzPSJn
bWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk9uIFRodSwgRGVj
IDgsIDIwMjIgYXQgOTozNiBBTSBSdXNsYW4gUi4gTGFpc2hldiAmbHQ7PGEgaHJlZj0ibWFpbHRv
OnphdG9yQHlhbmRleC5ydSI+emF0b3JAeWFuZGV4LnJ1PC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2
PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBw
eCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxl
ZnQ6MWV4Ij48ZGl2PkhlbGxvICE8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5JIHdyb3RlIHRvbyBz
bWFsbCBhcHBzIHRvIHNlbmQgYW5kIHJlY2VpdmUgwqBldGhlcm5ldC9pcC91ZHAgZnJhbWUvcGFj
a2V0L2RnLCBzbyBvbiByZWNlaXZlZCBzaWRlIEkgwqBzZWUgbmV4dCBzaXR1YXRpb246PC9kaXY+
PGRpdj5udW1iZXIgb2YgaW4gZXJyb3JzIGlzIGVxdWFsbHkgYSBudW1iZXIgb2YgcmVjZWl2ZWQg
cGFja2V0cy4gVGhlIHRlc3QgcGFja2V0IEkgbWFkZSBtYW51YWxseSwgwqBzZXQgb2ZmbG9hZHMg
wqBJUC9VRFAgY2hlY2t1c20uPC9kaXY+PGRpdj5JcyB0aGVyZSB3aGF0IEkmIzM5O20gbmVlZCB0
byBjaGVjayBhZGRpdGlvbmFsbHkgPzwvZGl2PjxkaXY+wqA8L2Rpdj4NCjwvYmxvY2txdW90ZT48
L2Rpdj4NCg==
--000000000000131c8b05ef4c5a4a--