Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
authorDavid S. Miller <davem@davemloft.net>
Mon, 13 Aug 2018 17:07:23 +0000 (10:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Aug 2018 17:07:23 +0000 (10:07 -0700)
Daniel Borkmann says:

====================
pull-request: bpf-next 2018-08-13

The following pull-request contains BPF updates for your *net-next* tree.

The main changes are:

1) Add driver XDP support for veth. This can be used in conjunction with
   redirect of another XDP program e.g. sitting on NIC so the xdp_frame
   can be forwarded to the peer veth directly without modification,
   from Toshiaki.

2) Add a new BPF map type REUSEPORT_SOCKARRAY and prog type SK_REUSEPORT
   in order to provide more control and visibility on where a SO_REUSEPORT
   sk should be located, and the latter enables to directly select a sk
   from the bpf map. This also enables map-in-map for application migration
   use cases, from Martin.

3) Add a new BPF helper bpf_skb_ancestor_cgroup_id() that returns the id
   of cgroup v2 that is the ancestor of the cgroup associated with the
   skb at the ancestor_level, from Andrey.

4) Implement BPF fs map pretty-print support based on BTF data for regular
   hash table and LRU map, from Yonghong.

5) Decouple the ability to attach BTF for a map from the key and value
   pretty-printer in BPF fs, and enable further support of BTF for maps for
   percpu and LPM trie, from Daniel.

6) Implement a better BPF sample of using XDP's CPU redirect feature for
   load balancing SKB processing to remote CPU. The sample implements the
   same XDP load balancing as Suricata does which is symmetric hash based
   on IP and L4 protocol, from Jesper.

7) Revert adding NULL pointer check with WARN_ON_ONCE() in __xdp_return()'s
   critical path as it is ensured that the allocator is present, from Björn.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
1  2 
include/linux/skbuff.h
kernel/bpf/cpumap.c
kernel/bpf/devmap.c
kernel/bpf/sockmap.c
samples/bpf/xdp_redirect_cpu_kern.c
samples/bpf/xdp_redirect_cpu_user.c

Simple merge
Simple merge
Simple merge
Simple merge
index 0cc3d71057f03d53eb552995177a1fd405041820,081ef4bb4fe30b940524a5513da637d26739014a..a306d1c756227fa86187f1ae5932afab31d87df9
@@@ -13,8 -13,9 +13,9 @@@
  
  #include <uapi/linux/bpf.h>
  #include "bpf_helpers.h"
+ #include "hash_func01.h"
  
 -#define MAX_CPUS 12 /* WARNING - sync with _user.c */
 +#define MAX_CPUS 64 /* WARNING - sync with _user.c */
  
  /* Special map type that can XDP_REDIRECT frames to another CPU */
  struct bpf_map_def SEC("maps") cpu_map = {
index 4b4d78fffe30427d26ee28a338ff6749dccb7448,007710d7c748871e615ebebb1d3d37dde8d0ac05..9a6c7e0a6dd1a7412f43e99da975ac64bc7223c6
@@@ -19,10 -19,10 +19,10 @@@ static const char *__doc__ 
  #include <arpa/inet.h>
  #include <linux/if_link.h>
  
 -#define MAX_CPUS 12 /* WARNING - sync with _kern.c */
 +#define MAX_CPUS 64 /* WARNING - sync with _kern.c */
  
  /* How many xdp_progs are defined in _kern.c */
- #define MAX_PROG 5
+ #define MAX_PROG 6
  
  /* Wanted to get rid of bpf_load.h and fake-"libbpf.h" (and instead
   * use bpf/libbpf.h), but cannot as (currently) needed for XDP