get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28232,
    "url": "http://patches.dpdk.org/api/patches/28232/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/32fac294956d6e269a2ac648bafda37710cd1c5c.1504252977.git.adrien.mazarguil@6wind.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": "<32fac294956d6e269a2ac648bafda37710cd1c5c.1504252977.git.adrien.mazarguil@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/32fac294956d6e269a2ac648bafda37710cd1c5c.1504252977.git.adrien.mazarguil@6wind.com",
    "date": "2017-09-01T08:06:47",
    "name": "[dpdk-dev,v2,32/51] net/mlx4: remove mbuf macro definitions",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "036068f0544df12b04071206ccd989b563540a0f",
    "submitter": {
        "id": 165,
        "url": "http://patches.dpdk.org/api/people/165/?format=api",
        "name": "Adrien Mazarguil",
        "email": "adrien.mazarguil@6wind.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/32fac294956d6e269a2ac648bafda37710cd1c5c.1504252977.git.adrien.mazarguil@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/28232/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/28232/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 8781C9975;\n\tFri,  1 Sep 2017 10:08:07 +0200 (CEST)",
            "from mail-wr0-f176.google.com (mail-wr0-f176.google.com\n\t[209.85.128.176]) by dpdk.org (Postfix) with ESMTP id 993A89955\n\tfor <dev@dpdk.org>; Fri,  1 Sep 2017 10:08:03 +0200 (CEST)",
            "by mail-wr0-f176.google.com with SMTP id k94so4565402wrc.0\n\tfor <dev@dpdk.org>; Fri, 01 Sep 2017 01:08:03 -0700 (PDT)",
            "from 6wind.com (host.78.145.23.62.rev.coltfrance.com.\n\t[62.23.145.78]) by smtp.gmail.com with ESMTPSA id\n\tl64sm2078248wmb.12.2017.09.01.01.08.01 for <dev@dpdk.org>\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 01 Sep 2017 01:08:01 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=6wind-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:subject:date:message-id:in-reply-to:references;\n\tbh=pvA01Sog9YsYX+ExBY+5f97ZxgDvJpCiYRHdTQlp2mQ=;\n\tb=aATXJ0dUD+lTFOcQrdgKsWQ9N+HNgnOo/TKz2wD5EYk+JVaq7LTyBOMly1Tym8ZFwY\n\td/+u1+UFDbn6Se+/hxEbSMUtqBNVWHUDp+zlmE6yd2m91nEwrpfHZk/Q3Uy2UBGJTrnK\n\tKvoL/Cd/2kJk+7MY7QyMl4wa3mriGcUyVI+6WSJ/QyFlVOdCQOESgPs/pOTkF4hQ20O0\n\tsBjUjnjsMpA+oIsRno0Ve8X5PngBAzNBtAeVI9YihB8+KXlQZ0tG9sSbTo1Ob4c/7BQ2\n\tkMAiKhvUmQDvvPhXPo8GU9jFDLpzGM2teV29DR1ZuJtVQ++L5hwKov5zXsilOiJxaUIT\n\ttSfw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=pvA01Sog9YsYX+ExBY+5f97ZxgDvJpCiYRHdTQlp2mQ=;\n\tb=QWz4gVAmoyMF+b16ee9uLHCGj0fHtthsB2499teUFXH4aaKk7ioaDL+Jmpr1kmMspC\n\t5SGCCYoPfKjnuoQNPu6XfgYErjrprGNv93xNMu4UM/8cSpB0Ke1CQo6iJHY3rylXwYnA\n\thzMF8BGWJAFxrnXq9CSfr3HcMSfwVYEje5q6PJRgz+eWX51yQs9VnZnx6rDE7gAgFZiB\n\tCMrEPFTZJBE9gclXBff2BScp97/gIa0CeAJEx1L+6vV4NKOLh+fzkIoSgzW3kY47mocT\n\t0KWphztRZFhDRoFdS5vJeJ8SWxfBus5vZ9g3Zy+XnMrXpLNoZs1UM/XxNlgZLFDpe0/B\n\tLs/g==",
        "X-Gm-Message-State": "AHPjjUjKxGjkQaaUpi006aiWAsMNF2C1MWWfR/qjHqCLs7EiT3sfkdW7\n\tCspILgMCRh5KdC0rvzY=",
        "X-Google-Smtp-Source": "ADKCNb6lyHXFOD63yLe2m1jZmT1ia7ks/0NlfYPRtVT07KBlvUrK/V9wPbAZohPXb2GobzSH1yjiBA==",
        "X-Received": "by 10.223.173.15 with SMTP id p15mr703567wrc.128.1504253283143; \n\tFri, 01 Sep 2017 01:08:03 -0700 (PDT)",
        "From": "Adrien Mazarguil <adrien.mazarguil@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri,  1 Sep 2017 10:06:47 +0200",
        "Message-Id": "<32fac294956d6e269a2ac648bafda37710cd1c5c.1504252977.git.adrien.mazarguil@6wind.com>",
        "X-Mailer": "git-send-email 2.1.4",
        "In-Reply-To": "<cover.1504252977.git.adrien.mazarguil@6wind.com>",
        "References": "<cover.1501598383.git.adrien.mazarguil@6wind.com>\n\t<cover.1504252977.git.adrien.mazarguil@6wind.com>",
        "Subject": "[dpdk-dev] [PATCH v2 32/51] net/mlx4: remove mbuf macro definitions",
        "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": "These were originally used for compatibility between DPDK releases when\nthis PMD was built out of tree.\n\nSigned-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>\n---\n drivers/net/mlx4/mlx4.c | 29 ++++++++++-------------------\n 1 file changed, 10 insertions(+), 19 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c\nindex e1efb8c..a94f27e 100644\n--- a/drivers/net/mlx4/mlx4.c\n+++ b/drivers/net/mlx4/mlx4.c\n@@ -74,15 +74,6 @@\n #include \"mlx4.h\"\n #include \"mlx4_flow.h\"\n \n-/* Convenience macros for accessing mbuf fields. */\n-#define NEXT(m) ((m)->next)\n-#define DATA_LEN(m) ((m)->data_len)\n-#define PKT_LEN(m) ((m)->pkt_len)\n-#define DATA_OFF(m) ((m)->data_off)\n-#define SET_DATA_OFF(m, o) ((m)->data_off = (o))\n-#define NB_SEGS(m) ((m)->nb_segs)\n-#define PORT(m) ((m)->port)\n-\n /** Configuration structure for device arguments. */\n struct mlx4_conf {\n \tstruct {\n@@ -995,7 +986,7 @@ mlx4_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tstruct txq_elt *elt_next = &(*txq->elts)[elts_head_next];\n \t\tstruct txq_elt *elt = &(*txq->elts)[elts_head];\n \t\tstruct ibv_send_wr *wr = &elt->wr;\n-\t\tunsigned int segs = NB_SEGS(buf);\n+\t\tunsigned int segs = buf->nb_segs;\n \t\tunsigned int sent_size = 0;\n \t\tuint32_t send_flags = 0;\n \n@@ -1009,7 +1000,7 @@ mlx4_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)\n #endif\n \t\t\t/* Faster than rte_pktmbuf_free(). */\n \t\t\tdo {\n-\t\t\t\tstruct rte_mbuf *next = NEXT(tmp);\n+\t\t\t\tstruct rte_mbuf *next = tmp->next;\n \n \t\t\t\trte_pktmbuf_free_seg(tmp);\n \t\t\t\ttmp = next;\n@@ -1029,7 +1020,7 @@ mlx4_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \n \t\t\t/* Retrieve buffer information. */\n \t\t\taddr = rte_pktmbuf_mtod(buf, uintptr_t);\n-\t\t\tlength = DATA_LEN(buf);\n+\t\t\tlength = buf->data_len;\n \t\t\t/* Retrieve Memory Region key for this memory pool. */\n \t\t\tlkey = txq_mp2mr(txq, txq_mb2mp(buf));\n \t\t\tif (unlikely(lkey == (uint32_t)-1)) {\n@@ -1385,7 +1376,7 @@ rxq_alloc_elts(struct rxq *rxq, unsigned int elts_n)\n \t\twr->sg_list = sge;\n \t\twr->num_sge = 1;\n \t\t/* Headroom is reserved by rte_pktmbuf_alloc(). */\n-\t\tassert(DATA_OFF(buf) == RTE_PKTMBUF_HEADROOM);\n+\t\tassert(buf->data_off == RTE_PKTMBUF_HEADROOM);\n \t\t/* Buffer is supposed to be empty. */\n \t\tassert(rte_pktmbuf_data_len(buf) == 0);\n \t\tassert(rte_pktmbuf_pkt_len(buf) == 0);\n@@ -1655,12 +1646,12 @@ mlx4_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tassert(elt->sge.lkey == rxq->mr->lkey);\n \t\telt->buf = rep;\n \t\t/* Update seg information. */\n-\t\tSET_DATA_OFF(seg, RTE_PKTMBUF_HEADROOM);\n-\t\tNB_SEGS(seg) = 1;\n-\t\tPORT(seg) = rxq->port_id;\n-\t\tNEXT(seg) = NULL;\n-\t\tPKT_LEN(seg) = len;\n-\t\tDATA_LEN(seg) = len;\n+\t\tseg->data_off = RTE_PKTMBUF_HEADROOM;\n+\t\tseg->nb_segs = 1;\n+\t\tseg->port = rxq->port_id;\n+\t\tseg->next = NULL;\n+\t\tseg->pkt_len = len;\n+\t\tseg->data_len = len;\n \t\tseg->packet_type = 0;\n \t\tseg->ol_flags = 0;\n \t\t/* Return packet. */\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "32/51"
    ]
}