Message ID | 1516744449-16158-1-git-send-email-ophirmu@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
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]) by dpdk.org (Postfix) with ESMTP id BFC787CD8; Tue, 23 Jan 2018 22:54:38 +0100 (CET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50047.outbound.protection.outlook.com [40.107.5.47]) by dpdk.org (Postfix) with ESMTP id AAB2F2BF3 for <dev@dpdk.org>; Tue, 23 Jan 2018 22:54:36 +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=KMBzb24+0EDkh4R3Aaj2uCzSo0kNZADB6JkkKOnSpYI=; b=uPxALb6OL8m22xavb+ynp+wVcV72rKMwI3PjDsstzU+29f8cU/Iz9Tkneuwlb+sPeRHdOasUegO3hvIlaZ8kAAEdJbG6uBsY6dkfqcoalhFzb/wPtOXVVD3g9Gb/gBnzLFWE/QVTkXJIiUO2bmrqqhO4g9qzle4qzw++ZQcSsUY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ophirmu@mellanox.com; Received: from mellanox.com (37.142.13.130) by AM0PR0502MB3875.eurprd05.prod.outlook.com (2603:10a6:208:20::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Tue, 23 Jan 2018 21:54:33 +0000 From: Ophir Munk <ophirmu@mellanox.com> To: dev@dpdk.org, Pascal Mazon <pascal.mazon@6wind.com> Cc: Thomas Monjalon <thomas@monjalon.net>, Olga Shern <olgas@mellanox.com>, Ophir Munk <ophirmu@mellanox.com> Date: Tue, 23 Jan 2018 21:54:09 +0000 Message-Id: <1516744449-16158-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: VI1PR0902CA0036.eurprd09.prod.outlook.com (2603:10a6:802:1::25) To AM0PR0502MB3875.eurprd05.prod.outlook.com (2603:10a6:208:20::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 630d3413-21a8-4235-7a80-08d562abe3f1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020); SRVR:AM0PR0502MB3875; X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3875; 3:OX/vhwnYIZjq9I94wY+OS5GPUiVei1XgIrrNQFuWO1N6kYJPjjFbMsV9Z75oegf4zWYwmjGzOCVlu9PWsDqE+2W1m5Ca/xaSbS/st4mew3u+vipAH2Yefx21s7osDFb5xYoj7TEhchcGXKR94t1Rb1OCs4V3ObQe/LzRx6KM1BO+oNanorra0IcJnWEApfLyqnxMc+b2qfEV3IdgNrr5MS+EFijrLr2D3+3/+aRjCl2/po2X/X1y6BmeW+D1u5Wr; 25:9xFV+aByCuSb5Axc1ZFKwBfgMwJX9VDSBAQ4pJh72a6+fDAcr1U5hWOdLXEUpAYp8bNbXSrm7cYeGaUfgjvHQad7QRFnUFqjenUS9dvV4XPaZRStF+z+eAHrF3xJr16PsMLTn25TTcVCLwzaJxxJrPzlV/4LhoDs/zSrgJ9gRZDkGixVJjM5o1NIgCqlwwihyJ7x0gSmIK99dc6l9Ty0M9Q37cLyE1h24g3ol6LrOMP4ZxYYo7hCKiq/QC7TP/Si6JXisNDIigJZ1jUiFwCRzH+r+mbtCO3t88NinRKzZFA+luBjbrJtByJptzkpk4Bg5f4QNb6C+9YyKRXTZN+O+Q==; 31:MalvC2oAKeA+ZVO4qfT73v8dP1Jet47GL+RQK/+kA+7iZZ9AmHURXpMEK/T1q2h8My8vJsgwQHacxjfFuXP34SpPSKVmKC4RZotJrSknLQ8CSNJEaXoQNaPxR/hEyQsrdDa3b8D2gjccWKOj23jhCpyf38Iqdg4OQzwJt2AEav130Axb1zypofhdSjCwtxQRK1LGV08LK37FbjQz5lLJ7ooF+lpjO56k3EfKf/Nwddw= X-MS-TrafficTypeDiagnostic: AM0PR0502MB3875: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3875; 20:wIoIQ5EZVqtZrE7r4i7P6Zt6V32JheygT7ETXDItJwpOBCAU32o16D3mBhWLg3HsoXFaXkzYIhuI5Rh9p72ZxXOO34AQ6ZSm0sv+qZA27mzh0Oq6TLMAeOhoE8oWxZ6XJi3sYgk18hib0OmUOfX1NqwnssPUsupFHSLnj5KtxXYS2RUlrLzoKcy4zZ8FM3xN+IpQ1NYB3HCWFbR7syYQK4tvINKLN0VWsvoA6ElhfT9JWK5dHjq+X4PjgNo1r+HinJjswICCUDPhL299+V2YrIrsB0wwitRIQJlxA5zFafW5bKXIz7XBZgXHfzJYEJQKd3SLwwSfr9R5e2C+2frenKcHsw0oeUVK1dmu3Gzt5PIOe4qIcTKAM5SqfzNIPOCh2gZk8O5xlRJpDFK6JYEcYcZT06PgDrCw/1vF9Vtg/EwugKUmL1mzU9u1vkQVvtULPOd3uD8AZRLeMFJEpNFBBjdNgBIuGeQjcJR/wLUYFDu3nMZxzyp8nd1fdTpQAxdN; 4:SlYGDpEISj6gRd3UxRzQ/6ipB/B6Z3b9U+LYun/msf8pVlEk6l6t4S8eAmDvLbIdxu5OAOF0X8NJ9wOsIh09uG9IcQIXruifmnsglEnqzBkbRmnm0D2G1MRSYgPQkjbiTXi6PHOk5IqONNMqmUaq/3C42lUjZ7SV74f7lXb8vYGtXgNNxnCARjXFAs8kylp3ssPEiq92hgvVG+CHEOISxkWngC28y+SP8ofNWjUwH0O8VWeXYZmORW496l/73AjKQNyU4GqprBr9DTb1bTvjqg== X-Microsoft-Antispam-PRVS: <AM0PR0502MB3875AB26D9CD2390922EA792D1E30@AM0PR0502MB3875.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(10201501046)(3231023)(2400081)(944501161)(93006095)(93001095)(3002001)(6055026)(6041288)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:AM0PR0502MB3875; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB3875; X-Forefront-PRVS: 05610E64EE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(376002)(396003)(366004)(346002)(189003)(199004)(7696005)(52116002)(478600001)(4326008)(66066001)(47776003)(107886003)(51416003)(26005)(21086003)(97736004)(54906003)(16526018)(16586007)(86362001)(316002)(2906002)(25786009)(53936002)(8676002)(81166006)(3846002)(5660300001)(81156014)(50226002)(59450400001)(36756003)(305945005)(386003)(7736002)(69596002)(6116002)(6666003)(4720700003)(105586002)(68736007)(50466002)(33026002)(106356001)(8936002)(55016002)(48376002)(6916009); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3875; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; AM0PR0502MB3875; 23:fd9Js0hyTA0ou0VKSDYEsvFdWWsWVzeU9Sb/6Jz?= 1CFrtUhKaRhQG2pwgO4v5RWu/RCINm+lVyOjYKhcNckpIW/wDQZZWBvuHY3JPoRCVIt/mncXbJu5TUvF6dww/MhItxL1bocZ1bbExkxEEDP6+d2ecrU9M9wVnjHttdZWPkc0P/wNNi3TCbZJX2ziUi0s36Fm1/2bi+9MvyeurqY3MhXp4I+iowmpPUi5Gc0DE5CA84yqXCHwr428nDvo2KXRtPAjuU0G+IAvH/0uF2aSjdzOtD8mODW7q9GWKqORZkkCtjXgpPCzNmjnQG8SVdQv9AGpVNZAPZrhWPB/sg6xEGcabq8QfX0+EgRRmQM3k+p0/sG/Ou8c66t2Gx0aKz0jwJE8EteXdAk015j0we0BQfR0tYUc4JcU/qwRdw1M1K5tELGGFabtna0lp8n8KEsRKozs9g2k+R6rT5vDA/YhQUKclt85hR6KeZ8xcGvtGfCZvx4xM+hwLxEfUxTxQgk0Lm5hSrAyL+PYOu12uGO7BAmw3gKEOz00PbJNhKlKRtBoIqBtHzh0FTGJVYArKpurzRCb+Z8KD+Hiv/z3Ylct2gLph7iz51yOe6w5gagUZte67WbqGN2HH+KeLSBBohv11VOGfstO7jrf3c5Fuu6CMDSVfLh5f6VaiIz7K2GOykdMaXW6pF7xswWJ+SgkUbVCkoX6m4o/bjzf51mOVu9HmhAv8O8kr0Jbe1M5ZhSdg892C5c7tjfaIHZzxENc0u9+ZCsY+VplQaRzUmjq7Op+4Xymo5rp6/3+nDFBFaT0nZcHzDq5bPxOUkzX/qI83Ojyh1j7LhX0O0+VfAlFi6EU65VfGu5AivdCBXd/qCqvMktI5S8dq9Lcn3yo99qG2vvTIjklUZD6zAd+gif7sJEFiciI3DrsyItW5wcT0sfUWTe01W0QegtouTeQZL2hRSYcQeQ9xmb57XtsyrlSxfoSm4uP7ubMsWKDPZ3bv7zNJc0hVHxZDnUy42tG7K1lV27YeV4wko5tzlV+LE0s7Mt2jYxmtV6J0sQIkOTKbLRUgA8tbPzO+e20swYFLOMp8llywaRflcMO6PnPTAv0wAnnrNMy/CqBb0z+nO4jhYZJ7UNpf0OeKmD41X1ipN60DkYC4g9kuN11hNtIYqdlwin1hQ39pfaUfRvJu/AeQPNJn9EY= X-Microsoft-Exchange-Diagnostics: 1; AM0PR0502MB3875; 6:7Bz/Pwes63Uj4r0xZjH9L72L5lg+BmaJLrPomfEeA4a17s77ryw0+Ja8RsM9S3UpP6KkdGBbOCJ9P+TjRvF/ArtXhfOPgQo5XKgponWE27DqNpdotW5dKjDtBaQEDiiI8eh+eAHWgD2XSH7C6E3P4OMIMzqwOHDc1z2xizxWzrzmRTXlsV473Ha8s1KT3U5ZAiK6STnILD9Eq1c3ow77jbIWkWyrT2sPu67rKHuWWLzuUv8gmL0ci143MZxQbI0wB+X6xSKMDpc2XpycIFin6O75d+dYzxm+AHuD07Kuv6o7d5DXDNLtRiPPAZZzCEGeX07OcNFxyI065PUI61/J+jWHmRHscdYrYgKql0PgAoM=; 5:cNQSjMcIdgNIxV+FRvv7cHL74ap1qBzEFLhkPu0eC3Hn9TgoFMCwlj+0Pv+RdI85ZMKsQ4d+foK/He+yz3LSPfS/jP2ByIWcHjSyKJw/jFaZUtNMoMSG8WHwxw5OwKq66SQK+uqD8ifAPBTvymv3uPfDwCxjlvPPn746iTZzvI4=; 24:Q3fQIwCUKhsTxNlDSJcPBVOX3KNdJmKAFkcpoSI/eTLYM0Na9dqjyNh18hBzNwmOERo+5OOEQXmwL2p+dXnEJpokFkSm90RHX9VeKF5R9dE=; 7:tgCu/fFB+cPbdEp4Et6HLVkLG44LhNvXXoO1jpokMy3Guj4Rl4LQ4FVfb0M00MvDVtIkyEyWiK0rq6zgaLq9ijxlEDmFG72U2WVIkGgsnaiw9TzmFw7FbS7pNWQSuhCM5aib1ZK8PHUWLttXK0xa6pTu96/sPEpArtIUhJfRNpfWf3PVTVzgfkabvEeL51oWooLZVIwd2UhKZWZ33RXxfm4kFPU4Z+Emu5Zeyd+Gti0wpZx28V3m8mQfyUz383Gs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 21:54:33.6066 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 630d3413-21a8-4235-7a80-08d562abe3f1 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: use local eBPF definitions 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>, <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>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | fail | Compilation issues |
Commit Message
Ophir Munk
Jan. 23, 2018, 9:54 p.m. UTC
eBPF has a graceful approach: it must successfully compile on all Linux
distributions. If a specific kernel cannot support eBPF it will gracefully
refuse the eBPF netlink message sent to it.
The kernel header file linux/bpf.h (if present) on different Linux
distributions may not include all definitions required for TAP
compilation.
In order to guarantee a successful eBPF compilation everywhere all the
required definitions for TAP have been locally added instead of including
file <linux/bpf.h>
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
---
drivers/net/tap/Makefile | 5 -----
drivers/net/tap/tap_bpf.h | 9 +++++----
2 files changed, 5 insertions(+), 9 deletions(-)
Comments
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ophir Munk > Sent: Tuesday, January 23, 2018 9:54 PM > To: dev@dpdk.org; Pascal Mazon <pascal.mazon@6wind.com> > Cc: Thomas Monjalon <thomas@monjalon.net>; Olga Shern <olgas@mellanox.com>; > Ophir Munk <ophirmu@mellanox.com> > Subject: [dpdk-dev] [PATCH v1] net/tap: use local eBPF definitions > > eBPF has a graceful approach: it must successfully compile on all Linux > distributions. If a specific kernel cannot support eBPF it will gracefully > refuse the eBPF netlink message sent to it. > The kernel header file linux/bpf.h (if present) on different Linux > distributions may not include all definitions required for TAP > compilation. > In order to guarantee a successful eBPF compilation everywhere all the > required definitions for TAP have been locally added instead of including > file <linux/bpf.h> > > Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Tested on a Fedora 20 vm, uname -r = 3.15.6-200.fc20.x86_64 Confirmed before patch was failing, with patch build is fixed. Tested-by: Harry van Haaren <harry.van.haaren@intel.com>
24/01/2018 12:05, Van Haaren, Harry: > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ophir Munk > > Sent: Tuesday, January 23, 2018 9:54 PM > > To: dev@dpdk.org; Pascal Mazon <pascal.mazon@6wind.com> > > Cc: Thomas Monjalon <thomas@monjalon.net>; Olga Shern <olgas@mellanox.com>; > > Ophir Munk <ophirmu@mellanox.com> > > Subject: [dpdk-dev] [PATCH v1] net/tap: use local eBPF definitions > > > > eBPF has a graceful approach: it must successfully compile on all Linux > > distributions. If a specific kernel cannot support eBPF it will gracefully > > refuse the eBPF netlink message sent to it. > > The kernel header file linux/bpf.h (if present) on different Linux > > distributions may not include all definitions required for TAP > > compilation. > > In order to guarantee a successful eBPF compilation everywhere all the > > required definitions for TAP have been locally added instead of including > > file <linux/bpf.h> > > > > Signed-off-by: Ophir Munk <ophirmu@mellanox.com> > > Tested on a Fedora 20 vm, uname -r = 3.15.6-200.fc20.x86_64 > > Confirmed before patch was failing, with patch build is fixed. > > Tested-by: Harry van Haaren <harry.van.haaren@intel.com> Applied, thanks
diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile index e23c3a2..315c6bd 100644 --- a/drivers/net/tap/Makefile +++ b/drivers/net/tap/Makefile @@ -82,11 +82,6 @@ tap_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh linux/tc_act/tc_bpf.h \ enum TCA_ACT_BPF_FD \ $(AUTOCONF_OUTPUT) - $Q sh -- '$<' '$@' \ - HAVE_BPF_PROG_LOAD \ - linux/bpf.h \ - enum BPF_PROG_LOAD \ - $(AUTOCONF_OUTPUT) # Create tap_autoconf.h or update it in case it differs from the new one. diff --git a/drivers/net/tap/tap_bpf.h b/drivers/net/tap/tap_bpf.h index 30eefb3..8d6f9a2 100644 --- a/drivers/net/tap/tap_bpf.h +++ b/drivers/net/tap/tap_bpf.h @@ -7,9 +7,11 @@ #include <tap_autoconf.h> -#ifdef HAVE_BPF_PROG_LOAD -#include <linux/bpf.h> -#else +/* Do not #include <linux/bpf.h> since eBPF must compile on different + * distros which may include partial definitions for eBPF (while the + * kernel itself may support eBPF). Instead define here all that is needed + */ + /* BPF_MAP_UPDATE_ELEM command flags */ #define BPF_ANY 0 /* create a new element or update an existing */ @@ -83,7 +85,6 @@ union bpf_attr { __u32 prog_flags; }; } __attribute__((aligned(8))); -#endif #ifndef __NR_bpf # if defined(__i386__)