netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/12] nfp: bpf: support direct packet access
@ 2017-10-12 17:34 Jakub Kicinski
  2017-10-12 17:34 ` [PATCH net-next 01/12] bpf: verifier: set reg_type on context accesses in second pass Jakub Kicinski
                   ` (12 more replies)
  0 siblings, 13 replies; 19+ messages in thread
From: Jakub Kicinski @ 2017-10-12 17:34 UTC (permalink / raw)
  To: netdev; +Cc: oss-drivers, Jakub Kicinski

Hi!

The core of this series is direct packet access support.  With a
small change to the verifier, the offloaded code can now make
use of DPA.  We need to be careful to use kernel (after initial
translation) offsets in our JIT.  Direct packet access also brings
us to the problem of eBPF endianness.  After considering the 
changes necessary we decided to not support translation on both
BE and LE hosts, for now.

This series contains two fixes - one for compare instructions and
one for ineffective jne optimization.  I chose to include fixes
in this set because the code in -net works only with unreleased
PoC FW (ABI version 1) and therefore nobody outside of Netronome
can exercise it anyway.


Jakub Kicinski (12):
  bpf: verifier: set reg_type on context accesses in second pass
  nfp: bpf: reorder arguments to emit_ld_field_any()
  nfp: bpf: add missing return in jne_imm optimization
  nfp: bpf: fix compare instructions
  nfp: bpf: add mov helper
  nfp: bpf: implement byte swap instruction
  nfp: bpf: support BPF offload only on little endian
  nfp: bpf: fix context accesses
  nfp: bpf: separate I/O from checks for legacy data load
  nfp: bpf: add support for direct packet access - read
  nfp: bpf: direct packet access - write
  nfp: bpf: support direct packet access in TC

 drivers/net/ethernet/netronome/nfp/bpf/jit.c      | 402 ++++++++++++++++++----
 drivers/net/ethernet/netronome/nfp/bpf/main.c     |   2 +
 drivers/net/ethernet/netronome/nfp/bpf/main.h     |   3 +
 drivers/net/ethernet/netronome/nfp/bpf/verifier.c |  21 +-
 drivers/net/ethernet/netronome/nfp/nfp_asm.c      |   5 +-
 drivers/net/ethernet/netronome/nfp/nfp_asm.h      |   6 +-
 kernel/bpf/verifier.c                             |  43 ++-
 7 files changed, 393 insertions(+), 89 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-10-14 18:13 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-12 17:34 [PATCH net-next 00/12] nfp: bpf: support direct packet access Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 01/12] bpf: verifier: set reg_type on context accesses in second pass Jakub Kicinski
2017-10-12 20:43   ` Daniel Borkmann
2017-10-12 20:56     ` Jakub Kicinski
2017-10-12 21:33       ` Daniel Borkmann
2017-10-12 21:39         ` Jakub Kicinski
2017-10-12 21:46           ` Daniel Borkmann
2017-10-12 17:34 ` [PATCH net-next 02/12] nfp: bpf: reorder arguments to emit_ld_field_any() Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 03/12] nfp: bpf: add missing return in jne_imm optimization Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 04/12] nfp: bpf: fix compare instructions Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 05/12] nfp: bpf: add mov helper Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 06/12] nfp: bpf: implement byte swap instruction Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 07/12] nfp: bpf: support BPF offload only on little endian Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 08/12] nfp: bpf: fix context accesses Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 09/12] nfp: bpf: separate I/O from checks for legacy data load Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 10/12] nfp: bpf: add support for direct packet access - read Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 11/12] nfp: bpf: direct packet access - write Jakub Kicinski
2017-10-12 17:34 ` [PATCH net-next 12/12] nfp: bpf: support direct packet access in TC Jakub Kicinski
2017-10-14 18:13 ` [PATCH net-next 00/12] nfp: bpf: support direct packet access David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).