From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v1] net/tap: explain how to compile eBPF C file Date: Tue, 12 Jun 2018 14:26:06 +0200 Message-ID: <3421596.l5OksTDFGx@xps> References: <1528733172-24747-1-git-send-email-ophirmu@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org, Ophir Munk , Pascal Mazon , Olga Shern To: "Wiles, Keith" Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id D324A1EA1A for ; Tue, 12 Jun 2018 14:26:08 +0200 (CEST) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 11/06/2018 18:35, Wiles, Keith: >=20 > > On Jun 11, 2018, at 11:06 AM, Ophir Munk wrote: > >=20 > > This commit explains how to manually compile the C source file > > tap_bpf_program.c into an ELF file using the clang compiler. > > The code in tap_bpf_program.c requires definitions found in iproute2 > > source code. This commit suggests cloning the iproute2 git tree and > > include its path in the clang command. It also adds inclusion of file > > bpf_api.h (required for eBPF definitions) which is located in iproute2 > > source tree. For more details refer to TAP documentation. > > This commit is related to commits [1] and [2]. >=20 > Normally I would have suggested that eBPF be disable in the TAP driver as= it requires external code and programs, but that ship has sailed. The external programs are required only to generate new instructions, changing the behaviour of the BPF program. Currently, the instructions for RSS behaviour are provided. > I would like to see building the tap_bpf_program.o as a target in the Mak= efile, this way the developer can just run the =E2=80=98make bpf_program=E2= =80=99 target and it would be simpler and less error prone. =46or this to happen, we need to improve the tools. It is a work in progress. This is a very first step to use Linux BPF with DPDK. If there are more interests, we should really streamline its usage for all parts of DPDK which runs on top of some kernel code.