get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 59126,
    "url": "http://patches.dpdk.org/api/patches/59126/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/cover.1568221361.git.vladimir.medvedkin@intel.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": "<cover.1568221361.git.vladimir.medvedkin@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1568221361.git.vladimir.medvedkin@intel.com",
    "date": "2019-09-11T17:09:40",
    "name": "[v5,00/12] lib: add RIB and FIB liraries",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 1216,
        "url": "http://patches.dpdk.org/api/people/1216/?format=api",
        "name": "Vladimir Medvedkin",
        "email": "vladimir.medvedkin@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/cover.1568221361.git.vladimir.medvedkin@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/59126/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/59126/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 662961E56F;\n\tWed, 11 Sep 2019 19:10:16 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n\tby dpdk.org (Postfix) with ESMTP id 135941C06A\n\tfor <dev@dpdk.org>; Wed, 11 Sep 2019 19:10:13 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t11 Sep 2019 10:10:13 -0700",
            "from silpixa00400072.ir.intel.com ([10.237.222.213])\n\tby orsmga002.jf.intel.com with ESMTP; 11 Sep 2019 10:10:11 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.64,492,1559545200\"; d=\"scan'208\";a=\"196952123\"",
        "From": "Vladimir Medvedkin <vladimir.medvedkin@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "bruce.richardson@intel.com",
        "Date": "Wed, 11 Sep 2019 18:09:40 +0100",
        "Message-Id": "<cover.1568221361.git.vladimir.medvedkin@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1524780214-23196-1-git-send-email-medvedkinv@gmail.com>",
        "References": "<1524780214-23196-1-git-send-email-medvedkinv@gmail.com>",
        "Subject": "[dpdk-dev] [PATCH v5 00/12] lib: add RIB and FIB liraries",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This is heavily reworked version of previous RIB library series:\nhttps://mails.dpdk.org/archives/dev/2018-April/099492.html\n\nCurrent lpm implementation while provides really good lookup\nperformance has number of problems.\nOne of them is very low speed for control plane operations\nsuch as add or delete a route.\nAnother disadvantage is fixed number of bits for userdata\n(24 for v4 and 21 for v6)\nAlso it is hard to introduce changes in existing LPM code or add new\nalgorithms without breaking ABI.\n\nThis patch series tries to solve this problems by:\nIntroduce two new libraries - RIB and FIB.\nRIB that is Routing Information Base.\nIt implements a control plane struct containing routes in a tree and\nprovides fast add/del operations for routes. Also it allows to perform\nfast subtree traversals (i.e. retrieve existing subroutes for a given\nprefix). This structure will be used as a control plane helper structure\nfor FIB implementation.\nAlso it might be used standalone in other different places such as\nbitmaps for example.\n\nSecond library is FIB that is Forwarding Information Base. It represents\ndataplane related struct and algorithms for longest prefix match.\nInternally it consists of two parts - RIB (control plane ops) and\nimplementation for the dataplane tasks.\nInitial version provides two implementations for both ipv4 and ipv6:\ndummy (uses RIB as a dataplane) and DIR24_8 (same as current LPM)\nDue to proposed design it allows to extend FIB with new algorithms in future\n(for example DXR, poptrie, etc).\n\nFrom our measurements we saw 10x speedup for control plane operations\ncomparing with current LPM library (depending on prefix length distribution)\n\nToDo:\n - introduce new performance measurement app.\n - add documentation.\n - add support into existing examples (l3fwd)\n\n\nVladimir Medvedkin (12):\n  rib: add RIB library\n  test/rib: add RIB library autotests\n  rib: add ipv6 support for RIB\n  test/rib: add ipv6 support for RIB autotests\n  fib: add FIB library\n  fib: add FIB ipv6 support\n  fib: add DIR24-8 dataplane algorithm\n  fib: add dataplane algorithm for ipv6\n  test/fib: add FIB library autotests\n  test/fib: add ipv6 support for FIB autotests\n  test/fib: add FIB library performance autotests\n  test/fib: add FIB library ipv6 performance autotests\n\n app/test/Makefile                  |   7 +\n app/test/autotest_data.py          |  36 ++\n app/test/meson.build               |  14 +\n app/test/test_fib.c                | 397 +++++++++++++++++++\n app/test/test_fib6.c               | 405 ++++++++++++++++++++\n app/test/test_fib6_perf.c          | 157 ++++++++\n app/test/test_fib_perf.c           | 411 ++++++++++++++++++++\n app/test/test_rib.c                | 351 +++++++++++++++++\n app/test/test_rib6.c               | 357 +++++++++++++++++\n config/common_base                 |  11 +\n doc/api/doxy-api.conf.in           |   2 +\n lib/Makefile                       |   4 +\n lib/librte_fib/Makefile            |  25 ++\n lib/librte_fib/dir24_8.c           | 737 +++++++++++++++++++++++++++++++++++\n lib/librte_fib/dir24_8.h           |  36 ++\n lib/librte_fib/meson.build         |   8 +\n lib/librte_fib/rte_fib.c           | 319 ++++++++++++++++\n lib/librte_fib/rte_fib.h           | 188 +++++++++\n lib/librte_fib/rte_fib6.c          | 322 ++++++++++++++++\n lib/librte_fib/rte_fib6.h          | 193 ++++++++++\n lib/librte_fib/rte_fib_version.map |  23 ++\n lib/librte_fib/trie.c              | 760 +++++++++++++++++++++++++++++++++++++\n lib/librte_fib/trie.h              |  37 ++\n lib/librte_rib/Makefile            |  25 ++\n lib/librte_rib/meson.build         |   8 +\n lib/librte_rib/rte_rib.c           | 532 ++++++++++++++++++++++++++\n lib/librte_rib/rte_rib.h           | 277 ++++++++++++++\n lib/librte_rib/rte_rib6.c          | 598 +++++++++++++++++++++++++++++\n lib/librte_rib/rte_rib6.h          | 334 ++++++++++++++++\n lib/librte_rib/rte_rib_version.map |  35 ++\n lib/meson.build                    |   4 +-\n mk/rte.app.mk                      |   2 +\n 32 files changed, 6614 insertions(+), 1 deletion(-)\n create mode 100644 app/test/test_fib.c\n create mode 100644 app/test/test_fib6.c\n create mode 100644 app/test/test_fib6_perf.c\n create mode 100644 app/test/test_fib_perf.c\n create mode 100644 app/test/test_rib.c\n create mode 100644 app/test/test_rib6.c\n create mode 100644 lib/librte_fib/Makefile\n create mode 100644 lib/librte_fib/dir24_8.c\n create mode 100644 lib/librte_fib/dir24_8.h\n create mode 100644 lib/librte_fib/meson.build\n create mode 100644 lib/librte_fib/rte_fib.c\n create mode 100644 lib/librte_fib/rte_fib.h\n create mode 100644 lib/librte_fib/rte_fib6.c\n create mode 100644 lib/librte_fib/rte_fib6.h\n create mode 100644 lib/librte_fib/rte_fib_version.map\n create mode 100644 lib/librte_fib/trie.c\n create mode 100644 lib/librte_fib/trie.h\n create mode 100644 lib/librte_rib/Makefile\n create mode 100644 lib/librte_rib/meson.build\n create mode 100644 lib/librte_rib/rte_rib.c\n create mode 100644 lib/librte_rib/rte_rib.h\n create mode 100644 lib/librte_rib/rte_rib6.c\n create mode 100644 lib/librte_rib/rte_rib6.h\n create mode 100644 lib/librte_rib/rte_rib_version.map",
    "diff": null,
    "prefixes": [
        "v5",
        "00/12"
    ]
}