jool: fix build for 6.18
authorJohn Audia <therealgraysky@proton.me>
Sat, 20 Dec 2025 15:42:18 +0000 (10:42 -0500)
committerJosef Schlehofer <pepe.schlehofer@gmail.com>
Sat, 20 Dec 2025 17:23:20 +0000 (18:23 +0100)
Add backport to fix build against 6.18 kernel.

Signed-off-by: John Audia <therealgraysky@proton.me>
net/jool/Makefile
net/jool/patches/200-fix-compilation-in-v6.18.patch [new file with mode: 0644]

index 97baba74356047dab20d80872b7c86ddbfd3e6ca..e5271d5d9a4d78ad14f3ac8b47f1dc0bd32e6341 100644 (file)
@@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=jool
 PKG_VERSION:=4.1.14
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
diff --git a/net/jool/patches/200-fix-compilation-in-v6.18.patch b/net/jool/patches/200-fix-compilation-in-v6.18.patch
new file mode 100644 (file)
index 0000000..01b948e
--- /dev/null
@@ -0,0 +1,37 @@
+From 89bd7a029b3ed81ac3b4e582b4049d2ea8722970 Mon Sep 17 00:00:00 2001
+From: Tj <tj.iam.tj@proton.me>
+Date: Mon, 1 Dec 2025 18:24:47 +0000
+Subject: [PATCH] Fix compilation in v6.18
+
+struct flowi4.tos renamed to 'dscp' and type dscp_t in commit
+1bec9d0c0046fe4e2bfb6a1c5aadcb5d56cdb0fb
+---
+ src/mod/common/rfc7915/6to4.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/src/mod/common/rfc7915/6to4.c
++++ b/src/mod/common/rfc7915/6to4.c
+@@ -203,7 +203,11 @@ static verdict compute_flowix64(struct x
+       hdr6 = pkt_ip6_hdr(&state->in);
+       flow4->flowi4_mark = state->in.skb->mark;
++#if LINUX_VERSION_AT_LEAST(6, 18, 0, 0, 0)
++      flow4->flowi4_dscp = xlat_tos(&state->jool.globals, hdr6);
++#else
+       flow4->flowi4_tos = xlat_tos(&state->jool.globals, hdr6);
++#endif
+       flow4->flowi4_scope = RT_SCOPE_UNIVERSE;
+       flow4->flowi4_proto = xlat_proto(hdr6);
+       /*
+@@ -645,7 +649,11 @@ static verdict ttp64_ipv4_external(struc
+       hdr4->version = 4;
+       hdr4->ihl = 5;
++#if LINUX_VERSION_AT_LEAST(6, 18, 0, 0, 0)
++      hdr4->tos = flow4->flowi4_dscp;
++#else
+       hdr4->tos = flow4->flowi4_tos;
++#endif
+       hdr4->tot_len = cpu_to_be16(state->out.skb->len);
+       generate_ipv4_id(state, hdr4, hdr_frag);
+       hdr4->frag_off = xlat_frag_off(hdr_frag, state);