get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/125191/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 125191,
    "url": "http://patches.dpdk.org/api/patches/125191/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230316151438.186241-1-aharivel@redhat.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230316151438.186241-1-aharivel@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230316151438.186241-1-aharivel@redhat.com",
    "date": "2023-03-16T15:14:37",
    "name": "[1/2] app/testpmd: fwd engines report processed packets",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d2dc2af5c0d474001c282dc448379f40184ea25d",
    "submitter": {
        "id": 3005,
        "url": "http://patches.dpdk.org/api/people/3005/?format=api",
        "name": "Anthony Harivel",
        "email": "aharivel@redhat.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230316151438.186241-1-aharivel@redhat.com/mbox/",
    "series": [
        {
            "id": 27422,
            "url": "http://patches.dpdk.org/api/series/27422/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27422",
            "date": "2023-03-16T15:14:37",
            "name": "[1/2] app/testpmd: fwd engines report processed packets",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27422/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/125191/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/125191/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5B0C841EB1;\n\tThu, 16 Mar 2023 16:14:51 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3B6EF40DF6;\n\tThu, 16 Mar 2023 16:14:51 +0100 (CET)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id B447740DDC\n for <dev@dpdk.org>; Thu, 16 Mar 2023 16:14:48 +0100 (CET)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-456-m6K4grmcO2q2QR0fMtWSlg-1; Thu, 16 Mar 2023 11:14:45 -0400",
            "from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com\n [10.11.54.6])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D5A6A87A9EA;\n Thu, 16 Mar 2023 15:14:44 +0000 (UTC)",
            "from fedora.redhat.com (unknown [10.39.208.19])\n by smtp.corp.redhat.com (Postfix) with ESMTP id A56772166B2A;\n Thu, 16 Mar 2023 15:14:42 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1678979688;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=0PFxjRXsiahlfQ3+MOJVOUehVPem+9WTBTv9VYtWtC8=;\n b=I2n35irgPjkzNpAdLTZoqGZhgD6GlCV6d/rgjIKAmMIVPIgw5adKVdcIGI+O8QlIC2hClM\n i6AbIwh8gGrXGoSbuailN+cQNCUmL+75Eah/mDNviSUMAwBANMxqkeOdR7sM3xq2hk2Jkb\n 5f7ElR/dq0d81JX2b9r1Tub2AwIZ9TE=",
        "X-MC-Unique": "m6K4grmcO2q2QR0fMtWSlg-1",
        "From": "Anthony Harivel <aharivel@redhat.com>",
        "To": "Thomas Monjalon <thomas@monjalon.net>,\n Aman Singh <aman.deep.singh@intel.com>,\n Yuying Zhang <yuying.zhang@intel.com>",
        "Cc": "dev@dpdk.org, rjarry@redhat.com, david.marchand@redhat.com,\n ktraynor@redhat.com, Anthony Harivel <aharivel@redhat.com>",
        "Subject": "[PATCH 1/2] app/testpmd: fwd engines report processed packets",
        "Date": "Thu, 16 Mar 2023 16:14:37 +0100",
        "Message-Id": "<20230316151438.186241-1-aharivel@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.1 on 10.11.54.6",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Change packet_fwd_t to return the number of processed packets instead of\na boolean.\n\nThis will be used in the next commit to determine the load ratio of an\nlcore and adjust the sleep duration accordingly\n\nSigned-off-by: Anthony Harivel <aharivel@redhat.com>\n---\n .mailmap                      |  1 +\n app/test-pmd/5tswap.c         |  6 +++---\n app/test-pmd/csumonly.c       |  6 +++---\n app/test-pmd/flowgen.c        |  4 ++--\n app/test-pmd/icmpecho.c       |  6 +++---\n app/test-pmd/ieee1588fwd.c    | 18 +++++++++---------\n app/test-pmd/iofwd.c          |  6 +++---\n app/test-pmd/macfwd.c         |  6 +++---\n app/test-pmd/macswap.c        |  6 +++---\n app/test-pmd/noisy_vnf.c      |  4 ++--\n app/test-pmd/rxonly.c         |  6 +++---\n app/test-pmd/shared_rxq_fwd.c |  6 +++---\n app/test-pmd/testpmd.c        |  6 +++---\n app/test-pmd/testpmd.h        |  2 +-\n app/test-pmd/txonly.c         |  6 +++---\n 15 files changed, 45 insertions(+), 44 deletions(-)",
    "diff": "diff --git a/.mailmap b/.mailmap\nindex 156b2278ce84..97b5bdfe1cfd 100644\n--- a/.mailmap\n+++ b/.mailmap\n@@ -111,6 +111,7 @@ Anna Lukin <annal@silicom.co.il>\n Anoob Joseph <anoobj@marvell.com> <anoob.joseph@caviumnetworks.com>\n Antara Ganesh Kolar <antara.ganesh.kolar@intel.com>\n Anthony Fee <anthonyx.fee@intel.com>\n+Anthony Harivel <aharivel@redhat.com>\n Antonio Fischetti <antonio.fischetti@intel.com>\n Anupam Kapoor <anupam.kapoor@gmail.com>\n Apeksha Gupta <apeksha.gupta@nxp.com>\ndiff --git a/app/test-pmd/5tswap.c b/app/test-pmd/5tswap.c\nindex ff8c2dcde59e..f55d4547e3d6 100644\n--- a/app/test-pmd/5tswap.c\n+++ b/app/test-pmd/5tswap.c\n@@ -81,7 +81,7 @@ swap_udp(struct rte_udp_hdr *udp_hdr)\n  * 2,3,4. Swaps source and destination for MAC, IPv4/IPv6, UDP/TCP.\n  * Parses each layer and swaps it. When the next layer doesn't match it stops.\n  */\n-static bool\n+static size_t\n pkt_burst_5tuple_swap(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf  *pkts_burst[MAX_PKT_BURST];\n@@ -107,7 +107,7 @@ pkt_burst_5tuple_swap(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \ttxp = &ports[fs->tx_port];\n \tol_flags = ol_flags_init(txp->dev_conf.txmode.offloads);\n@@ -154,7 +154,7 @@ pkt_burst_5tuple_swap(struct fwd_stream *fs)\n \t}\n \tcommon_fwd_stream_transmit(fs, pkts_burst, nb_rx);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine five_tuple_swap_fwd_engine = {\ndiff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c\nindex fc85c22a7757..2632894a29d1 100644\n--- a/app/test-pmd/csumonly.c\n+++ b/app/test-pmd/csumonly.c\n@@ -828,7 +828,7 @@ pkts_ip_csum_recalc(struct rte_mbuf **pkts_burst, const uint16_t nb_pkts, uint64\n  * IP, UDP, TCP and SCTP flags always concern the inner layer. The\n  * OUTER_IP is only useful for tunnel packets.\n  */\n-static bool\n+static size_t\n pkt_burst_checksum_forward(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf *pkts_burst[MAX_PKT_BURST];\n@@ -860,7 +860,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)\n \t/* receive a burst of packet */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \trx_bad_ip_csum = 0;\n \trx_bad_l4_csum = 0;\n@@ -1174,7 +1174,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)\n \tfs->rx_bad_outer_l4_csum += rx_bad_outer_l4_csum;\n \tfs->rx_bad_outer_ip_csum += rx_bad_outer_ip_csum;\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine csum_fwd_engine = {\ndiff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c\nindex 53b5f24f11e7..a89de81ce615 100644\n--- a/app/test-pmd/flowgen.c\n+++ b/app/test-pmd/flowgen.c\n@@ -58,7 +58,7 @@ RTE_DEFINE_PER_LCORE(int, _next_flow);\n  * terminate receive traffic.  Received traffic is simply discarded, but we\n  * still do so in order to maintain traffic statistics.\n  */\n-static bool\n+static size_t\n pkt_burst_flow_gen(struct fwd_stream *fs)\n {\n \tunsigned pkt_size = tx_pkt_length - 4;\t/* Adjust FCS */\n@@ -168,7 +168,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs)\n \n \tRTE_PER_LCORE(_next_flow) = next_flow;\n \n-\treturn true;\n+\treturn nb_pkt;\n }\n \n static int\ndiff --git a/app/test-pmd/icmpecho.c b/app/test-pmd/icmpecho.c\nindex 68524484e305..3c08d3cb311e 100644\n--- a/app/test-pmd/icmpecho.c\n+++ b/app/test-pmd/icmpecho.c\n@@ -269,7 +269,7 @@ ipv4_hdr_cksum(struct rte_ipv4_hdr *ip_h)\n  * Receive a burst of packets, lookup for ICMP echo requests, and, if any,\n  * send back ICMP echo replies.\n  */\n-static bool\n+static size_t\n reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf *pkts_burst[MAX_PKT_BURST];\n@@ -296,7 +296,7 @@ reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \tnb_replies = 0;\n \tfor (i = 0; i < nb_rx; i++) {\n@@ -477,7 +477,7 @@ reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n \tif (nb_replies > 0)\n \t\tcommon_fwd_stream_transmit(fs, pkts_burst, nb_replies);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine icmp_echo_engine = {\ndiff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c\nindex 386d9f10e642..9f3f4b665f2f 100644\n--- a/app/test-pmd/ieee1588fwd.c\n+++ b/app/test-pmd/ieee1588fwd.c\n@@ -89,7 +89,7 @@ port_ieee1588_tx_timestamp_check(portid_t pi)\n \t       (wait_us == 1) ? \"\" : \"s\");\n }\n \n-static bool\n+static size_t\n ieee1588_packet_fwd(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf  *mb;\n@@ -103,7 +103,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \t * Receive 1 packet at a time.\n \t */\n \tif (common_fwd_stream_receive(fs, &mb, 1) == 0)\n-\t\treturn false;\n+\t\treturn 0;\n \n \t/*\n \t * Check that the received packet is a PTP packet that was detected\n@@ -124,14 +124,14 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \t\t\t       (unsigned) mb->pkt_len);\n \t\t}\n \t\trte_pktmbuf_free(mb);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \tif (eth_type != RTE_ETHER_TYPE_1588) {\n \t\tprintf(\"Port %u Received NON PTP packet incorrectly\"\n \t\t       \" detected by hardware\\n\",\n \t\t       fs->rx_port);\n \t\trte_pktmbuf_free(mb);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \n \t/*\n@@ -145,14 +145,14 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \t\t       \" protocol version 0x%x (should be 0x02)\\n\",\n \t\t       fs->rx_port, ptp_hdr->version);\n \t\trte_pktmbuf_free(mb);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \tif (ptp_hdr->msg_id != PTP_SYNC_MESSAGE) {\n \t\tprintf(\"Port %u Received PTP V2 Ethernet frame with unexpected\"\n \t\t       \" message ID 0x%x (expected 0x0 - PTP_SYNC_MESSAGE)\\n\",\n \t\t       fs->rx_port, ptp_hdr->msg_id);\n \t\trte_pktmbuf_free(mb);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \tprintf(\"Port %u IEEE1588 PTP V2 SYNC Message filtered by hardware\\n\",\n \t       fs->rx_port);\n@@ -166,7 +166,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \t\t       \" by hardware\\n\",\n \t\t       fs->rx_port);\n \t\trte_pktmbuf_free(mb);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \n \t/* For i40e we need the timesync register index. It is ignored for the\n@@ -184,14 +184,14 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tmb->ol_flags |= RTE_MBUF_F_TX_IEEE1588_TMST;\n \tif (common_fwd_stream_transmit(fs, &mb, 1) == 0) {\n \t\tprintf(\"Port %u sent PTP packet dropped\\n\", fs->tx_port);\n-\t\treturn false;\n+\t\treturn 0;\n \t}\n \n \t/*\n \t * Check the TX timestamp.\n \t */\n \tport_ieee1588_tx_timestamp_check(fs->tx_port);\n-\treturn true;\n+\treturn 1;\n }\n \n static int\ndiff --git a/app/test-pmd/iofwd.c b/app/test-pmd/iofwd.c\nindex ba06fae4a6b0..77814326291d 100644\n--- a/app/test-pmd/iofwd.c\n+++ b/app/test-pmd/iofwd.c\n@@ -41,7 +41,7 @@\n  * This is the fastest possible forwarding operation, as it does not access\n  * to packets data.\n  */\n-static bool\n+static size_t\n pkt_burst_io_forward(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf *pkts_burst[MAX_PKT_BURST];\n@@ -52,11 +52,11 @@ pkt_burst_io_forward(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \tcommon_fwd_stream_transmit(fs, pkts_burst, nb_rx);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine io_fwd_engine = {\ndiff --git a/app/test-pmd/macfwd.c b/app/test-pmd/macfwd.c\nindex 7316d73315b1..c1c601c3cb83 100644\n--- a/app/test-pmd/macfwd.c\n+++ b/app/test-pmd/macfwd.c\n@@ -41,7 +41,7 @@\n  * Change the source and the destination Ethernet addressed of packets\n  * before forwarding them.\n  */\n-static bool\n+static size_t\n pkt_burst_mac_forward(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf  *pkts_burst[MAX_PKT_BURST];\n@@ -58,7 +58,7 @@ pkt_burst_mac_forward(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \ttxp = &ports[fs->tx_port];\n \ttx_offloads = txp->dev_conf.txmode.offloads;\n@@ -88,7 +88,7 @@ pkt_burst_mac_forward(struct fwd_stream *fs)\n \n \tcommon_fwd_stream_transmit(fs, pkts_burst, nb_rx);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine mac_fwd_engine = {\ndiff --git a/app/test-pmd/macswap.c b/app/test-pmd/macswap.c\nindex 57f77003fe44..cad39b1a7369 100644\n--- a/app/test-pmd/macswap.c\n+++ b/app/test-pmd/macswap.c\n@@ -47,7 +47,7 @@\n  * MAC swap forwarding mode: Swap the source and the destination Ethernet\n  * addresses of packets before forwarding them.\n  */\n-static bool\n+static size_t\n pkt_burst_mac_swap(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf  *pkts_burst[MAX_PKT_BURST];\n@@ -58,12 +58,12 @@ pkt_burst_mac_swap(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \tdo_macswap(pkts_burst, nb_rx, &ports[fs->tx_port]);\n \tcommon_fwd_stream_transmit(fs, pkts_burst, nb_rx);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n struct fwd_engine mac_swap_engine = {\ndiff --git a/app/test-pmd/noisy_vnf.c b/app/test-pmd/noisy_vnf.c\nindex 2bf90a983c7d..13660fbad338 100644\n--- a/app/test-pmd/noisy_vnf.c\n+++ b/app/test-pmd/noisy_vnf.c\n@@ -110,7 +110,7 @@ sim_memory_lookups(struct noisy_config *ncf, uint16_t nb_pkts)\n  *    out of the FIFO\n  * 4. Cases 2 and 3 combined\n  */\n-static bool\n+static size_t\n pkt_burst_noisy_vnf(struct fwd_stream *fs)\n {\n \tconst uint64_t freq_khz = rte_get_timer_hz() / 1000;\n@@ -169,7 +169,7 @@ pkt_burst_noisy_vnf(struct fwd_stream *fs)\n \t\tncf->prev_time = rte_get_timer_cycles();\n \t}\n end:\n-\treturn nb_rx > 0 || nb_tx > 0;\n+\treturn (nb_rx > nb_tx) ? nb_rx : nb_tx;\n }\n \n #define NOISY_STRSIZE 256\ndiff --git a/app/test-pmd/rxonly.c b/app/test-pmd/rxonly.c\nindex 315f9286cdbe..0583bbac87bb 100644\n--- a/app/test-pmd/rxonly.c\n+++ b/app/test-pmd/rxonly.c\n@@ -41,7 +41,7 @@\n /*\n  * Received a burst of packets.\n  */\n-static bool\n+static size_t\n pkt_burst_receive(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf  *pkts_burst[MAX_PKT_BURST];\n@@ -52,11 +52,11 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t */\n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \n \trte_pktmbuf_free_bulk(pkts_burst, nb_rx);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n static void\ndiff --git a/app/test-pmd/shared_rxq_fwd.c b/app/test-pmd/shared_rxq_fwd.c\nindex 623d62da88cc..1ff846db48ca 100644\n--- a/app/test-pmd/shared_rxq_fwd.c\n+++ b/app/test-pmd/shared_rxq_fwd.c\n@@ -89,7 +89,7 @@ forward_shared_rxq(struct fwd_stream *fs, uint16_t nb_rx,\n \t\t\t  &pkts_burst[nb_rx - nb_sub_burst]);\n }\n \n-static bool\n+static size_t\n shared_rxq_fwd(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf *pkts_burst[nb_pkt_per_burst];\n@@ -97,10 +97,10 @@ shared_rxq_fwd(struct fwd_stream *fs)\n \n \tnb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst);\n \tif (unlikely(nb_rx == 0))\n-\t\treturn false;\n+\t\treturn 0;\n \tforward_shared_rxq(fs, nb_rx, pkts_burst);\n \n-\treturn true;\n+\treturn nb_rx;\n }\n \n static void\ndiff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex 003269660801..e25c082387f5 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -2274,14 +2274,14 @@ run_pkt_fwd_on_lcore(struct fwd_lcore *fc, packet_fwd_t pkt_fwd)\n \t\tfor (sm_id = 0; sm_id < nb_fs; sm_id++) {\n \t\t\tstruct fwd_stream *fs = fsm[sm_id];\n \t\t\tuint64_t start_fs_tsc = 0;\n-\t\t\tbool busy;\n+\t\t\tsize_t pkts;\n \n \t\t\tif (fs->disabled)\n \t\t\t\tcontinue;\n \t\t\tif (record_core_cycles)\n \t\t\t\tstart_fs_tsc = rte_rdtsc();\n-\t\t\tbusy = (*pkt_fwd)(fs);\n-\t\t\tif (record_core_cycles && busy)\n+\t\t\tpkts = (*pkt_fwd)(fs);\n+\t\t\tif (record_core_cycles && pkts > 0)\n \t\t\t\tfs->busy_cycles += rte_rdtsc() - start_fs_tsc;\n \t\t}\n #ifdef RTE_LIB_BITRATESTATS\ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex b9215720b615..b399a0dc7f84 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -382,7 +382,7 @@ struct fwd_lcore {\n typedef int (*port_fwd_begin_t)(portid_t pi);\n typedef void (*port_fwd_end_t)(portid_t pi);\n typedef void (*stream_init_t)(struct fwd_stream *fs);\n-typedef bool (*packet_fwd_t)(struct fwd_stream *fs);\n+typedef size_t (*packet_fwd_t)(struct fwd_stream *fs);\n \n struct fwd_engine {\n \tconst char       *fwd_mode_name; /**< Forwarding mode name. */\ndiff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c\nindex b3d68731047e..ecdf9c54d3ea 100644\n--- a/app/test-pmd/txonly.c\n+++ b/app/test-pmd/txonly.c\n@@ -323,7 +323,7 @@ pkt_burst_prepare(struct rte_mbuf *pkt, struct rte_mempool *mbp,\n /*\n  * Transmit a burst of multi-segments packets.\n  */\n-static bool\n+static size_t\n pkt_burst_transmit(struct fwd_stream *fs)\n {\n \tstruct rte_mbuf *pkts_burst[MAX_PKT_BURST];\n@@ -388,7 +388,7 @@ pkt_burst_transmit(struct fwd_stream *fs)\n \t}\n \n \tif (nb_pkt == 0)\n-\t\treturn false;\n+\t\treturn 0;\n \n \tnb_tx = common_fwd_stream_transmit(fs, pkts_burst, nb_pkt);\n \n@@ -404,7 +404,7 @@ pkt_burst_transmit(struct fwd_stream *fs)\n \t\t\t       (unsigned) (nb_pkt - nb_tx));\n \t}\n \n-\treturn true;\n+\treturn nb_tx;\n }\n \n static int\n",
    "prefixes": [
        "1/2"
    ]
}