get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 103062,
    "url": "https://patches.dpdk.org/api/patches/103062/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1635349780-167920-1-git-send-email-vladimir.medvedkin@intel.com/",
    "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": "<1635349780-167920-1-git-send-email-vladimir.medvedkin@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1635349780-167920-1-git-send-email-vladimir.medvedkin@intel.com",
    "date": "2021-10-27T15:49:40",
    "name": "[v2] fib: add rib extension size parameter",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "342c253c49b84d54c9fdd1aa4c0fd52c80cc0503",
    "submitter": {
        "id": 1216,
        "url": "https://patches.dpdk.org/api/people/1216/?format=api",
        "name": "Vladimir Medvedkin",
        "email": "vladimir.medvedkin@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1635349780-167920-1-git-send-email-vladimir.medvedkin@intel.com/mbox/",
    "series": [
        {
            "id": 20060,
            "url": "https://patches.dpdk.org/api/series/20060/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=20060",
            "date": "2021-10-27T15:49:40",
            "name": "[v2] fib: add rib extension size parameter",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/20060/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/103062/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/103062/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0F2C4A0C47;\n\tWed, 27 Oct 2021 17:49:57 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E98F54114E;\n\tWed, 27 Oct 2021 17:49:56 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id ADC28410F7\n for <dev@dpdk.org>; Wed, 27 Oct 2021 17:49:55 +0200 (CEST)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Oct 2021 08:49:54 -0700",
            "from silpixa00400072.ir.intel.com ([10.237.222.213])\n by orsmga008.jf.intel.com with ESMTP; 27 Oct 2021 08:49:51 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10150\"; a=\"316396161\"",
            "E=Sophos;i=\"5.87,187,1631602800\"; d=\"scan'208\";a=\"316396161\"",
            "E=Sophos;i=\"5.87,187,1631602800\"; d=\"scan'208\";a=\"497920638\""
        ],
        "X-ExtLoop1": "1",
        "From": "Vladimir Medvedkin <vladimir.medvedkin@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "konstantin.ananyev@intel.com, conor.walsh@intel.com, thomas@monjalon.net",
        "Date": "Wed, 27 Oct 2021 16:49:40 +0100",
        "Message-Id": "<1635349780-167920-1-git-send-email-vladimir.medvedkin@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1630943759-362969-1-git-send-email-vladimir.medvedkin@intel.com>",
        "References": "<1630943759-362969-1-git-send-email-vladimir.medvedkin@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2] fib: add rib extension size parameter",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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": "This patch adds a new parameter to the fib configuration to specify\nthe size of the extension for internal RIB structure.\n\nSigned-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>\nTested-by: Conor Walsh <conor.walsh@intel.com>\n---\n app/test-fib/main.c                    | 2 ++\n app/test/test_fib.c                    | 5 +++++\n app/test/test_fib6.c                   | 5 +++++\n app/test/test_fib6_perf.c              | 1 +\n app/test/test_fib_perf.c               | 1 +\n doc/guides/rel_notes/release_21_11.rst | 5 +++++\n examples/l3fwd/l3fwd_fib.c             | 2 ++\n lib/fib/rte_fib.c                      | 2 +-\n lib/fib/rte_fib.h                      | 2 ++\n lib/fib/rte_fib6.c                     | 2 +-\n lib/fib/rte_fib6.h                     | 2 ++\n 11 files changed, 27 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/app/test-fib/main.c b/app/test-fib/main.c\nindex b0a97b0..ecd4201 100644\n--- a/app/test-fib/main.c\n+++ b/app/test-fib/main.c\n@@ -857,6 +857,7 @@ run_v4(void)\n \tconf.type = get_fib_type();\n \tconf.default_nh = def_nh;\n \tconf.max_routes = config.nb_routes * 2;\n+\tconf.rib_ext_sz = 0;\n \tif (conf.type == RTE_FIB_DIR24_8) {\n \t\tconf.dir24_8.nh_sz = __builtin_ctz(config.ent_sz);\n \t\tconf.dir24_8.num_tbl8 = RTE_MIN(config.tbl8,\n@@ -1057,6 +1058,7 @@ run_v6(void)\n \tconf.type = get_fib_type();\n \tconf.default_nh = def_nh;\n \tconf.max_routes = config.nb_routes * 2;\n+\tconf.rib_ext_sz = 0;\n \tif (conf.type == RTE_FIB6_TRIE) {\n \t\tconf.trie.nh_sz = __builtin_ctz(config.ent_sz);\n \t\tconf.trie.num_tbl8 = RTE_MIN(config.tbl8,\ndiff --git a/app/test/test_fib.c b/app/test/test_fib.c\nindex e46b993..eb69d6e 100644\n--- a/app/test/test_fib.c\n+++ b/app/test/test_fib.c\n@@ -36,6 +36,7 @@ test_create_invalid(void)\n \tstruct rte_fib_conf config;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB_DUMMY;\n \n@@ -94,6 +95,7 @@ test_multiple_create(void)\n \tstruct rte_fib_conf config;\n \tint32_t i;\n \n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB_DUMMY;\n \n@@ -120,6 +122,7 @@ test_free_null(void)\n \tstruct rte_fib_conf config;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB_DUMMY;\n \n@@ -146,6 +149,7 @@ test_add_del_invalid(void)\n \tuint8_t depth = 24;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB_DUMMY;\n \n@@ -320,6 +324,7 @@ test_lookup(void)\n \tint ret;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = def_nh;\n \tconfig.type = RTE_FIB_DUMMY;\n \ndiff --git a/app/test/test_fib6.c b/app/test/test_fib6.c\nindex 74abfc7..15ad091 100644\n--- a/app/test/test_fib6.c\n+++ b/app/test/test_fib6.c\n@@ -38,6 +38,7 @@ test_create_invalid(void)\n \tstruct rte_fib6_conf config;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB6_DUMMY;\n \n@@ -96,6 +97,7 @@ test_multiple_create(void)\n \tstruct rte_fib6_conf config;\n \tint32_t i;\n \n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB6_DUMMY;\n \n@@ -122,6 +124,7 @@ test_free_null(void)\n \tstruct rte_fib6_conf config;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB6_DUMMY;\n \n@@ -149,6 +152,7 @@ test_add_del_invalid(void)\n \tuint8_t depth = 24;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = 0;\n \tconfig.type = RTE_FIB6_DUMMY;\n \n@@ -338,6 +342,7 @@ test_lookup(void)\n \tint ret;\n \n \tconfig.max_routes = MAX_ROUTES;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = def_nh;\n \tconfig.type = RTE_FIB6_DUMMY;\n \ndiff --git a/app/test/test_fib6_perf.c b/app/test/test_fib6_perf.c\nindex 56c799b..e565799 100644\n--- a/app/test/test_fib6_perf.c\n+++ b/app/test/test_fib6_perf.c\n@@ -78,6 +78,7 @@ test_fib6_perf(void)\n \tconf.type = RTE_FIB6_TRIE;\n \tconf.default_nh = 0;\n \tconf.max_routes = 1000000;\n+\tconf.rib_ext_sz = 0;\n \tconf.trie.nh_sz = RTE_FIB6_TRIE_4B;\n \tconf.trie.num_tbl8 = RTE_MIN(get_max_nh(conf.trie.nh_sz), 1000000U);\n \ndiff --git a/app/test/test_fib_perf.c b/app/test/test_fib_perf.c\nindex dd2e54d..86b2f83 100644\n--- a/app/test/test_fib_perf.c\n+++ b/app/test/test_fib_perf.c\n@@ -323,6 +323,7 @@ test_fib_perf(void)\n \tstruct rte_fib_conf config;\n \n \tconfig.max_routes = 2000000;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.type = RTE_FIB_DIR24_8;\n \tconfig.default_nh = 0;\n \tconfig.dir24_8.nh_sz = RTE_FIB_DIR24_8_4B;\ndiff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst\nindex 1ccac87..f4d4444 100644\n--- a/doc/guides/rel_notes/release_21_11.rst\n+++ b/doc/guides/rel_notes/release_21_11.rst\n@@ -305,6 +305,11 @@ New Features\n     * Pcapng format with timestamps and meta-data.\n     * Fixes packet capture with stripped VLAN tags.\n \n+* **Updated FIB library API.**\n+\n+  Added the ``rib_ext_sz`` field to ``rte_fib_conf`` and ``rte_fib6_conf``\n+  so that user can specify the size of the rib extension inside the fib.\n+\n \n Removed Items\n -------------\ndiff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c\nindex ca0f350..f5c685a 100644\n--- a/examples/l3fwd/l3fwd_fib.c\n+++ b/examples/l3fwd/l3fwd_fib.c\n@@ -590,6 +590,7 @@ setup_fib(const int socketid)\n \t/* Create the fib IPv4 table. */\n \tconfig_ipv4.type = RTE_FIB_DIR24_8;\n \tconfig_ipv4.max_routes = (1 << 16);\n+\tconfig_ipv4.rib_ext_sz = 0;\n \tconfig_ipv4.default_nh = FIB_DEFAULT_HOP;\n \tconfig_ipv4.dir24_8.nh_sz = RTE_FIB_DIR24_8_4B;\n \tconfig_ipv4.dir24_8.num_tbl8 = (1 << 15);\n@@ -639,6 +640,7 @@ setup_fib(const int socketid)\n \n \tconfig.type = RTE_FIB6_TRIE;\n \tconfig.max_routes = (1 << 16) - 1;\n+\tconfig.rib_ext_sz = 0;\n \tconfig.default_nh = FIB_DEFAULT_HOP;\n \tconfig.trie.nh_sz = RTE_FIB6_TRIE_4B;\n \tconfig.trie.num_tbl8 = (1 << 15);\ndiff --git a/lib/fib/rte_fib.c b/lib/fib/rte_fib.c\nindex b354d4b..6ca180d 100644\n--- a/lib/fib/rte_fib.c\n+++ b/lib/fib/rte_fib.c\n@@ -164,7 +164,7 @@ rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf)\n \t\treturn NULL;\n \t}\n \n-\trib_conf.ext_sz = 0;\n+\trib_conf.ext_sz = conf->rib_ext_sz;\n \trib_conf.max_nodes = conf->max_routes * 2;\n \n \trib = rte_rib_create(name, socket_id, &rib_conf);\ndiff --git a/lib/fib/rte_fib.h b/lib/fib/rte_fib.h\nindex ac54f83..b3c59df 100644\n--- a/lib/fib/rte_fib.h\n+++ b/lib/fib/rte_fib.h\n@@ -80,6 +80,8 @@ struct rte_fib_conf {\n \t/** Default value returned on lookup if there is no route */\n \tuint64_t default_nh;\n \tint\tmax_routes;\n+\t/** Size of the node extension in the internal RIB struct */\n+\tunsigned int rib_ext_sz;\n \tunion {\n \t\tstruct {\n \t\t\tenum rte_fib_dir24_8_nh_sz nh_sz;\ndiff --git a/lib/fib/rte_fib6.c b/lib/fib/rte_fib6.c\nindex 44cc0c9..be79efe 100644\n--- a/lib/fib/rte_fib6.c\n+++ b/lib/fib/rte_fib6.c\n@@ -165,7 +165,7 @@ rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf)\n \t\treturn NULL;\n \t}\n \n-\trib_conf.ext_sz = 0;\n+\trib_conf.ext_sz = conf->rib_ext_sz;\n \trib_conf.max_nodes = conf->max_routes * 2;\n \n \trib = rte_rib6_create(name, socket_id, &rib_conf);\ndiff --git a/lib/fib/rte_fib6.h b/lib/fib/rte_fib6.h\nindex f9d7812..95879af 100644\n--- a/lib/fib/rte_fib6.h\n+++ b/lib/fib/rte_fib6.h\n@@ -71,6 +71,8 @@ struct rte_fib6_conf {\n \t/** Default value returned on lookup if there is no route */\n \tuint64_t default_nh;\n \tint\tmax_routes;\n+\t/** Size of the node extension in the internal RIB struct */\n+\tunsigned int rib_ext_sz;\n \tunion {\n \t\tstruct {\n \t\t\tenum rte_fib_trie_nh_sz nh_sz;\n",
    "prefixes": [
        "v2"
    ]
}