Alexei Starovoitov says: ==================== pull-request: bpf-next 2020-07-13 The following pull-request contains BPF updates for your *net-next* tree. We've added 36 non-merge commits during the last 7 day(s) which contain a total of 62 files changed, 2242 insertions(+), 468 deletions(-). The main changes are: 1) Avoid trace_printk warning banner by switching bpf_trace_printk to use its own tracing event, from Alan. 2) Better libbpf support on older kernels, from Andrii. 3) Additional AF_XDP stats, from Ciara. 4) build time resolution of BTF IDs, from Jiri. 5) BPF_CGROUP_INET_SOCK_RELEASE hook, from Stanislav. ====================
Showing the changes to include/uapi/linux (3 of 62 files). Show all
Unified · Split
| @@ -226,6 +226,7 @@ enum bpf_attach_type { · 225 unmodified lines | ||
| 226 | 226 | BPF_CGROUP_INET4_GETSOCKNAME, |
| 227 | 227 | BPF_CGROUP_INET6_GETSOCKNAME, |
| 228 | 228 | BPF_XDP_DEVMAP, |
| 229 | + BPF_CGROUP_INET_SOCK_RELEASE, | |
| 229 | 230 | __MAX_BPF_ATTACH_TYPE |
| 230 | 231 | }; |
| 231 | 232 | |
| @@ -73,9 +73,12 @@ struct xdp_umem_reg { · 72 unmodified lines | ||
| 73 | 73 | }; |
| 74 | 74 | |
| 75 | 75 | struct xdp_statistics { |
| 76 | − __u64 rx_dropped; /* Dropped for reasons other than invalid desc */ | |
| 76 | + __u64 rx_dropped; /* Dropped for other reasons */ | |
| 77 | 77 | __u64 rx_invalid_descs; /* Dropped due to invalid descriptor */ |
| 78 | 78 | __u64 tx_invalid_descs; /* Dropped due to invalid descriptor */ |
| 79 | + __u64 rx_ring_full; /* Dropped due to rx ring being full */ | |
| 80 | + __u64 rx_fill_ring_empty_descs; /* Failed to retrieve item from fill ring */ | |
| 81 | + __u64 tx_ring_empty_descs; /* Failed to retrieve item from tx ring */ | |
| 79 | 82 | }; |
| 80 | 83 | |
| 81 | 84 | struct xdp_options { |
| @@ -30,6 +30,7 @@ struct xdp_diag_msg { · 29 unmodified lines | ||
| 30 | 30 | #define XDP_SHOW_RING_CFG (1 << 1) |
| 31 | 31 | #define XDP_SHOW_UMEM (1 << 2) |
| 32 | 32 | #define XDP_SHOW_MEMINFO (1 << 3) |
| 33 | +#define XDP_SHOW_STATS (1 << 4) | |
| 33 | 34 | |
| 34 | 35 | enum { |
| 35 | 36 | XDP_DIAG_NONE, |
| @@ -41,6 +42,7 @@ enum { · 5 unmodified lines | ||
| 41 | 42 | XDP_DIAG_UMEM_FILL_RING, |
| 42 | 43 | XDP_DIAG_UMEM_COMPLETION_RING, |
| 43 | 44 | XDP_DIAG_MEMINFO, |
| 45 | + XDP_DIAG_STATS, | |
| 44 | 46 | __XDP_DIAG_MAX, |
| 45 | 47 | }; |
| 46 | 48 | |
| @@ -69,4 +71,13 @@ struct xdp_diag_umem { · 22 unmodified lines | ||
| 69 | 71 | __u32 refs; |
| 70 | 72 | }; |
| 71 | 73 | |
| 74 | +struct xdp_diag_stats { | |
| 75 | + __u64 n_rx_dropped; | |
| 76 | + __u64 n_rx_invalid; | |
| 77 | + __u64 n_rx_full; | |
| 78 | + __u64 n_fill_ring_empty; | |
| 79 | + __u64 n_tx_invalid; | |
| 80 | + __u64 n_tx_ring_empty; | |
| 81 | +}; | |
| 82 | + | |
| 72 | 83 | #endif /* _LINUX_XDP_DIAG_H */ |