get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 40683,
    "url": "http://patchwork.dpdk.org/api/patches/40683/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1528191584-46149-1-git-send-email-ido@cgstowernetworks.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": "<1528191584-46149-1-git-send-email-ido@cgstowernetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528191584-46149-1-git-send-email-ido@cgstowernetworks.com",
    "date": "2018-06-05T09:39:44",
    "name": "[dpdk-dev,v2] net/pcap: rx_iface_in stream type support",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f84e94b559ee4e3d61f510f5a9b45a58994d9f5a",
    "submitter": {
        "id": 1047,
        "url": "http://patchwork.dpdk.org/api/people/1047/?format=api",
        "name": "Ido Goshen",
        "email": "ido@cgstowernetworks.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1528191584-46149-1-git-send-email-ido@cgstowernetworks.com/mbox/",
    "series": [
        {
            "id": 16,
            "url": "http://patchwork.dpdk.org/api/series/16/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=16",
            "date": "2018-06-05T09:39:44",
            "name": "[dpdk-dev,v2] net/pcap: rx_iface_in stream type support",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/16/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/40683/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/40683/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 F36F41B3F1;\n\tWed,  6 Jun 2018 22:35:01 +0200 (CEST)",
            "from EUR01-VE1-obe.outbound.protection.outlook.com\n\t(mail-ve1eur01on0138.outbound.protection.outlook.com [104.47.1.138])\n\tby dpdk.org (Postfix) with ESMTP id A702F1B73A\n\tfor <dev@dpdk.org>; Tue,  5 Jun 2018 11:40:00 +0200 (CEST)",
            "from ubuntu.cgs.com (5.144.48.231) by\n\tVI1PR0901MB1438.eurprd09.prod.outlook.com (2603:10a6:800:8c::22) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.13;\n\tTue, 5 Jun 2018 09:39:58 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=cgstowernetworks.onmicrosoft.com; s=selector1-cgstowernetworks-com; \n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=N9TJbW5OQLag1e2gY2xDJ2i+QXxqd0nXBAwAV8LDzUQ=;\n\tb=RXiMJTCAWcswgx8NiRoR1PAMCfc/hP2kwfS+KZeJkfXy00ZzRLljP7E4JpmNg5Gbw6h376MpVzvSTd4FJ9tpNAZ4tC0Pwe8CeaqJNDkVb49LMdvFs7cirfxVrhg5Db9EPQXCFq+pGPWa9bEcC+ev2+vF0n52btBecTKvlTwEd2I=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Ido@cgstowernetworks.com; ",
        "From": "ido goshen <ido@cgstowernetworks.com>",
        "To": "Ferruh Yigit <ferruh.yigit@intel.com>",
        "Cc": "dev@dpdk.org,\n\tido goshen <ido@cgstowernetworks.com>",
        "Date": "Tue,  5 Jun 2018 12:39:44 +0300",
        "Message-Id": "<1528191584-46149-1-git-send-email-ido@cgstowernetworks.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[5.144.48.231]",
        "X-ClientProxiedBy": "CWLP265CA0014.GBRP265.PROD.OUTLOOK.COM\n\t(2603:10a6:401:10::26) To VI1PR0901MB1438.eurprd09.prod.outlook.com\n\t(2603:10a6:800:8c::22)",
        "X-MS-PublicTrafficType": "Email",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:VI1PR0901MB1438; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; VI1PR0901MB1438;\n\t3:M7YfYkhXAxdGpy/EouOiyyP2uoHTu6aAl+x6zFYGHMPtuKOoBZ+/UicajaOXyREOgLF+jfmScnrTQYmx+vp2P+BEyb7KOH10MqCkvbUZ60cLZ2/4AjKR9sdr4+hmQJJ6Ey/44C66o0ZqbahHINNblacKzER/lUyp9cqnSs/QeXDEmxv2Snt8NGghEA1QhpMsbR1TQ2em6bPAVkoQErscNt+hqftvckfuNsnmXNqt7k0oLkJ3y4rj8jSKPHMICL78;\n\t25:xHTgjxnzRue++zaffYnOS9FcZq5DHkWjTtxnmyAKZxq0jURb8wq4JxfxFbxADkSipv1A0eHBM/kxagbdF1mxhRIce6o4wMBA6WxpBuEcj8Jk03ROO4AR0VlYPJNiiyaS/gQqsDAlBuKJvgNpPCwYRIp+LrFL4Cj3rKIHrpvSfYZYNwp6Rg8Z374YHiHK47R59e4dbl29/njOeorrTUabshqtyUsCZ3eVI5KpAqCF4hEdfz8qgrtuTa9dfMCSdvQdcyvIRC0rGyTYLIg7YMHuNTQo1ZqxWF54P8Ji4ySphZE0RadlAnZbaQVHj54T1lY94Xb2AZjEWh6rx51PaBkRGQ==;\n\t31:knKJ2lrkvQMGWrHzEzD7wm+/FbIpESzAB0jjEcm+CTxmw9dsdypHV+4fs5eRtxy5wsP/zYFRLUqit1rMTqfmTimSoCRoW31hgSSCoPtF/J+2NYWNEFM5RyrpLZhHaFVX1C32AAKyX9Cwsk7NkuKY6JhD0S/Pw3bnkieCeNYeKrOkcsKwXsU1Z0kL5Q4ZPBjRS/XutNUfoy/pQVlJbLKdG7qHMm1kKVl7F2feyTL85YE=",
            "1; VI1PR0901MB1438;\n\t4:EZJQJzojnPyJY/znH9/MyreJ7LWZP5QmMsjQTaEwipboeCwVrMgRcIwPC0jnmG94KHAbr0oGnfmVsInXVtkhrO7++/Fx1LI569LyAcbXZt6mr3iIngb3RckgyuvvAPo+KqqcpgoaCOgcAo+vswdsZki0OYB24xxG3CcJw5ySphugLbqw0yBdhj9dzrUVPY8KN1aHkk5FGEaPxj9yQEFH2IUa5z2syR5upr8QJyGK4Sad8IAjwBJsKahjAFEo+WEVQU/vKC7GqbpmnMCwBkg2+g==",
            "=?us-ascii?Q?1; VI1PR0901MB1438;\n\t23:ri7DlQnaCEqNBX5VeHz57I4uRS24KuRDro77d0d?=\n\tpg2PdkIL1hzIw7Mlu6Jov9dzl2JZzHYh3xh2xcE5/jlvdT2aKyjfNY1twoba4qEZGC1xuxQhsD5sqasxdfHbrJR3LLF4fswxVu8jitSgyzmKirNOgsgylvC39HKVD8Uw134W4kKk0jwMRsw2DDmsLFHD4CA/m8fz059xn3TDP99aAmiS2FfopiTWO0XOpULsnS3LDm9HDRGkS+Op1UN1sCAHsA2HloG4srF17WVLOfpBDhiwmUjb4982ihQe6b2J3eNoUACom2tKa3QyAZNGMJeKZMQpSj00R3ocrq81Y5Zy4sx3eASshh+ZS1x84lBBI9VJZibHxczxZs0oPAje18AFt/8RE2uJ3oI5m7u2KeU2bjptyOA1mD6AJV+F6jKr0OQVdrTQ7Fffa7C7TeC/O0Krc5DQyUr5pLfEl1fA12tCtU0akG3ZABEZnqFtHOHo4DAKuJ4yFs+PuiTc9a1Cccrg8O4X+tnlVWkmKBIITpNqcHgDpDkyq52kS7JRduSQkpvJsEBpNRPqJMNhghCbPmkybBFRxcadgDYCxyfwsOOTXLitbvUfW9yidH2eygzDfYNKsi1lFc5gmUsGEB1K0CAivZIQJ69zU/lzIxWneWQhLXVDv9cpdBy9FT1EmadhDwYA8YS4DG4cfF+YL1oQY5bwpzxXsa7QexopEO2PYCk2O8ioAdI8u1pvtIwRTrf0COgJ2+GPOMxR125PjjNLHyF6Qw9ZJInyovT5rvHISkMlMDKrR4I3MgisVjbA8BvBzzwutQ4GnwK5vbuylInH+j7rLuHH/vdojA7nxgdoP3tm6Q/pJ+dqIpfIXfOmTyj5u9qaT1/EDHd/HV3gnqvID/BMPPzlL7FQYnGUpkVH1/NzDnHzwq1rImwcyb8Md2zgxEQHOejTBLlR+PDooZfzQDdcueixGrALijYFshqTxNbOTD4YMCi7l1XIExs9bShoAIpuFD4TpSDxEqdbkrad+PeUEWuYCETO75hwvOZaOcOsoZCbQ7JePtHTTaJKfA/h56p76F/qb34jvQP33TXr6fiZmpp3laXyIWNTr+eliNXflVyyHXr0s6jt+StfCthz+KfGHS9vkWEpqknxB0fJgfMK6EJRgfic3lE+981/mrLW9usntaDI5l+tGkNe1s9ApxBSV2C5zEgJAwSbQ4EkKEeSwJiq1fT4jVowSONn469OG9BCqQLgbP2ZBsYoLpXCm4B+L6ZcmepV75H7svTmjBVdYvvEARyy52MTF5Lnj88+yxA==",
            "1; VI1PR0901MB1438;\n\t6:7wiwctyhHUoVkpit9ealUDZVmgNWQ9PrnLBorXK2atP460U6cX97pXq+SvKjqtNelEK7R184XKeBRQz7FVEQqwk2c/RgbvHXB+WxThpHG2fz8eXHiwH22apC23EZSFUTD2o4UUPxKvhiQhPXkPbKVUHa1BYT2O6PFzNiFYECDvkMx967CX41kr8OhpRLHqUTkiwEM2jfE9sS4EKrrZFjAbPMvwCJtkj7v2rEQAzMEToibnZ2pTW2X5k4HaONl6XrcMQYzuNXm0ZhXxDUZn9NJxcwIfuy+xCb4DVhd2F4wyHFD+gXYFcKJUNFziEIN8p6yfcABZtrhtCNkyrbTNi+CPX+oeNJwzdnbWSyzft8OjjdJPgZ38AzWU3UXeN7bxN5N9iNJdYlyyxKc762NbbOyBySaYu0s+DGYYhYorbWKOKoJDVTU0AYIaf/0AkObSzEVhCBw8VnykXNpQH9Gmjrrg==;\n\t5:u35f9fW4jH/UDiIxQNn9HS6Hy9dCOgqVSAnKattX+rjf+xamKF6FiYFKvnACeuWRDyMzx/6p409R/j7OOH849M45vrtdArBtT3YXmD9t4BEulvC1VMvqDnLkDV//fm4tbLQw6jbkZ5jgU80qbQLRNT7p1355cx1gu8kOK5uheeI=;\n\t24:Sq/yelUum2ppdj3MHQ0bKse8jTBM7fmj9I4ggdRnKmT2Ttbc0zfFMxkxJGAH+R9Q14wAdbyMavWZi/V904VrTPkL8+fA6yL1JziEFKhJrXs=",
            "1; VI1PR0901MB1438;\n\t7:Vmkc7KZknJmie5Ub9DU7L7SZGzYtPX0ZMj0n2NMKabzJYjfOmJfcr2fx+k//8JSbTpNxgR/SRR4Ix3RY2yWBlCF0PYgld5MIRR58+jyVGcri+ilSb0fXNnV4hZnWMsLSrnpebE+kVPKhtqVYCY0Yu66VdnA6fl0yJPgCzZEx/R6sGU/0PdU3YxpxwQelj3J8v+473NaikKVpI6e1leqo0+HenCp0ePrD1jZUkAcnShdBCGwSbd2h6XkvUPkpMuVA"
        ],
        "X-MS-TrafficTypeDiagnostic": "VI1PR0901MB1438:",
        "X-Microsoft-Antispam-PRVS": "<VI1PR0901MB1438C54940A608498E4B5CD3D6660@VI1PR0901MB1438.eurprd09.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231254)(944501410)(52105095)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016);\n\tSRVR:VI1PR0901MB1438; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0901MB1438; ",
        "X-Forefront-PRVS": "0694C54398",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10019020)(366004)(346002)(39840400004)(376002)(39380400002)(396003)(189003)(199004)(53936002)(81166006)(86152003)(7736002)(81156014)(26005)(80792005)(6512007)(53416004)(5660300001)(37156001)(86362001)(71446004)(6666003)(8936002)(6486002)(50466002)(50226002)(6916009)(305945005)(8676002)(48376002)(36756003)(59450400001)(6116002)(51416003)(52116002)(16586007)(3846002)(478600001)(2906002)(386003)(316002)(107886003)(6506007)(486006)(68736007)(4326008)(476003)(2616005)(16526019)(72206003)(25786009)(97736004)(47776003)(66066001)(956004)(105586002)(106356001)(186003);\n\tDIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0901MB1438; H:ubuntu.cgs.com; FPR:;\n\tSPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: cgstowernetworks.com does not\n\tdesignate permitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "tTJXVQLdQLhsX1+8lP1iTr6+sb5TtzqeFrVAsGcp55bmhxXxx4tYbARL8XMbNyxN+IVekY95guY0fZh4wNkJfOgCj74fJATpwRBWK200yUA4k7MbBweazfUdsnMwWGswXvp1+rvY9d2XlqIz8WEcqGUN28gUtUncV/U1duZO3HgkMIp4+bJEEMLMF9BmUtQR",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Office365-Filtering-Correlation-Id": "6434c3db-19b0-4305-a6ed-08d5cac84db6",
        "X-OriginatorOrg": "cgstowernetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 Jun 2018 09:39:58.2954\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "6434c3db-19b0-4305-a6ed-08d5cac84db6",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "fc9e9498-07e8-4b82-b4cf-365bba23cbbf",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR0901MB1438",
        "X-Mailman-Approved-At": "Wed, 06 Jun 2018 22:35:01 +0200",
        "Subject": "[dpdk-dev] [PATCH v2] net/pcap: rx_iface_in stream type support",
        "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://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": "<https://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": "Support rx of in direction packets only\nUseful for apps that also tx to eth_pcap ports in order not to see them\nechoed back in as rx when out direction is also captured\n\nSigned-off-by: ido goshen <ido@cgstowernetworks.com>\n---\nv2: clean checkpatch warning\n\n drivers/net/pcap/rte_eth_pcap.c | 36 ++++++++++++++++++++++++++++++++----\n 1 file changed, 32 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c\nindex 6bd4a7d..132f469 100644\n--- a/drivers/net/pcap/rte_eth_pcap.c\n+++ b/drivers/net/pcap/rte_eth_pcap.c\n@@ -26,6 +26,7 @@\n #define ETH_PCAP_RX_PCAP_ARG  \"rx_pcap\"\n #define ETH_PCAP_TX_PCAP_ARG  \"tx_pcap\"\n #define ETH_PCAP_RX_IFACE_ARG \"rx_iface\"\n+#define ETH_PCAP_RX_IFACE_IN_ARG \"rx_iface_in\"\n #define ETH_PCAP_TX_IFACE_ARG \"tx_iface\"\n #define ETH_PCAP_IFACE_ARG    \"iface\"\n \n@@ -83,6 +84,7 @@ struct pmd_devargs {\n \tETH_PCAP_RX_PCAP_ARG,\n \tETH_PCAP_TX_PCAP_ARG,\n \tETH_PCAP_RX_IFACE_ARG,\n+\tETH_PCAP_RX_IFACE_IN_ARG,\n \tETH_PCAP_TX_IFACE_ARG,\n \tETH_PCAP_IFACE_ARG,\n \tNULL\n@@ -726,6 +728,22 @@ struct pmd_devargs {\n \treturn 0;\n }\n \n+static inline int\n+set_iface_direction(const char *iface, const char *key, pcap_t *pcap)\n+{\n+\tif (strcmp(key, ETH_PCAP_RX_IFACE_IN_ARG) == 0) {\n+\t\tif (pcap_setdirection(pcap, PCAP_D_IN) < 0) {\n+\t\t\tPMD_LOG(ERR,\n+\t\t\t\t\"Setting %s pcap direction IN failed - %s\\n\",\n+\t\t\t\t iface,\n+\t\t\t\t pcap_geterr(pcap));\n+\t\t\treturn -1;\n+\t\t}\n+\t\tPMD_LOG(INFO, \"Setting %s pcap direction IN\\n\", iface);\n+\t}\n+\treturn 0;\n+}\n+\n /*\n  * Opens a NIC for reading packets from it\n  */\n@@ -740,11 +758,12 @@ struct pmd_devargs {\n \tfor (i = 0; i < rx->num_of_queue; i++) {\n \t\tif (open_single_iface(iface, &pcap) < 0)\n \t\t\treturn -1;\n+\t\tif (set_iface_direction(iface, key, pcap) < 0)\n+\t\t\treturn -1;\n \t\trx->queue[i].pcap = pcap;\n \t\trx->queue[i].name = iface;\n \t\trx->queue[i].type = key;\n \t}\n-\n \treturn 0;\n }\n \n@@ -963,17 +982,25 @@ struct pmd_devargs {\n \t\tis_rx_pcap = 1;\n \telse\n \t\tpcaps.num_of_queue = rte_kvargs_count(kvlist,\n-\t\t\t\tETH_PCAP_RX_IFACE_ARG);\n+\t\t\t\tETH_PCAP_RX_IFACE_ARG) +\n+\t\t\t\trte_kvargs_count(kvlist,\n+\t\t\t\t\t\tETH_PCAP_RX_IFACE_IN_ARG);\n \n \tif (pcaps.num_of_queue > RTE_PMD_PCAP_MAX_QUEUES)\n \t\tpcaps.num_of_queue = RTE_PMD_PCAP_MAX_QUEUES;\n \n-\tif (is_rx_pcap)\n+\tif (is_rx_pcap) {\n \t\tret = rte_kvargs_process(kvlist, ETH_PCAP_RX_PCAP_ARG,\n \t\t\t\t&open_rx_pcap, &pcaps);\n-\telse\n+\t} else {\n \t\tret = rte_kvargs_process(kvlist, ETH_PCAP_RX_IFACE_ARG,\n \t\t\t\t&open_rx_iface, &pcaps);\n+\t\tif (ret == 0)\n+\t\t\tret = rte_kvargs_process(kvlist,\n+\t\t\t\t\tETH_PCAP_RX_IFACE_IN_ARG,\n+\t\t\t\t\t&open_rx_iface,\n+\t\t\t\t\t&pcaps);\n+\t}\n \n \tif (ret < 0)\n \t\tgoto free_kvlist;\n@@ -1046,6 +1073,7 @@ struct pmd_devargs {\n \tETH_PCAP_RX_PCAP_ARG \"=<string> \"\n \tETH_PCAP_TX_PCAP_ARG \"=<string> \"\n \tETH_PCAP_RX_IFACE_ARG \"=<ifc> \"\n+\tETH_PCAP_RX_IFACE_IN_ARG \"=<ifc> \"\n \tETH_PCAP_TX_IFACE_ARG \"=<ifc> \"\n \tETH_PCAP_IFACE_ARG \"=<ifc>\");\n \n",
    "prefixes": [
        "dpdk-dev",
        "v2"
    ]
}