get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 65285,
    "url": "http://patches.dpdk.org/api/patches/65285/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200129064242.8139-1-skori@marvell.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": "<20200129064242.8139-1-skori@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200129064242.8139-1-skori@marvell.com",
    "date": "2020-01-29T06:42:42",
    "name": "[v2,1/1] net/octeontx: fix user supplied index in MAC address add",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "ed26272b713ffa1d62863b81200fd049cf961da5",
    "submitter": {
        "id": 1318,
        "url": "http://patches.dpdk.org/api/people/1318/?format=api",
        "name": "Sunil Kumar Kori",
        "email": "skori@marvell.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200129064242.8139-1-skori@marvell.com/mbox/",
    "series": [
        {
            "id": 8332,
            "url": "http://patches.dpdk.org/api/series/8332/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8332",
            "date": "2020-01-29T06:42:42",
            "name": "[v2,1/1] net/octeontx: fix user supplied index in MAC address add",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/8332/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/65285/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/65285/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 40E08A0524;\n\tWed, 29 Jan 2020 07:42:56 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id EB5451D150;\n\tWed, 29 Jan 2020 07:42:54 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id AC8B71D14D\n for <dev@dpdk.org>; Wed, 29 Jan 2020 07:42:53 +0100 (CET)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id\n 00T6algj016767 for <dev@dpdk.org>; Tue, 28 Jan 2020 22:42:52 -0800",
            "from sc-exch03.marvell.com ([199.233.58.183])\n by mx0b-0016f401.pphosted.com with ESMTP id 2xrp2t8082-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT)\n for <dev@dpdk.org>; Tue, 28 Jan 2020 22:42:52 -0800",
            "from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com\n (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 28 Jan\n 2020 22:42:50 -0800",
            "from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com\n (10.93.176.81) with Microsoft SMTP Server id 15.0.1497.2 via Frontend\n Transport; Tue, 28 Jan 2020 22:42:50 -0800",
            "from localhost.localdomain (unknown [10.28.34.200])\n by maili.marvell.com (Postfix) with ESMTP id 7DCF53F703F;\n Tue, 28 Jan 2020 22:42:49 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-type; s=pfpt0818; bh=IQBQRFAXwFJKlRq/XsLW7Q9rWR7jOtuSVKqonRECKW0=;\n b=pfpiHk2TKQ1tUWWYduw9flmvk40kaYifOhQJVsFEnzUAn4mCawt0+E7JtfjnARoZDSBb\n Z/XHCqUUGGUcAjwbPaewQZO7iAfBWij+8a3fTXP9+IloJXyvoOZArx5dYu4YjztrI4xy\n j81NJRVqOTi+s8SUZjwF+NjUzSugqYqAJfL1JTrlzy7kbzcE8Knbp6GzfwxvYLzDsefw\n kKPOKCkubhs3BpxPAxLM0/Q36/6WYhbTU4HMXJqlW40nqL4i5FzJnf/6e/ceejJp+a2p\n AyWn3ePYQpYuGkPH0GFs3eBe/ddfJc3clQDd2DsctLwE/hAgW96vJCkCxgKNDZAgOS6T wA==",
        "From": "Sunil Kumar Kori <skori@marvell.com>",
        "To": "Harman Kalra <hkalra@marvell.com>",
        "CC": "<dev@dpdk.org>, Sunil Kumar Kori <skori@marvell.com>",
        "Date": "Wed, 29 Jan 2020 12:12:42 +0530",
        "Message-ID": "<20200129064242.8139-1-skori@marvell.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200124063554.893-1-skori@marvell.com>",
        "References": "<20200124063554.893-1-skori@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572\n definitions=2020-01-28_09:2020-01-28,\n 2020-01-28 signatures=0",
        "Subject": "[dpdk-dev] [PATCH v2 1/1] net/octeontx: fix user supplied index in\n\tMAC address add",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Earlier after a successful mac_addr_add operation, index was returned\nby underlying layer which was unused but same as provided by DPDK API.\n\nSo API is enhanced to use application provided index location to add\nMAC address entry.\n\nFixes: e4373bf1b3f5 (\"net/octeontx: add unicast MAC filter\")\n\nSigned-off-by: Sunil Kumar Kori <skori@marvell.com>\n---\nv2:\n - Disable promiscuous mode flag when default MAC address is set.\n\n drivers/net/octeontx/base/octeontx_bgx.c | 13 ++++++-------\n drivers/net/octeontx/base/octeontx_bgx.h |  7 ++++++-\n drivers/net/octeontx/octeontx_ethdev.c   | 21 +++++++++++++++++----\n 3 files changed, 29 insertions(+), 12 deletions(-)",
    "diff": "diff --git a/drivers/net/octeontx/base/octeontx_bgx.c b/drivers/net/octeontx/base/octeontx_bgx.c\nindex e70255b11..a2d615fb2 100644\n--- a/drivers/net/octeontx/base/octeontx_bgx.c\n+++ b/drivers/net/octeontx/base/octeontx_bgx.c\n@@ -245,22 +245,21 @@ octeontx_bgx_port_mac_set(int port, uint8_t *mac_addr)\n }\n \n int\n-octeontx_bgx_port_mac_add(int port, uint8_t *mac_addr)\n+octeontx_bgx_port_mac_add(int port, uint8_t *mac_addr, int index)\n {\n+\tstruct octeontx_mbox_bgx_port_mac_filter filter;\n \tstruct octeontx_mbox_hdr hdr;\n-\tint resp = 0;\n \tint len = 6;\n-\tint res = 0;\n \n \thdr.coproc = OCTEONTX_BGX_COPROC;\n \thdr.msg = MBOX_BGX_PORT_ADD_MACADDR;\n \thdr.vfid = port;\n \n-\tres = octeontx_mbox_send(&hdr, mac_addr, len, &resp, sizeof(int));\n-\tif (res < 0)\n-\t\treturn -EACCES;\n+\tmemcpy(filter.mac_addr, mac_addr, len);\n+\tfilter.index = index;\n+\tlen = sizeof(struct octeontx_mbox_bgx_port_mac_filter);\n \n-\treturn res;\n+\treturn octeontx_mbox_send(&hdr, &filter, len, NULL, 0);\n }\n \n int\ndiff --git a/drivers/net/octeontx/base/octeontx_bgx.h b/drivers/net/octeontx/base/octeontx_bgx.h\nindex caaff179c..11c25db67 100644\n--- a/drivers/net/octeontx/base/octeontx_bgx.h\n+++ b/drivers/net/octeontx/base/octeontx_bgx.h\n@@ -112,6 +112,11 @@ typedef struct octeontx_mbox_bgx_port_stats {\n \tuint64_t rx_jabber_errors;\n } octeontx_mbox_bgx_port_stats_t;\n \n+struct octeontx_mbox_bgx_port_mac_filter {\n+\tuint8_t mac_addr[6];\n+\tint index;\n+};\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@@ -123,7 +128,7 @@ 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-int octeontx_bgx_port_mac_add(int port, uint8_t *mac_addr);\n+int octeontx_bgx_port_mac_add(int port, uint8_t *mac_addr, int index);\n int octeontx_bgx_port_mac_del(int port, uint32_t index);\n int octeontx_bgx_port_mac_entries_get(int port);\n \ndiff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c\nindex e23162d8a..f965b946e 100644\n--- a/drivers/net/octeontx/octeontx_ethdev.c\n+++ b/drivers/net/octeontx/octeontx_ethdev.c\n@@ -573,13 +573,14 @@ octeontx_dev_mac_addr_del(struct rte_eth_dev *dev, uint32_t index)\n static int\n octeontx_dev_mac_addr_add(struct rte_eth_dev *dev,\n \t\t\t  struct rte_ether_addr *mac_addr,\n-\t\t\t  __rte_unused uint32_t index,\n+\t\t\t  uint32_t index,\n \t\t\t  __rte_unused uint32_t vmdq)\n {\n \tstruct octeontx_nic *nic = octeontx_pmd_priv(dev);\n \tint ret;\n \n-\tret = octeontx_bgx_port_mac_add(nic->port_id, mac_addr->addr_bytes);\n+\tret = octeontx_bgx_port_mac_add(nic->port_id, mac_addr->addr_bytes,\n+\t\t\t\t\tindex);\n \tif (ret < 0) {\n \t\tocteontx_log_err(\"failed to add MAC address filter on port %d\",\n \t\t\t\t nic->port_id);\n@@ -594,12 +595,21 @@ octeontx_dev_default_mac_addr_set(struct rte_eth_dev *dev,\n \t\t\t\t\tstruct rte_ether_addr *addr)\n {\n \tstruct octeontx_nic *nic = octeontx_pmd_priv(dev);\n+\tuint8_t prom_mode = dev->data->promiscuous;\n \tint ret;\n \n+\tdev->data->promiscuous = 0;\n \tret = octeontx_bgx_port_mac_set(nic->port_id, addr->addr_bytes);\n-\tif (ret != 0)\n+\tif (ret == 0) {\n+\t\t/* Update same mac address to BGX CAM table */\n+\t\tret = octeontx_bgx_port_mac_add(nic->port_id, addr->addr_bytes,\n+\t\t\t\t\t\t0);\n+\t}\n+\tif (ret < 0) {\n+\t\tdev->data->promiscuous = prom_mode;\n \t\tocteontx_log_err(\"failed to set MAC address on port %d\",\n-\t\t\t\tnic->port_id);\n+\t\t\t\t nic->port_id);\n+\t}\n \n \treturn ret;\n }\n@@ -1149,6 +1159,9 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,\n \t/* Update port_id mac to eth_dev */\n \tmemcpy(data->mac_addrs, nic->mac_addr, RTE_ETHER_ADDR_LEN);\n \n+\t/* Update same mac address to BGX CAM table at index 0 */\n+\tocteontx_bgx_port_mac_add(nic->port_id, nic->mac_addr, 0);\n+\n \tPMD_INIT_LOG(DEBUG, \"ethdev info: \");\n \tPMD_INIT_LOG(DEBUG, \"port %d, port_ena %d ochan %d num_ochan %d tx_q %d\",\n \t\t\t\tnic->port_id, nic->port_ena,\n",
    "prefixes": [
        "v2",
        "1/1"
    ]
}