get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 131720,
    "url": "http://patchwork.dpdk.org/api/patches/131720/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230920113454.739356-10-chaoyong.he@corigine.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20230920113454.739356-10-chaoyong.he@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230920113454.739356-10-chaoyong.he@corigine.com",
    "date": "2023-09-20T11:34:50",
    "name": "[09/13] net/nfp: improve modularazation of flower cmsg module",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "1a12e5fa6dbcaf5d766e42a3fe11d55dd3b0de6a",
    "submitter": {
        "id": 2554,
        "url": "http://patchwork.dpdk.org/api/people/2554/?format=api",
        "name": "Chaoyong He",
        "email": "chaoyong.he@corigine.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230920113454.739356-10-chaoyong.he@corigine.com/mbox/",
    "series": [
        {
            "id": 29570,
            "url": "http://patchwork.dpdk.org/api/series/29570/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29570",
            "date": "2023-09-20T11:34:42",
            "name": "improve the modularization of NFP PMD",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/29570/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/131720/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/131720/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 B5354425EF;\n\tWed, 20 Sep 2023 13:36:35 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1A78342DAC;\n\tWed, 20 Sep 2023 13:35:43 +0200 (CEST)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam12on2097.outbound.protection.outlook.com [40.107.244.97])\n by mails.dpdk.org (Postfix) with ESMTP id 03D7742D97\n for <dev@dpdk.org>; Wed, 20 Sep 2023 13:35:40 +0200 (CEST)",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)\n by MN2PR13MB4039.namprd13.prod.outlook.com (2603:10b6:208:269::24)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.28; Wed, 20 Sep\n 2023 11:35:36 +0000",
            "from SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::7a1c:2887:348a:84bd]) by SJ0PR13MB5545.namprd13.prod.outlook.com\n ([fe80::7a1c:2887:348a:84bd%6]) with mapi id 15.20.6792.026; Wed, 20 Sep 2023\n 11:35:36 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=KiNGpazdRF673u0zMif8ZezCBGkllEHhb6aU/AS5UQutHs87j6YoNyqN2SN13ZHIBF/6w43kv7pdMjQJC7hYE1t2Vh3dWB962hkDEOH1OOysEMwHi6lXXemgHCMrvy6U/mrf0owCPbGSdEOif/t5FswPIXVgAGm6pbDfVJt+N33HpFix5tHU9rStEIy1BtU1DM7SOTCO9jccGKsovxkX2euGZ/i8XQDFsWCW8R0aOPemOXB9wZ7IclLHy634Pjr17unDAgAhWe5SU2h0SR431xt1zIGxeYNcEpH04QJ6nPl1FLWGub0/aiGXeq2u9nq6bqMcPBKn84R0KyPnEYIxMA==",
        "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=CXZvMMKPorZxaQwfSM80uM79BCLD7HSD3VAhi/RK7g0=;\n b=L0Z3yi0LZzNbtGArB206rhvgV5UPy717TJi6IGsByBbO3xCg+mQhl7Koj0cWgnGHnjY7Tv8gBUyXi+kCH7AId0g822cT+NCq1gDUhKLiicnwFO0ANsc1KLIPMgwII69/q3chv8MCQcekN6BKAfmZdL4bpjG9WniT7HETKGXPzFQ5RzA7Zeyzc7UEbJxEAT8qxnevo2JufQQqkZ5sOEe/L0ipf9wVcSyFdmWzCWg899dpl8zqebMO03rCgMvM9yH4s+xDfj4OZ+HkfJiEMsX1kifznA1falKnejSJSnmwiPhsNzoxGlSBy0Sgl+QtuRG0//iwqww+v6ndZCy45wWXCw==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;\n dkim=pass header.d=corigine.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=CXZvMMKPorZxaQwfSM80uM79BCLD7HSD3VAhi/RK7g0=;\n b=TyyLikcFHpjzgXLyn2es/M1JoT5et8G3YMqQ1WAklVCLZSHSIyFh2ddlNpkCPpSeqYcu95z8iZDxwr1ss1AOUWpyApDP0F7dh/fP7ZCI0v6u2CFMzDTcIka0mMGHKGsZ9r2j1te7pwqsoTJWEPT9dAoKcZ4b0c3vsSpWOd224xY=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=corigine.com;",
        "From": "Chaoyong He <chaoyong.he@corigine.com>",
        "To": "dev@dpdk.org",
        "Cc": "oss-drivers@corigine.com,\n\tChaoyong He <chaoyong.he@corigine.com>",
        "Subject": "[PATCH 09/13] net/nfp: improve modularazation of flower cmsg module",
        "Date": "Wed, 20 Sep 2023 19:34:50 +0800",
        "Message-Id": "<20230920113454.739356-10-chaoyong.he@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20230920113454.739356-1-chaoyong.he@corigine.com>",
        "References": "<20230920113454.739356-1-chaoyong.he@corigine.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SL2P216CA0113.KORP216.PROD.OUTLOOK.COM (2603:1096:101::10)\n To SJ0PR13MB5545.namprd13.prod.outlook.com\n (2603:10b6:a03:424::5)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "SJ0PR13MB5545:EE_|MN2PR13MB4039:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "0932d25c-c75d-4a48-0ead-08dbb9cdb51a",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n tcgVLvxJWnYcgVs/wCBXyisrtE1kyOrmF2L7WqbRDvP1y1xDtdHLgcFqrvqDZdjxmimi0OWhJvrvuEc1UOaZB8lAOiwWTBB4eKlo95sr/yAxo3MPDhK2B4IcgV3nt13pfhbRdOv65LO6nigjYjKkMqRvifzRTPa2lRERJVCeNE8duYU29yoRDxIS1qhyrMBYSOV2wu8QG++uUHRU/d0KBibeXAmydT0ySU2qQV/oA5ztVhfiWPlZ05EUIHhdRPIjtVAC4NYbVN2ai+fjtr/7jSrm18R6xOVs9BdEO4gGVTr8Sdyge94Znd4lwSaqBFTc2tBKmP++I9RJC0NxyhLVpnbmRM+tCssLeMxJexu5cJL+AzTzXqbu10cwyNdsxTSJTHgIh/XRJqxDgrzTJ0+5Ja65Iv4T3e+YuEdQBm7MqorXIUQk9+P0DEwCvwQXPZbU31+sxrC6lrcS0WmbRIrL7yikCfL6Zrs8u2WBhOx/CpEKuvuGQtoO6OhPGXnQj99/dMygdlXsuDw7+5tvH38fJpT/Eoba18GwswlcCEu99IcGc9AeC1WgiDTv9ItRpc+ou6CbK2z5WltF7Xwu75nd6FOgNyeXZbFVnK99FcHI5PwUQ1Qzf8b1Pnglh5kDvaRvgIqeyZ5J/Ai0ukioQNiu77HFOns5cne8l/KTXrCrI5s=",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230031)(376002)(346002)(396003)(366004)(136003)(39830400003)(186009)(1800799009)(451199024)(6666004)(6512007)(52116002)(6506007)(6486002)(86362001)(41300700001)(66476007)(6916009)(66946007)(66556008)(316002)(478600001)(38100700002)(38350700002)(107886003)(8676002)(1076003)(8936002)(4326008)(36756003)(26005)(5660300002)(44832011)(83380400001)(2616005)(2906002);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n gJxYNcRlSowmG1QzO72LiVEedYBji/lp8MtKnq1+67566+rD2TNhBp5v+sLaPueCOBH5IfqMxeNbLc9mtx+kWw3RDvlBYfCIUcBW9kbEA4CpCsA9Yw3wXVlMoTsNYPANUiObqrSobTepx+4y4zMqVkywrC1/l2/UpCRwm46J7FXaWHkgsnRCb1xTSr9bzvymzEwMvhgS96jmwVfZCoVsOA4cH3wmlhobIJseOmVceJVXYcT2LLit+Mb9Us+OMIAchYNGeeMpdns2uE1rp7cU8WG7+oKFOMCIBuHf9hiS9fNx0C5pCe21QVQAAZR+/3wPC7yn7iy0nzgsUv6jrjbwSHMkseca0B5iPM20z37g2aUDlWV4ePWm5B9YG4xneaYZOxRHCFxfUKHoOdf/pHWWRSnwJgzKPSsdcyx9L6KEIJutDeQhBuprB/+nwSd0oio08pJ7blWWWuUsKQGz1POTg4i8199DO31uwyBrj/ieH5fpaq8JTAuU4f1Ml2OsBLV3mEVY9P/jeSsRzLYJuLj3xeWTlg0+ufEIGKNl2ggSXEQZmmDNjW5XYZVBHJBVikVUwl0HCSX0vDFMyJPcSaivSsFx7BzRkXh4sO8SNsEfNaETJDOdBC+C1DO8Zerkvl3S1Hk6twa6uLUMWGRho8VFmGrR7OGiTHSj5aL+NOIdonhSOFiJH/UKunKbGbG6wNR1SuPriuhQxNfgL/2zpd6ic8xGQHEVSReeNya9jh5JBa6NWtV5fAt4y2WV+YXyPLrJnk7IStcze2aZpXmoih1NdEE0l760idjOY4DTzdTnZjeSop+JE5xw2MYgEE+QNhPuFwXHoVQNEZEN4u8fvzqbx0Ruj9qc0igq6k2WIiZcZHjVXeVUyRDrvTiP8mTIegwbKCIpK+MuGtdOc3jZ2iyV7S+2hD7UTmc3XIEF26iGX+s79YTbhWIr4taYXlc9tlsiaxEM7xXmONFMeTBuhdMZr8GJjSv7Xtu8i7h/RvKaQcMy2YkrIb6Enf52lemvOO/MhNv/9VElHXOfnHuk5pvpTqvlf3ZV91sfqlkhMgIsxE05LpZhjhn/H9by/PB1mKMEEwC6JywH8BYbQaLc+BWn5XcQCtnhWHcvE00z8QTV00PwjqqNHrtBTQULNftwfCFj5oceHcAv1jdzWwX5l7PKUgz/aCY0N/IYcKsgC7n1NR0TUP8xL3eQD1r2QPvnxnmzP7TS+BdZjV/GKvab480H/zH+Zn31T/DkWCODXA7zKHh3cNVmivjqNxxA1k0qC0YSduGO2p1hsBR9RhtiWRVHLQwCTanlDOuF1CHV3jtBWl37UwPrOK5p/IJhuhtz+Iml0LV4INIH/8adZ5WIxKVU7xaEE0VPNOxb9ozFIteumCwk6BUS+dPzP1nfKsXjYNPQmQKOekIwjsHq2QQubuMguRLstlJNzLcmZbD3bX4XqGBXbriINX7khaQ3It9ZGmYCv9nz9TjdGywP7KfPxcLT5LGfCFTA5ssoe7bqiVWsd8PvgoxouuXdQ+4ioOwgQQ9TksxqI0YKhbrKXAcTX6Xs+GozgyRVRDMM9BsSv8+Q3VL3UVASq6bEUeptIaYS6DUrK8cZ/0nN9VnIZurUAaRwOg==",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 0932d25c-c75d-4a48-0ead-08dbb9cdb51a",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB5545.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Sep 2023 11:35:36.3128 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "fe128f2c-073b-4c20-818e-7246a585940c",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n l0uTYqdhYU/MLRqcDVlqGCIkos5UDu+I5sDnFw5AXiKGNGJ1qXTqCWrN9cwvTCbKNWCmOxO+iAffTYK3XWRRXHflMnUIU7t6WyRb7+/z7tY=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MN2PR13MB4039",
        "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": "Make the header file self-containing by adding the correct include\nstatement.\nTry to keep the API small by move the logic which need not expose from\nheader file to source file verbatim and remove the unused macro.\nAlso remove the unneeded header file include statement of source file.\n\nSigned-off-by: Chaoyong He <chaoyong.he@corigine.com>\n---\n drivers/net/nfp/flower/nfp_flower_cmsg.c | 12 +++-\n drivers/net/nfp/flower/nfp_flower_cmsg.h | 81 ++++++++++++++++++++----\n drivers/net/nfp/nfp_flow.c               |  1 +\n drivers/net/nfp/nfp_mtr.h                | 68 +-------------------\n 4 files changed, 82 insertions(+), 80 deletions(-)",
    "diff": "diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.c b/drivers/net/nfp/flower/nfp_flower_cmsg.c\nindex 00f94c7492..0b8feec05b 100644\n--- a/drivers/net/nfp/flower/nfp_flower_cmsg.c\n+++ b/drivers/net/nfp/flower/nfp_flower_cmsg.c\n@@ -3,14 +3,20 @@\n  * All rights reserved.\n  */\n \n+#include \"nfp_flower_cmsg.h\"\n+\n #include \"../nfpcore/nfp_nsp.h\"\n+#include \"../nfp_flow.h\"\n #include \"../nfp_logs.h\"\n-#include \"../nfp_common.h\"\n-#include \"nfp_flower.h\"\n-#include \"nfp_flower_cmsg.h\"\n #include \"nfp_flower_ctrl.h\"\n #include \"nfp_flower_representor.h\"\n \n+static char*\n+nfp_flower_cmsg_get_data(struct rte_mbuf *m)\n+{\n+\treturn rte_pktmbuf_mtod(m, char *) + 4 + 4 + NFP_FLOWER_CMSG_HLEN;\n+}\n+\n static void *\n nfp_flower_cmsg_init(struct nfp_app_fw_flower *app_fw_flower,\n \t\tstruct rte_mbuf *m,\ndiff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.h b/drivers/net/nfp/flower/nfp_flower_cmsg.h\nindex f643d54d39..3c2b279f40 100644\n--- a/drivers/net/nfp/flower/nfp_flower_cmsg.h\n+++ b/drivers/net/nfp/flower/nfp_flower_cmsg.h\n@@ -6,11 +6,7 @@\n #ifndef _NFP_CMSG_H_\n #define _NFP_CMSG_H_\n \n-#include <rte_byteorder.h>\n-#include <rte_ether.h>\n-\n-#include \"../nfp_mtr.h\"\n-#include \"../nfp_flow.h\"\n+#include \"nfp_flower.h\"\n \n struct nfp_flower_cmsg_hdr {\n \trte_be16_t pad;\n@@ -351,6 +347,72 @@ struct nfp_flower_stats_frame {\n \trte_be64_t stats_cookie;\n };\n \n+/**\n+ * See RFC 2698 for more details.\n+ * Word[0](Flag options):\n+ * [15] p(pps) 1 for pps, 0 for bps\n+ *\n+ * Meter control message\n+ *  1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n+ * +-------------------------------+-+---+-----+-+---------+-+---+-+\n+ * |            Reserved           |p| Y |TYPE |E|  TSHFV  |P| PC|R|\n+ * +-------------------------------+-+---+-----+-+---------+-+---+-+\n+ * |                           Profile ID                          |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                        Token Bucket Peak                      |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                     Token Bucket Committed                    |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                         Peak Burst Size                       |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                      Committed Burst Size                     |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                      Peak Information Rate                    |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ * |                    Committed Information Rate                 |\n+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n+ */\n+struct nfp_cfg_head {\n+\trte_be32_t flags_opts;\n+\trte_be32_t profile_id;\n+};\n+\n+/**\n+ * Struct nfp_profile_conf - profile config, offload to NIC\n+ * @head:        config head information\n+ * @bkt_tkn_p:   token bucket peak\n+ * @bkt_tkn_c:   token bucket committed\n+ * @pbs:         peak burst size\n+ * @cbs:         committed burst size\n+ * @pir:         peak information rate\n+ * @cir:         committed information rate\n+ */\n+struct nfp_profile_conf {\n+\tstruct nfp_cfg_head head;\n+\trte_be32_t bkt_tkn_p;\n+\trte_be32_t bkt_tkn_c;\n+\trte_be32_t pbs;\n+\trte_be32_t cbs;\n+\trte_be32_t pir;\n+\trte_be32_t cir;\n+};\n+\n+/**\n+ * Struct nfp_mtr_stats_reply - meter stats, read from firmware\n+ * @head:          config head information\n+ * @pass_bytes:    count of passed bytes\n+ * @pass_pkts:     count of passed packets\n+ * @drop_bytes:    count of dropped bytes\n+ * @drop_pkts:     count of dropped packets\n+ */\n+struct nfp_mtr_stats_reply {\n+\tstruct nfp_cfg_head head;\n+\trte_be64_t pass_bytes;\n+\trte_be64_t pass_pkts;\n+\trte_be64_t drop_bytes;\n+\trte_be64_t drop_pkts;\n+};\n+\n enum nfp_flower_cmsg_port_type {\n \tNFP_FLOWER_CMSG_PORT_TYPE_UNSPEC,\n \tNFP_FLOWER_CMSG_PORT_TYPE_PHYS_PORT,\n@@ -378,12 +440,6 @@ enum nfp_flower_cmsg_port_vnic_type {\n #define NFP_FLOWER_CMSG_PORT_PCIE_Q(x)          ((x) & 0x3f)         /* [0,5] */\n #define NFP_FLOWER_CMSG_PORT_PHYS_PORT_NUM(x)   ((x) & 0xff)         /* [0,7] */\n \n-static inline char*\n-nfp_flower_cmsg_get_data(struct rte_mbuf *m)\n-{\n-\treturn rte_pktmbuf_mtod(m, char *) + 4 + 4 + NFP_FLOWER_CMSG_HLEN;\n-}\n-\n /*\n  * Metadata with L2 (1W/4B)\n  * ----------------------------------------------------------------\n@@ -918,6 +974,9 @@ struct nfp_fl_act_meter {\n \trte_be32_t profile_id;\n };\n \n+/* Forward declaration */\n+struct nfp_fl_rule_metadata;\n+\n int nfp_flower_cmsg_mac_repr(struct nfp_app_fw_flower *app_fw_flower);\n int nfp_flower_cmsg_repr_reify(struct nfp_app_fw_flower *app_fw_flower,\n \t\tstruct nfp_flower_representor *repr);\ndiff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c\nindex 3ed78eab57..9847eb0615 100644\n--- a/drivers/net/nfp/nfp_flow.c\n+++ b/drivers/net/nfp/nfp_flow.c\n@@ -14,6 +14,7 @@\n #include \"nfp_flow.h\"\n #include \"nfp_logs.h\"\n #include \"nfp_rxtx.h\"\n+#include \"nfp_mtr.h\"\n #include \"flower/nfp_flower.h\"\n #include \"flower/nfp_flower_cmsg.h\"\n #include \"flower/nfp_flower_ctrl.h\"\ndiff --git a/drivers/net/nfp/nfp_mtr.h b/drivers/net/nfp/nfp_mtr.h\nindex f5406381ab..4b1360cad8 100644\n--- a/drivers/net/nfp/nfp_mtr.h\n+++ b/drivers/net/nfp/nfp_mtr.h\n@@ -8,6 +8,8 @@\n \n #include <rte_mtr.h>\n \n+#include \"flower/nfp_flower_cmsg.h\"\n+\n /**\n  * The max meter count is determined by firmware.\n  * The max count is 65536 defined by OF_METER_COUNT.\n@@ -16,72 +18,6 @@\n #define NFP_MAX_POLICY_CNT             NFP_MAX_MTR_CNT\n #define NFP_MAX_PROFILE_CNT            NFP_MAX_MTR_CNT\n \n-/**\n- * See RFC 2698 for more details.\n- * Word[0](Flag options):\n- * [15] p(pps) 1 for pps, 0 for bps\n- *\n- * Meter control message\n- *  1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n- * +-------------------------------+-+---+-----+-+---------+-+---+-+\n- * |            Reserved           |p| Y |TYPE |E|  TSHFV  |P| PC|R|\n- * +-------------------------------+-+---+-----+-+---------+-+---+-+\n- * |                           Profile ID                          |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                        Token Bucket Peak                      |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                     Token Bucket Committed                    |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                         Peak Burst Size                       |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                      Committed Burst Size                     |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                      Peak Information Rate                    |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- * |                    Committed Information Rate                 |\n- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n- */\n-struct nfp_cfg_head {\n-\trte_be32_t flags_opts;\n-\trte_be32_t profile_id;\n-};\n-\n-/**\n- * Struct nfp_profile_conf - profile config, offload to NIC\n- * @head:        config head information\n- * @bkt_tkn_p:   token bucket peak\n- * @bkt_tkn_c:   token bucket committed\n- * @pbs:         peak burst size\n- * @cbs:         committed burst size\n- * @pir:         peak information rate\n- * @cir:         committed information rate\n- */\n-struct nfp_profile_conf {\n-\tstruct nfp_cfg_head head;\n-\trte_be32_t bkt_tkn_p;\n-\trte_be32_t bkt_tkn_c;\n-\trte_be32_t pbs;\n-\trte_be32_t cbs;\n-\trte_be32_t pir;\n-\trte_be32_t cir;\n-};\n-\n-/**\n- * Struct nfp_mtr_stats_reply - meter stats, read from firmware\n- * @head:          config head information\n- * @pass_bytes:    count of passed bytes\n- * @pass_pkts:     count of passed packets\n- * @drop_bytes:    count of dropped bytes\n- * @drop_pkts:     count of dropped packets\n- */\n-struct nfp_mtr_stats_reply {\n-\tstruct nfp_cfg_head head;\n-\trte_be64_t pass_bytes;\n-\trte_be64_t pass_pkts;\n-\trte_be64_t drop_bytes;\n-\trte_be64_t drop_pkts;\n-};\n-\n /**\n  * Struct nfp_mtr_profile - meter profile, stored in driver\n  * Can only be used by one meter\n",
    "prefixes": [
        "09/13"
    ]
}