From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas@monjalon.net>
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 6B8BE567E
 for <dev@dpdk.org>; Thu, 30 Nov 2017 18:05:24 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 1093020B88;
 Thu, 30 Nov 2017 12:05:24 -0500 (EST)
Received: from frontend1 ([10.202.2.160])
 by compute1.internal (MEProxy); Thu, 30 Nov 2017 12:05:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to:x-me-sender
 :x-me-sender:x-sasl-enc; s=mesmtp; bh=RBGZKBEVaiicUvKLLlRkZk/kID
 DkfVlYrbi83OPA85s=; b=Cfb+V4KGEMBARRyGvyciEYT7eg84T5UAJ1xrf5WUqO
 X1GvWaKxSVFAq/WjnRRzBp52CGUEAAyfvoIbAztXTW3jQRpuew4X3SDB3OVEvwXs
 vjfjeE8iMCgk6gyZtrGkjey9XzFJuLAS/StuWke6TIprRRQABVVQJ1tu2l4vZIuv
 Q=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=RBGZKB
 EVaiicUvKLLlRkZk/kIDDkfVlYrbi83OPA85s=; b=FUJKAPQX54vM/E0HyuHdGa
 zTtVxJvCjOjWA29CoXMK9gtnvfdZxGi4Y99tSY+Gyjxjswy+Of0W5hCbrLaQQCD+
 MaLZy4JgLWd6ZC8sDXpEMIgRKvYQECNXUsFEmwMJx/v6FtVzCQ4LY5zNdcAm8IUQ
 OAFKrs7X5ihWYWjCQ45BJ9VE/u3EJawz50FurUBHbNSkU6MnKXa4lMgNltn+6xA0
 6+i/ueiUIYjNpqcK9WZKGAkfvbVH8zWaXeg6xdUhB82D4arKHTP4BKFMH5L7OtxQ
 RvvHAw5WQEkBYDluH8MuU6F/ZEraPUZtJbDKawsAi2TtWxKNmW3hpTALtxPMwmvw
 ==
X-ME-Sender: <xms:UzogWpEQPD-RkH4XPl_F8KGmSoVJNE2zT03MmLk3FxUuN2NvHhox9Q>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id ABE957FACC;
 Thu, 30 Nov 2017 12:05:23 -0500 (EST)
From: Thomas Monjalon <thomas@monjalon.net>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: dev@dpdk.org, Ophir Munk <ophirmu@mellanox.com>,
 Olga Shern <olgas@mellanox.com>, Pascal Mazon <pascal.mazon@6wind.com>
Date: Thu, 30 Nov 2017 18:05:22 +0100
Message-ID: <33612859.oYs3VmdAvV@xps>
In-Reply-To: <20171130085408.0c7d68c2@xeon-e3>
References: <1512028870-13597-1-git-send-email-ophirmu@mellanox.com>
 <1512028870-13597-2-git-send-email-ophirmu@mellanox.com>
 <20171130085408.0c7d68c2@xeon-e3>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [RFC 2/2] net/tap: add eBPF instructions
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://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: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 30 Nov 2017 17:05:24 -0000

30/11/2017 17:54, Stephen Hemminger:
> Loading BPF is a could solution to doing dynamic flow matching.
> It needs to be done differently to be accepted.
> 
> Putting raw machine instructions in source code is as bad as binary
> blobs. You need to provide original source of program and then have
> build instructions to create any needed code.

The source program is provided in this patch: tap_bpf_program.c
It is pre-compiled to avoid requiring too many dependencies when building DPDK.

> There licensing concerns here as well. Any BPF program inserted
> in the kernel must be GPL. So you need to provide source.
> 
> Given the license overlap you should also document that in the rte_flow_tap.rst
> file.
> 
> The program that loads the program can be BSD, it just needs to pick
> up the BPF firmware file from a compiled ELF image.

The program that loads BPF is the TAP PMD itself.