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 CA436A06CA for ; Wed, 19 Oct 2022 16:34:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1A3742BDA; Wed, 19 Oct 2022 16:34:07 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id D535342BB1 for ; Wed, 19 Oct 2022 16:34:05 +0200 (CEST) Received: from dggemv711-chm.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4MstQj4Lwvz1P79Q for ; Wed, 19 Oct 2022 22:29:17 +0800 (CST) Received: from kwepemm600003.china.huawei.com (7.193.23.202) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 19 Oct 2022 22:34:01 +0800 Received: from dggpeml500020.china.huawei.com (7.185.36.88) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 19 Oct 2022 22:34:00 +0800 Received: from dggpeml500020.china.huawei.com ([7.185.36.88]) by dggpeml500020.china.huawei.com ([7.185.36.88]) with mapi id 15.01.2375.031; Wed, 19 Oct 2022 22:34:00 +0800 From: "jiangheng (G)" To: "users@dpdk.org" , "beilei.xing@intel.com" , "qi.z.zhang@intel.com" Subject: [DPDK i40e XL710] tcp packet loss occurs occasionally when use dpdk19.11 i40e NIC Thread-Topic: [DPDK i40e XL710] tcp packet loss occurs occasionally when use dpdk19.11 i40e NIC Thread-Index: Adjjx8GuziayjcnlQkG4oZY2Q97nng== Date: Wed, 19 Oct 2022 14:34:00 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.117.195] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-CFilter-Loop: Reflected X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hi team I am using XL710 i40e NIC on dpdk19.11. I found that the NIC occasionally l= ost packets when I enabled the TSO(not GSO) feature. For example, I send below mbuf to rte_eth_tx_burst, : m is 0x2a166cf40, pkt_len=3D32822, ol_flags=3Dd4000000000000, nb_segs=3D23,= port=3D10007 dump mbuf at 0x2a166cf40, iova=3D2e166d008, buf_len=3D2176 pkt_len=3D32822, ol_flags=3Dd4000000000000, nb_segs=3D23, in_port=3D65535 segment at 0x2a166cf40, data=3D0x2a166d088, data_len=3D1514 Dump data at [0x2a166d088], len=3D1514 00000000: 3C FD FE 9E 99 29 3C FD FE 9E 98 59 08 00 45 00 | <....)<....Y..E= . 00000010: 80 28 03 C8 00 00 FF 06 00 00 42 42 42 0D 42 42 | .(........BBB.B= B 00000020: 42 0C 27 17 79 89 00 07 79 6E 11 B5 93 DC 50 18 | B.'.y...yn....P= . 00000030: FF FF 08 A4 00 00 23 2A 2A 2A 2A 2A 2A 2A 2A 2A | ......#********= * 00000040: 2A 2A 2A 2A 2A 2A 2A 00 33 30 30 32 3A 36 36 2E | *******.3002:66= . segment at 0x2a166c580, data=3D0x2a166c6fe, data_len=3D1460 Dump data at [0x2a166c6fe], len=3D1460 segment at 0x2a166bbc0, data=3D0x2a166bd3e, data_len=3D1460 Dump data at [0x2a166bd3e], len=3D1460 segment at 0x2a166b200, data=3D0x2a166b37e, data_len=3D1460 Dump data at [0x2a166b37e], len=3D1460 segment at 0x2a166a840, data=3D0x2a166a9be, data_len=3D1460 Dump data at [0x2a166a9be], len=3D1460 segment at 0x2a1669e80, data=3D0x2a1669ffe, data_len=3D1460 Dump data at [0x2a1669ffe], len=3D1460 segment at 0x2a16694c0, data=3D0x2a166963e, data_len=3D1460 Dump data at [0x2a166963e], len=3D1460 segment at 0x2a1668b00, data=3D0x2a1668c7e, data_len=3D1460 Dump data at [0x2a1668c7e], len=3D1460 segment at 0x2a1668140, data=3D0x2a16682be, data_len=3D1460 Dump data at [0x2a16682be], len=3D1460 segment at 0x2a1667780, data=3D0x2a16678fe, data_len=3D1460 Dump data at [0x2a16678fe], len=3D1460 segment at 0x2a1666dc0, data=3D0x2a1666f3e, data_len=3D1460 Dump data at [0x2a1666f3e], len=3D1460 segment at 0x2a1666400, data=3D0x2a166657e, data_len=3D1460 Dump data at [0x2a166657e], len=3D1460 segment at 0x2a14b9400, data=3D0x2a14b957e, data_len=3D1460 Dump data at [0x2a14b957e], len=3D1460 segment at 0x2a14b9dc0, data=3D0x2a14b9f3e, data_len=3D1460 Dump data at [0x2a14b9f3e], len=3D1460 segment at 0x2a14ba780, data=3D0x2a14ba8fe, data_len=3D1460 Dump data at [0x2a14ba8fe], len=3D1460 segment at 0x2a14bb140, data=3D0x2a14bb2be, data_len=3D1460 Dump data at [0x2a14bb2be], len=3D1460 segment at 0x2a14bbb00, data=3D0x2a14bbc7e, data_len=3D1460 Dump data at [0x2a14bbc7e], len=3D1460 segment at 0x2a14bc4c0, data=3D0x2a14bc63e, data_len=3D1460 Dump data at [0x2a14bc63e], len=3D1460 segment at 0x2a14bce80, data=3D0x2a14bcffe, data_len=3D1460 Dump data at [0x2a14bcffe], len=3D1460 segment at 0x2a14bd840, data=3D0x2a14bd9be, data_len=3D1460 Dump data at [0x2a14bd9be], len=3D1460 segment at 0x2a14be200, data=3D0x2a14be37e, data_len=3D1460 Dump data at [0x2a14be37e], len=3D1460 segment at 0x2a14bebc0, data=3D0x2a14bed3e, data_len=3D1460 Dump data at [0x2a14bed3e], len=3D1460 segment at 0x2a14bf580, data=3D0x2a14bf6fe, data_len=3D648 Dump data at [0x2a14bf6fe], len=3D648 rte_eth_tx_burst return value is 1, indicating send success.=20 I use tcpdump to capture packets at the peer. The length of the captured pa= ckets is 29200, but actuall len is 32768, loss 3568. The count of while loops is equal to the number of mbuf nb_segs, everything= seems good... https://github.com/DPDK/dpdk/blob/v19.11/drivers/net/i40e/i40e_rxtx.c#L1180 I am not familiar with i40e driver, and too much debugging message will not= recur this issue. I wonder if there is a better way to debug? Please give = me some ideas, Thanks a lot! TSO config: mbufs->ol_flags =3D d4000000000000 mbufs->tso_segsz =3D 1460 mbufs->l2_len =3D 14 mbufs->l3_len =3D 20 mbufs->l4_len =3D 20