get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 124356,
    "url": "http://patches.dpdk.org/api/patches/124356/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230222141139.3233715-1-elibr@nvidia.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": "<20230222141139.3233715-1-elibr@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230222141139.3233715-1-elibr@nvidia.com",
    "date": "2023-02-22T14:11:37",
    "name": "[1/2] app/testpmd: change rule type",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "d8c63980532a643e167a99a0fccf44d2f7865fe5",
    "submitter": {
        "id": 2017,
        "url": "http://patches.dpdk.org/api/people/2017/?format=api",
        "name": "Eli Britstein",
        "email": "elibr@nvidia.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/20230222141139.3233715-1-elibr@nvidia.com/mbox/",
    "series": [
        {
            "id": 27139,
            "url": "http://patches.dpdk.org/api/series/27139/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27139",
            "date": "2023-02-22T14:11:38",
            "name": "[1/2] app/testpmd: change rule type",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27139/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/124356/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/124356/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 4527341D3D;\n\tWed, 22 Feb 2023 15:12:19 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5983243016;\n\tWed, 22 Feb 2023 15:12:13 +0100 (CET)",
            "from NAM11-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam11on2083.outbound.protection.outlook.com [40.107.223.83])\n by mails.dpdk.org (Postfix) with ESMTP id 3572D42FCC\n for <dev@dpdk.org>; Wed, 22 Feb 2023 15:12:11 +0100 (CET)",
            "from BN9PR03CA0753.namprd03.prod.outlook.com (2603:10b6:408:13a::8)\n by PH0PR12MB7908.namprd12.prod.outlook.com (2603:10b6:510:28e::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.21; Wed, 22 Feb\n 2023 14:12:09 +0000",
            "from BN8NAM11FT098.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:13a:cafe::4e) by BN9PR03CA0753.outlook.office365.com\n (2603:10b6:408:13a::8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.19 via Frontend\n Transport; Wed, 22 Feb 2023 14:12:08 +0000",
            "from mail.nvidia.com (216.228.117.161) by\n BN8NAM11FT098.mail.protection.outlook.com (10.13.177.196) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6134.19 via Frontend Transport; Wed, 22 Feb 2023 14:12:08 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Wed, 22 Feb\n 2023 06:11:56 -0800",
            "from nvidia.com (10.126.230.37) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Wed, 22 Feb\n 2023 06:11:53 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=cB5WaVaQlQGZL7XnvIto6mOfo4Ep0tod5arMntn6hWT7oo5X7LSQceygzfm0fxDY/Mg/v40MneqRVfo7NM0i02YsADbPWKUJXxEZTnulusKj3LWwKzO1Gu5u7C0HWMElgw84D+fqP9YGeqnB4UY7c7FAOW8c2OKwmMilHeALtacAsyqxaVc/oxsVEjxsDY9h4sLtI1eZuFG9XNTmCv/ojD9UScsz9EY8y1skIjy3bsIdHgBjAmwXhNOo1Z95n7t6vXJCZwfmCOCe4X9dRMFkneKG1XSjM5nfaaAh3ABCu0Lh2naXOYYXmqGgXJOLNhdC1aYNFQzgYis1GaY2rg3WUw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=+F/PfXumau6cdLa2vsJZH5Pw2Q6PHLh0wuv6yFQYtKs=;\n b=hCTxzZ22uQPAF4XiuKd39xDm2WIZsbFiHvNQZv4IkEGvAaaURr4Ac7EyCtprGapYVVzZTl+fbpTiGX7mxgKxuyvqrW8IiVYBBhvPHGLE5hL6GDHIvLeKQ4aLZHz1aF1ThbtSGwVdbhGk/YpP0FbjhwQoO9eMa8dlIwsUeKMKDjzCACVEysEaxT1CsbeMBr4TNZXiBbJEqYIYP4GOLDl97/ApD4dPHuWivmXo87SDrAAL7UhzxBhvmtJo7nOxqQiEnfMKwo3cQdsfOwH6N33tg+ELq7XmJmVrmpJ4FruETotXzj2dKjKd5QHwMq/iaxcARmUxHAPOnezuDbgIHZbNFA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=+F/PfXumau6cdLa2vsJZH5Pw2Q6PHLh0wuv6yFQYtKs=;\n b=HkZ48TcaB3n9KITPI3z0H6Wj+Ji/uqqpwXvwmT6Z0Nb1qCwTLDp3gWIrjadTP29o9DGgNsnUQUwCjNdpo1AjMI/gftn2ijr0PT07IyDCss8FIkMVkKE4XjwxLz8huppxP7xDxubcyuIq1tyS3QLxdyTabf/KhDGfYw03guS78c5RaamfQdkFYjU5unVv/px9OqSHxJu6iWUpByz4VVHvdFxF/BudQWEL9PfElZj2SvpzbHswMxJQkuKQM5RwFMhCXa7W5pL7VnSNQXomc0gLGs8LRiZs7H4NWCTIKus/5YEyXxSwQC/KweIpR3M44vZsxJrevOzNs/uqDI5ZPUTzvA==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C",
        "From": "Eli Britstein <elibr@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<asafp@nvidia.com>, Thomas Monjalon <thomas@monjalon.net>, Eli Britstein\n <elibr@nvidia.com>, Ori Kam <orika@nvidia.com>, Aman Singh\n <aman.deep.singh@intel.com>, Yuying Zhang <yuying.zhang@intel.com>",
        "Subject": "[PATCH 1/2] app/testpmd: change rule type",
        "Date": "Wed, 22 Feb 2023 16:11:37 +0200",
        "Message-ID": "<20230222141139.3233715-1-elibr@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.230.37]",
        "X-ClientProxiedBy": "rnnvmail201.nvidia.com (10.129.68.8) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "BN8NAM11FT098:EE_|PH0PR12MB7908:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "eb1e1709-ec76-499e-1d7a-08db14dec8f1",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n SvMkkk1JFCPEVEMt6EQRFno7CQ1U87+YidOzOaCcVRc1nGJIerd+li1EbqOT1jWLJx8zbYtCYIt+p9Hqc3jP5MhmRBH6YLpwVoFziWundg0x2CBpb4fY+3jgaxwkjHV7USijT66i4/lJc7m0HUDDuQOweP1uN3AHGPaFbEt091Jey+n18G+W6s2x+j7YbraS7ZRaJawWmfhOQLuHgCHs3u1aJ4HX/aE7LSP+4RGswNpMZ176wmplxnBHeXFIgZ5Cf0zBI/JDbFs/HXP9bRdAvSID0/waXXYBm8SHbK/bNvTI9/MDvLwu4A61eToADZF3Cwe1gu1jflA8wQcPUSb2g9cb2stjYQ6MNNP7eBqLBXauQ0KnjQkBByjdtJkx0Ssik1h4QediKjtxb5ggFcrBz15UARkM62tGTkT0fVBWN6pGOdNJI1bwSer2NdklNw3W/egSVz0th0HGWOO2LiUbovDjalW/oN7kgn5qIjTJmqTTULIw602uv2g1azfxsb7pFiVMtPWrRG8csYS7vMOlTOx0wC7GVyjK1c3eUXVVdsRsLm2Wx3HeuIEieE32PH+IwEcxcQ5ps3MmeHAet2v7C9PX14sUI5xS280g3f7gIha/mDeqnPoyIlft9opjFB8vzAbUcq+cZVd3Ic5Evvh7xhLwPQYj4YVv9nM7sRkVJk9sEFhDkf1oSkv+RvCzyW53fSlxJd9wRetdSHfI/J6MA5RLwsp1asiEeA3bgIz2vHo=",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230025)(4636009)(346002)(136003)(376002)(396003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(83380400001)(70586007)(478600001)(6286002)(16526019)(6666004)(86362001)(186003)(40480700001)(26005)(1076003)(55016003)(36756003)(426003)(70206006)(316002)(8676002)(47076005)(54906003)(7696005)(2616005)(40460700003)(41300700001)(2906002)(82310400005)(356005)(7636003)(8936002)(82740400003)(5660300002)(34020700004)(336012)(36860700001)(6916009)(4326008);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "22 Feb 2023 14:12:08.7722 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n eb1e1709-ec76-499e-1d7a-08db14dec8f1",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT098.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PH0PR12MB7908",
        "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 rule type to be uintptr_t (instead of currently uint32_t) to be\nable to accomodate larger IDs, as a pre-step towards allowing user-id\nto flows.\n\nSigned-off-by: Eli Britstein <elibr@nvidia.com>\n---\n app/test-pmd/cmdline_flow.c | 12 ++++++------\n app/test-pmd/config.c       | 34 ++++++++++++++++++----------------\n app/test-pmd/testpmd.h      | 10 +++++-----\n 3 files changed, 29 insertions(+), 27 deletions(-)",
    "diff": "diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c\nindex 9309607f11..a2709e8aa9 100644\n--- a/app/test-pmd/cmdline_flow.c\n+++ b/app/test-pmd/cmdline_flow.c\n@@ -1085,16 +1085,16 @@ struct buffer {\n \t\t\tuint8_t *data;\n \t\t} vc; /**< Validate/create arguments. */\n \t\tstruct {\n-\t\t\tuint32_t *rule;\n-\t\t\tuint32_t rule_n;\n+\t\t\tuintptr_t *rule;\n+\t\t\tuintptr_t rule_n;\n \t\t} destroy; /**< Destroy arguments. */\n \t\tstruct {\n \t\t\tchar file[128];\n \t\t\tbool mode;\n-\t\t\tuint32_t rule;\n+\t\t\tuintptr_t rule;\n \t\t} dump; /**< Dump arguments. */\n \t\tstruct {\n-\t\t\tuint32_t rule;\n+\t\t\tuintptr_t rule;\n \t\t\tstruct rte_flow_action action;\n \t\t} query; /**< Query arguments. */\n \t\tstruct {\n@@ -9683,7 +9683,7 @@ parse_qo_destroy(struct context *ctx, const struct token *token,\n \t\t void *buf, unsigned int size)\n {\n \tstruct buffer *out = buf;\n-\tuint32_t *flow_id;\n+\tuintptr_t *flow_id;\n \n \t/* Token name must match. */\n \tif (parse_default(ctx, token, str, len, NULL, 0) < 0)\n@@ -10899,7 +10899,7 @@ comp_rule_id(struct context *ctx, const struct token *token,\n \tport = &ports[ctx->port];\n \tfor (pf = port->flow_list; pf != NULL; pf = pf->next) {\n \t\tif (buf && i == ent)\n-\t\t\treturn snprintf(buf, size, \"%u\", pf->id);\n+\t\t\treturn snprintf(buf, size, \"%\"PRIu64, pf->id);\n \t\t++i;\n \t}\n \tif (buf)\ndiff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex 4121c5c9bb..167cb246c5 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -2723,7 +2723,7 @@ port_queue_flow_create(portid_t port_id, queueid_t queue_id,\n \t\tflow = rte_flow_async_create_by_index(port_id, queue_id, &op_attr, pt->table,\n \t\t\trule_idx, actions, actions_idx, job, &error);\n \tif (!flow) {\n-\t\tuint32_t flow_id = pf->id;\n+\t\tuintptr_t flow_id = pf->id;\n \t\tport_queue_flow_destroy(port_id, queue_id, true, 1, &flow_id);\n \t\tfree(job);\n \t\treturn port_flow_complain(&error);\n@@ -2734,14 +2734,14 @@ port_queue_flow_create(portid_t port_id, queueid_t queue_id,\n \tpf->flow = flow;\n \tjob->pf = pf;\n \tport->flow_list = pf;\n-\tprintf(\"Flow rule #%u creation enqueued\\n\", pf->id);\n+\tprintf(\"Flow rule #%\"PRIu64\" creation enqueued\\n\", pf->id);\n \treturn 0;\n }\n \n /** Enqueue number of destroy flow rules operations. */\n int\n port_queue_flow_destroy(portid_t port_id, queueid_t queue_id,\n-\t\t\tbool postpone, uint32_t n, const uint32_t *rule)\n+\t\t\tbool postpone, uint32_t n, const uintptr_t *rule)\n {\n \tstruct rte_flow_op_attr op_attr = { .postpone = postpone };\n \tstruct rte_port *port;\n@@ -2788,7 +2788,8 @@ port_queue_flow_destroy(portid_t port_id, queueid_t queue_id,\n \t\t\t\tret = port_flow_complain(&error);\n \t\t\t\tcontinue;\n \t\t\t}\n-\t\t\tprintf(\"Flow rule #%u destruction enqueued\\n\", pf->id);\n+\t\t\tprintf(\"Flow rule #%\"PRIu64\" destruction enqueued\\n\",\n+\t\t\t       pf->id);\n \t\t\t*tmp = pf->next;\n \t\t\tbreak;\n \t\t}\n@@ -3087,7 +3088,7 @@ port_queue_flow_push(portid_t port_id, queueid_t queue_id)\n /** Pull queue operation results from the queue. */\n static int\n port_queue_aged_flow_destroy(portid_t port_id, queueid_t queue_id,\n-\t\t\t     const uint32_t *rule, int nb_flows)\n+\t\t\t     const uintptr_t *rule, int nb_flows)\n {\n \tstruct rte_port *port = &ports[port_id];\n \tstruct rte_flow_op_result *res;\n@@ -3150,7 +3151,7 @@ port_queue_flow_aged(portid_t port_id, uint32_t queue_id, uint8_t destroy)\n {\n \tvoid **contexts;\n \tint nb_context, total = 0, idx;\n-\tuint32_t *rules = NULL;\n+\tuintptr_t *rules = NULL;\n \tstruct rte_port *port;\n \tstruct rte_flow_error error;\n \tenum age_action_context_type *type;\n@@ -3206,7 +3207,7 @@ port_queue_flow_aged(portid_t port_id, uint32_t queue_id, uint8_t destroy)\n \t\tswitch (*type) {\n \t\tcase ACTION_AGE_CONTEXT_TYPE_FLOW:\n \t\t\tctx.pf = container_of(type, struct port_flow, age_type);\n-\t\t\tprintf(\"%-20s\\t%\" PRIu32 \"\\t%\" PRIu32 \"\\t%\" PRIu32\n+\t\t\tprintf(\"%-20s\\t%\" PRIuPTR \"\\t%\" PRIu32 \"\\t%\" PRIu32\n \t\t\t\t\t\t\t\t \"\\t%c%c%c\\t\\n\",\n \t\t\t       \"Flow\",\n \t\t\t       ctx.pf->id,\n@@ -3354,13 +3355,13 @@ port_flow_create(portid_t port_id,\n \tport->flow_list = pf;\n \tif (tunnel_ops->enabled)\n \t\tport_flow_tunnel_offload_cmd_release(port_id, tunnel_ops, pft);\n-\tprintf(\"Flow rule #%u created\\n\", pf->id);\n+\tprintf(\"Flow rule #%\"PRIu64\" created\\n\", pf->id);\n \treturn 0;\n }\n \n /** Destroy a number of flow rules. */\n int\n-port_flow_destroy(portid_t port_id, uint32_t n, const uint32_t *rule)\n+port_flow_destroy(portid_t port_id, uint32_t n, const uintptr_t *rule)\n {\n \tstruct rte_port *port;\n \tstruct port_flow **tmp;\n@@ -3389,7 +3390,7 @@ port_flow_destroy(portid_t port_id, uint32_t n, const uint32_t *rule)\n \t\t\t\tret = port_flow_complain(&error);\n \t\t\t\tcontinue;\n \t\t\t}\n-\t\t\tprintf(\"Flow rule #%u destroyed\\n\", pf->id);\n+\t\t\tprintf(\"Flow rule #%\"PRIu64\" destroyed\\n\", pf->id);\n \t\t\t*tmp = pf->next;\n \t\t\tfree(pf);\n \t\t\tbreak;\n@@ -3434,7 +3435,7 @@ port_flow_flush(portid_t port_id)\n \n /** Dump flow rules. */\n int\n-port_flow_dump(portid_t port_id, bool dump_all, uint32_t rule_id,\n+port_flow_dump(portid_t port_id, bool dump_all, uintptr_t rule_id,\n \t\tconst char *file_name)\n {\n \tint ret = 0;\n@@ -3463,7 +3464,8 @@ port_flow_dump(portid_t port_id, bool dump_all, uint32_t rule_id,\n \t\t\t}\n \t\t}\n \t\tif (found == false) {\n-\t\t\tfprintf(stderr, \"Failed to dump to flow %d\\n\", rule_id);\n+\t\t\tfprintf(stderr, \"Failed to dump to flow %\"PRIu64\"\\n\",\n+\t\t\t\trule_id);\n \t\t\treturn -EINVAL;\n \t\t}\n \t}\n@@ -3493,7 +3495,7 @@ port_flow_dump(portid_t port_id, bool dump_all, uint32_t rule_id,\n \n /** Query a flow rule. */\n int\n-port_flow_query(portid_t port_id, uint32_t rule,\n+port_flow_query(portid_t port_id, uintptr_t rule,\n \t\tconst struct rte_flow_action *action)\n {\n \tstruct rte_flow_error error;\n@@ -3515,7 +3517,7 @@ port_flow_query(portid_t port_id, uint32_t rule,\n \t\tif (pf->id == rule)\n \t\t\tbreak;\n \tif (!pf) {\n-\t\tfprintf(stderr, \"Flow rule #%u not found\\n\", rule);\n+\t\tfprintf(stderr, \"Flow rule #%\"PRIu64\" not found\\n\", rule);\n \t\treturn -ENOENT;\n \t}\n \tret = rte_flow_conv(RTE_FLOW_CONV_OP_ACTION_NAME_PTR,\n@@ -3622,7 +3624,7 @@ port_flow_aged(portid_t port_id, uint8_t destroy)\n \t\tswitch (*type) {\n \t\tcase ACTION_AGE_CONTEXT_TYPE_FLOW:\n \t\t\tctx.pf = container_of(type, struct port_flow, age_type);\n-\t\t\tprintf(\"%-20s\\t%\" PRIu32 \"\\t%\" PRIu32 \"\\t%\" PRIu32\n+\t\t\tprintf(\"%-20s\\t%\" PRIu64 \"\\t%\" PRIu32 \"\\t%\" PRIu32\n \t\t\t\t\t\t\t\t \"\\t%c%c%c\\t\\n\",\n \t\t\t       \"Flow\",\n \t\t\t       ctx.pf->id,\n@@ -3700,7 +3702,7 @@ port_flow_list(portid_t port_id, uint32_t n, const uint32_t *group)\n \t\tconst struct rte_flow_action *action = pf->rule.actions;\n \t\tconst char *name;\n \n-\t\tprintf(\"%\" PRIu32 \"\\t%\" PRIu32 \"\\t%\" PRIu32 \"\\t%c%c%c\\t\",\n+\t\tprintf(\"%\" PRIu64 \"\\t%\" PRIu32 \"\\t%\" PRIu32 \"\\t%c%c%c\\t\",\n \t\t       pf->id,\n \t\t       pf->rule.attr->group,\n \t\t       pf->rule.attr->priority,\ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex 329a6378a1..ba29d97293 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -215,7 +215,7 @@ struct port_table {\n struct port_flow {\n \tstruct port_flow *next; /**< Next flow in list. */\n \tstruct port_flow *tmp; /**< Temporary linking. */\n-\tuint32_t id; /**< Flow rule ID. */\n+\tuintptr_t id; /**< Flow rule ID. */\n \tstruct rte_flow *flow; /**< Opaque flow object returned by PMD. */\n \tstruct rte_flow_conv_rule rule; /**< Saved flow rule description. */\n \tenum age_action_context_type age_type; /**< Age action context type. */\n@@ -948,7 +948,7 @@ int port_queue_flow_create(portid_t port_id, queueid_t queue_id,\n \t\t\t   const struct rte_flow_item *pattern,\n \t\t\t   const struct rte_flow_action *actions);\n int port_queue_flow_destroy(portid_t port_id, queueid_t queue_id,\n-\t\t\t    bool postpone, uint32_t n, const uint32_t *rule);\n+\t\t\t    bool postpone, uint32_t n, const uintptr_t *rule);\n int port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,\n \t\t\tbool postpone, uint32_t id,\n \t\t\tconst struct rte_flow_indir_action_conf *conf,\n@@ -984,11 +984,11 @@ int port_action_handle_query(portid_t port_id, uint32_t id);\n void update_age_action_context(const struct rte_flow_action *actions,\n \t\t     struct port_flow *pf);\n int mcast_addr_pool_destroy(portid_t port_id);\n-int port_flow_destroy(portid_t port_id, uint32_t n, const uint32_t *rule);\n+int port_flow_destroy(portid_t port_id, uint32_t n, const uintptr_t *rule);\n int port_flow_flush(portid_t port_id);\n int port_flow_dump(portid_t port_id, bool dump_all,\n-\t\t\tuint32_t rule, const char *file_name);\n-int port_flow_query(portid_t port_id, uint32_t rule,\n+\t\t\tuintptr_t rule, const char *file_name);\n+int port_flow_query(portid_t port_id, uintptr_t rule,\n \t\t    const struct rte_flow_action *action);\n void port_flow_list(portid_t port_id, uint32_t n, const uint32_t *group);\n void port_flow_aged(portid_t port_id, uint8_t destroy);\n",
    "prefixes": [
        "1/2"
    ]
}