]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
bpf: selftests: Namespace struct_opt callbacks in bpf_dctcp
authorDaniel Xu <dxu@dxuuu.xyz>
Wed, 12 Jun 2024 15:58:31 +0000 (09:58 -0600)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 12 Jun 2024 18:01:31 +0000 (11:01 -0700)
With generated kfunc prototypes, the existing callback names will
conflict. Fix by namespacing with a bpf_ prefix.

Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Link: https://lore.kernel.org/r/efe7aadad8a054e5aeeba94b1d2e4502eee09d7a.1718207789.git.dxu@dxuuu.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/bpf_dctcp.c

index 3c9ffe340312399816c79f7650f65901da650e6d..02f552e7fd4d01b3d82d85ef18892806cccb9afe 100644 (file)
@@ -65,7 +65,7 @@ static void dctcp_reset(const struct tcp_sock *tp, struct bpf_dctcp *ca)
 }
 
 SEC("struct_ops")
-void BPF_PROG(dctcp_init, struct sock *sk)
+void BPF_PROG(bpf_dctcp_init, struct sock *sk)
 {
        const struct tcp_sock *tp = tcp_sk(sk);
        struct bpf_dctcp *ca = inet_csk_ca(sk);
@@ -77,7 +77,7 @@ void BPF_PROG(dctcp_init, struct sock *sk)
                                   (void *)fallback, sizeof(fallback)) == -EBUSY)
                        ebusy_cnt++;
 
-               /* Switch back to myself and the recurred dctcp_init()
+               /* Switch back to myself and the recurred bpf_dctcp_init()
                 * will get -EBUSY for all bpf_setsockopt(TCP_CONGESTION),
                 * except the last "cdg" one.
                 */
@@ -112,7 +112,7 @@ void BPF_PROG(dctcp_init, struct sock *sk)
 }
 
 SEC("struct_ops")
-__u32 BPF_PROG(dctcp_ssthresh, struct sock *sk)
+__u32 BPF_PROG(bpf_dctcp_ssthresh, struct sock *sk)
 {
        struct bpf_dctcp *ca = inet_csk_ca(sk);
        struct tcp_sock *tp = tcp_sk(sk);
@@ -122,7 +122,7 @@ __u32 BPF_PROG(dctcp_ssthresh, struct sock *sk)
 }
 
 SEC("struct_ops")
-void BPF_PROG(dctcp_update_alpha, struct sock *sk, __u32 flags)
+void BPF_PROG(bpf_dctcp_update_alpha, struct sock *sk, __u32 flags)
 {
        const struct tcp_sock *tp = tcp_sk(sk);
        struct bpf_dctcp *ca = inet_csk_ca(sk);
@@ -161,12 +161,12 @@ static void dctcp_react_to_loss(struct sock *sk)
 }
 
 SEC("struct_ops")
-void BPF_PROG(dctcp_state, struct sock *sk, __u8 new_state)
+void BPF_PROG(bpf_dctcp_state, struct sock *sk, __u8 new_state)
 {
        if (new_state == TCP_CA_Recovery &&
            new_state != BPF_CORE_READ_BITFIELD(inet_csk(sk), icsk_ca_state))
                dctcp_react_to_loss(sk);
-       /* We handle RTO in dctcp_cwnd_event to ensure that we perform only
+       /* We handle RTO in bpf_dctcp_cwnd_event to ensure that we perform only
         * one loss-adjustment per RTT.
         */
 }
@@ -208,7 +208,7 @@ static void dctcp_ece_ack_update(struct sock *sk, enum tcp_ca_event evt,
 }
 
 SEC("struct_ops")
-void BPF_PROG(dctcp_cwnd_event, struct sock *sk, enum tcp_ca_event ev)
+void BPF_PROG(bpf_dctcp_cwnd_event, struct sock *sk, enum tcp_ca_event ev)
 {
        struct bpf_dctcp *ca = inet_csk_ca(sk);
 
@@ -227,7 +227,7 @@ void BPF_PROG(dctcp_cwnd_event, struct sock *sk, enum tcp_ca_event ev)
 }
 
 SEC("struct_ops")
-__u32 BPF_PROG(dctcp_cwnd_undo, struct sock *sk)
+__u32 BPF_PROG(bpf_dctcp_cwnd_undo, struct sock *sk)
 {
        const struct bpf_dctcp *ca = inet_csk_ca(sk);
 
@@ -237,28 +237,28 @@ __u32 BPF_PROG(dctcp_cwnd_undo, struct sock *sk)
 extern void tcp_reno_cong_avoid(struct sock *sk, __u32 ack, __u32 acked) __ksym;
 
 SEC("struct_ops")
-void BPF_PROG(dctcp_cong_avoid, struct sock *sk, __u32 ack, __u32 acked)
+void BPF_PROG(bpf_dctcp_cong_avoid, struct sock *sk, __u32 ack, __u32 acked)
 {
        tcp_reno_cong_avoid(sk, ack, acked);
 }
 
 SEC(".struct_ops")
 struct tcp_congestion_ops dctcp_nouse = {
-       .init           = (void *)dctcp_init,
-       .set_state      = (void *)dctcp_state,
+       .init           = (void *)bpf_dctcp_init,
+       .set_state      = (void *)bpf_dctcp_state,
        .flags          = TCP_CONG_NEEDS_ECN,
        .name           = "bpf_dctcp_nouse",
 };
 
 SEC(".struct_ops")
 struct tcp_congestion_ops dctcp = {
-       .init           = (void *)dctcp_init,
-       .in_ack_event   = (void *)dctcp_update_alpha,
-       .cwnd_event     = (void *)dctcp_cwnd_event,
-       .ssthresh       = (void *)dctcp_ssthresh,
-       .cong_avoid     = (void *)dctcp_cong_avoid,
-       .undo_cwnd      = (void *)dctcp_cwnd_undo,
-       .set_state      = (void *)dctcp_state,
+       .init           = (void *)bpf_dctcp_init,
+       .in_ack_event   = (void *)bpf_dctcp_update_alpha,
+       .cwnd_event     = (void *)bpf_dctcp_cwnd_event,
+       .ssthresh       = (void *)bpf_dctcp_ssthresh,
+       .cong_avoid     = (void *)bpf_dctcp_cong_avoid,
+       .undo_cwnd      = (void *)bpf_dctcp_cwnd_undo,
+       .set_state      = (void *)bpf_dctcp_state,
        .flags          = TCP_CONG_NEEDS_ECN,
        .name           = "bpf_dctcp",
 };