From 0e9577bfc57ab23158e41ebc147e48e3e56013b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Date: Fri, 12 Sep 2025 06:14:18 -0700 Subject: [PATCH] bpf: tcpAccECN: eliminate header file and move more fully into netd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test: TreeHugger Flag: EXEMPT PURE_REFACTOR Signed-off-by: Maciej Żenczykowski Change-Id: I3a7a819e1958d7035aa9a046595ada45dce3be21 --- bpf/progs/netd.c | 4 ---- bpf/progs/netd.h | 17 +++++++++++++++++ bpf/progs/tcpAccECN.c | 6 ++---- bpf/progs/tcpAccECN.h | 17 ----------------- 4 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 bpf/progs/tcpAccECN.h diff --git a/bpf/progs/netd.c b/bpf/progs/netd.c index e8299ef9df..0c0e75e695 100644 --- a/bpf/progs/netd.c +++ b/bpf/progs/netd.c @@ -902,10 +902,6 @@ DEFINE_NETD_V_BPF_PROG_KVER(setsockopt, prog, , 5_4) return BPF_ALLOW; } -#undef BPFLOADER_MIN_VER -#undef BPF_OBJ_NAME -#undef DEFAULT_BPF_PIN_SUBDIR - #include "tcpAccECN.c" LICENSE("Apache 2.0"); diff --git a/bpf/progs/netd.h b/bpf/progs/netd.h index 8b9486ed68..66abbadaea 100644 --- a/bpf/progs/netd.h +++ b/bpf/progs/netd.h @@ -158,8 +158,25 @@ ASSERT_STRING_EQUAL(XT_BPF_DENYLIST_PROG_PATH, BPF_NETD_PATH "prog_netd_skfilte #define LOCAL_NET_ACCESS_MAP_PATH BPF_NETD_PATH "map_netd_local_net_access_map" #define LOCAL_NET_BLOCKED_UID_MAP_PATH BPF_NETD_PATH "map_netd_local_net_blocked_uid_map" +#define L4S_INGRESS_ETHER_PROG_PATH BPF_NETD_PATH "prog_netd_schedcls_ingress_accecn_eth" +#define L4S_EGRESS_ETHER_PROG_PATH BPF_NETD_PATH "prog_netd_schedcls_egress_accecn_eth" +#define L4S_INGRESS_RAWIP_PROG_PATH BPF_NETD_PATH "prog_netd_schedcls_ingress_accecn_rawip" +#define L4S_EGRESS_RAWIP_PROG_PATH BPF_NETD_PATH "prog_netd_schedcls_egress_accecn_rawip" +#define L4S_OPTIONS_SOCKOPS_PROG_PATH BPF_NETD_PATH "prog_netd_sockops_accecn_option" + +#define L4S_ACCECN_CE_MAP_PATH BPF_NETD_PATH "map_netd_l4s_accecn_ce_map" +#define L4S_ACCECN_BYTE_MAP_PATH BPF_NETD_PATH "map_netd_l4s_accecn_byte_map" +#define L4S_ACCECN_MSS_MAP_PATH BPF_NETD_PATH "map_netd_l4s_accecn_mss_map" + #endif // __cplusplus +typedef struct { + uint64_t ceb; + uint64_t e0b; + uint64_t e1b; +} EcnByteCounters; +STRUCT_SIZE(EcnByteCounters, 3 * 8); // 24 + // LINT.IfChange(match_type) enum UidOwnerMatchType : uint32_t { NO_MATCH = 0, diff --git a/bpf/progs/tcpAccECN.c b/bpf/progs/tcpAccECN.c index 04b3642865..609d09413d 100644 --- a/bpf/progs/tcpAccECN.c +++ b/bpf/progs/tcpAccECN.c @@ -33,13 +33,11 @@ #include #include -// The resulting .o needs to load on Android 26Q2+ +// The resulting maps/programs need to load on Android 26Q2+ +#undef BPFLOADER_MIN_VER #define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_26Q2_VERSION -#define BPF_OBJ_NAME "tcpAccECN" -#define DEFAULT_BPF_PIN_SUBDIR "netd_shared" #include "bpf_net_helpers.h" -#include "tcpAccECN.h" #define TCP_FLAGS_OFF 12 #define IP4_TCP_FLAGS_OFF (sizeof(struct iphdr) + TCP_FLAGS_OFF) diff --git a/bpf/progs/tcpAccECN.h b/bpf/progs/tcpAccECN.h deleted file mode 100644 index e927c6df88..0000000000 --- a/bpf/progs/tcpAccECN.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#define L4S_INGRESS_ETHER_PROG_PATH BPF_NETD_PATH "prog_tcpAccECN_schedcls_ingress_accecn_eth" -#define L4S_EGRESS_ETHER_PROG_PATH BPF_NETD_PATH "prog_tcpAccECN_schedcls_egress_accecn_eth" -#define L4S_INGRESS_RAWIP_PROG_PATH BPF_NETD_PATH "prog_tcpAccECN_schedcls_ingress_accecn_rawip" -#define L4S_EGRESS_RAWIP_PROG_PATH BPF_NETD_PATH "prog_tcpAccECN_schedcls_egress_accecn_rawip" -#define L4S_OPTIONS_SOCKOPS_PROG_PATH BPF_NETD_PATH "prog_tcpAccECN_sockops_l4s_accecn_option" -#define L4S_ACCECN_CE_MAP_PATH BPF_NETD_PATH "map_tcpAccECN_l4s_accecn_ce_map" -#define L4S_ACCECN_BYTE_MAP_PATH BPF_NETD_PATH "map_tcpAccECN_l4s_accecn_byte_map" -#define L4S_ACCECN_MSS_MAP_PATH BPF_NETD_PATH "map_tcpAccECN_l4s_accecn_mss_map" - -typedef struct{ - uint64_t ceb; - uint64_t e0b; - uint64_t e1b; -} EcnByteCounters; -STRUCT_SIZE(EcnByteCounters, 8 * 3);