From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0044.outbound.protection.outlook.com [104.47.1.44]) by dpdk.org (Postfix) with ESMTP id 3B4B21B01C for ; Thu, 11 Jan 2018 18:46:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=WvrIqip5uKwjxiZvo2kji1PwZ5d4CMYncS9u93wqHRo=; b=s9H7U1KjYYmCrbCyOpfU5zBgEti3wMP1xIDCS9qy3Z1GG5j8nXqNBB7OCbMGEhfmBiM+AjhsntxAuxlum0enGvvEXv/aPzev7/KfLUGp5Szw/X4q1ae9b9ICuXTU2cnY387LUtCozPonNAzMtDCUjPGUhfzLrSbg2G26+pDEBl4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ophirmu@mellanox.com; Received: from mellanox.com (37.142.13.130) by VI1PR0502MB3885.eurprd05.prod.outlook.com (2603:10a6:803:c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Thu, 11 Jan 2018 17:46:07 +0000 From: Ophir Munk To: dev@dpdk.org, Pascal Mazon Cc: Thomas Monjalon , Olga Shern , Ophir Munk Date: Thu, 11 Jan 2018 17:45:46 +0000 Message-Id: <1515692751-25257-1-git-send-email-ophirmu@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1515567969-27946-1-git-send-email-ophirmu@mellanox.com> References: <1515567969-27946-1-git-send-email-ophirmu@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: HE1PR07CA0002.eurprd07.prod.outlook.com (2603:10a6:7:67::12) To VI1PR0502MB3885.eurprd05.prod.outlook.com (2603:10a6:803:c::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ae2faffe-9f3b-4c26-4682-08d5591b3259 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020069)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0502MB3885; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB3885; 3:jknhr9FC/umsEXjV+QsLCquC2cGUrhVkAUc9ThBwSDgP3+5NxAU6gBSX7GlY0lKlRtBZSFTPdM/WBaAAFgUCYFMESvO1I2KTxLn6Hctdqq1T54Ex9WHpt3UUkpVJYDzTd6f0+KaG20Kwq5lVNPewZCx8NVAGqAT6b4ZEO6V9KQ0J21bVH83SHn99rtulejGq6W8fN9+aidl9pLS+2TReJI25D3jOHTTC5lP4k7hXeEmVr3yWg4u32taodZ7+LLi3; 25:w0BOFJRVqFhMc6NRzyfgSnqw1Ab8m7Tqa2YaF1IIVF1x82Up2i9W2dOZnvkx7uqUXqRh3Ud6jerqrjBdUBJYP+ivmVyD60gtoVf61ZV+YaI7yBIJfyGkqa69czUMI0sbBsFWGrxV6g2wfwH1QOx/tKzCB1bu+PgN5OtE9aUWuxhRHJv0tem8gA7mlopJyKzvrGjGYsMCvgptErYxQvo7mE0EBI7cgHIeJubrst2zLBksAkE0FJVk8FnvC3Xg2pqPLm6mVx2+syKB4zzdk44GeMXZYYZQmbXwKHmKL5XZ5WRsrcd0KcKHXCmxHMT/yaRe8BSsYXhpj3Q6SPYfxgCGAQ==; 31:oGAHDafL1EJhlAWEJRx7xDChoWDRNnpkoGih8YoaQCb/bLmRbBzqgu048pi6rxmzsBxhBlE79eEo34b4+FL86+zlEcMxvDnkxb3YINaE8nyNwn0DGjhaY7eJWZT+DCFBOek/NPPgQNKXi8/Qions093t7W+8Dsrunb9n1pPFoRA2PN3mEm2XzdLUtXAuXPij3Kj68SqwiUgC1CQGH3HaMT8sDd4TeuQlXiEwX8V4iGg= X-MS-TrafficTypeDiagnostic: VI1PR0502MB3885: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB3885; 20:kr4NByTtEo4QPAd/4nzBasfixj0YmFKz6BEtA+cfu3+DodDHNJ5Cqlw/mPB0DxczSH4stwC3ztz9caHfJ2eVLirDH7YXVWDJLN8VGxjaysIii4INaEIlf6vvXIWLXIdkafgVk+OPdQkqObsKfQYL86AxiEceps93UqfK6BngQmjJJ/asR8mchGbsVbky/pIuqxKL7Ua+XurtK+2PzpchPQ5S6X42GSlf/baiKIokLnME0Sjp9V1mxrAXGVHZCWrLXd6h79jv/yDLCMwsbnAz41/zVhsvwZ2eMzcZyjUupa0HTAMtjbzMW1XUj4B0a1dU5AEddgWCjQBJG/Wh/Bz94LJV75T5MnTCV5ZUQbbHmN/LLyhtT+b/R6oXBR8PpMg/7yDz8YOu0CVY2empYB5SiCSXKx1Lx6sy9n3V7RQl+iX8b0Q3xbP0cP2eUcSD0gO8Nuj3NUnQthgm8n8zSCd922o5LEZeWoX5bDizCIB6i5WzgXh6o639nLXvu5K5YbQe; 4:Iq6aQcYJSZLqY+P5dFOnOckb36/vrE2kMNgoYVu1FrVhdExk4cqCwOYfLjmd2OvzMWSkJNQq4nbzUuOlhTPfIuz1Bf7d8bvSDAxB/DT3haa2ivpdwdYlZg98ZvuoadzhATeKPnDJglJlqPYgYf4FtnKOySSLLzOdUnJDTdcNyrzuEf68rqYzJSP7Zi3wu60xLkFFFa7AzX7uBlonGksMnSYgBCkDxhEWzMf3Z30da05+Tz1u+zoC9mDLWjQpvd/pOYBoZLsZuaWywCCf4xIjAg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231023)(944501134)(93006095)(93001095)(6055026)(6041268)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:VI1PR0502MB3885; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0502MB3885; X-Forefront-PRVS: 0549E6FD50 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(376002)(366004)(396003)(39380400002)(346002)(199004)(189003)(316002)(68736007)(16526018)(97736004)(69596002)(21086003)(16586007)(8676002)(8936002)(81166006)(81156014)(54906003)(50226002)(2906002)(66066001)(3846002)(6116002)(478600001)(47776003)(86362001)(5660300001)(6306002)(51416003)(52116002)(50466002)(7736002)(305945005)(25786009)(966005)(36756003)(7696005)(106356001)(105586002)(386003)(33026002)(53936002)(2950100002)(55016002)(4326008)(4720700003)(107886003)(6666003)(76176011)(48376002)(6916009)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0502MB3885; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0502MB3885; 23:no4PlbOfzAqt3sWpLlb6sMi7TY89BOKa7ojNa3w?= =?us-ascii?Q?QMyXS32NmGG1laTAwH3oKUPYosz+UtAbQoEbA3zXietuRdk4tRn2LZewIUwj?= =?us-ascii?Q?2O2I1JnX6hf/rAhHTITRTC893i254ctJirXpBlHzkL1tuiZREcIf31rW/yfm?= =?us-ascii?Q?YvymXyaSlsH9LTNtCRDXQfkvwrkPmF7znH5vGA1Oy0HWuDAj53fC7pSHhunL?= =?us-ascii?Q?Rtp3/JV9v7ocNgp3oAEz2lC/aMGPoVGyKNxlKjHKXN2Uwt9e94DQ1FxNj77e?= =?us-ascii?Q?VbruRd0rOz3GXNiWhqQQPlcPGexvZQvqw3rGfTfGgr5UC+vqXdhQo6Rh9v+J?= =?us-ascii?Q?vZc0m9CMglN8GUq8op3isM5H33mRJow+nGdcfm35VzXD4SrXaBZkPU4bUSBT?= =?us-ascii?Q?yPDXS0PnEnoLjW5v5OhcVS3Y5qa//tlTnfZSFvJiSI7miyaoqB9IZdSrWbSq?= =?us-ascii?Q?nUiV/q3//UC+R1s4ctSzK5OzPrF8vDdACkslpB+QoY+5lfqekUsT4tDTj+Fp?= =?us-ascii?Q?RmH+GJv4pOkk+j/Gp0QnTFFMQ1ESeSAQtzBjyCRJZMRDKtUTnCtGLS4IoPwL?= =?us-ascii?Q?Eic0RzLNvDQESV+i9gRmLn4529Gt59uKwsfT9x/spQ3BTZdS2OMhgCnrPewx?= =?us-ascii?Q?kjcB9mn5a9nh39YhfAmPk9it9q0zD7lB7GKrSoNP76M5RDsWJPgLbAd5gfJK?= =?us-ascii?Q?vstiOGkQVV+I9hQTNja1sPsBMOBK6WNAnJmSau2oe5nkFgiPeSelu58yxJTZ?= =?us-ascii?Q?TuONRp+TiIBzeOvYHhW8O1nQfBpma6RplYFy7HK7RTE7DNoH6q9b5/aP76Wj?= =?us-ascii?Q?MYUHi3pCZIrjr2tDj/h2vxZO4GsDl2ibtNtXeSMPQV/r77TmqsfH0zrGSdUy?= =?us-ascii?Q?WnBHqVSkrMP1SnxIJBhvnRLCDwD1OBCaNiceg/QEwKVm+TB/CFtUWrVADXoU?= =?us-ascii?Q?HKJhC3/puzuGyYrMv5crKueYs10BC2T/sPV6b3poWN5VT8UDmQ3unqpFC6Cw?= =?us-ascii?Q?Rztx4LsesnVYrTgPDeiDuG8lYvJ+VbUdLYUSuKn6OUTgdwX5GAlD/V9JH8uC?= =?us-ascii?Q?5gamhfoZyzpkXm6alRlpzofqAMEQiaaNgFPTL9dkpQUcb7OK+Q933NEKPzpS?= =?us-ascii?Q?a1h8vEQoECfUFJgfEtzKDUN23hck9Q/Xiispdoh5F6/pP4R93QEFwGs48L+i?= =?us-ascii?Q?51XUL53LZbqi6A8vRfe3mYXh3dzA/GSGLspUv2pxW+U9eAKaizPQ8ib7mllb?= =?us-ascii?Q?GAgM0caF2TTyJYgqHJhQ=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0502MB3885; 6:0trQXWc8NQ1WxVUrz9LuVfbwaATsfUOrpieSj5ek/WdT9RPjHHL3Wg+JUC1BX9db+sCXjG+ZKDTx9FUjjsPFdUdDOn80y8PexdDgSwnyDOG3CD3Y4t+V4OIXKszznjpWl7jCoG9OCCtGItfFGS8TtMg9BsqZ2UhGOFZMW4IkcsDjyVjLbnnaL/gz7nSRNgZnHEFTdts11O9eqvlYc+9lloIfDUsJh35zMCgBi9M4ovB0ZXz7dvN4Hfju+yXELLipwJyqOu6VEcJCgCTc0v2+Kkq9BLg5PBS4LcVtRAgcAo9wBdA32YbpIdmn+uVG2VHbGjLXCC4bfq+Tyar691IYysIYRL2aODuQtrdeVdpwYpo=; 5:9KBae4t0e+vr6NKDDyoV0/Ukg/gMLz/3e4vXs1adPV4j9LIMfWDtejgtzT/gblCXIobVWdfnI7X5Jhv7vFcJ5AYm5HYS6/7h8sIG1sMNrcPtaURVXQXb2CzJFDJNdH+cKtjLhxv23ox8K/P3Urk1GigORIRICih1WT4td6ZiCyw=; 24:oxpFsJhVJMgXjFvLnpSO8rF7+lgrniUVnQ2BFqwEow7OIixdLBcO1juBOI5nO7p3w3tnVm6CF2reQrGn5b4FUgUZvHDR0fAx5DIXdy+I2Vo=; 7:2rvZ9IQ0rd/LyX/woG28shkQlqwnHLuZdMt2GZ6sIf+BXJl0J7RQGr1295SCZhTMBPUQU4bDR9NsCKzKtUDcq7w0vniNUYUP9CeHoCzThYpMoMfaeYbqKv7QXhtqx4z94zt1X7+UwfarTt/yfn3J5ydt5h5Dqx8DFL64oL0KbVwLOjPENNuW+VkjvlrBGkrAe6D+610tYyx5NJ6KiWXsL0D6xsG04tRHqe35oNbftGpSO+j3xuWc9wir+IVbkLLl SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2018 17:46:07.6025 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ae2faffe-9f3b-4c26-4682-08d5591b3259 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3885 Subject: [dpdk-dev] [PATCH v4 0/5] TAP RSS eBPF cover letter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Jan 2018 17:46:11 -0000 The patches of TAP RSS eBPF follow the RFC on this issue https://dpdk.org/dev/patchwork/patch/31781/ v4 changes with respect to v3 ============================= * Code updates based on review comments * New commits organization (2-->5) based on review comments 1. net/tap: support actions for different classifiers (preparations for BPF. No BPF code yet) 2. net/tap: add eBPF bytes code (BPF bytes code in a separate file) 3. net/tap: add eBPF program file (Program source code of bytes code) 4. net/tap: add eBPF API (BPF API to be used by TAP) 5. net/tap: implement TAP RSS using eBPF v3 changes with respect to v2 ============================= * Add support for IPv6 RSS in BPF program * Bug fixes * Updated compatibility to kernel versions: eBPF requires Linux version 4.9 configured with BPF * New license header (SPDX) for newly added files v2 changes with respect to v1 ============================= * v2 has new commits organization (3 --> 2) * BPF program was revised. It is successfully tested on IPv4 L3 L4 layers (compatible to mlx4 device) * Licensing: no comments received for using "Dual BSD/GPL" string during BPF program loading to the kernel. (v1 and v2 are using the same license strings) Any comments are welcome. * Compatibility to kernel versions: eBPF requires Linux version 4.2 configured with BPF. TAP PMD will successfully compile on systems with old or non-BPF configured kernels. During compilation time the required Linux headers are searched for. If they are not present missing definitions are locally added (tap_autoconf.h). If the kernel cannot support a BPF operation - at runtime it will gracefully reject the netlink message (with BPF) sent to it. Ophir Munk (5): net/tap: support actions for different classifiers net/tap: add eBPF bytes code net/tap: add eBPF program file net/tap: add eBPF API net/tap: implement TAP RSS using eBPF drivers/net/tap/Makefile | 34 + drivers/net/tap/rte_eth_tap.h | 9 +- drivers/net/tap/tap_bpf.h | 112 +++ drivers/net/tap/tap_bpf_api.c | 190 +++++ drivers/net/tap/tap_bpf_insns.h | 1693 +++++++++++++++++++++++++++++++++++++ drivers/net/tap/tap_bpf_program.c | 221 +++++ drivers/net/tap/tap_flow.c | 648 +++++++++++--- drivers/net/tap/tap_flow.h | 13 + drivers/net/tap/tap_rss.h | 34 + drivers/net/tap/tap_tcmsgs.h | 4 + 10 files changed, 2862 insertions(+), 96 deletions(-) create mode 100644 drivers/net/tap/tap_bpf.h create mode 100644 drivers/net/tap/tap_bpf_api.c create mode 100644 drivers/net/tap/tap_bpf_insns.h create mode 100644 drivers/net/tap/tap_bpf_program.c create mode 100644 drivers/net/tap/tap_rss.h -- 2.7.4