30 lines · c
1// SPDX-License-Identifier: GPL-2.02 3#include "bpf_tracing_net.h"4#include <bpf/bpf_helpers.h>5#include <bpf/bpf_tracing.h>6 7char _license[] SEC("license") = "GPL";8 9SEC("struct_ops")10__u32 BPF_PROG(incompl_cong_ops_ssthresh, struct sock *sk)11{12 return tcp_sk(sk)->snd_ssthresh;13}14 15SEC("struct_ops")16__u32 BPF_PROG(incompl_cong_ops_undo_cwnd, struct sock *sk)17{18 return tcp_sk(sk)->snd_cwnd;19}20 21SEC(".struct_ops")22struct tcp_congestion_ops incompl_cong_ops = {23 /* Intentionally leaving out any of the required cong_avoid() and24 * cong_control() here.25 */26 .ssthresh = (void *)incompl_cong_ops_ssthresh,27 .undo_cwnd = (void *)incompl_cong_ops_undo_cwnd,28 .name = "bpf_incompl_ops",29};30