get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28170,
    "url": "http://patches.dpdk.org/api/patches/28170/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170831145436.5397-6-jerin.jacob@caviumnetworks.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": "<20170831145436.5397-6-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170831145436.5397-6-jerin.jacob@caviumnetworks.com",
    "date": "2017-08-31T14:54:15",
    "name": "[dpdk-dev,05/26] net/octeontx/base: add remaining BGX operations",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "94086d5c7597a6924db0aa0fa44ba5df087882cc",
    "submitter": {
        "id": 305,
        "url": "http://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.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/20170831145436.5397-6-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/28170/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/28170/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id A8EFE7CE1;\n\tThu, 31 Aug 2017 16:55:34 +0200 (CEST)",
            "from NAM03-BY2-obe.outbound.protection.outlook.com\n\t(mail-by2nam03on0044.outbound.protection.outlook.com [104.47.42.44])\n\tby dpdk.org (Postfix) with ESMTP id 3B2F77CD9\n\tfor <dev@dpdk.org>; Thu, 31 Aug 2017 16:55:32 +0200 (CEST)",
            "from jerin.domain.name (171.76.126.71) by\n\tSN2PR07MB2526.namprd07.prod.outlook.com (2603:10b6:804:6::26) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tThu, 31 Aug 2017 14:55:29 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=U3YZ3QhujjMHvV7pzrKqVb93OWIixMrNBz0Zv9akbQg=;\n\tb=CUqU0u8Sm+P09deV4ugHJT2QAttt/T86be5O/E1MyYFAKHuh8vjler8f7eG8IXTo3AEngImzl8DpsiRCdAFr7ar9OO6rginsyhndc0+2Q5eEPvsaC9fMz+Nn7kZdfpxhZRBayV7/W+bKOegRqFaM9ZB97UAg1jJs9qDnklT4eP4=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; ",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "ferruh.yigit@intel.com, santosh.shukla@caviumnetworks.com,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>",
        "Date": "Thu, 31 Aug 2017 20:24:15 +0530",
        "Message-Id": "<20170831145436.5397-6-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170831145436.5397-1-jerin.jacob@caviumnetworks.com>",
        "References": "<20170831145436.5397-1-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[171.76.126.71]",
        "X-ClientProxiedBy": "MA1PR01CA0109.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:a00:1::25) To SN2PR07MB2526.namprd07.prod.outlook.com\n\t(2603:10b6:804:6::26)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "07ce6523-3ceb-4da3-ef68-08d4f0805319",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:SN2PR07MB2526; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; SN2PR07MB2526;\n\t3:WoaCxIeUBSeZ28owIrltvMeiuQywJ53FXXwPZeWRwmjfvqoTMGs/bg1YEvFEVtBEz6kuEMFIJDLxHNQGkLinkU8byuNi8EKHDr2rybvXbtGyFnpD6o6R8Fw+EnvZlxmuaUkXGCEK/y/MVY8zjUIrlG2F1sJs97sXbzWwUEHWO29x+WJ95ON5Om1gjxJf9bRbQAkxJjG0ORPHIjdlnfknBzuJwf/S2RVE79HFDxKcWR2eV2wjBC7s+L77VxnsSk7E;\n\t25:bcDhKjuvSoqQHtK7oYJZB/STLisE9ffzmDiBwNZ19rx7VZFUFFIkxs2cuivMveIge7baXNvZEYZEpPW1fTgZZS9oVKjppl36wtn6Mm8ySDUDPO9sGNors06PlcsR/PanhhV5KpBsJrOfFN4yaK255jadPK6yBE/OkQNxBi8zcgZ4O/5/q0hSZHWAXWLhxIBFyCwWjbI3iWo78vlcRAFeg0kttn1nxpvMLHFfGvb4Vsfj/9WWgaatm0Oo1eFXZ3ZIcK0jXAi14iHp19+Zp30+N335XKh2YjyL9HniZ3G429Bptf2O+flb88iIOhpWPOng1K5bLy+4UAr9yHHbYvRZcA==;\n\t31:5tlU3jDn2ZzFJ037hoY5fnX97YihL0/ww/VB1Nvl0eeZIJdi6Td6M8twphOqfAc02DUXxCExhbuNf0uWRtptHhStAZSdLmms0OAKQDJmJnEkNSdrYtrh8CQ3JXoe8DoJVZHaH3jxLxVVQNAFemmGHPxQyFJ/zDhz8JZS91YBvAxYhPCheufwKgpd8oiVwakFVCLT1iYluh3pnNSUW6+dRJsvQF6dQwV72aF2VGoP72s=",
            "1; SN2PR07MB2526;\n\t20:bmeA/EEmYXqqPNMqkohKxHBE7znGOvjYlKFbLhLJuot3+zucYcLqkiMWFrqbAHSvn64GD0ua9c5qhhuO3nU5iKIjYHHBzhwylBtTVpXqVDKZqV1UZ5BGsYrD+g9/249Tm1/HYIRHkEUZcy1W9OTtH+kLqh2iDxVW/MNeFaoQwdX8ePseCLtE7qVCyJwEZHSQ5JUSKgdqJTTkty1usewGRJ3NAZdhC6zJbnQKgsjSn8v7qaFwL0vrp35TE2pSQyXZCVfwgJ2TT/0MmjWc94ndsWtZ1D3Jo2T1oC1LJiSMq+sLUREUKBYsuXaBm66hLoYzQswak9/xM9QvkTOmhq1h5Aw0H0y1qe8gBzGZKeIE+IJSG84wI3BngItRnwdmaRtDFC/ockqv+w1c4e30PvVGS3pwQG1RDBwdvj3WVi/KNxq1PZgRYFd7cQjoAjO3ZjIKoU4+YbexTi3JLT9Z0uUrDaKnSpxgfBtLIMzXuDfRR9uBR1U5cr7nwWh5ubhLS3lbFR0HJeOvx97YdbHeowvCPgC9g6zSGIpbB12Zo3x6zjDe3TbIu9ukFNdLdoBUIGyNKPHP5x0PnmL85rDwhu1FaE+2iKvKyoP/OcdSuVjIKSo=;\n\t4:GgtkPbplBq6rz7KnkBnzVoAumDLhkijLQJgxbF1ceNx4LcpXJMrFPGcoJtK/G9JdfD3cY/2HOkiq2eQJAUD8/nDDCLekmCwcygI969eXLtTnsBlJMarZU5pwO7pSgUCkBiTHcbEHdVWwSBCCmL5eUX0o0N8XBKgHMLBP4lHmzq3G/jp7ijB2SigFZD1a8Ymrt4skOSvTss70fUtZA1s4/u+qus52nZecX64bWG9iIys1W5UF68ZHp+Y/hEHVTR1r",
            "=?us-ascii?Q?1; SN2PR07MB2526;\n\t23:x26KJSXn0OMNMPNQxBSMg7Qh6TaEpMtJlRsjH5Pw/?=\n\tTEJ2RPzOnWEG/i3bt1ar/6ZzJJTIlQk+IAUcRf+8Ckfmf3guEN22DFYuNbSUSkJvntGXS6JLaNv8QmcQvHm2PUXK95uokqjI3AWGWQbIEPIr+PPgdwZYP1go2bvgzg89c9QhGqHFV952MRdIPzsA515VzvOevsEhFamAPMh7esh/qwyEP9Loj5WluUPJhj4ZBYBrmFHlbJavAR1x+sC6IWl22Q8Fh2RHyewAYZlNs3Wcpf6FdL/acGqhheAlTewiILd9jpnkhNx79nHM0HbHOJdyfylxbG/kGwEgqQpcD0tHwWDW6O6XL7pmxn5u1t+Ut6hpX48mHpWzX8zseOcU8yoKc/NVZ4SSAp0XrFIZkOCErj3doW+9iXoFRYDyGldTXMfi4blel67CO706CQvXz3uF/VjtVGQJ4rRecIqHSXmRpU67wPRL4Gbuf6sTZli1zHHN9Py+lvDymG960oqv8B1PMtnDB+UE8Dv0We6soVo3jcf81sQl2G0h2hIHmNiMaS1SciAxKDTmTvz7qmZHqdeiUBHUO36P9ccWKzAxxhrggCtmM1YhT+ajwtTgQk8VjKTOYkO4R/DOA5ZZq05njpxzfoFiG6gCVyOQ1hR8sTBi9VUt1zgBrvk7URIUZj9RdWz1upc7vSwyFy9sLDfqdj5OgtTvBvDexMHd04ARUlDxsqNOlUDCLcCC6jayMtJ47NQnZD1C+u7zJtg2wj/e1TgW24TFMDmU+krw6G7DMtyktmTN1jbvK3L1Tc0KUsfqQ96TAkVjdX9FzE1e1qxVrAnS/nJSeOtai0bEMoKLznT5DaCNgysDawWJRdJ0ceqTghFQ+hhaAYHLrghRYTyn9ybBJtfwWUVkuEYtuVnJjGVRPDn2NhBiFjv56BrcIsOlq3jaHgZ5Z/h/d/DHnGl+BMO7AzmFyPbbBMwDDeN9t6FT+o0us0Fj7Qs30aD+oyKjR6dkzYEif09brpdxi25S9RWiKqDH9DLsttuQpF0bYnvdlV2jNLqcaFZC8gRE4Cdw3e+hB4gmi10rrwogakgw9OkawUL5kyj+GdIGdR3h8eSYZxUQp/eQAeGChhE7BVx9pdJvM/5cf5elzqbsSYpppKbWeuN5rP7HBonEx3wCYlY8bY9fUQJiP4YDXY9L5ubL30=",
            "1; SN2PR07MB2526;\n\t6:ouT+nK1A36/wm9syWAk+SpfQ2WXYNS2qWzdRR1oGIQeVdn4z0gC8kwDu8dmkbGIj8h7g8h1qeFu9DgYb3Sa3dzf5SwdVHtNh/iofxw65tksoyKSYHXNk6iQqBEXwUz4JXFTe57GQLOz1DS2N+/qpeXbfhXHXotdXjM85sXz8z51IWtNlZ8ERYydxTCpcse1t6+PYywT1CgdLph3LMIXQMSZ9r5SO36aIPWjHjFZedTXAvXxOg6GaTiPhZrPDaKk78X6J7Ln4Ma5BW/I7Bl0BHBecaCgJJxSWb7RdUYkkrG5+hjTXbndrsQ0UJ5KoCSoVJk9PAQZszvR3W3+WgiugXg==;\n\t5:GiSEJcqXphON0BrJ9kKAo9JzAFYE4Q2/lWPXAcvqlOYCCXa0k/8bwlORF0p5xVVYRdsD/EQt53Q7ZXR/6MAJUzNRwbdUaFUXB1bcdbNZifK9Z7rBZ/47sqEXU5dDlN5zalDaB2dfZGqIUJkX0AMjOQ==;\n\t24:apeKwyk8bY8Z9zLmU+qs6BkTxUUg7vuatTRdYUo8QoIgfcGRKnRA0wwQtI1cCL58KIxfqIQPPbPoyGJPD/zaRZ1V65huAOu5yuDJlHzcZww=;\n\t7:0RJ/oAJHp8RF4z8VdgWu6X0OE62t/m4DXjmE7zTRwdZBaV27sEccVzfWpfqqU1YueOuXXW7JO47UrAMFnLn2VCEjTTY2jkaXXuogLpJWUqCGKxNd9RPuF66Ludo9ponnizu3iw8QOZL5IWsHGsaRqYIVo2yfT5z/pWwZNA6Y2hAY5V9ylQVq6ScKOzg00MqaSM4Z+/aCCDyK80ZRSURV6eH1KnnO5kRur5yb/NQK0oA="
        ],
        "X-MS-TrafficTypeDiagnostic": "SN2PR07MB2526:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<SN2PR07MB2526F96227B34FC7654C8837E39D0@SN2PR07MB2526.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:SN2PR07MB2526; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:SN2PR07MB2526; ",
        "X-Forefront-PRVS": "04163EF38A",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(199003)(189002)(25786009)(1076002)(53936002)(3846002)(6116002)(575784001)(478600001)(110136004)(72206003)(7736002)(6666003)(107886003)(6512007)(305945005)(6506006)(36756003)(6486002)(68736007)(5003940100001)(189998001)(50986999)(42882006)(106356001)(101416001)(76176999)(2950100002)(6916009)(5660300001)(2361001)(33646002)(2351001)(2906002)(4326008)(97736004)(105586002)(48376002)(50466002)(81166006)(66066001)(69596002)(8936002)(47776003)(53416004)(8676002)(50226002)(81156014)(42186005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2526; H:jerin.domain.name;\n\tFPR:; \n\tSPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Aug 2017 14:55:29.0052\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN2PR07MB2526",
        "Subject": "[dpdk-dev] [PATCH 05/26] net/octeontx/base: add remaining BGX\n\toperations",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Adding remaining BGX operations like, link status, statistics,\npromiscuous configuration etc.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nCo-authored-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>\n---\n drivers/net/octeontx/base/octeontx_bgx.c | 154 +++++++++++++++++++++++++++++++\n drivers/net/octeontx/base/octeontx_bgx.h |  76 +++++++++++++++\n 2 files changed, 230 insertions(+)",
    "diff": "diff --git a/drivers/net/octeontx/base/octeontx_bgx.c b/drivers/net/octeontx/base/octeontx_bgx.c\nindex 2e817292e..c2d0d4331 100644\n--- a/drivers/net/octeontx/base/octeontx_bgx.c\n+++ b/drivers/net/octeontx/base/octeontx_bgx.c\n@@ -117,3 +117,157 @@ octeontx_bgx_port_stop(int port)\n \n \treturn res;\n }\n+\n+int\n+octeontx_bgx_port_get_config(int port, octeontx_mbox_bgx_port_conf_t *conf)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tocteontx_mbox_bgx_port_conf_t bgx_conf;\n+\tint len = sizeof(octeontx_mbox_bgx_port_conf_t);\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_GET_CONFIG;\n+\thdr.vfid = port;\n+\n+\tmemset(&bgx_conf, 0, sizeof(octeontx_mbox_bgx_port_conf_t));\n+\tres = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_conf, len);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\tconf->enable = bgx_conf.enable;\n+\tconf->promisc = bgx_conf.promisc;\n+\tconf->bpen = bgx_conf.bpen;\n+\tconf->node = bgx_conf.node;\n+\tconf->base_chan = bgx_conf.base_chan;\n+\tconf->num_chans = bgx_conf.num_chans;\n+\tconf->mtu = bgx_conf.mtu;\n+\tconf->bgx = bgx_conf.bgx;\n+\tconf->lmac = bgx_conf.lmac;\n+\tconf->mode = bgx_conf.mode;\n+\tconf->pkind = bgx_conf.pkind;\n+\tmemcpy(conf->macaddr, bgx_conf.macaddr, 6);\n+\n+\treturn res;\n+}\n+\n+int\n+octeontx_bgx_port_status(int port, octeontx_mbox_bgx_port_status_t *stat)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tocteontx_mbox_bgx_port_status_t bgx_stat;\n+\tint len = sizeof(octeontx_mbox_bgx_port_status_t);\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_GET_STATUS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_stat, len);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\tstat->link_up = bgx_stat.link_up;\n+\n+\treturn res;\n+}\n+\n+int\n+octeontx_bgx_port_stats(int port, octeontx_mbox_bgx_port_stats_t *stats)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tocteontx_mbox_bgx_port_stats_t bgx_stats;\n+\tint len = sizeof(octeontx_mbox_bgx_port_stats_t);\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_GET_STATS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &bgx_stats, len);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\tstats->rx_packets = bgx_stats.rx_packets;\n+\tstats->rx_bytes = bgx_stats.rx_bytes;\n+\tstats->rx_dropped = bgx_stats.rx_dropped;\n+\tstats->rx_errors = bgx_stats.rx_errors;\n+\tstats->tx_packets = bgx_stats.tx_packets;\n+\tstats->tx_bytes = bgx_stats.tx_bytes;\n+\tstats->tx_dropped = bgx_stats.tx_dropped;\n+\tstats->tx_errors = bgx_stats.tx_errors;\n+\treturn res;\n+}\n+\n+int\n+octeontx_bgx_port_stats_clr(int port)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_CLR_STATS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, NULL, 0, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+int\n+octeontx_bgx_port_link_status(int port)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tuint8_t link;\n+\tint len = sizeof(uint8_t);\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_GET_LINK_STATUS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, NULL, 0, &link, len);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn link;\n+}\n+\n+int\n+octeontx_bgx_port_promisc_set(int port, int en)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tuint8_t\tprom;\n+\tint res;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_SET_PROMISC;\n+\thdr.vfid = port;\n+\tprom = en ? 1 : 0;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &prom, sizeof(prom), NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+int\n+octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint len = 6;\n+\tint res = 0;\n+\n+\thdr.coproc = OCTEONTX_BGX_COPROC;\n+\thdr.msg = MBOX_BGX_PORT_SET_MACADDR;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, mac_addr, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\ndiff --git a/drivers/net/octeontx/base/octeontx_bgx.h b/drivers/net/octeontx/base/octeontx_bgx.h\nindex 09810ac4b..02aa7e6f4 100644\n--- a/drivers/net/octeontx/base/octeontx_bgx.h\n+++ b/drivers/net/octeontx/base/octeontx_bgx.h\n@@ -45,6 +45,16 @@\n #define MBOX_BGX_PORT_CLOSE             1\n #define MBOX_BGX_PORT_START             2\n #define MBOX_BGX_PORT_STOP              3\n+#define MBOX_BGX_PORT_GET_CONFIG        4\n+#define MBOX_BGX_PORT_GET_STATUS        5\n+#define MBOX_BGX_PORT_GET_STATS         6\n+#define MBOX_BGX_PORT_CLR_STATS         7\n+#define MBOX_BGX_PORT_GET_LINK_STATUS   8\n+#define MBOX_BGX_PORT_SET_PROMISC       9\n+#define MBOX_BGX_PORT_SET_MACADDR       10\n+#define MBOX_BGX_PORT_SET_BP            11\n+#define MBOX_BGX_PORT_SET_BCAST         12\n+#define MBOX_BGX_PORT_SET_MCAST         13\n \n /* BGX port configuration parameters: */\n typedef struct octeontx_mbox_bgx_port_conf {\n@@ -65,10 +75,76 @@ typedef struct octeontx_mbox_bgx_port_conf {\n \tuint8_t pkind;\n } octeontx_mbox_bgx_port_conf_t;\n \n+/* BGX port status: */\n+typedef struct octeontx_mbox_bgx_port_status {\n+\tuint8_t link_up;\n+\tuint8_t bp;\n+} octeontx_mbox_bgx_port_status_t;\n+\n+/* BGX port statistics: */\n+typedef struct octeontx_mbox_bgx_port_stats {\n+\tuint64_t rx_packets;\n+\tuint64_t tx_packets;\n+\tuint64_t rx_bytes;\n+\tuint64_t tx_bytes;\n+\tuint64_t rx_errors;\n+\tuint64_t tx_errors;\n+\tuint64_t rx_dropped;\n+\tuint64_t tx_dropped;\n+\tuint64_t multicast;\n+\tuint64_t collisions;\n+\n+\tuint64_t rx_length_errors;\n+\tuint64_t rx_over_errors;\n+\tuint64_t rx_crc_errors;\n+\tuint64_t rx_frame_errors;\n+\tuint64_t rx_fifo_errors;\n+\tuint64_t rx_missed_errors;\n+\n+\t/* Detailed transmit errors. */\n+\tuint64_t tx_aborted_errors;\n+\tuint64_t tx_carrier_errors;\n+\tuint64_t tx_fifo_errors;\n+\tuint64_t tx_heartbeat_errors;\n+\tuint64_t tx_window_errors;\n+\n+\t/* Extended statistics based on RFC2819. */\n+\tuint64_t rx_1_to_64_packets;\n+\tuint64_t rx_65_to_127_packets;\n+\tuint64_t rx_128_to_255_packets;\n+\tuint64_t rx_256_to_511_packets;\n+\tuint64_t rx_512_to_1023_packets;\n+\tuint64_t rx_1024_to_1522_packets;\n+\tuint64_t rx_1523_to_max_packets;\n+\n+\tuint64_t tx_1_to_64_packets;\n+\tuint64_t tx_65_to_127_packets;\n+\tuint64_t tx_128_to_255_packets;\n+\tuint64_t tx_256_to_511_packets;\n+\tuint64_t tx_512_to_1023_packets;\n+\tuint64_t tx_1024_to_1522_packets;\n+\tuint64_t tx_1523_to_max_packets;\n+\n+\tuint64_t tx_multicast_packets;\n+\tuint64_t rx_broadcast_packets;\n+\tuint64_t tx_broadcast_packets;\n+\tuint64_t rx_undersized_errors;\n+\tuint64_t rx_oversize_errors;\n+\tuint64_t rx_fragmented_errors;\n+\tuint64_t rx_jabber_errors;\n+} octeontx_mbox_bgx_port_stats_t;\n+\n int octeontx_bgx_port_open(int port, octeontx_mbox_bgx_port_conf_t *conf);\n int octeontx_bgx_port_close(int port);\n int octeontx_bgx_port_start(int port);\n int octeontx_bgx_port_stop(int port);\n+int octeontx_bgx_port_get_config(int port, octeontx_mbox_bgx_port_conf_t *conf);\n+int octeontx_bgx_port_status(int port, octeontx_mbox_bgx_port_status_t *stat);\n+int octeontx_bgx_port_stats(int port, octeontx_mbox_bgx_port_stats_t *stats);\n+int octeontx_bgx_port_stats_clr(int port);\n+int octeontx_bgx_port_link_status(int port);\n+int octeontx_bgx_port_promisc_set(int port, int en);\n+int octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr);\n \n #endif\t/* __OCTEONTX_BGX_H__ */\n \n",
    "prefixes": [
        "dpdk-dev",
        "05/26"
    ]
}