get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 34909,
    "url": "http://patches.dpdk.org/api/patches/34909/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1517700853-6467-1-git-send-email-ophirmu@mellanox.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": "<1517700853-6467-1-git-send-email-ophirmu@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1517700853-6467-1-git-send-email-ophirmu@mellanox.com",
    "date": "2018-02-03T23:34:13",
    "name": "[dpdk-dev,v1] net/tap: fix eBPF handling of non-RSS flows",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "fcb660e466e2bbb0e0ee6f6380c4e0392bfae9dc",
    "submitter": {
        "id": 793,
        "url": "http://patches.dpdk.org/api/people/793/?format=api",
        "name": "Ophir Munk",
        "email": "ophirmu@mellanox.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1517700853-6467-1-git-send-email-ophirmu@mellanox.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/34909/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/34909/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 475F57CEF;\n\tSun,  4 Feb 2018 00:34:32 +0100 (CET)",
            "from EUR01-VE1-obe.outbound.protection.outlook.com\n\t(mail-ve1eur01on0051.outbound.protection.outlook.com [104.47.1.51])\n\tby dpdk.org (Postfix) with ESMTP id E15917CD8\n\tfor <dev@dpdk.org>; Sun,  4 Feb 2018 00:34:30 +0100 (CET)",
            "from mellanox.com (37.142.13.130) by\n\tAM0PR0502MB3875.eurprd05.prod.outlook.com (2603:10a6:208:20::17) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14;\n\tSat, 3 Feb 2018 23:34:27 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=lpHitvGxsFj+n3QWcPXDPryFSjcAHDers+NVHpZ2/DE=;\n\tb=HCtPMASpcto5/zQbJ6FQtrw3mOQKuWuJL3hWhLs9uCAHt66q2l4b2BKkecPzMvqx8uN0mEBPuISmyj7tLOF+VxwU7jqy/MU0RJTsZmutuSKV/j1kuyxYVO10CK2wxuANgg1MFq1Teg7EfUdk/zXh7Yk4UfZZk3FE7anJMDg31d8=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=ophirmu@mellanox.com; ",
        "From": "Ophir Munk <ophirmu@mellanox.com>",
        "To": "dev@dpdk.org,\n\tPascal Mazon <pascal.mazon@6wind.com>",
        "Cc": "Thomas Monjalon <thomas@monjalon.net>, Olga Shern <olgas@mellanox.com>, \n\tOphir Munk <ophirmu@mellanox.com>",
        "Date": "Sat,  3 Feb 2018 23:34:13 +0000",
        "Message-Id": "<1517700853-6467-1-git-send-email-ophirmu@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[37.142.13.130]",
        "X-ClientProxiedBy": "VI1PR0302CA0001.eurprd03.prod.outlook.com\n\t(2603:10a6:800:e9::11) To AM0PR0502MB3875.eurprd05.prod.outlook.com\n\t(2603:10a6:208:20::17)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-MS-Office365-Filtering-Correlation-Id": "056c84c3-f3d8-4a5f-5ed6-08d56b5eab27",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);\n\tSRVR:AM0PR0502MB3875; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM0PR0502MB3875;\n\t3:AuOlF2MQ0qPhKy0+eK/nKFp/A17iRcJEn1OUcn3t6C6/p6nmiJexoHoKimK6y19HE/qh1ZhZYZeowVtIY6pkYU4F+oSa5DUnjCUb/Wt62lfimlYyxzwhOvGsav/ekYCvf4IzFGeW4jVqM8JJt2AIg16EZgen0VI8NJXHUd+rGZc13t6tugVdzBkoQLnKAQszIS0+/fnhpgeOIYaLRET5eD9LUtEuc5U2st9bIxJLtgDIQyQnTBc3X8IALdOl/88H;\n\t25:lH+O1AQiNK87s85Yapzop0H2B+fb0aikh9hwRoWUz3LeJ3gFhjddtQkIZwtFBm7n1scKOBdCSU5d2YEU5p34zPb3Kh4Oi1mR6l5H1tozaOy3Z321Z4JC1rz0/CN70Jc0e04rOjmqCCAnBZWZ46LJBLBbkyuylcWjg0nmg+l4VLLptK6bT5OqfohUVdgmrVct52blfkMgT7JQbwv6Fz0icViR+ARxg6vi+6AOD+fjuFM4An5KxrUExZ7VvdC0w9FoMOIo/XQwfIP/VtLEOP2yXdY5q+r+IDdvzWyo9BHe1NKKVpMlO2qAZmfczwVR9Vw4dXr/EtTBFk5jrLddFgRNpw==;\n\t31:Va0M72v3wSAia2ceMU6Xtdo0g1K7h/qMRmbo1S+2smcsDgMI0SlVDTM0p+L3h2mwlaiy4Ge36H7T7ATUtVvT9ZNd6RVMNeQzJfk/cKvd2GIDXkb5H4rHab4zvlAQuLLD/KMP+v+t2vazKG/4eaHC55W43xwC59vnYW0ojOP69HlJyN4Bh45nBrhy/SV53JfbQKkhksnIzLFSeFTvWEtXbvGwMZDLd6yi7TiqR/gTFrQ=",
            "1; AM0PR0502MB3875;\n\t20:6S1FOvp+Bbt7fFB07VPnoMj6i6eWw+6KcO0/x/3tnBw6xWVhKrCXXq8LURfpR2n10RYayCKpSOvpi8gfy34zr+Gswa51hc7sbDpQCBJpD+ZMcSpjzVLyNLqB7uerNN5oeX+05AvVI0PZHqC5YkJUplyTNxdzmY5XfySIsOPGaFuCSrjG9sPdNBvA7W8G4aDzwwN1TNLGIQ4JExDOUOvm5J3n1bzMWRaE/LBXUYg30CPnFa3WnsHLgYte5a5h+Pd7QyXJHYbuY+lFd1LrRxJ2jGYb8Rd53anGGUAanWy0ATqPJis3Qbxa5zzX60PPytfNrxAGnTuDR4yJvEh8EIvyKSqhtaLv0ZIePOAs3kb7trSb+XRR+wVldWAmVXRn18PnU39D+U5Z89c90uH72teBm22a3ZueLsNaHREkQ4zLTUw6eZWu1taAkLBcXBxM2xsP8X1wuB4oVxD/dbTPs9yD0wx1w50a1XNrPl0PZKA/iFdSQbNHuJeaImeypA2gg3j1;\n\t4:RSGnGiG1r4aU7RHtETBBtQOkR8vCA+kVdT0jnV0I41IXujwyw0dD9mXPxcV5ZHJ8aDrw490E1rIWSL+tRZCofkpIVy1u6zcZNfiHbaK/xx/2LiBUg8XwgMgm+9bwtHxUffsQTvluOA7qcdlY6UZVYnBELaETSv/SyGhfAdpyu6D+9YzKJXDudLoLu3HbZDVYj4sWI/V9B1N1ImtB4wqfr4jKkfnD5XnBbr/wd/u2i0zUN6HU0Z4Q77iiMMR9aU60w2/jTTIZh2+q3WdlDpYgyA==",
            "=?us-ascii?Q?1; AM0PR0502MB3875;\n\t23:oyCZQUjlCCgcq3dOplJPEFbFNpNGEuzxHoEA2BF?=\n\tBzGYYBYDdQVaSfVniLW5kWzxLQ0MOOcSrjr43xPWMyz4tiR0FIQi+5QKphy+ePSul1UDaOccpMLCHXf/ZSM7STR0XJoOUt7eLXCOHEoDBRjemQ7kUNyzuF4u5rxdoKEnbGfnCvnOjZ4KyIUOHwJuVDhV+Q6O8xdGoTbr4Iv/K0ZdphyAnLfIuoG6Ljt9Yr3hXEBjStYSjcAC77d+QK7yzdndtCkkJGVZWIzVV+wnUcHm6tJ6Df5Fead7F3KCawmlZaPnzWFUAu++1VKbSchw3Iu6LI4bcmfElb4xnnWU0yylvCy3+fpPetUCY44Aj2/rMV5P+jjG1cOHsJE3MT2x+sLvkMhkIQ0E3eaIIiu1PVhvQB0KoRhwziwqM9fwbzgwrPKmv0RewgHERXeQR65tsQe0vVHsJHd7HXl4PTuvY7DeFLwOlLeQyJVQy6Py/KoVFTCiQ9V9X1RcXbkzdbmHAbfBK7/DcE/BIgeCj8riizmcDmR1OfIC3vnzwKenVAQDTj+lRGXlC/tz2GxFasZG+aVxPllKAVXnjAxH4MJ7JbdLDIdFNNBjFvNn1srrh3Ntv8k34mlDqaFzFpkfHqlgF7osSVLyt7eB+4/1pUaHvwHjXdOvHrgdIiJXWQspENbBmQ/7RYLE90uqtTpE3c22ybEVxltdZl6xXsMwIYDeod95GceCwLS0caqKoCXTIxKPJdAX/Uvg6cH9qQQTxDiDpXHoBJcHhjexigGj0VHRQE1PYliMW0c9P1VT3YKkBHJD+Gi/bRydUN7K8sBxayjAc+0a8awWN1itxA5pfIcFpMXNVROPMt7LgDuYlXuR1Cnd2y8C3M8RGHqED1sKXHZdSErs26d4+t7PGBi1BBgH5MHlmKR7jWC964RuUBo7r2K6TAQJAPAcaRIVRgvw4rzq7t+qtxeLq+yTb1dToC3b6p0nw10xP43kbsV8g8l9nENcEw2Rie0vLAPEQytVkOGHt41RR+4PqP55xcnlM32zjrY+mmRLsgvp1yUZuJVThJU+3Wy/Ce5R0Tj78v+x2xHoT9cp4pHbgGqFv02gsTihtKmFOmyOZ/fBVZ4MjD+Z9Fip3YemmwqjneQShSZBBuXvXj3P0yiN+3Ihhof8gaTL6z23tBy7wttkQdVrwJXvRNT4ao97ucxFj9TkrlmIRKfWodOLD",
            "1; AM0PR0502MB3875;\n\t6:sE9lGflip30rAGOKgV5ChqZ8pYfPsy+7MCn/zE5SNkGm9cLjUQns3Rcwf8G0ffAcvRAffhoPNCDfXe3ksbpZxcjq91Llw+hcn6CSaKxWZc8gzoYXdxd9zl3GJTGTktHWan25XODq74VVYMZ1OdPKtID+PbhcNbaIS+Pcno1updkFNwAb5C01FrtD1GILIK3sfk2wJIJwhUK142ACWKt3zcVk9V27WvsuomB6uV7sj6MOsFRbE22h/C1OB7Op+mrOrGPP+1ia7xuRiB9le1UCZ1qCkTTudDZKWV4wtk5K9tdgdQ8sG6e6JEmIBA2NQRnKqhiulNepamkCpeeEMt/R9vuKjw/GKnxqyg9nkNWIDZ0=;\n\t5:M6sjxDpdzJdhdNlzzbvwPeJnQYftxLR3JqDz5d/30565Ao1dUYKpXZgQHZUxgC6zk3TUq7F2fWOBcOKN6mHt/0fGjTDXXBWgn/ofFgmX2EenXUlTIGZ4uBo8EPcrL4C/C2mCljVa85I30R5NDherrODtH4NyMiJfnhuWIqoirXk=;\n\t24:6Fa/gro92DCCceHTaN1/5JZSVovqb7yqSG8zVqgS9XfyRx7IqFmSgGoBD9/IaVwu5/F50LPREITtA4KDRN9ku9puHVhA9BEBQN2Jwb/quR4=;\n\t7:3j+XBwVjy4Lyz185HapQ+HNPXR48IshFC09lLwJvXXcP2Em61c95oFwDG1UZ4M1hE4GfB/ET44Fw1LZQJkBmW0ptkdjp/cL4pdLXAhoh8iV81y20VB4Z/aefrs1MYUdjLgUWc+2i9/JsLPO2uF5dOD1HVY3froj700eIVZBE1AsSTXV5p6i0HHyALaRsnzmB1PCNCAG/5mK9EEVRDfLi66+c3tb7xn+/KPmL969lyMQzz73BH/XycNSSDXhcHkgN"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM0PR0502MB3875:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "<AM0PR0502MB38750C83DE35BBF5D9F78568D1F80@AM0PR0502MB3875.eurprd05.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040501)(2401047)(8121501046)(5005006)(3002001)(3231101)(2400082)(944501161)(93006095)(93001095)(10201501046)(6055026)(6041288)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);\n\tSRVR:AM0PR0502MB3875; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB3875; ",
        "X-Forefront-PRVS": "05724A8921",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(396003)(39860400002)(39380400002)(346002)(376002)(189003)(199004)(4326008)(97736004)(106356001)(105586002)(7736002)(21086003)(478600001)(53936002)(36756003)(186003)(5660300001)(33026002)(6916009)(50226002)(6666003)(305945005)(8936002)(2906002)(26005)(4720700003)(69596002)(8676002)(25786009)(81166006)(16526019)(81156014)(16586007)(48376002)(52116002)(55016002)(54906003)(7696005)(107886003)(6116002)(66066001)(316002)(50466002)(59450400001)(86362001)(3846002)(386003)(47776003)(51416003)(68736007);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3875; H:mellanox.com; FPR:;\n\tSPF:None; \n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Feb 2018 23:34:27.5687\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "056c84c3-f3d8-4a5f-5ed6-08d56b5eab27",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR0502MB3875",
        "Subject": "[dpdk-dev] [PATCH v1] net/tap: fix eBPF handling of non-RSS flows",
        "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": "eBPF classifier (section \"cls_q\" in tap_bpf_program.c) is looking for\nmarked packets whose skb->cb[1] contains an RSS queue number and redirects\nthose packets to the matched queue.\nIt is expected that skb->cb[1] has been previously set with a valid RSS\nqueue number during an eBPF action (section \"l3_l4\" in tap_bpf_program.c),\nhowever for non-RSS flows skb->cb[1] may contain a random unset value which\ncan falsely be interpreted as a valid RSS queue.\nTo avoid this potential error, tap_bpf_program.c has been updated as\nfollows:\n1. After calculating the RSS queue number it is added a unique offset\nin order to uniquely identify it as a valid RSS queue number.\n2. After matching an RSS queue to a packet - skb->cb[1] is set to 0\n\nFixes: cdc07e83bb24 (\"net/tap: add eBPF program file\")\nFixes: aabe70df73a3 (\"net/tap: add eBPF bytes code\")\n\nSigned-off-by: Ophir Munk <ophirmu@mellanox.com>\n---\n drivers/net/tap/tap_bpf_insns.h   | 23 +++++++++++++----------\n drivers/net/tap/tap_bpf_program.c |  5 ++++-\n 2 files changed, 17 insertions(+), 11 deletions(-)",
    "diff": "diff --git a/drivers/net/tap/tap_bpf_insns.h b/drivers/net/tap/tap_bpf_insns.h\nindex c406f78..89873b6 100644\n--- a/drivers/net/tap/tap_bpf_insns.h\n+++ b/drivers/net/tap/tap_bpf_insns.h\n@@ -6,17 +6,20 @@\n \n /* bpf_insn array matching cls_q section. See tap_bpf_program.c file */\n struct bpf_insn cls_q_insns[] = {\n-\t{0x61,    1,    1,       52, 0x00000000},\n-\t{0x18,    2,    0,        0, 0xdeadbeef},\n+\t{0x61,    2,    1,       52, 0x00000000},\n+\t{0x18,    3,    0,        0, 0xdeadbeef},\n \t{0x00,    0,    0,        0, 0x00000000},\n-\t{0x63,   10,    2,       -4, 0x00000000},\n-\t{0x61,    2,   10,       -4, 0x00000000},\n-\t{0x07,    2,    0,        0, 0x00000001},\n-\t{0x67,    2,    0,        0, 0x00000020},\n-\t{0x77,    2,    0,        0, 0x00000020},\n-\t{0xb7,    0,    0,        0, 0xffffffff},\n-\t{0x1d,    1,    2,        1, 0x00000000},\n+\t{0x63,   10,    3,       -4, 0x00000000},\n \t{0xb7,    0,    0,        0, 0x00000000},\n+\t{0x61,    3,   10,       -4, 0x00000000},\n+\t{0x07,    3,    0,        0, 0x7cafe800},\n+\t{0x67,    3,    0,        0, 0x00000020},\n+\t{0x77,    3,    0,        0, 0x00000020},\n+\t{0x5d,    2,    3,        4, 0x00000000},\n+\t{0xb7,    2,    0,        0, 0x00000000},\n+\t{0x63,    1,    2,       52, 0x00000000},\n+\t{0x18,    0,    0,        0, 0xffffffff},\n+\t{0x00,    0,    0,        0, 0x00000000},\n \t{0x95,    0,    0,        0, 0x00000000},\n };\n \n@@ -1685,7 +1688,7 @@ struct bpf_insn l3_l4_hash_insns[] = {\n \t{0x4f,    3,    2,        0, 0x00000000},\n \t{0x67,    3,    0,        0, 0x00000010},\n \t{0x4f,    3,    1,        0, 0x00000000},\n-\t{0x07,    3,    0,        0, 0x00000001},\n+\t{0x07,    3,    0,        0, 0x7cafe800},\n \t{0x63,    5,    3,       52, 0x00000000},\n \t{0xb7,    7,    0,        0, 0x00000001},\n \t{0xbf,    0,    7,        0, 0x00000000},\ndiff --git a/drivers/net/tap/tap_bpf_program.c b/drivers/net/tap/tap_bpf_program.c\nindex 848c50b..64dcdb8 100644\n--- a/drivers/net/tap/tap_bpf_program.c\n+++ b/drivers/net/tap/tap_bpf_program.c\n@@ -31,7 +31,7 @@\n  * The queue number is offset by 1, to distinguish packets that have\n  * gone through this rule (skb->cb[1] != 0) from others.\n  */\n-#define QUEUE_OFFSET\t\t1\n+#define QUEUE_OFFSET\t\t0x7cafe800\n #define PIN_GLOBAL_NS\t\t2\n \n #define KEY_IDX\t\t\t0\n@@ -63,6 +63,9 @@ match_q(struct __sk_buff *skb)\n \n \tif (queue != match_queue)\n \t\treturn TC_ACT_OK;\n+\n+\t/* queue match */\n+\tskb->cb[1] = 0;\n \treturn TC_ACT_UNSPEC;\n }\n \n",
    "prefixes": [
        "dpdk-dev",
        "v1"
    ]
}