Files
nix-config/packages/linux-cachyos/patches/asahi-tcp-cong-wants-ce-events.patch
mjallen18 8d3574e183 kek
2026-03-10 12:32:49 -05:00

33 lines
1.6 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
From: CachyOS/NixOS-CachyOS
Subject: [PATCH] net/tcp: add TCP_CONG_WANTS_CE_EVENTS for Asahi tree compat
The CachyOS 6.18 base patch adds TCP_CONG_WANTS_CE_EVENTS at BIT(2) and
a tcp_ca_wants_ce_events() helper in include/net/tcp.h, and updates
tcp_bbr.c and tcp_input.c to use them.
The Asahi linux tree already occupies BIT(2)BIT(4) with AccECN flags
(TCP_CONG_NEEDS_ACCECN, TCP_CONG_ECT_1_NEGOTIATION,
TCP_CONG_NO_FALLBACK_RFC3168), so the CachyOS hunk that defines
TCP_CONG_WANTS_CE_EVENTS fails to apply, while the later hunks that
*use* it (tcp_ca_wants_ce_events(), tcp_bbr.c .flags) succeed, leaving
a dangling undefined-identifier compile error.
Fix: define TCP_CONG_WANTS_CE_EVENTS at BIT(5) (the next free bit after
the AccECN flags) and add it to TCP_CONG_MASK. The tcp_ca_wants_ce_events()
helper and tcp_bbr.c / tcp_input.c callers are already in place from the
CachyOS patch, so this is sufficient to resolve the build error.
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1198,6 +1198,10 @@ enum tcp_ca_ack_event_flags {
/* Cannot fallback to RFC3168 during AccECN negotiation */
#define TCP_CONG_NO_FALLBACK_RFC3168 BIT(4)
+/* Wants notification of CE events (CA_EVENT_ECN_IS_CE, CA_EVENT_ECN_NO_CE).
+ * BIT(2)BIT(4) are taken by AccECN flags in the Asahi tree. */
+#define TCP_CONG_WANTS_CE_EVENTS BIT(5)
#define TCP_CONG_MASK (TCP_CONG_NON_RESTRICTED | TCP_CONG_NEEDS_ECN | \
- TCP_CONG_NEEDS_ACCECN | TCP_CONG_ECT_1_NEGOTIATION | \
- TCP_CONG_NO_FALLBACK_RFC3168)
+ TCP_CONG_NEEDS_ACCECN | TCP_CONG_ECT_1_NEGOTIATION | \
+ TCP_CONG_NO_FALLBACK_RFC3168 | TCP_CONG_WANTS_CE_EVENTS)