From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= Subject: Re: [RFC v2 6/7] net/af_xdp: load BPF file Date: Wed, 9 May 2018 09:02:22 +0200 Message-ID: References: <20180308135249.28187-1-qi.z.zhang@intel.com> <20180308135249.28187-7-qi.z.zhang@intel.com> <20180308151500.2365b677@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: Qi Zhang , dev@dpdk.org, "Karlsson, Magnus" , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , Jesper Dangaard Brouer To: Stephen Hemminger Return-path: Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by dpdk.org (Postfix) with ESMTP id 7655C1C0B for ; Wed, 9 May 2018 09:02:23 +0200 (CEST) Received: by mail-qt0-f194.google.com with SMTP id q13-v6so43572076qtp.4 for ; Wed, 09 May 2018 00:02:23 -0700 (PDT) In-Reply-To: <20180308151500.2365b677@xeon-e3> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2018-03-09 0:15 GMT+01:00 Stephen Hemminger : > On Thu, 8 Mar 2018 21:52:48 +0800 > Qi Zhang wrote: > >> +struct bpf_insn prog[] =3D { >> + { >> + .code =3D 0x85, //call imm >> + .dst_reg =3D 0, >> + .src_reg =3D 0, >> + .off =3D 0, >> + .imm =3D BPF_FUNC_xdpsk_redirect, >> + }, >> + { >> + .code =3D 0x95, //exit >> + .dst_reg =3D 0, >> + .src_reg =3D 0, >> + .off =3D 0, >> + .imm =3D 0, >> + }, >> +}; >> + >> +int load_bpf_file(void) >> +{ >> + int fd; >> + >> + fd =3D bpf_load_program(BPF_PROG_TYPE_XDP, prog, >> + ARRAY_SIZE(prog), >> + "GPL", 0, >> + bpf_log_buf, BPF_LOG_BUF_SIZE); > > Still have license conflict here. The short bpf program is in BSD code an= d therefore > is BSD, not GPL. But kernel won't let you load non-GPL programs. > Raising a dead thread! Loading a bpf program that's *not* gpl is not an issue. The only think to keep in mind is that some bpf helpers are gpl only -- still -- loading non-gpl bpf code is perfectly ok. So, the issue here is that bpf_load_program passes "GPL" and therefore making the program gpl. Bj=C3=B6rn > Please check with Intel open source compliance to find a GPL solution. > > A possible license safe solution is more complex. You need to provide ori= ginal program > source for the BPF program under dual clause (GPL-2/BSD-3); then read in = that object > file and load it. A user wishing to exercise their GPL rights can then t= ake your > source file and modify and create new file to load. > > Doing this also creates additional GPL issues for appliance vendors using= AF_XDP. > They need to make available the source of all these XDP BPF programs. > > Complying with mixed licenses is hard.