From patchwork Tue Oct 2 19:24:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 45910 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DE10F5F1D; Tue, 2 Oct 2018 21:26:57 +0200 (CEST) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0074.outbound.protection.outlook.com [104.47.42.74]) by dpdk.org (Postfix) with ESMTP id 5A3105B38 for ; Tue, 2 Oct 2018 21:26:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uc+qTtWGrgK0U+VfAO7iBM3uGjtqWhv/qwpQgUG9YKM=; b=j5WBg0U4EXaphhNL1qkYO2IqLee/vFOGJCzdCbMqPm4niUuEMcRT+zRR87+YJydm4/5dAogG8XchrFk3M3QR04SYH7aG2NNvSF80e61dm0X18u4+s8zqaXUEftQRxmk7ZQ9ui1CIG/UiYldNGvQiJkKZflqfivOzZc4eAdIk95M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from localhost.localdomain (115.113.156.3) by DM6PR07MB5001.namprd07.prod.outlook.com (2603:10b6:5:25::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1185.20; Tue, 2 Oct 2018 19:25:44 +0000 From: Jerin Jacob To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger Cc: dev@dpdk.org, shahafs@mellanox.com, Jerin Jacob Date: Wed, 3 Oct 2018 00:54:51 +0530 Message-Id: <20181002192451.19119-4-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002192451.19119-1-jerin.jacob@caviumnetworks.com> References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> <20181002192451.19119-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.3] X-ClientProxiedBy: PN1PR0101CA0069.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:d::31) To DM6PR07MB5001.namprd07.prod.outlook.com (2603:10b6:5:25::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f6b743a7-e159-42dd-0a37-08d6289cda72 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB5001; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5001; 3:so2dkarht1vpCN54p+vudYbhjb5UD5jU630TimjpDMAqmHZEq2YWCsuQW3/52RgIdibnNu8aeR2huFt+DEfXXtjDlKVE0p6NbaB8M+XXI5SVmY1uO3wXILom9KojAUEPYfBVw192fV1ucU10XbxICxIC1YZI8CnMmJg5A3h8Fd38d2q0IDG1g+ScDDX8jfaiFg3ckrkuqdPFNUJL+FPdu6sefaRUjxp+vMkRLtJywtx1CpfSk6MnoKkao3yW54aB; 25:SI+zSRj1y+spoRQ3zEabsCDcR6aTsYYDtTMZTqRCQd/nxUwKRpMVlhr/3Uwp0tEUsMJd7mwl61Eg/+pDxaokBejO+wBGJhuw1v3zwxIup29Ix1px9Z6HcJCKoo0vwv/K0asc+DEad+fNCzxpoTUsHL98B/3SaZOpWGwOlGlWBwmqwnMkPyVFTldM4jGyia1sg+eot+ooQzA0pbHgyaWZEHB7sh6MYCuwgmQriQcL7l17h/4x10ikGg+tt+akcRrqZY7aoVDOpL3V7wAFcNaE1MiUyHAKodZtKkQv2MbizZyF3QBqM3kyUYPgxruO/abgYLg8kO1yQ5sm0f06XCsQHQ==; 31:fo+2VOGZHSljL0oGaKmRlS/a52H9eH4e5fNcnqlx8LbJHiSRQZ24e8unSNSEwBnwjQ5g9yruoTTMz/U77jAQGG7osvwa1o5sShFZe/ovmaThLV1+PyJdxAmep/VrSw+KWuYWxg3yVHHfmgkP3lNPFjfRCK4qtbzpqJw8sNjI5RXt1y00l1/lRDXoVIUUZ4RPw5F+YjX6dVW/rF409ZBwGBpRyonDSyEuElCnsixdoMM= X-MS-TrafficTypeDiagnostic: DM6PR07MB5001: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5001; 20:tmLYJEVpP8tD+QHdxYAOJ50/rM0VuwpgTT/HdKuQYf68JTQ5OxFXlKnEhCQSQvm12Az8O3ibLb35EFn1OoJ3Xj+NSLlkjWrv0hR3mIDEKZDvrKOxG0O8uAon2P7+9a3CJ09jy7R/mXWSjmOGlc1LDWmeNeCOhou9LJaP/gPhVjq8dfg2RLoEUyL0WZsNcZrBvamyC6kEkt0gaVaL9mKNEQfbqp5NpuqZ21g/fqlSLAGx/7qerP4LUf1OguAn++2oSimGJnTf8J020DIL0kc4gmwVIRveokD992WB5ukDEDKums3OyWe1qPC0T98SrYUzJDj8jodCStune02Stt7Xj7EbaTwVb4Gm0RRI9ZLWJYKPVtqXwV3Tyi1UcYv2JPxnDrBM5SA+Vsd4PKXeOhfQo4EwvySPDrp7P5qeDY1O6oluxvce+cbzRtpviyUnLR+xHJxRS3ifC9qWXpHswD/HwbwNnTNiWChLbx2ABlNcWWSNgMXwB5ozrVyaRAO9PHiF0EUKcXZJh7hWjGRoBuLBNHl9vH9+pxnyuHa3m/cZZI8p/WrkysGQsG/3Bce/4an+2wOlbMX+P34Au/BTc8xD1cNwurkZFjZ7gCWDbciKMTQ=; 4:dD/K+IAvpX51q6B7vPwdgZ+uy2MKahriH7sywwoD+JOm4dNmL27PZlPLjjk87Rxsc6gdIpHlIdaoWsD++CY3auA5lQALAXbc89vt9Ur8rz63qwugGWt6K1cwoME6pstVEH0gyHJFpHFzvF83X52AhMxMymD4VsLK1pXldwaQ+4pupS53/I+nCsIW+2vn7pQYXD25QebI2SxaHKKzGz9ZrS/zInDJDk3Z7oN5nwM/z0jHHjTDa3Ww+qVi96Sq5eL8EFPWrVJQJkqjQCSGukxsNA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(10201501046)(3002001)(3231355)(944501410)(52105095)(149066)(150057)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051); SRVR:DM6PR07MB5001; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB5001; X-Forefront-PRVS: 0813C68E65 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(376002)(346002)(39860400002)(136003)(366004)(396003)(189003)(199004)(105586002)(2906002)(316002)(106356001)(44832011)(36756003)(2870700001)(1857600001)(26005)(2616005)(11346002)(68736007)(186003)(6116002)(1076002)(476003)(575784001)(486006)(3846002)(42882007)(50466002)(446003)(386003)(25786009)(53936002)(4326008)(8676002)(81166006)(81156014)(5660300001)(6486002)(48376002)(478600001)(16526019)(956004)(110136005)(6506007)(7736002)(305945005)(8936002)(52116002)(97736004)(72206003)(6512007)(6666003)(51416003)(50226002)(76176011)(66066001)(55236004)(47776003)(69590400006)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB5001; H:localhost.localdomain; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR07MB5001; 23:+rp86/iSz4qq2c6m3pPWwfKWfYDXR3EMtGLaC5wME?= bsZCaRjX9GoztU3POnnxHR0pleai7MquIRBVmtbpbyIhRYDGaWPjQ9rX81+OoiwyP9DjCr1V+wLpt+vTRACoK6/bfRLXjsLdytYUigUZtU2TkiucO1blHq6Hr+h8QtHjEBz+1yeJYJF2v/qlBItut9H/RyCsCsEdtP6ch7c1Cy92GPC/SRh5Gh0fE+r0ywLpSqZPAbfDLZR8dBt5DXHDlVLjKgAnogh/MkyyZzolwSSH2mi90KZ2th7AQRveUKxPtqkYQn5a7ouA63roNgD8Lt1+W//XZGSI4QWNURdJIk9S8qSeHr+MMYf2XS1ErbaHYB3RrW61jABbURWATA4ZYY19NYa7SHnZmRzKUz5Palz4GDkKOfKqVwirKciKIWAbHpYLKyaAIY1oolzcAMHMDTbpz8FAu6+LbvCahJeFuKbINyCl2BnbpN/rM1INZ6gIK1QdgpaAs/vfzXcjx+BIr9sTYpL7HAqDUHy+aoNtqPQUAtYAruxDe41sNIUn2XtYZzCHsT0knP7IOHO0ilouOPY5AJ9bhEoZV2hyT4MB7T04AqK1zsmfm7gfIa+tMmXfqUh7qkKygDAebMTjbhgpx1/hzESIRvhFIgp+TMX7IVvELkXfPdK5uxwVC80vudYX9IB9nauFfqAolv5U0Bo6OSZUigd7xjKxBT4tMLVLkRbhpYw7VNgKvGs/i3nc69hp7rbBwSc6p9ura8qOxdsEpzNCNgkgh30da62rImAykIBpa8A2Pkav3s68X6FbB/V9d+0JMATaxpLHSMu9n84OsN8L2QWHgf8qsiVJe6mEHDXKS5AZZBy0YHGOX5NH5XZXew1d1EeHDsPU49WQu7gttJ7OF3+pfSiKAMR75GDdndwt8/duJbBtSSZCMRzMAdyRch5PhN/dVeCm9jFlc0STBG55pIK9gQoPHNGQ4g+PDEmZMrbZjJ3ZDTlNdOybFiH5PVFBWKpWqxTxqS9dHXmTWTIINJgtAcXwI6OJOnS2qjFAixfz7CJlfTq8d3WrLGzk4amVBDQGkhYJYqc07H/B0ODC5/HDCzf+aCecg98af7bai8HxsOC9AIcxg2qpnJYGPwvV7ABjYR6hmFzIVEIJx/XYdI88AntV2xk9hMz0dFxSvuWwZtU2x5gpVRdysqTiWg2KvWMd/cvGwZbnOcg0JiZTFX6ADEyANjBATWt9ojEzaLNzXPQ2fo3ieWun/qZPWJHIi85rrySef8M6qhhj0eJw66TvVAHHgWwt/6Z9q59NcLodmUo8DMEi6x4YWRWThEcFLDlZbIhZWrSyWV7TJ9r+9+bCXgARBNMDsnKR3P1Xz1LJdpn9TLg7lJAKT4ZKsk= X-Microsoft-Antispam-Message-Info: vH+0IUwPgMgFJ+/X/Olk+H9FGpEfC6RB2wU7OlLZfYZDkLDBIwEK7Gs/labodfXt1a827pGApJREvC5cNTqnpkBd3/2iPoh7vcVMdfTL9HJGywjujognodCeBkxIxuuHZsVZtrLu6cgrnR+eIwlB0+4oiXar2kR8ILfl+2m7yQRI67/FSGZZgjF+Dgwt3f0/i3naQ5mNvpu72Z7g4Z1jA+i2zRDLexB6OzRyUVCpV+vdi5PfGLUorQDWeyrVReUvWHGhqn+1EmJS9ZyiDaZo4wnCF6cPxALHmc9diwMdHnrn9BrCeCzC2nCTJmWpe7C0DOOp9STZ7+ouTkCn0zpNZWBpElip0gZ6l1v3a5qjs9g= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5001; 6:4bAGEiOheUBme9U2p3MehQ7IiBtQS7Be2wtLIYwzwxeNDWTv+vQ/qWEq13bRBnQJ3Pk2T0yoDqkGtS5C78uD4T5JWqdXxfGXp6ffSiJKImU5VMIHqyFy+wFr0JZzTb4yqWEHIBdTlT+ajN/Rypk8exb6IAjrppv4+voqQ3IanqkY3x0NIKD4sY8b8w7Fj4xDKBZM4m0VDMCJj2fzrHCUT+EueFTYE194Y1ycUNU6idPuhQt0h6Y4dAYQqUDazjKZyyv6c/REJcub1+1+XBFQZ4aGogozt4Ee0JlnV/f9+YiLoJWngG1zVr7mIBI6x4PI5K/E+Yxhar8fxXX7mNRGfxGiJPrGmQp0VzerfRg14Ai6lfKwPtP8B/1gYAtX7jl9yKfCD9nO1M7jq9St6Z5uYqe44pbjvnTKKYEbEVlsR7O/dkOc1b2MZDXszAGwoaxLe+NyTSMD6Nhe3iruka1Wug==; 5:K54Sn5kz9tdjhd5TIttGCCmhBb4me0iMowaWpTP/VfrzxD6bleXSzI1Gm9z/SxPj8gGYaq3YGHlB20XvEkh26/7ZNS0kTBXa4BzTm8qg9ZPS5YPQtwpuiBnyQ9udW86vE/PVLMGtBzott3QPUAF6zT7DUs3Wzkwp3gqPMQIXsnQ=; 7:qwqNz21KpOSqr1CpysMKesvlTW5UtcK/6Sp1O5Qe9EJcbXsEA3kifYhdOX0KVsZ5To95eNDSuwsu0vM+9iSWte5DupK0jdjG6YJJvDpfSXNsB5/Qpeujs9LP24/hCug1v4NWgp00IHy4hXv4l7zWoVTxMAlokSagdpMtCtHSfJuwLE6guh1vzT3MlIhZZuXQDrOiKHnLGuY86SiM7hAWwknndZkKnUCIX42XujkNiAHfYqHKbNyRRFaibd6e9Q3y SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2018 19:25:44.0982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f6b743a7-e159-42dd-0a37-08d6289cda72 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB5001 Subject: [dpdk-dev] [PATCH v2 4/4] app/testpmd: collect bad outer L4 checksum for csum engine X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Collect and prints the statistics for PKT_RX_EL4_CKSUM_BAD errors. Signed-off-by: Jerin Jacob Reviewed-by: Andrew Rybchenko --- v2: - added PKT_RX_EL4_CKSUM_BAD statistics --- app/test-pmd/csumonly.c | 6 ++++++ app/test-pmd/testpmd.c | 22 +++++++++++++++++----- app/test-pmd/testpmd.h | 4 ++++ 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index ea5b112d6..eeda3e9d8 100644 --- a/app/test-pmd/csumonly.c +++ b/app/test-pmd/csumonly.c @@ -701,6 +701,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) uint32_t retry; uint32_t rx_bad_ip_csum; uint32_t rx_bad_l4_csum; + uint32_t rx_bad_outer_l4_csum; struct testpmd_offload_info info; uint16_t nb_segments = 0; int ret; @@ -726,6 +727,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) fs->rx_packets += nb_rx; rx_bad_ip_csum = 0; rx_bad_l4_csum = 0; + rx_bad_outer_l4_csum = 0; gro_enable = gro_ports[fs->rx_port].enable; txp = &ports[fs->tx_port]; @@ -753,6 +755,9 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) rx_bad_ip_csum += 1; if ((rx_ol_flags & PKT_RX_L4_CKSUM_MASK) == PKT_RX_L4_CKSUM_BAD) rx_bad_l4_csum += 1; + if (rx_ol_flags & PKT_RX_EL4_CKSUM_BAD) + rx_bad_outer_l4_csum += 1; + /* step 1: dissect packet, parsing optional vlan, ip4/ip6, vxlan * and inner headers */ @@ -991,6 +996,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) fs->tx_packets += nb_tx; fs->rx_bad_ip_csum += rx_bad_ip_csum; fs->rx_bad_l4_csum += rx_bad_l4_csum; + fs->rx_bad_outer_l4_csum += rx_bad_outer_l4_csum; #ifdef RTE_TEST_PMD_RECORD_BURST_STATS fs->tx_burst_stats.pkt_burst_spread[nb_tx]++; diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 001f0e552..7db839053 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1040,8 +1040,9 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats) (uint64_t) (stats->ipackets + stats->imissed)); if (cur_fwd_eng == &csum_fwd_engine) - printf(" Bad-ipcsum: %-14"PRIu64" Bad-l4csum: %-14"PRIu64" \n", - port->rx_bad_ip_csum, port->rx_bad_l4_csum); + printf(" Bad-ipcsum: %-14"PRIu64" Bad-l4csum: %-14"PRIu64"Bad-outer-l4csum: %-14"PRIu64"\n", + port->rx_bad_ip_csum, port->rx_bad_l4_csum, + port->rx_bad_outer_l4_csum); if ((stats->ierrors + stats->rx_nombuf) > 0) { printf(" RX-error: %-"PRIu64"\n", stats->ierrors); printf(" RX-nombufs: %-14"PRIu64"\n", stats->rx_nombuf); @@ -1059,8 +1060,9 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats) (uint64_t) (stats->ipackets + stats->imissed)); if (cur_fwd_eng == &csum_fwd_engine) - printf(" Bad-ipcsum:%14"PRIu64" Bad-l4csum:%14"PRIu64"\n", - port->rx_bad_ip_csum, port->rx_bad_l4_csum); + printf(" Bad-ipcsum:%14"PRIu64" Bad-l4csum:%14"PRIu64" Bad-outer-l4csum: %-14"PRIu64"\n", + port->rx_bad_ip_csum, port->rx_bad_l4_csum, + port->rx_bad_outer_l4_csum); if ((stats->ierrors + stats->rx_nombuf) > 0) { printf(" RX-error:%"PRIu64"\n", stats->ierrors); printf(" RX-nombufs: %14"PRIu64"\n", @@ -1124,7 +1126,9 @@ fwd_stream_stats_display(streamid_t stream_id) /* if checksum mode */ if (cur_fwd_eng == &csum_fwd_engine) { printf(" RX- bad IP checksum: %-14u Rx- bad L4 checksum: " - "%-14u\n", fs->rx_bad_ip_csum, fs->rx_bad_l4_csum); + "%-14u Rx- bad outer L4 checksum: %-14u\n", + fs->rx_bad_ip_csum, fs->rx_bad_l4_csum, + fs->rx_bad_outer_l4_csum); } #ifdef RTE_TEST_PMD_RECORD_BURST_STATS @@ -1378,6 +1382,7 @@ start_packet_forwarding(int with_tx_first) fwd_streams[sm_id]->fwd_dropped = 0; fwd_streams[sm_id]->rx_bad_ip_csum = 0; fwd_streams[sm_id]->rx_bad_l4_csum = 0; + fwd_streams[sm_id]->rx_bad_outer_l4_csum = 0; #ifdef RTE_TEST_PMD_RECORD_BURST_STATS memset(&fwd_streams[sm_id]->rx_burst_stats, 0, @@ -1427,6 +1432,7 @@ stop_packet_forwarding(void) uint64_t tx_dropped; uint64_t rx_bad_ip_csum; uint64_t rx_bad_l4_csum; + uint64_t rx_bad_outer_l4_csum; #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES uint64_t fwd_cycles; #endif @@ -1482,6 +1488,12 @@ stop_packet_forwarding(void) fwd_streams[sm_id]->rx_bad_l4_csum); ports[fwd_streams[sm_id]->rx_port].rx_bad_l4_csum = rx_bad_l4_csum; + rx_bad_outer_l4_csum = + ports[fwd_streams[sm_id]->rx_port].rx_bad_outer_l4_csum; + rx_bad_outer_l4_csum = (uint64_t) (rx_bad_outer_l4_csum + + fwd_streams[sm_id]->rx_bad_outer_l4_csum); + ports[fwd_streams[sm_id]->rx_port].rx_bad_outer_l4_csum = + rx_bad_outer_l4_csum; #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES fwd_cycles = (uint64_t) (fwd_cycles + diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index a1f661472..106aeefc2 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -112,6 +112,8 @@ struct fwd_stream { unsigned int fwd_dropped; /**< received packets not forwarded */ unsigned int rx_bad_ip_csum ; /**< received packets has bad ip checksum */ unsigned int rx_bad_l4_csum ; /**< received packets has bad l4 checksum */ + unsigned int rx_bad_outer_l4_csum; + /**< received packets has bad outer l4 checksum */ unsigned int gro_times; /**< GRO operation times */ #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES uint64_t core_cycles; /**< used for RX and TX processing */ @@ -165,6 +167,8 @@ struct rte_port { void *fwd_ctx; /**< Forwarding mode context */ uint64_t rx_bad_ip_csum; /**< rx pkts with bad ip checksum */ uint64_t rx_bad_l4_csum; /**< rx pkts with bad l4 checksum */ + uint64_t rx_bad_outer_l4_csum; + /**< rx pkts with bad outer l4 checksum */ uint8_t tx_queue_stats_mapping_enabled; uint8_t rx_queue_stats_mapping_enabled; volatile uint16_t port_status; /**< port started or not */