mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
bpf: selftest: Test batching and bpf_(get|set)sockopt in bpf tcp iter
This patch adds tests for the batching and bpf_(get|set)sockopt in bpf tcp iter. It first creates: a) 1 non SO_REUSEPORT listener in lhash2. b) 256 passive and active fds connected to the listener in (a). c) 256 SO_REUSEPORT listeners in one of the lhash2 bucket. The test sets all listeners and connections to bpf_cubic before running the bpf iter. The bpf iter then calls setsockopt(TCP_CONGESTION) to switch each listener and connection from bpf_cubic to bpf_dctcp. The bpf iter has a random_retry mode such that it can return EAGAIN to the usespace in the middle of a batch. Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Reviewed-by: Eric Dumazet <edumazet@google.com> Acked-by: Kuniyuki Iwashima <kuniyu@amazon.co.jp> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20210701200625.1036874-1-kafai@fb.com
This commit is contained in:
parent
3cee6fb8e6
commit
eed92afdd1
5 changed files with 384 additions and 9 deletions
|
@ -5,6 +5,10 @@
|
|||
#define AF_INET 2
|
||||
#define AF_INET6 10
|
||||
|
||||
#define SOL_TCP 6
|
||||
#define TCP_CONGESTION 13
|
||||
#define TCP_CA_NAME_MAX 16
|
||||
|
||||
#define ICSK_TIME_RETRANS 1
|
||||
#define ICSK_TIME_PROBE0 3
|
||||
#define ICSK_TIME_LOSS_PROBE 5
|
||||
|
@ -32,6 +36,8 @@
|
|||
#define ir_v6_rmt_addr req.__req_common.skc_v6_daddr
|
||||
#define ir_v6_loc_addr req.__req_common.skc_v6_rcv_saddr
|
||||
|
||||
#define sk_num __sk_common.skc_num
|
||||
#define sk_dport __sk_common.skc_dport
|
||||
#define sk_family __sk_common.skc_family
|
||||
#define sk_rmem_alloc sk_backlog.rmem_alloc
|
||||
#define sk_refcnt __sk_common.skc_refcnt
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue