Alexei Starovoitov says: ==================== pull-request: bpf 2020-02-19 The following pull-request contains BPF updates for your *net* tree. We've added 10 non-merge commits during the last 10 day(s) which contain a total of 10 files changed, 93 insertions(+), 31 deletions(-). The main changes are: 1) batched bpf hashtab fixes from Brian and Yonghong. 2) various selftests and libbpf fixes. ====================
Showing the changes to include/uapi/linux (1 of 10 files). Show all
Unified · Split
| @@ -1045,9 +1045,9 @@ union bpf_attr { · 1044 unmodified lines | |||
| 1045 | * supports redirection to the egress interface, and accepts no | 1045 | * supports redirection to the egress interface, and accepts no |
| 1046 | * flag at all. | 1046 | * flag at all. |
| 1047 | * | 1047 | * |
| 1048 | * The same effect can be attained with the more generic | 1048 | * The same effect can also be attained with the more generic |
| 1049 | * **bpf_redirect_map**\ (), which requires specific maps to be | 1049 | * **bpf_redirect_map**\ (), which uses a BPF map to store the |
| 1050 | * used but offers better performance. | 1050 | * redirect target instead of providing it directly to the helper. |
| 1051 | * Return | 1051 | * Return |
| 1052 | * For XDP, the helper returns **XDP_REDIRECT** on success or | 1052 | * For XDP, the helper returns **XDP_REDIRECT** on success or |
| 1053 | * **XDP_ABORTED** on error. For other program types, the values | 1053 | * **XDP_ABORTED** on error. For other program types, the values |
| @@ -1611,13 +1611,11 @@ union bpf_attr { · 557 unmodified lines | |||
| 1611 | * the caller. Any higher bits in the *flags* argument must be | 1611 | * the caller. Any higher bits in the *flags* argument must be |
| 1612 | * unset. | 1612 | * unset. |
| 1613 | * | 1613 | * |
| 1614 | * When used to redirect packets to net devices, this helper | 1614 | * See also bpf_redirect(), which only supports redirecting to an |
| 1615 | * provides a high performance increase over **bpf_redirect**\ (). | 1615 | * ifindex, but doesn't require a map to do so. |
| 1616 | * This is due to various implementation details of the underlying | ||
| 1617 | * mechanisms, one of which is the fact that **bpf_redirect_map**\ | ||
| 1618 | * () tries to send packet as a "bulk" to the device. | ||
| 1619 | * Return | 1616 | * Return |
| 1620 | * **XDP_REDIRECT** on success, or **XDP_ABORTED** on error. | 1617 | * **XDP_REDIRECT** on success, or the value of the two lower bits |
| 1618 | * of the **flags* argument on error. | ||
| 1621 | * | 1619 | * |
| 1622 | * int bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags) | 1620 | * int bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags) |
| 1623 | * Description | 1621 | * Description |