get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 123388,
    "url": "http://patches.dpdk.org/api/patches/123388/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230207230438.1617331-3-stephen@networkplumber.org/",
    "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": "<20230207230438.1617331-3-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230207230438.1617331-3-stephen@networkplumber.org",
    "date": "2023-02-07T23:04:23",
    "name": "[RFC,v2,02/17] ip_frag: use a dynamic logtype",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b5fbe9fe65d845e86624363075b738af0d80499d",
    "submitter": {
        "id": 27,
        "url": "http://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230207230438.1617331-3-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 26874,
            "url": "http://patches.dpdk.org/api/series/26874/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=26874",
            "date": "2023-02-07T23:04:21",
            "name": "static logtype removal",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/26874/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/123388/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/123388/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 5B62941C34;\n\tWed,  8 Feb 2023 00:05:00 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id F27C042B71;\n\tWed,  8 Feb 2023 00:04:47 +0100 (CET)",
            "from mail-pj1-f53.google.com (mail-pj1-f53.google.com\n [209.85.216.53]) by mails.dpdk.org (Postfix) with ESMTP id 4D43F41153\n for <dev@dpdk.org>; Wed,  8 Feb 2023 00:04:45 +0100 (CET)",
            "by mail-pj1-f53.google.com with SMTP id\n o16-20020a17090ad25000b00230759a8c06so368217pjw.2\n for <dev@dpdk.org>; Tue, 07 Feb 2023 15:04:45 -0800 (PST)",
            "from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218])\n by smtp.gmail.com with ESMTPSA id\n gq17-20020a17090b105100b0020dc318a43esm71189pjb.25.2023.02.07.15.04.42\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 07 Feb 2023 15:04:43 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20210112.gappssmtp.com; s=20210112;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=4gV0O0VnYNfSB8tFuKqX/jOKhvrAo4J4DDvDqke1AhM=;\n b=rbSmu4nVP+Ik2sBf/b8hMXftFzUhYegW2ccn631uR8sTs8ENYQAfUzkGpVLKHc9b0Q\n tMrIJgSc+Hu/DgNk3jdYcI2Nlx1wcwWDyMGGgSAdToKY/iR0VKZYWz+p/pDHxockVjug\n 2Z6Uop76oK6aQN9vdyI5Gap37tk8VAptg53OgkrxdMQl/PwBGSs4EH2NRLAgx2D9INQd\n ejSYD4hdcEK+3y6q7FAtmvUOHvqMwjRbUFiYNpMXuJNomH3b2OLjXYQuOBuB/PIMpJ29\n 4vccDICtZKQD49GWSNmdr6UDmQtnLZIHVW6eaFYUkuH2SVsZkn6ZePsaipEscgSDSLwo\n UP0g==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=4gV0O0VnYNfSB8tFuKqX/jOKhvrAo4J4DDvDqke1AhM=;\n b=n6WJrUNo6XSI+ZSXK/Sg8gI8bRSWwff3VjIs+5k7e40u4R38YPQ44YdwAGmnmwEpmf\n yO4mdOp8Os/OhkhUORiM+3VRZ6i2GyDIBHxzY45Jw4kQXZ6cxaAeAERJeEYo141XJ+Z+\n xXm422YT6xmhxM/a3BCEewi3aS8l4HM7leC3RjSUiWHGV7zO8n/67o9fwbqwrJ9KxGm2\n mCsCvUUdcckwN1nXV3E9jnohlE2OJ74tAV9J6vLTxtsBTdSPqOE0HeWDkRNUzJG04DZf\n oSPWj+81Pfa7wEjINnVDTRq5crPr4Su2mq+NktNe11vxesyN59yWDaeO8o87XLi86NmW\n w1ug==",
        "X-Gm-Message-State": "AO0yUKXCwK8Ucm90EFjku/9e7KieT4arqMUbvhij3yV+NOOJm9F1OpUr\n eZA1Um7+ZMHZ2ji5GRalNgCrHMSEqtje6JoujBE=",
        "X-Google-Smtp-Source": "\n AK7set9Dw0L4mwKONRkZ6Q2hC7lygJnT4R2NRd6Djy6MMzpYGo5a/is1IM3iDIYyI8Ix7bqDU0tYZA==",
        "X-Received": "by 2002:a17:90b:4a8a:b0:230:66c2:78f1 with SMTP id\n lp10-20020a17090b4a8a00b0023066c278f1mr6239792pjb.14.1675811083764;\n Tue, 07 Feb 2023 15:04:43 -0800 (PST)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>,\n Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,\n Thomas Monjalon <thomas@monjalon.net>,\n Anatoly Burakov <anatoly.burakov@intel.com>",
        "Subject": "[RFC v2 02/17] ip_frag: use a dynamic logtype",
        "Date": "Tue,  7 Feb 2023 15:04:23 -0800",
        "Message-Id": "<20230207230438.1617331-3-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20230207230438.1617331-1-stephen@networkplumber.org>",
        "References": "<20230207204151.1503491-1-stephen@networkplumber.org>\n <20230207230438.1617331-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "DPDK libraries should not be reusing RTE_LOGTYPE_USER1 in\nlieu of doing proper logtype registration.\n\nFixes: 416707812c03 (\"ip_frag: refactor reassembly code into a proper library\")\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n lib/ip_frag/ip_frag_common.h      |  16 ++-\n lib/ip_frag/ip_frag_internal.c    | 174 +++++++++++++++---------------\n lib/ip_frag/rte_ip_frag_common.c  |  13 +--\n lib/ip_frag/rte_ipv4_reassembly.c |  14 ++-\n lib/ip_frag/rte_ipv6_reassembly.c |  59 +++++-----\n 5 files changed, 138 insertions(+), 138 deletions(-)",
    "diff": "diff --git a/lib/ip_frag/ip_frag_common.h b/lib/ip_frag/ip_frag_common.h\nindex 9c0dbdeb6eb9..134072f3e810 100644\n--- a/lib/ip_frag/ip_frag_common.h\n+++ b/lib/ip_frag/ip_frag_common.h\n@@ -9,8 +9,16 @@\n #include \"ip_reassembly.h\"\n \n /* logging macros. */\n+extern int ipfrag_logtype;\n+\n+#define IP_FRAG_ERR(fmt, args...) \\\n+\trte_log(RTE_LOG_ERR, ipfrag_logtype, \\\n+\t\t\"%s: \" fmt \"\\n\", __func__, ## args)\n+\n #ifdef RTE_LIBRTE_IP_FRAG_DEBUG\n-#define\tIP_FRAG_LOG(lvl, fmt, args...)\tRTE_LOG(lvl, USER1, fmt, ##args)\n+#define\tIP_FRAG_LOG(lvl, fmt, args...)\t\\\n+\trte_log(RTE_LOG ## lvl, ipfrag_logtype, \\\n+\t\t\"%s: \" fmt \"\\n\", __func__, ## args)\n #else\n #define\tIP_FRAG_LOG(lvl, fmt, args...)\tdo {} while(0)\n #endif /* IP_FRAG_DEBUG */\n@@ -111,9 +119,9 @@ ip_frag_free_immediate(struct ip_frag_pkt *fp)\n \n \tfor (i = 0; i < fp->last_idx; i++) {\n \t\tif (fp->frags[i].mb != NULL) {\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d\\n\"\n-\t\t\t    \"mbuf: %p, tms: %\" PRIu64\", key: <%\" PRIx64 \", %#x>\\n\",\n-\t\t\t    __func__, __LINE__, fp->frags[i].mb, fp->start,\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t    \"mbuf: %p, tms: %\" PRIu64\", key: <%\" PRIx64 \", %#x>\",\n+\t\t\t    fp->frags[i].mb, fp->start,\n \t\t\t    fp->key.src_dst[0], fp->key.id);\n \t\t\trte_pktmbuf_free(fp->frags[i].mb);\n \t\t\tfp->frags[i].mb = NULL;\ndiff --git a/lib/ip_frag/ip_frag_internal.c b/lib/ip_frag/ip_frag_internal.c\nindex b436a4c9313b..c633216419a2 100644\n--- a/lib/ip_frag/ip_frag_internal.c\n+++ b/lib/ip_frag/ip_frag_internal.c\n@@ -89,7 +89,7 @@ ipv6_frag_hash(const struct ip_frag_key *key, uint32_t *v1, uint32_t *v2)\n \n struct rte_mbuf *\n ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,\n-\tstruct rte_mbuf *mb, uint16_t ofs, uint16_t len, uint16_t more_frags)\n+\t\tstruct rte_mbuf *mb, uint16_t ofs, uint16_t len, uint16_t more_frags)\n {\n \tuint32_t idx;\n \n@@ -98,15 +98,15 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,\n \t/* this is the first fragment. */\n \tif (ofs == 0) {\n \t\tidx = (fp->frags[IP_FIRST_FRAG_IDX].mb == NULL) ?\n-\t\t\t\tIP_FIRST_FRAG_IDX : UINT32_MAX;\n+\t\t\tIP_FIRST_FRAG_IDX : UINT32_MAX;\n \n-\t/* this is the last fragment. */\n+\t\t/* this is the last fragment. */\n \t} else if (more_frags == 0) {\n \t\tfp->total_size = ofs + len;\n \t\tidx = (fp->frags[IP_LAST_FRAG_IDX].mb == NULL) ?\n-\t\t\t\tIP_LAST_FRAG_IDX : UINT32_MAX;\n+\t\t\tIP_LAST_FRAG_IDX : UINT32_MAX;\n \n-\t/* this is the intermediate fragment. */\n+\t\t/* this is the intermediate fragment. */\n \t} else if ((idx = fp->last_idx) < RTE_DIM(fp->frags)) {\n \t\tfp->last_idx++;\n \t}\n@@ -119,31 +119,31 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,\n \n \t\t/* report an error. */\n \t\tif (fp->key.key_len == IPV4_KEYLEN)\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d invalid fragmented packet:\\n\"\n-\t\t\t\t\"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, \"\n-\t\t\t\t\"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n-\t\t\t\t\"first fragment: ofs: %u, len: %u\\n\"\n-\t\t\t\t\"last fragment: ofs: %u, len: %u\\n\\n\",\n-\t\t\t\t__func__, __LINE__,\n-\t\t\t\tfp, fp->key.src_dst[0], fp->key.id,\n-\t\t\t\tfp->total_size, fp->frag_size, fp->last_idx,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].len,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].len);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"invalid fragmented packet:\\n\"\n+\t\t\t\t    \"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, \"\n+\t\t\t\t    \"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n+\t\t\t\t    \"first fragment: ofs: %u, len: %u\\n\"\n+\t\t\t\t    \"last fragment: ofs: %u, len: %u\\n\",\n+\t\t\t\t    fp, fp->key.src_dst[0], fp->key.id,\n+\t\t\t\t    fp->total_size, fp->frag_size, fp->last_idx,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].len,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].len);\n \t\telse\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d invalid fragmented packet:\\n\"\n-\t\t\t\t\"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n-\t\t\t\t\"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n-\t\t\t\t\"first fragment: ofs: %u, len: %u\\n\"\n-\t\t\t\t\"last fragment: ofs: %u, len: %u\\n\\n\",\n-\t\t\t\t__func__, __LINE__,\n-\t\t\t\tfp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,\n-\t\t\t\tfp->total_size, fp->frag_size, fp->last_idx,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].len,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].len);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"invalid fragmented packet:\\n\"\n+\t\t\t\t    \"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n+\t\t\t\t    \"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n+\t\t\t\t    \"first fragment: ofs: %u, len: %u\\n\"\n+\t\t\t\t    \"last fragment: ofs: %u, len: %u\\n\",\n+\t\t\t\t    fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,\n+\t\t\t\t    fp->total_size, fp->frag_size, fp->last_idx,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].len,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].len);\n \n \t\t/* free all fragments, invalidate the entry. */\n \t\tip_frag_free(fp, dr);\n@@ -163,9 +163,9 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,\n \tif (likely (fp->frag_size < fp->total_size)) {\n \t\treturn mb;\n \n-\t/* if we collected all fragments, then try to reassemble. */\n+\t\t/* if we collected all fragments, then try to reassemble. */\n \t} else if (fp->frag_size == fp->total_size &&\n-\t\t\tfp->frags[IP_FIRST_FRAG_IDX].mb != NULL) {\n+\t\t   fp->frags[IP_FIRST_FRAG_IDX].mb != NULL) {\n \t\tif (fp->key.key_len == IPV4_KEYLEN)\n \t\t\tmb = ipv4_frag_reassemble(fp);\n \t\telse\n@@ -177,31 +177,31 @@ ip_frag_process(struct ip_frag_pkt *fp, struct rte_ip_frag_death_row *dr,\n \n \t\t/* report an error. */\n \t\tif (fp->key.key_len == IPV4_KEYLEN)\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d invalid fragmented packet:\\n\"\n-\t\t\t\t\"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, \"\n-\t\t\t\t\"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n-\t\t\t\t\"first fragment: ofs: %u, len: %u\\n\"\n-\t\t\t\t\"last fragment: ofs: %u, len: %u\\n\\n\",\n-\t\t\t\t__func__, __LINE__,\n-\t\t\t\tfp, fp->key.src_dst[0], fp->key.id,\n-\t\t\t\tfp->total_size, fp->frag_size, fp->last_idx,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].len,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].len);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"invalid fragmented packet:\\n\"\n+\t\t\t\t    \"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, \"\n+\t\t\t\t    \"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n+\t\t\t\t    \"first fragment: ofs: %u, len: %u\\n\"\n+\t\t\t\t    \"last fragment: ofs: %u, len: %u\\n,\n+\t\t\t\t    fp, fp->key.src_dst[0], fp->key.id,\n+\t\t\t\t    fp->total_size, fp->frag_size, fp->last_idx,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].len,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].len);\n \t\telse\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d invalid fragmented packet:\\n\"\n-\t\t\t\t\"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n-\t\t\t\t\"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n-\t\t\t\t\"first fragment: ofs: %u, len: %u\\n\"\n-\t\t\t\t\"last fragment: ofs: %u, len: %u\\n\\n\",\n-\t\t\t\t__func__, __LINE__,\n-\t\t\t\tfp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,\n-\t\t\t\tfp->total_size, fp->frag_size, fp->last_idx,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_FIRST_FRAG_IDX].len,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].ofs,\n-\t\t\t\tfp->frags[IP_LAST_FRAG_IDX].len);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"invalid fragmented packet:\\n\"\n+\t\t\t\t    \"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n+\t\t\t\t    \"total_size: %u, frag_size: %u, last_idx: %u\\n\"\n+\t\t\t\t    \"first fragment: ofs: %u, len: %u\\n\"\n+\t\t\t\t    \"last fragment: ofs: %u, len: %u\\n\",\n+\t\t\t\t    fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id,\n+\t\t\t\t    fp->total_size, fp->frag_size, fp->last_idx,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_FIRST_FRAG_IDX].len,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].ofs,\n+\t\t\t\t    fp->frags[IP_LAST_FRAG_IDX].len);\n \n \t\t/* free associated resources. */\n \t\tip_frag_free(fp, dr);\n@@ -282,8 +282,8 @@ ip_frag_find(struct rte_ip_frag_tbl *tbl, struct rte_ip_frag_death_row *dr,\n \n struct ip_frag_pkt *\n ip_frag_lookup(struct rte_ip_frag_tbl *tbl,\n-\tconst struct ip_frag_key *key, uint64_t tms,\n-\tstruct ip_frag_pkt **free, struct ip_frag_pkt **stale)\n+\t       const struct ip_frag_key *key, uint64_t tms,\n+\t       struct ip_frag_pkt **free, struct ip_frag_pkt **stale)\n {\n \tstruct ip_frag_pkt *p1, *p2;\n \tstruct ip_frag_pkt *empty, *old;\n@@ -310,23 +310,21 @@ ip_frag_lookup(struct rte_ip_frag_tbl *tbl,\n \n \tfor (i = 0; i != assoc; i++) {\n \t\tif (p1->key.key_len == IPV4_KEYLEN)\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\t\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\t\t\t\"ipv4_frag_pkt line0: %p, index: %u from %u\\n\"\n-\t\t\t\"key: <%\" PRIx64 \", %#x>, start: %\" PRIu64 \"\\n\",\n-\t\t\t\t\t__func__, __LINE__,\n-\t\t\t\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\t\t\t\tp1, i, assoc,\n-\t\t\tp1[i].key.src_dst[0], p1[i].key.id, p1[i].start);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t\t\t    \"ipv4_frag_pkt line0: %p, index: %u from %u\\n\"\n+\t\t\t\t    \"key: <%\" PRIx64 \", %#x>, start: %\" PRIu64,\n+\t\t\t\t    tbl, tbl->max_entries, tbl->use_entries,\n+\t\t\t\t    p1, i, assoc,\n+\t\t\t\t    p1[i].key.src_dst[0], p1[i].key.id, p1[i].start);\n \t\telse\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\t\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\t\t\t\"ipv6_frag_pkt line0: %p, index: %u from %u\\n\"\n-\t\t\t\"key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64 \"\\n\",\n-\t\t\t\t\t__func__, __LINE__,\n-\t\t\t\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\t\t\t\tp1, i, assoc,\n-\t\t\tIPv6_KEY_BYTES(p1[i].key.src_dst), p1[i].key.id, p1[i].start);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t\t\t    \"ipv6_frag_pkt line0: %p, index: %u from %u\\n\"\n+\t\t\t\t    \"key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64,\n+\t\t\t\t    tbl, tbl->max_entries, tbl->use_entries,\n+\t\t\t\t    p1, i, assoc,\n+\t\t\t\t    IPv6_KEY_BYTES(p1[i].key.src_dst), p1[i].key.id, p1[i].start);\n \n \t\tif (ip_frag_key_cmp(key, &p1[i].key) == 0)\n \t\t\treturn p1 + i;\n@@ -336,23 +334,21 @@ ip_frag_lookup(struct rte_ip_frag_tbl *tbl,\n \t\t\told = (old == NULL) ? (p1 + i) : old;\n \n \t\tif (p2->key.key_len == IPV4_KEYLEN)\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\t\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\t\t\t\"ipv4_frag_pkt line1: %p, index: %u from %u\\n\"\n-\t\t\t\"key: <%\" PRIx64 \", %#x>, start: %\" PRIu64 \"\\n\",\n-\t\t\t\t\t__func__, __LINE__,\n-\t\t\t\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\t\t\t\tp2, i, assoc,\n-\t\t\tp2[i].key.src_dst[0], p2[i].key.id, p2[i].start);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t\t\t    \"ipv4_frag_pkt line1: %p, index: %u from %u\\n\"\n+\t\t\t\t    \"key: <%\" PRIx64 \", %#x>, start: %\" PRIu64,\n+\t\t\t\t    tbl, tbl->max_entries, tbl->use_entries,\n+\t\t\t\t    p2, i, assoc,\n+\t\t\t\t    p2[i].key.src_dst[0], p2[i].key.id, p2[i].start);\n \t\telse\n-\t\t\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\t\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\t\t\t\"ipv6_frag_pkt line1: %p, index: %u from %u\\n\"\n-\t\t\t\"key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64 \"\\n\",\n-\t\t\t\t\t__func__, __LINE__,\n-\t\t\t\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\t\t\t\tp2, i, assoc,\n-\t\t\tIPv6_KEY_BYTES(p2[i].key.src_dst), p2[i].key.id, p2[i].start);\n+\t\t\tIP_FRAG_LOG(DEBUG,\n+\t\t\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t\t\t    \"ipv6_frag_pkt line1: %p, index: %u from %u\\n\"\n+\t\t\t\t    \"key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64,\n+\t\t\t\t    tbl, tbl->max_entries, tbl->use_entries,\n+\t\t\t\t    p2, i, assoc,\n+\t\t\t\t    IPv6_KEY_BYTES(p2[i].key.src_dst), p2[i].key.id, p2[i].start);\n \n \t\tif (ip_frag_key_cmp(key, &p2[i].key) == 0)\n \t\t\treturn p2 + i;\ndiff --git a/lib/ip_frag/rte_ip_frag_common.c b/lib/ip_frag/rte_ip_frag_common.c\nindex c1de2e81b6d0..b8ca9e019c54 100644\n--- a/lib/ip_frag/rte_ip_frag_common.c\n+++ b/lib/ip_frag/rte_ip_frag_common.c\n@@ -52,21 +52,20 @@ rte_ip_frag_table_create(uint32_t bucket_num, uint32_t bucket_entries,\n \tif (rte_is_power_of_2(bucket_entries) == 0 ||\n \t\t\tnb_entries > UINT32_MAX || nb_entries == 0 ||\n \t\t\tnb_entries < max_entries) {\n-\t\tRTE_LOG(ERR, USER1, \"%s: invalid input parameter\\n\", __func__);\n+\t\tIP_FRAG_ERR(\"invalid input parameter\");\n \t\treturn NULL;\n \t}\n \n \tsz = sizeof (*tbl) + nb_entries * sizeof (tbl->pkt[0]);\n \tif ((tbl = rte_zmalloc_socket(__func__, sz, RTE_CACHE_LINE_SIZE,\n \t\t\tsocket_id)) == NULL) {\n-\t\tRTE_LOG(ERR, USER1,\n-\t\t\t\"%s: allocation of %zu bytes at socket %d failed do\\n\",\n-\t\t\t__func__, sz, socket_id);\n+\t\tIP_FRAG_ERR(\"allocation of %zu bytes at socket %d failed do\",\n+\t\t\tsz, socket_id);\n \t\treturn NULL;\n \t}\n \n-\tRTE_LOG(INFO, USER1, \"%s: allocated of %zu bytes at socket %d\\n\",\n-\t\t__func__, sz, socket_id);\n+\tIP_FRAG_LOG(INFO, \"allocated of %zu bytes at socket %d\",\n+\t\t    sz, socket_id);\n \n \ttbl->max_cycles = max_cycles;\n \ttbl->max_entries = max_entries;\n@@ -142,3 +141,5 @@ rte_ip_frag_table_del_expired_entries(struct rte_ip_frag_tbl *tbl,\n \t\t} else\n \t\t\treturn;\n }\n+\n+RTE_LOG_REGISTER_DEFAULT(ipfrag_logtype, INFO);\ndiff --git a/lib/ip_frag/rte_ipv4_reassembly.c b/lib/ip_frag/rte_ipv4_reassembly.c\nindex 4a89a5f5365a..2cdbdc4ee87f 100644\n--- a/lib/ip_frag/rte_ipv4_reassembly.c\n+++ b/lib/ip_frag/rte_ipv4_reassembly.c\n@@ -120,12 +120,11 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n \tip_len = rte_be_to_cpu_16(ip_hdr->total_length) - mb->l3_len;\n \ttrim = mb->pkt_len - (ip_len + mb->l3_len + mb->l2_len);\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n+\tIP_FRAG_LOG(DEBUG,\n \t\t\"mbuf: %p, tms: %\" PRIu64 \", key: <%\" PRIx64 \", %#x>\"\n \t\t\"ofs: %u, len: %d, padding: %d, flags: %#x\\n\"\n \t\t\"tbl: %p, max_cycles: %\" PRIu64 \", entry_mask: %#x, \"\n-\t\t\"max_entries: %u, use_entries: %u\\n\\n\",\n-\t\t__func__, __LINE__,\n+\t\t\"max_entries: %u, use_entries: %u\\n\",\n \t\tmb, tms, key.src_dst[0], key.id, ip_ofs, ip_len, trim, ip_flag,\n \t\ttbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,\n \t\ttbl->use_entries);\n@@ -145,11 +144,10 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n \t\treturn NULL;\n \t}\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n+\tIP_FRAG_LOG(DEBUG,\n \t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n \t\t\"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, start: %\" PRIu64\n-\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\\n\",\n-\t\t__func__, __LINE__,\n+\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\",\n \t\ttbl, tbl->max_entries, tbl->use_entries,\n \t\tfp, fp->key.src_dst[0], fp->key.id, fp->start,\n \t\tfp->total_size, fp->frag_size, fp->last_idx);\n@@ -159,11 +157,11 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n \tmb = ip_frag_process(fp, dr, mb, ip_ofs, ip_len, ip_flag);\n \tip_frag_inuse(tbl, fp);\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n+\tIP_FRAG_LOG(DEBUG,\n \t\t\"mbuf: %p\\n\"\n \t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n \t\t\"ipv4_frag_pkt: %p, key: <%\" PRIx64 \", %#x>, start: %\" PRIu64\n-\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\\n\",\n+\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\",\n \t\t__func__, __LINE__, mb,\n \t\ttbl, tbl->max_entries, tbl->use_entries,\n \t\tfp, fp->key.src_dst[0], fp->key.id, fp->start,\ndiff --git a/lib/ip_frag/rte_ipv6_reassembly.c b/lib/ip_frag/rte_ipv6_reassembly.c\nindex d4019e87e63a..935878cc6cdc 100644\n--- a/lib/ip_frag/rte_ipv6_reassembly.c\n+++ b/lib/ip_frag/rte_ipv6_reassembly.c\n@@ -135,8 +135,8 @@ ipv6_frag_reassemble(struct ip_frag_pkt *fp)\n #define FRAG_OFFSET(x) (rte_cpu_to_be_16(x) >> 3)\n struct rte_mbuf *\n rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n-\tstruct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,\n-\tstruct rte_ipv6_hdr *ip_hdr, struct rte_ipv6_fragment_ext *frag_hdr)\n+\t\t\t\tstruct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,\n+\t\t\t\tstruct rte_ipv6_hdr *ip_hdr, struct rte_ipv6_fragment_ext *frag_hdr)\n {\n \tstruct ip_frag_pkt *fp;\n \tstruct ip_frag_key key;\n@@ -161,17 +161,16 @@ rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n \tip_len = rte_be_to_cpu_16(ip_hdr->payload_len) - sizeof(*frag_hdr);\n \ttrim = mb->pkt_len - (ip_len + mb->l3_len + mb->l2_len);\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\"mbuf: %p, tms: %\" PRIu64\n-\t\t\", key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n-\t\t\"ofs: %u, len: %d, padding: %d, flags: %#x\\n\"\n-\t\t\"tbl: %p, max_cycles: %\" PRIu64 \", entry_mask: %#x, \"\n-\t\t\"max_entries: %u, use_entries: %u\\n\\n\",\n-\t\t__func__, __LINE__,\n-\t\tmb, tms, IPv6_KEY_BYTES(key.src_dst), key.id, ip_ofs, ip_len,\n-\t\ttrim, RTE_IPV6_GET_MF(frag_hdr->frag_data),\n-\t\ttbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,\n-\t\ttbl->use_entries);\n+\tIP_FRAG_LOG(DEBUG,\n+\t\t    \"mbuf: %p, tms: %\" PRIu64\n+\t\t    \", key: <\" IPv6_KEY_BYTES_FMT \", %#x>, \"\n+\t\t    \"ofs: %u, len: %d, padding: %d, flags: %#x\\n\"\n+\t\t    \"tbl: %p, max_cycles: %\" PRIu64 \", entry_mask: %#x, \"\n+\t\t    \"max_entries: %u, use_entries: %u\\n\",\n+\t\t    mb, tms, IPv6_KEY_BYTES(key.src_dst), key.id, ip_ofs, ip_len,\n+\t\t    trim, RTE_IPV6_GET_MF(frag_hdr->frag_data),\n+\t\t    tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,\n+\t\t    tbl->use_entries);\n \n \t/* check that fragment length is greater then zero. */\n \tif (ip_len <= 0) {\n@@ -189,30 +188,28 @@ rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,\n \t\treturn NULL;\n \t}\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64\n-\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\\n\",\n-\t\t__func__, __LINE__,\n-\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\tfp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,\n-\t\tfp->total_size, fp->frag_size, fp->last_idx);\n+\tIP_FRAG_LOG(DEBUG,\n+\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t    \"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64\n+\t\t    \", total_size: %u, frag_size: %u, last_idx: %u\\n\",\n+\t\t    tbl, tbl->max_entries, tbl->use_entries,\n+\t\t    fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,\n+\t\t    fp->total_size, fp->frag_size, fp->last_idx);\n \n \n \t/* process the fragmented packet. */\n \tmb = ip_frag_process(fp, dr, mb, ip_ofs, ip_len,\n-\t\t\tMORE_FRAGS(frag_hdr->frag_data));\n+\t\t\t     MORE_FRAGS(frag_hdr->frag_data));\n \tip_frag_inuse(tbl, fp);\n \n-\tIP_FRAG_LOG(DEBUG, \"%s:%d:\\n\"\n-\t\t\"mbuf: %p\\n\"\n-\t\t\"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n-\t\t\"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64\n-\t\t\", total_size: %u, frag_size: %u, last_idx: %u\\n\\n\",\n-\t\t__func__, __LINE__, mb,\n-\t\ttbl, tbl->max_entries, tbl->use_entries,\n-\t\tfp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,\n-\t\tfp->total_size, fp->frag_size, fp->last_idx);\n+\tIP_FRAG_LOG(DEBUG,\n+\t\t    \"mbuf: %p\\n\"\n+\t\t    \"tbl: %p, max_entries: %u, use_entries: %u\\n\"\n+\t\t    \"ipv6_frag_pkt: %p, key: <\" IPv6_KEY_BYTES_FMT \", %#x>, start: %\" PRIu64\n+\t\t    \", total_size: %u, frag_size: %u, last_idx: %u\\n\",\n+\t\t    mb,tbl, tbl->max_entries, tbl->use_entries,\n+\t\t    fp, IPv6_KEY_BYTES(fp->key.src_dst), fp->key.id, fp->start,\n+\t\t    fp->total_size, fp->frag_size, fp->last_idx);\n \n \treturn mb;\n }\n",
    "prefixes": [
        "RFC",
        "v2",
        "02/17"
    ]
}