summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
diff options
context:
space:
mode:
authorMiao Xu <miaxu@meta.com>2024-05-01 21:23:16 -0700
committerMartin KaFai Lau <martin.lau@kernel.org>2024-05-02 16:26:56 -0700
commit57bfc7605ca5b102ba336779ae9adbc5bbba1d96 (patch)
tree64660f733da0fc7270741e7822326c6c705e03fa /tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
parentf8c423d1ca4f4f4224bb6ca486478b7f51a91701 (diff)
tcp: Add new args for cong_control in tcp_congestion_ops
This patch adds two new arguments for cong_control of struct tcp_congestion_ops: - ack - flag These two arguments are inherited from the caller tcp_cong_control in tcp_intput.c. One use case of them is to update cwnd and pacing rate inside cong_control based on the info they provide. For example, the flag can be used to decide if it is the right time to raise or reduce a sender's cwnd. Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Miao Xu <miaxu@meta.com> Link: https://lore.kernel.org/r/20240502042318.801932-2-miaxu@meta.com Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c')
-rw-r--r--tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c b/tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
index fcfbfe0336b4..52b610357309 100644
--- a/tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
+++ b/tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
@@ -5,7 +5,7 @@
#include <bpf/bpf_tracing.h>
extern void bbr_init(struct sock *sk) __ksym;
-extern void bbr_main(struct sock *sk, const struct rate_sample *rs) __ksym;
+extern void bbr_main(struct sock *sk, u32 ack, int flag, const struct rate_sample *rs) __ksym;
extern u32 bbr_sndbuf_expand(struct sock *sk) __ksym;
extern u32 bbr_undo_cwnd(struct sock *sk) __ksym;
extern void bbr_cwnd_event(struct sock *sk, enum tcp_ca_event event) __ksym;
@@ -42,9 +42,9 @@ void BPF_PROG(in_ack_event, struct sock *sk, u32 flags)
}
SEC("struct_ops/cong_control")
-void BPF_PROG(cong_control, struct sock *sk, const struct rate_sample *rs)
+void BPF_PROG(cong_control, struct sock *sk, u32 ack, int flag, const struct rate_sample *rs)
{
- bbr_main(sk, rs);
+ bbr_main(sk, ack, flag, rs);
}
SEC("struct_ops/cong_avoid")