get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 53376,
    "url": "http://patchwork.dpdk.org/api/patches/53376/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1557509654-19325-1-git-send-email-mb@smartsharesystems.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1557509654-19325-1-git-send-email-mb@smartsharesystems.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1557509654-19325-1-git-send-email-mb@smartsharesystems.com",
    "date": "2019-05-10T17:34:14",
    "name": "librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "5d4fa246aae03d9e61dd31969aa55e0bba28acbe",
    "submitter": {
        "id": 591,
        "url": "http://patchwork.dpdk.org/api/people/591/?format=api",
        "name": "Morten Brørup",
        "email": "mb@smartsharesystems.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1557509654-19325-1-git-send-email-mb@smartsharesystems.com/mbox/",
    "series": [
        {
            "id": 4638,
            "url": "http://patchwork.dpdk.org/api/series/4638/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=4638",
            "date": "2019-05-10T17:34:14",
            "name": "librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/4638/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/53376/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/53376/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 EE6B72C2B;\n\tFri, 10 May 2019 19:35:31 +0200 (CEST)",
            "from smartserver.smartsharesystems.com\n\t(smartserver.smartsharesystems.com [77.243.40.215])\n\tby dpdk.org (Postfix) with ESMTP id A54DC2C18\n\tfor <dev@dpdk.org>; Fri, 10 May 2019 19:35:30 +0200 (CEST)",
            "from dkrd1.smartsharesys.local ([192.168.4.88]) by\n\tsmartserver.smartsharesystems.com with Microsoft\n\tSMTPSVC(6.0.3790.4675); Fri, 10 May 2019 19:34:14 +0200",
            "by dkrd1.smartsharesys.local (Postfix, from userid 1001)\n\tid 848DF29EB9; Fri, 10 May 2019 19:34:14 +0200 (CEST)"
        ],
        "From": "=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>",
        "To": "olivier.matz@6wind.com, thomas@monjalon.net, ferruh.yigit@intel.com,\n\tarybchenko@solarflare.com",
        "Cc": "dev@dpdk.org, =?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>",
        "Date": "Fri, 10 May 2019 19:34:14 +0200",
        "Message-Id": "<1557509654-19325-1-git-send-email-mb@smartsharesystems.com>",
        "X-Mailer": "git-send-email 1.5.6",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=utf-8",
        "Content-Transfer-Encoding": "8bit",
        "X-OriginalArrivalTime": "10 May 2019 17:34:14.0521 (UTC)\n\tFILETIME=[9629EE90:01D50756]",
        "Subject": "[dpdk-dev] [PATCH] librte_net: define TCP flags in rte_tcp.h\n\tinstead of in rte_eth_ctrl.h",
        "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": "TCP flags were moved to the TCP header file from the Ethernet control\nheader file, keeping their names intact.\n\nMissing TCP ECN flags were added.\n\nThe ALL mask did not include TCP ECN flags, so it was renamed to reflect\nthat it applies to N-tuple filtering only.\nA driver using the ALL mask was updated accordingly.\n\nSigned-off-by: Morten Brørup <mb@smartsharesystems.com>\n---\n app/test-pmd/cmdline.c           |    4 ++--\n drivers/net/e1000/igb_ethdev.c   |    8 ++++----\n lib/librte_ethdev/rte_eth_ctrl.h |    8 +-------\n lib/librte_net/rte_tcp.h         |   13 +++++++++++++\n 4 files changed, 20 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c\nindex ee50e45..59a45c1 100644\n--- a/app/test-pmd/cmdline.c\n+++ b/app/test-pmd/cmdline.c\n@@ -9983,7 +9983,7 @@ cmd_2tuple_filter_parsed(void *parsed_result,\n \t\t\t\" when protocol is TCP.\\n\");\n \t\treturn;\n \t}\n-\tif (res->tcp_flags_value > TCP_FLAG_ALL) {\n+\tif (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) {\n \t\tprintf(\"invalid TCP flags.\\n\");\n \t\treturn;\n \t}\n@@ -10141,7 +10141,7 @@ cmd_5tuple_filter_parsed(void *parsed_result,\n \t\t\t\" when protocol is TCP.\\n\");\n \t\treturn;\n \t}\n-\tif (res->tcp_flags_value > TCP_FLAG_ALL) {\n+\tif (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) {\n \t\tprintf(\"invalid TCP flags.\\n\");\n \t\treturn;\n \t}\ndiff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c\nindex b897e8a..c2fe19a 100644\n--- a/drivers/net/e1000/igb_ethdev.c\n+++ b/drivers/net/e1000/igb_ethdev.c\n@@ -3702,7 +3702,7 @@ ntuple_filter_to_2tuple(struct rte_eth_ntuple_filter *filter,\n \t\treturn -EINVAL;\n \tif (filter->priority > E1000_2TUPLE_MAX_PRI)\n \t\treturn -EINVAL;  /* filter index is out of range. */\n-\tif (filter->tcp_flags > TCP_FLAG_ALL)\n+\tif (filter->tcp_flags > RTE_NTUPLE_TCP_FLAGS_MASK)\n \t\treturn -EINVAL;  /* flags is invalid. */\n \n \tswitch (filter->dst_port_mask) {\n@@ -3782,7 +3782,7 @@ igb_inject_2uple_filter(struct rte_eth_dev *dev,\n \t\tttqf &= ~E1000_TTQF_MASK_ENABLE;\n \n \t/* tcp flags bits setting. */\n-\tif (filter->filter_info.tcp_flags & TCP_FLAG_ALL) {\n+\tif (filter->filter_info.tcp_flags & RTE_NTUPLE_TCP_FLAGS_MASK) {\n \t\tif (filter->filter_info.tcp_flags & TCP_URG_FLAG)\n \t\t\timir_ext |= E1000_IMIREXT_CTRL_URG;\n \t\tif (filter->filter_info.tcp_flags & TCP_ACK_FLAG)\n@@ -4188,7 +4188,7 @@ ntuple_filter_to_5tuple_82576(struct rte_eth_ntuple_filter *filter,\n \t\treturn -EINVAL;\n \tif (filter->priority > E1000_2TUPLE_MAX_PRI)\n \t\treturn -EINVAL;  /* filter index is out of range. */\n-\tif (filter->tcp_flags > TCP_FLAG_ALL)\n+\tif (filter->tcp_flags > RTE_NTUPLE_TCP_FLAGS_MASK)\n \t\treturn -EINVAL;  /* flags is invalid. */\n \n \tswitch (filter->dst_ip_mask) {\n@@ -4318,7 +4318,7 @@ igb_inject_5tuple_filter_82576(struct rte_eth_dev *dev,\n \timir |= filter->filter_info.priority << E1000_IMIR_PRIORITY_SHIFT;\n \n \t/* tcp flags bits setting. */\n-\tif (filter->filter_info.tcp_flags & TCP_FLAG_ALL) {\n+\tif (filter->filter_info.tcp_flags & RTE_NTUPLE_TCP_FLAGS_MASK) {\n \t\tif (filter->filter_info.tcp_flags & TCP_URG_FLAG)\n \t\t\timir_ext |= E1000_IMIREXT_CTRL_URG;\n \t\tif (filter->filter_info.tcp_flags & TCP_ACK_FLAG)\ndiff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h\nindex 5ea8ae2..f21e84b 100644\n--- a/lib/librte_ethdev/rte_eth_ctrl.h\n+++ b/lib/librte_ethdev/rte_eth_ctrl.h\n@@ -184,13 +184,7 @@ struct rte_eth_syn_filter {\n \t\tRTE_NTUPLE_FLAGS_DST_PORT | \\\n \t\tRTE_NTUPLE_FLAGS_PROTO)\n \n-#define TCP_URG_FLAG 0x20\n-#define TCP_ACK_FLAG 0x10\n-#define TCP_PSH_FLAG 0x08\n-#define TCP_RST_FLAG 0x04\n-#define TCP_SYN_FLAG 0x02\n-#define TCP_FIN_FLAG 0x01\n-#define TCP_FLAG_ALL 0x3F\n+#define RTE_NTUPLE_TCP_FLAGS_MASK 0x3F /**< TCP flags filter can match. */\n \n /**\n  * A structure used to define the ntuple filter entry\ndiff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h\nindex 91f5898..2e89b5e 100644\n--- a/lib/librte_net/rte_tcp.h\n+++ b/lib/librte_net/rte_tcp.h\n@@ -2,6 +2,7 @@\n  * Copyright(c) 1982, 1986, 1990, 1993\n  *      The Regents of the University of California.\n  * Copyright(c) 2010-2014 Intel Corporation.\n+ * Copyright(c) 2019 SmartShare Systems.\n  * All rights reserved.\n  */\n \n@@ -35,6 +36,18 @@ struct tcp_hdr {\n \tuint16_t tcp_urp;   /**< TCP urgent pointer, if any. */\n } __attribute__((__packed__));\n \n+/**\n+ * TCP Flags\n+ */\n+#define TCP_CWR_FLAG 0x80 /**< Congestion Window Reduced */\n+#define TCP_ECE_FLAG 0x40 /**< ECN-Echo */\n+#define TCP_URG_FLAG 0x20 /**< Urgent Pointer field significant */\n+#define TCP_ACK_FLAG 0x10 /**< Acknowledgment field significant */\n+#define TCP_PSH_FLAG 0x08 /**< Push Function */\n+#define TCP_RST_FLAG 0x04 /**< Reset the connection */\n+#define TCP_SYN_FLAG 0x02 /**< Synchronize sequence numbers */\n+#define TCP_FIN_FLAG 0x01 /**< No more data from sender */\n+\n #ifdef __cplusplus\n }\n #endif\n",
    "prefixes": []
}