From patchwork Mon Oct 8 16:09:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 46283 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 7B7EE1B3B1; Mon, 8 Oct 2018 18:10:48 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70]) by dpdk.org (Postfix) with ESMTP id 0CB651B3B1 for ; Mon, 8 Oct 2018 18:10:47 +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=yF2tubRoQkZw4KqUcujES3FhKSv4T64tnsYT2Vq1KuU=; b=BT5Su4CAZiegLhvds1dGTYM07AszQE1MdeNV2lV7W8wvK/xSKSpm4w8AL5HLr8Z/9Dzrm4b7o8It0Y/XeLmtAgRqn+r3y35d53G/fx9DdEt/upIn19V5ZNNx+StKQLlWr/yeRtZnbADXISxd2dOwSeMBUMbBKdDewf3NPQ02u2U= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.8.8.4.4 (122.167.112.78) by SN6PR07MB5005.namprd07.prod.outlook.com (2603:10b6:805:ac::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.28; Mon, 8 Oct 2018 16:10:42 +0000 From: Jerin Jacob To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger Cc: dev@dpdk.org, thomas@monjalon.net, ferruh.yigit@intel.com, arybchenko@solarflare.com, olivier.matz@6wind.com, Jerin Jacob Date: Mon, 8 Oct 2018 21:39:53 +0530 Message-Id: <20181008160953.32510-4-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181008160953.32510-1-jerin.jacob@caviumnetworks.com> References: <20181003181657.32236-1-jerin.jacob@caviumnetworks.com> <20181008160953.32510-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.167.112.78] X-ClientProxiedBy: MA1PR01CA0087.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00::27) To SN6PR07MB5005.namprd07.prod.outlook.com (2603:10b6:805:ac::31) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39ab950b-6e70-440d-9550-08d62d389aad X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:SN6PR07MB5005; X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB5005; 3:dzw2Dg0ZAGf+xuRpp6PrqrIMRWdLc2LLl0QhZhe+1jlmKW7B41iPDnm2IkQ0zL6eife/s+rZJC1hWJdqZI6gs481Giym9js8ytavappjgM21K2ybQPtB+3kbwM0l5UsZi+zoSgXyXKKTXsriwyVf0pfLRIXAn822RbeTGC/4fYX+p7qp5UAlKc5uv+IPufjouEgG/15pYim4rtfHhZh8fV3/CGpFvVODAJmfMC3AOKiEA64QFL2wF5pHPgzciv95; 25:o8GbAygAp9SexG9XkwjDrYyKWOmgyf65WswV+tqGJyXsP4gxcqjUl43NXf19u2KDozL/WAsc4jOfmsT4JfGkMGPTvBdssQYUxzynPp2BPDLQxfpFgGR3w72ydUImx0yf9SkQLY/k8948dJWYqkWtLOyqJAbRk9bboUCtmqxQ3hwmnDNc3lUVGvvoFdVT+ghX0+B3yNpM66uhq/NICX6yr/t4Y15elxKgo2GjM5VKzmtA2w9Iv0rVdB8YcwavZ4V/XXqkFs8orXRhosoHH/Ri1dxLmZLOy3Y4M/2x4xpGErMZuopZDHJr9z3nv3iEIsProYRkiPOuSSiSUdmQ4K92tg==; 31:AqCy5Nr8HlfQoZK2eBVG5891eaFPdp3Ug5+lh/Hhght5jaHaaE49MBd9M1tWBfJv538c5ci0Nuu48diGHslME5b0gu6kUREotO7cB9GmEj438ql7phn/VCHEUh1KRPxNNxHK5UWli4X5XZq4MoYAKA8tSLsiutBnWZSCMVGrlYsBkKhocpj4wzUljIeyTeGXgJIEDI/igCXy89UtgpLbCD6uFgt0z8FINSgijAy26j8= X-MS-TrafficTypeDiagnostic: SN6PR07MB5005: X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB5005; 20:lgKhW2b/6NIm2BlqKkVWMFH7UXBh6+j2iTyBLV1a4mWyy2REIiTJ63WpbvDnKWyxQVgdvAR9kmj6V4HyIWwiuNl52cH7hJkeGDBTfofE4DziB0k5eeAqXkkqB4mvgkqrfVTnOQTAH6do7SPUEFA9GgzSN76f0JUhXGoYAN4SsRF9BAtslXCPqtoXSzo/yt7Rfggttxu6PJj7K5ftLarxtUno4M2/sww5jZ53YCTDSjsdy3WJ/hd/EeEQM8DuigEMTZT6bT081Fu2pHbV4QXNpiS6i50N5BPiwGvNwwttNTR7F8MyB8skjmWd5VEjoTh+yzpoprU1xJu4YS2XXE52lyaA1NemGKX78Asxa+oTgR6tp27FFfJrSc92pHyuI32EkEdz8pETBvi/HRaMerNWysvbjQR+kiT2TXpeuuofR1x5IqR4uUVhdR/ZIshPu/qn3JQ8yKsXl4+wTW7MhIOOSwXSAvZyGL1dX9p+8XUY1vF7vzunz+N73Fv73+MvpP8+r0hZVUcpHddO/vshrM3hF6CiZJ8onh2QryKwEImClu2m0zepY61XdHgdQo2PaCUaOJJlu2g2azERlY1IN5Gzg0hhfA3qXVaqmFrTuRI7S4Y=; 4:YaYnTsNT6ZAZ6bCK+bNqoQ41ggv+FFDq26FrdnvPjvgoPeRDorekC62mq1delkUOP75C4LmmuGJh3tGBYiucJECZ6mwAHPvsNzWWWIAvS2YXnLDovSYiQZaOAf0wKzPZ4x6kmOCEBH7n0jwKRZUen9VqGxvCGZKdwvs0KOBobjQXB1iVOcfesPYBb9YHGelsyRSd9XQ0HnPVyTY6rd+KkF8AvEcilgdI22KmXKvPbLO53L65nQCleo45k6H6PIDQy7fun7GlD2g+WVssiWe5UIIUm3X7H0w1Ziu4EKolbZl+YpE3ilxrqyd46s2xMioF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(3002001)(10201501046)(93006095)(149066)(150057)(6041310)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051); SRVR:SN6PR07MB5005; BCL:0; PCL:0; RULEID:; SRVR:SN6PR07MB5005; X-Forefront-PRVS: 081904387B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39860400002)(136003)(366004)(396003)(346002)(376002)(189003)(199004)(36756003)(305945005)(2870700001)(72206003)(25786009)(42882007)(97736004)(956004)(476003)(5660300001)(7736002)(2616005)(11346002)(446003)(478600001)(6666003)(2906002)(44832011)(486006)(4326008)(3846002)(6116002)(48376002)(50466002)(105586002)(66066001)(26005)(1857600001)(16526019)(575784001)(186003)(106356001)(47776003)(1076002)(53936002)(107886003)(316002)(76176011)(52116002)(68736007)(51416003)(110136005)(8676002)(50226002)(8936002)(81156014)(81166006)(386003)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR07MB5005; H:jerin.8.8.4.4; 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; SN6PR07MB5005; 23:i4OCG6y7RTnO0I/xdI8OzTQYmtlb1k6vgn6DeZ0lL?= PS3pHEaoLk3MFiAHOQQjucCBFwE60tLhK43nKOwIPZAG5jTudhOaUItdkvhJrHcBUkRPjGrLw8jBNvknyT7GuTwN/S52Fq+/YbVK3PyfHvdKz9WcoEk4xRgZ3ZjxsY1mq1D6Td2BckhLe7S9hzyb6TPtsFjLo5ZHXDE4TWF2MZiRa4g57l+HmSUC7cqM4ACMaRAeoKhze6XfFwNeu+USVhFvSUsaSGpE9GWq4tj97RW0SPt/0KedeTBfw3wBYS6QDKVHvwfifgOSsxmYIFIej98dcIo/aCtcXqB5+fgfAz5UzqmJENrCUznNRDHp544d2RAkvx4Ua9YZ6Wc2v0C7cIYHbyAHPDOfJaofnPducYJRBp8EQ+6FvIO5tlXln5q6Dh70mK+icfBdAMfxdiKuZoViZKpmHTyZjGy6EaLXyGOCLVBgf1A13vYcr+WhKzMhOQxoCkh7aqhqG1IRvFzJo15aRgzui0YWibPwMSdWUZV91JLsbpxBAXxexA+/VcFLuqXRyzoV10+/pTJzFmfsYsjmXX4kl0cJBwCU10AMaNkA44nYmqDuwA++vP8hTWetmINrmCXyQ+RoNeMA8wHsh5fsNdlJytvb95PJXE8kJdNBWQPhnjQqQnkfJYNV79nGgtDUEKZTEmMg1IjBohs0TUOTuPKPg42lSjTCznk2/kW0F+x4TccEsQ6qHA83F3LCubmRtL5o22as0NpCFbboTYwjCGA6vlrqvR5EGV7iMoeN5ThMXmGntEVPqoRfS/Pnfnc0ylvnlWfF/ymJI0sQlHzM8cTsIkS7e67/2pfsNjAwSbcoa5AyffyVpnVSfkyIONwRizX+czeBa5cKxfo9fh9NSjqmQA9PI8o6GKSWPq3nV9stYhLEIEIwp/wq55/LKLdq3dRLe3G4qHG7isJrBSTaF/iXJ0ABHVi052lQY6cxruMi9EN8pxvQH/HNztUjvk3RIzkYcIwQvy/7obQlSRs3m/WWBiTUmA7NOdxAguw8fZbWQh97jDVDgmjkK+oRb+IVQSCXW/oZ8SgZHQ2kvr8wRNU4JIA/Tio25VZVmsT8N0yEgdxDwm5gy5mG4G135mTQWSkq12Mf0MBuUMYG1b05nGBfxkjkni+A0X6k9M1bvewzXMF1mWkwW77+35YkZSBzUCieMmxfKKCi9WkoS9ffT8rtVYAyReMMNhWTMUlsjflvF4l0vzHHoZDS8TiEVEL1G/0Z44pa/VAyaVhkqLYKSAhbVEgCy9Sz4JQKyvOYg== X-Microsoft-Antispam-Message-Info: zcoj49atCTplseSjUVVIdNFwcIRCBvsSQY3VfcSrhHHLTABDPUOqddN44bBXZ6bXTjD6UmNCKOYXVsmPND+9uYqBqzPpxEwCMsrRN8uFoNtXWpbhqU4NqEG8z/0FjbNr5kAykG/gqrLLrbNG2BaKt/coJNRQ7HQr1PAyJbHpux3Gor2W24knhtAWS1TzKNLOzDQZvVlXNL6I6Cv97ZLBbMmvs1c4DK5yriqIz9HpzldY/CS3Aym4EBTu6YAI2KX8L3Wks45vO19ZKlx5gXjGKBu7TU+XyKnlFmLAuBGjJAkH6iO6e3QZwHhGRMT0ej47w/japp0YLLEZK4ISYa/dkoXhnjaXUh4symv4pUB1O34= X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB5005; 6:mRyM4SNogBHTE1JztAa6ixtK7jVlycB8K1RP+IrlX4Ttaxp6EbtgN8ip8JPeN0J6PDYhovGxvaCGz/k966V3ZomUiziHCdQgoZbdzlyBQ3Gdq+BxvcNEZRx9sgfcLn4djN3/iUCvb8QzQm8YQOzR0SUimP0Q/Y7hCli5DjEvInr4OVtao3CydDR8gELSpKD5Z0zlIVOrpNSy/jtWg6itEOXBtE/E7iN1MULhW/kQQMmukIdzYhCYtvKFlBqIYhWGqSTkBD2Y+MJNGiCVwyF3H1YjADdV27hnJBJhW+v97YzUGOKU2jAXze/eMNYjeOQrymTqlkS0yHZCJmWuvKNRfzD2MMPN3Vf5XokL3hgmdK0+iNvFfg65gT38sDokkZ42JAwBPtzGURYB92l+yvyfbv4AjJuK08tAFXz6V3ZEUjMfmqwnWEC2V4C27B1ExY/QXoCqvYDiGwc9D5kt9LVVkg==; 5:2D3VU5Rfd+ZfjpNFARAWVpOgCG5WTV/5DaWbgy1TDBkKy/8jgfPZVllMelDfp+Z1NUwTjd3Pedl5bemVU6U9Iq4LG+YuToJLZSWuG/Z9BLo1cYq4e6ZR+LQPIjAiSiSlQxjt62iiwCresctngIx5aDUD/RSuvuFQTNvkRwQj2Bg=; 7:HtKApr/dEPF+T3zO55S7Dm0KKXYo5yA8W3Fhcz7G4VNW2GhHVMq1vNkJ4zLpsRy+HaN6VNr5sg9TtzQxZU9qOQeGyyz5L5cr/F2iG1y0jTwnRsCdjIv5BCraI8UkriXHApmpNDEJwiWXEaLhoPTo+nuGEzt17Amd04Je6jUdJUHJWYeQDyhdI4Df3hHmxldgSmdta3HaowrfSx5xnQ0S/qqoy7SNknlnHsAWNomzh7D1Rl8IsR/39da9rgyXkBmw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2018 16:10:42.3546 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 39ab950b-6e70-440d-9550-08d62d389aad X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR07MB5005 Subject: [dpdk-dev] [PATCH v4 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 Acked-by: Bernard Iremonger --- v4: - Added Acked-by: Bernard Iremonger - s/PKT_RX_EL4_CKSUM_BAD/PKT_RX_OUTER_L4_CKSUM_BAD v3: - Added Reviewed-by: Andrew Rybchenko - Removed unnecessary extra empty line(Andrew Rybchenko) - Simplify calculation rx_bad_outer_l4_csum logic(Andrew Rybchenko) v2: - Added PKT_RX_EL4_CKSUM_BAD statistics --- app/test-pmd/csumonly.c | 5 +++++ app/test-pmd/testpmd.c | 18 +++++++++++++----- app/test-pmd/testpmd.h | 4 ++++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index ea5b112d6..dce4b9be7 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,8 @@ 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_OUTER_L4_CKSUM_BAD) + rx_bad_outer_l4_csum += 1; /* step 1: dissect packet, parsing optional vlan, ip4/ip6, vxlan * and inner headers */ @@ -991,6 +995,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..2a641fcfe 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, @@ -1483,6 +1488,9 @@ stop_packet_forwarding(void) ports[fwd_streams[sm_id]->rx_port].rx_bad_l4_csum = rx_bad_l4_csum; + ports[fwd_streams[sm_id]->rx_port].rx_bad_outer_l4_csum += + fwd_streams[sm_id]->rx_bad_outer_l4_csum; + #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES fwd_cycles = (uint64_t) (fwd_cycles + fwd_streams[sm_id]->core_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 */