get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2424,
    "url": "https://patches.dpdk.org/api/patches/2424/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20150121134921.GA2592@bricha3-MOBL3/",
    "project": {
        "id": 1,
        "url": "https://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": "<20150121134921.GA2592@bricha3-MOBL3>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20150121134921.GA2592@bricha3-MOBL3",
    "date": "2015-01-21T13:49:21",
    "name": "[dpdk-dev] Segmentation fault in ixgbe_rxtx_vec.c:444 with 1.8.0",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "525962c950182f4a6dffdf6cf455dfe0d3f47024",
    "submitter": {
        "id": 20,
        "url": "https://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20150121134921.GA2592@bricha3-MOBL3/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/2424/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/2424/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 BF76A5A31;\n\tWed, 21 Jan 2015 14:51:46 +0100 (CET)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id 0A8C85A15\n\tfor <dev@dpdk.org>; Wed, 21 Jan 2015 14:51:42 +0100 (CET)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga101.jf.intel.com with ESMTP; 21 Jan 2015 05:49:24 -0800",
            "from bricha3-mobl3.ger.corp.intel.com ([10.243.20.28])\n\tby fmsmga002.fm.intel.com with SMTP; 21 Jan 2015 05:49:22 -0800",
            "by  (sSMTP sendmail emulation); Wed, 21 Jan 2015 13:49:21 +0025"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.09,442,1418112000\"; d=\"scan'208\";a=\"665222679\"",
        "Date": "Wed, 21 Jan 2015 13:49:21 +0000",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "Martin Weiser <martin.weiser@allegro-packets.com>",
        "Message-ID": "<20150121134921.GA2592@bricha3-MOBL3>",
        "References": "<54BCDBF1.8020909@allegro-packets.com>\n\t<54BE3047.9060909@allegro-packets.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=us-ascii",
        "Content-Disposition": "inline",
        "In-Reply-To": "<54BE3047.9060909@allegro-packets.com>",
        "Organization": "Intel Shannon Ltd.",
        "User-Agent": "Mutt/1.5.23 (2014-03-12)",
        "Cc": "dev@dpdk.org",
        "Subject": "Re: [dpdk-dev] Segmentation fault in ixgbe_rxtx_vec.c:444 with 1.8.0",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <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": "On Tue, Jan 20, 2015 at 11:39:03AM +0100, Martin Weiser wrote:\n> Hi again,\n> \n> I did some further testing and it seems like this issue is linked to\n> jumbo frames. I think a similar issue has already been reported by\n> Prashant Upadhyaya with the subject 'Packet Rx issue with DPDK1.8'.\n> In our application we use the following rxmode port configuration:\n> \n> .mq_mode    = ETH_MQ_RX_RSS,\n> .split_hdr_size = 0,\n> .header_split   = 0,\n> .hw_ip_checksum = 1,\n> .hw_vlan_filter = 0,\n> .jumbo_frame    = 1,\n> .hw_strip_crc   = 1,\n> .max_rx_pkt_len = 9000,\n> \n> and the mbuf size is calculated like the following:\n> \n> (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n> \n> This works fine with DPDK 1.7 and jumbo frames are split into buffer\n> chains and can be forwarded on another port without a problem.\n> With DPDK 1.8 and the default configuration (CONFIG_RTE_IXGBE_INC_VECTOR\n> enabled) the application sometimes crashes like described in my first\n> mail and sometimes packet receiving stops with subsequently arriving\n> packets counted as rx errors. When CONFIG_RTE_IXGBE_INC_VECTOR is\n> disabled the packet processing also comes to a halt as soon as jumbo\n> frames arrive with a the slightly different effect that now\n> rte_eth_tx_burst refuses to send any previously received packets.\n> \n> Is there anything special to consider regarding jumbo frames when moving\n> from DPDK 1.7 to 1.8 that we might have missed?\n> \n> Martin\n> \n> \n> \n> On 19.01.15 11:26, Martin Weiser wrote:\n> > Hi everybody,\n> >\n> > we quite recently updated one of our applications to DPDK 1.8.0 and are\n> > now seeing a segmentation fault in ixgbe_rxtx_vec.c:444 after a few minutes.\n> > I just did some quick debugging and I only have a very limited\n> > understanding of the code in question but it seems that the 'continue'\n> > in line 445 without increasing 'buf_idx' might cause the problem. In one\n> > debugging session when the crash occurred the value of 'buf_idx' was 2\n> > and the value of 'pkt_idx' was 8965.\n> > Any help with this issue would be greatly appreciated. If you need any\n> > further information just let me know.\n> >\n> > Martin\n> >\n> >\n> \nHi Martin, Prashant,\n\nI've managed to reproduce the issue here and had a look at it. Could you\nboth perhaps try the proposed change below and see if it fixes the problem for\nyou and gives you a working system? If so, I'll submit this as a patch fix \nofficially - or go back to the drawing board, if not. :-)\n\n\n\nRegards,\n/Bruce",
    "diff": "diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c\nindex b54cb19..dfaccee 100644\n--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c\n+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c\n@@ -402,10 +402,10 @@ reassemble_packets(struct igb_rx_queue *rxq, struct rte_mbuf **rx_bufs,\n        struct rte_mbuf *pkts[RTE_IXGBE_VPMD_RX_BURST]; /*finished pkts*/\n        struct rte_mbuf *start = rxq->pkt_first_seg;\n        struct rte_mbuf *end =  rxq->pkt_last_seg;\n-       unsigned pkt_idx = 0, buf_idx = 0;\n+       unsigned pkt_idx, buf_idx;\n\n\n-       while (buf_idx < nb_bufs) {\n+       for (buf_idx = 0, pkt_idx = 0; buf_idx < nb_bufs; buf_idx++) {\n                if (end != NULL) {\n                        /* processing a split packet */\n                        end->next = rx_bufs[buf_idx];\n@@ -448,7 +448,6 @@ reassemble_packets(struct igb_rx_queue *rxq, struct rte_mbuf **rx_bufs,\n                        rx_bufs[buf_idx]->data_len += rxq->crc_len;\n                        rx_bufs[buf_idx]->pkt_len += rxq->crc_len;\n                }\n-               buf_idx++;\n        }\n\n        /* save the partial packet for next time */\n",
    "prefixes": [
        "dpdk-dev"
    ]
}