mbox series

[bpf-next,0/2] Split bpf_sock dst_port field

Message ID 20220127172448.155686-1-jakub@cloudflare.com (mailing list archive)
Headers show
Series Split bpf_sock dst_port field | expand

Message

Jakub Sitnicki Jan. 27, 2022, 5:24 p.m. UTC
This is a follow-up to discussion around the idea of making dst_port in struct
bpf_sock a 16-bit field that happened in [1]. I have fleshed it out further:

v1:
- keep dst_field offset unchanged to prevent existing BPF program breakage
  (Martin)
- allow 8-bit loads from dst_port[0] and [1]
- add test coverage for the verifier and the context access converter

[1] https://lore.kernel.org/bpf/87sftbobys.fsf@cloudflare.com/

Jakub Sitnicki (2):
  bpf: Make dst_port field in struct bpf_sock 16-bit wide
  selftests/bpf: Extend verifier and bpf_sock tests for dst_port loads

 include/uapi/linux/bpf.h                      |  3 +-
 net/core/filter.c                             |  9 ++-
 tools/include/uapi/linux/bpf.h                |  3 +-
 .../selftests/bpf/prog_tests/sock_fields.c    | 58 +++++++++----
 .../selftests/bpf/progs/test_sock_fields.c    | 41 ++++++++++
 tools/testing/selftests/bpf/verifier/sock.c   | 81 ++++++++++++++++++-
 6 files changed, 172 insertions(+), 23 deletions(-)

Comments

Martin KaFai Lau Jan. 28, 2022, 6:31 a.m. UTC | #1
On Thu, Jan 27, 2022 at 06:24:46PM +0100, Jakub Sitnicki wrote:
> This is a follow-up to discussion around the idea of making dst_port in struct
> bpf_sock a 16-bit field that happened in [1]. I have fleshed it out further:
> 
> v1:
> - keep dst_field offset unchanged to prevent existing BPF program breakage
>   (Martin)
> - allow 8-bit loads from dst_port[0] and [1]
> - add test coverage for the verifier and the context access converter
lgtm. Thanks for the patches.

Acked-by: Martin KaFai Lau <kafai@fb.com>