From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by dpdk.org (Postfix) with ESMTP id 24C91548B for ; Thu, 30 Nov 2017 18:20:50 +0100 (CET) Received: by mail-pg0-f65.google.com with SMTP id j9so3250066pgc.11 for ; Thu, 30 Nov 2017 09:20:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=r02Rqj0K/muhqluVYuFFN05P1zOfDk/+mRXVWpH9X88=; b=MK4bkzi6uHAGzusSeAhqSxBxX6LQoaqePWcAR/c+wk6RRUcU0A8/uTe0+V+me45/vj CP2cqLvK67LQI6GLPIrq74KUVAISYVpUOmR9jdeo6RjE2l1ScEXJI9gEBW9fktE5suSa 29TyE+wE7d32SA86IX5g5RHomvQV5jZSci6UhIlrjOIci4eAi4cehByJU3JoEvopknDP C+IHcbZyOXDLfWSGyWnqeHlN+B8cDy9+/IDwCerIO1dK6AEFqZYcILdIpwjtJIDOiCNN MJrM3Fy/gCBcXejQ2yg5J2t+XXRpLgBALF3p6zKXjQUSkJ1KO6eU65MRaQCAVvArCBzZ ma1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=r02Rqj0K/muhqluVYuFFN05P1zOfDk/+mRXVWpH9X88=; b=inasy3Ei7+pyOiYeQH+E1caIkqp6a81hkPh1FyIB5c67E9pbi45Mon/Kq4cYWVDfXO QpmiEuHHSztg76VSnHwg8ZqYNOYakk4606t2qs8Ha1k9r50EN4XxfvwDjEqxW/m4wQLQ qIPxCbYxUkXChgmVti47jKRtUWtM/NPamsXnJZvR3m9aM6Bq86Gwqz25qlonLEGcmh9w iK7WacZouof6NWrI8T4WUHgJrmD5HnC7XMM3xi3bSCDMg22iXm8Mcd5R3OmpylVFlNIY fZKdQRlzUvjAkzdnJlcuO0kCrmyqmaXLJFknacm25KOYu1Ezmml1vY1ghpPyPELQg3xt +rhw== X-Gm-Message-State: AJaThX7bFvdyJOakrr2MMg8SgtlWNzn+qnt8pSyLtZPk8UJg5SX3Gewg tQYsod+Eo75c5hEJEqTp+NP7Bg== X-Google-Smtp-Source: AGs4zMYlpfxLzr5N1wfa0EIrLfksGxvcJcE+QGRANQctGKcWDdP10MXc7ud/8nMO9LfMvo5iaJjj+g== X-Received: by 10.99.140.22 with SMTP id m22mr3141300pgd.47.1512062450030; Thu, 30 Nov 2017 09:20:50 -0800 (PST) Received: from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240]) by smtp.gmail.com with ESMTPSA id v15sm9407306pfa.68.2017.11.30.09.20.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 30 Nov 2017 09:20:49 -0800 (PST) Date: Thu, 30 Nov 2017 09:20:42 -0800 From: Stephen Hemminger To: Thomas Monjalon Cc: dev@dpdk.org, Ophir Munk , Olga Shern , Pascal Mazon Message-ID: <20171130092042.402243a7@xeon-e3> In-Reply-To: <33612859.oYs3VmdAvV@xps> References: <1512028870-13597-1-git-send-email-ophirmu@mellanox.com> <1512028870-13597-2-git-send-email-ophirmu@mellanox.com> <20171130085408.0c7d68c2@xeon-e3> <33612859.oYs3VmdAvV@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Nov 2017 17:20:51 -0000 On Thu, 30 Nov 2017 18:05:22 +0100 Thomas Monjalon wrote: > 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. But the "freedom to modify" comes into play here. If a *evil* vendor builds an application based on DPDK and does not provide source. Then user still deserves the right to modify the eBPF program that it loads as GPL. The best solution is to make the TAP PMD loader routine load the program from a file. Although I am certainly not a FSF legal scholar, putting GPL'd object code in TAP PMD risks accusations of being a derived or combined work. > > > 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. >