lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu,  7 Nov 2019 18:47:35 +0100
From:   Magnus Karlsson <magnus.karlsson@...el.com>
To:     magnus.karlsson@...el.com, bjorn.topel@...el.com, ast@...nel.org,
        daniel@...earbox.net, netdev@...r.kernel.org,
        jonathan.lemon@...il.com, u9012063@...il.com
Cc:     bpf@...r.kernel.org
Subject: [PATCH bpf-next 0/5] Extend libbpf to support shared umems and Rx|Tx-only sockets

This patch set extends libbpf and the xdpsock sample program to
demonstrate the shared umem mode (XDP_SHARED_UMEM) as well as Rx-only
and Tx-only sockets. This in order for users to have an example to use
as a blue print and also so that these modes will be exercised more
frequently.

Note that the user needs to supply an XDP program with the
XDP_SHARED_UMEM mode that distributes the packets over the sockets
according to some policy. There is an example supplied with the
xdpsock program, but there is no default one in libbpf similarly to
when XDP_SHARED_UMEM is not used. The reason for this is that I felt
that supplying one that would work for all users in this mode is
futile. There are just tons of ways to distribute packets, so whatever
I come up with and build into libbpf would be wrong in most cases.

This patch has been applied against commit 30ee348c1267 ("Merge branch 'bpf-libbpf-fixes'")

Structure of the patch set:

Patch 1: Adds shared umem support to libbpf
Patch 2: Shared umem support and example XPD program added to xdpsock sample
Patch 3: Adds Rx-only and Tx-only support to libbpf
Patch 4: Uses Rx-only sockets for rxdrop and Tx-only sockets for txpush in
         the xdpsock sample
Patch 5: Add documentation entries for these two features

Thanks: Magnus

Magnus Karlsson (5):
  libbpf: support XDP_SHARED_UMEM with external XDP program
  samples/bpf: add XDP_SHARED_UMEM support to xdpsock
  libbpf: allow for creating Rx or Tx only AF_XDP sockets
  samples/bpf: use Rx-only and Tx-only sockets in xdpsock
  xsk: extend documentation for Rx|Tx-only sockets and shared umems

 Documentation/networking/af_xdp.rst |  28 +++++--
 samples/bpf/Makefile                |   1 +
 samples/bpf/xdpsock.h               |  11 +++
 samples/bpf/xdpsock_kern.c          |  24 ++++++
 samples/bpf/xdpsock_user.c          | 158 ++++++++++++++++++++++++++----------
 tools/lib/bpf/xsk.c                 |  32 +++++---
 6 files changed, 195 insertions(+), 59 deletions(-)
 create mode 100644 samples/bpf/xdpsock.h
 create mode 100644 samples/bpf/xdpsock_kern.c

--
2.7.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ