From f46c8ced4bce2269403fd3989399845071e18668 Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Fri, 30 Oct 2026 13:44:41 +0000 Subject: [PATCH 1/4] Register opt-in UDP test kernel without changing default --- lib/system/versions.go | 12 ++++++++++++ lib/system/versions_test.go | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/lib/system/versions.go b/lib/system/versions.go index 7743add04..410b02393 100644 --- a/lib/system/versions.go +++ b/lib/system/versions.go @@ -23,6 +23,9 @@ const ( // Kernel_202605291 is the current kernel version with VMGenID support for snapshot resume detection Kernel_202605291 KernelVersion = "ch-6.12.8-kernel-3.0-202605291" + + // Kernel_202610301_UDPTest is an opt-in test kernel with IPv4 TPROXY and policy routing. + Kernel_202610301_UDPTest KernelVersion = "ch-6.12.8-kernel-3.1-udp-test-202610301" ) var ( @@ -36,11 +39,16 @@ var ( Kernel_202603091, Kernel_202602101, Kernel_202601152, + Kernel_202610301_UDPTest, } ) // KernelDownloadURLs maps kernel versions and architectures to download URLs var KernelDownloadURLs = map[KernelVersion]map[string]string{ + Kernel_202610301_UDPTest: { + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/vmlinux-x86_64", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/Image-arm64", + }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/vmlinux-x86_64", "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/Image-arm64", @@ -66,6 +74,10 @@ var KernelDownloadURLs = map[KernelVersion]map[string]string{ // KernelHeaderURLs maps kernel versions and architectures to kernel header tarball URLs // These tarballs contain kernel headers needed for DKMS to build out-of-tree modules (e.g., NVIDIA vGPU drivers) var KernelHeaderURLs = map[KernelVersion]map[string]string{ + Kernel_202610301_UDPTest: { + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/kernel-headers-x86_64.tar.gz", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/kernel-headers-aarch64.tar.gz", + }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/kernel-headers-x86_64.tar.gz", "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/kernel-headers-aarch64.tar.gz", diff --git a/lib/system/versions_test.go b/lib/system/versions_test.go index 9a41a3556..248629d34 100644 --- a/lib/system/versions_test.go +++ b/lib/system/versions_test.go @@ -14,3 +14,20 @@ func TestParseKernelVersion(t *testing.T) { _, ok = ParseKernelVersion("ch-6.12.8-kernel-9.9-20990101") assert.False(t, ok) } + +func TestUDPTestKernelRegistration(t *testing.T) { + version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.1-udp-test-202610301") + assert.True(t, ok) + assert.Equal(t, Kernel_202610301_UDPTest, version) + assert.Equal(t, Kernel_202605291, DefaultKernelVersion) + + baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/" + assert.Equal(t, map[string]string{ + "x86_64": baseURL + "vmlinux-x86_64", + "aarch64": baseURL + "Image-arm64", + }, KernelDownloadURLs[version]) + assert.Equal(t, map[string]string{ + "x86_64": baseURL + "kernel-headers-x86_64.tar.gz", + "aarch64": baseURL + "kernel-headers-aarch64.tar.gz", + }, KernelHeaderURLs[version]) +} From 9f8fd1770aacc95fd187a7ae5332802c499c3eae Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Fri, 30 Oct 2026 13:55:39 +0000 Subject: [PATCH 2/4] Use standard kernel release version --- lib/system/versions.go | 18 +++++++++--------- lib/system/versions_test.go | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/system/versions.go b/lib/system/versions.go index 410b02393..6bc23cb36 100644 --- a/lib/system/versions.go +++ b/lib/system/versions.go @@ -24,8 +24,8 @@ const ( // Kernel_202605291 is the current kernel version with VMGenID support for snapshot resume detection Kernel_202605291 KernelVersion = "ch-6.12.8-kernel-3.0-202605291" - // Kernel_202610301_UDPTest is an opt-in test kernel with IPv4 TPROXY and policy routing. - Kernel_202610301_UDPTest KernelVersion = "ch-6.12.8-kernel-3.1-udp-test-202610301" + // Kernel_202610301 adds IPv4 TPROXY and policy routing. + Kernel_202610301 KernelVersion = "ch-6.12.8-kernel-3.1-202610301" ) var ( @@ -39,15 +39,15 @@ var ( Kernel_202603091, Kernel_202602101, Kernel_202601152, - Kernel_202610301_UDPTest, + Kernel_202610301, } ) // KernelDownloadURLs maps kernel versions and architectures to download URLs var KernelDownloadURLs = map[KernelVersion]map[string]string{ - Kernel_202610301_UDPTest: { - "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/vmlinux-x86_64", - "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/Image-arm64", + Kernel_202610301: { + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/vmlinux-x86_64", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/Image-arm64", }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/vmlinux-x86_64", @@ -74,9 +74,9 @@ var KernelDownloadURLs = map[KernelVersion]map[string]string{ // KernelHeaderURLs maps kernel versions and architectures to kernel header tarball URLs // These tarballs contain kernel headers needed for DKMS to build out-of-tree modules (e.g., NVIDIA vGPU drivers) var KernelHeaderURLs = map[KernelVersion]map[string]string{ - Kernel_202610301_UDPTest: { - "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/kernel-headers-x86_64.tar.gz", - "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/kernel-headers-aarch64.tar.gz", + Kernel_202610301: { + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/kernel-headers-x86_64.tar.gz", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/kernel-headers-aarch64.tar.gz", }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/kernel-headers-x86_64.tar.gz", diff --git a/lib/system/versions_test.go b/lib/system/versions_test.go index 248629d34..b83a1036f 100644 --- a/lib/system/versions_test.go +++ b/lib/system/versions_test.go @@ -15,13 +15,13 @@ func TestParseKernelVersion(t *testing.T) { assert.False(t, ok) } -func TestUDPTestKernelRegistration(t *testing.T) { - version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.1-udp-test-202610301") +func TestKernel202610301Registration(t *testing.T) { + version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.1-202610301") assert.True(t, ok) - assert.Equal(t, Kernel_202610301_UDPTest, version) + assert.Equal(t, Kernel_202610301, version) assert.Equal(t, Kernel_202605291, DefaultKernelVersion) - baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-udp-test-202610301/" + baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/" assert.Equal(t, map[string]string{ "x86_64": baseURL + "vmlinux-x86_64", "aarch64": baseURL + "Image-arm64", From c3bf5b16af87577b255670b0a7cdd9cce2e27a27 Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Fri, 30 Oct 2026 15:58:19 +0000 Subject: [PATCH 3/4] Use kernel 3.2 with IPv6 enabled --- lib/system/versions.go | 12 ++++++------ lib/system/versions_test.go | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/system/versions.go b/lib/system/versions.go index 6bc23cb36..30ceb8c40 100644 --- a/lib/system/versions.go +++ b/lib/system/versions.go @@ -24,8 +24,8 @@ const ( // Kernel_202605291 is the current kernel version with VMGenID support for snapshot resume detection Kernel_202605291 KernelVersion = "ch-6.12.8-kernel-3.0-202605291" - // Kernel_202610301 adds IPv4 TPROXY and policy routing. - Kernel_202610301 KernelVersion = "ch-6.12.8-kernel-3.1-202610301" + // Kernel_202610301 adds IPv4 TPROXY, policy routing, and IPv6 support. + Kernel_202610301 KernelVersion = "ch-6.12.8-kernel-3.2-202610301" ) var ( @@ -46,8 +46,8 @@ var ( // KernelDownloadURLs maps kernel versions and architectures to download URLs var KernelDownloadURLs = map[KernelVersion]map[string]string{ Kernel_202610301: { - "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/vmlinux-x86_64", - "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/Image-arm64", + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/vmlinux-x86_64", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/Image-arm64", }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/vmlinux-x86_64", @@ -75,8 +75,8 @@ var KernelDownloadURLs = map[KernelVersion]map[string]string{ // These tarballs contain kernel headers needed for DKMS to build out-of-tree modules (e.g., NVIDIA vGPU drivers) var KernelHeaderURLs = map[KernelVersion]map[string]string{ Kernel_202610301: { - "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/kernel-headers-x86_64.tar.gz", - "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/kernel-headers-aarch64.tar.gz", + "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/kernel-headers-x86_64.tar.gz", + "aarch64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/kernel-headers-aarch64.tar.gz", }, Kernel_202605291: { "x86_64": "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.0-202605291/kernel-headers-x86_64.tar.gz", diff --git a/lib/system/versions_test.go b/lib/system/versions_test.go index b83a1036f..a86d059d1 100644 --- a/lib/system/versions_test.go +++ b/lib/system/versions_test.go @@ -16,12 +16,12 @@ func TestParseKernelVersion(t *testing.T) { } func TestKernel202610301Registration(t *testing.T) { - version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.1-202610301") + version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.2-202610301") assert.True(t, ok) assert.Equal(t, Kernel_202610301, version) assert.Equal(t, Kernel_202605291, DefaultKernelVersion) - baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.1-202610301/" + baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/" assert.Equal(t, map[string]string{ "x86_64": baseURL + "vmlinux-x86_64", "aarch64": baseURL + "Image-arm64", From 970b672e3a6a7075297c05c72813926af291fc6b Mon Sep 17 00:00:00 2001 From: sjmiller609 <7516283+sjmiller609@users.noreply.github.com> Date: Fri, 30 Oct 2026 17:16:36 +0000 Subject: [PATCH 4/4] Make kernel 3.2 the default --- lib/system/versions.go | 4 ++-- lib/system/versions_test.go | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/system/versions.go b/lib/system/versions.go index 30ceb8c40..cf9be7d4e 100644 --- a/lib/system/versions.go +++ b/lib/system/versions.go @@ -30,16 +30,16 @@ const ( var ( // DefaultKernelVersion is the kernel version used for new instances - DefaultKernelVersion = Kernel_202605291 + DefaultKernelVersion = Kernel_202610301 // SupportedKernelVersions lists all supported kernel versions SupportedKernelVersions = []KernelVersion{ + Kernel_202610301, Kernel_202605291, Kernel_202603301, Kernel_202603091, Kernel_202602101, Kernel_202601152, - Kernel_202610301, } ) diff --git a/lib/system/versions_test.go b/lib/system/versions_test.go index a86d059d1..3b1c763b3 100644 --- a/lib/system/versions_test.go +++ b/lib/system/versions_test.go @@ -19,7 +19,12 @@ func TestKernel202610301Registration(t *testing.T) { version, ok := ParseKernelVersion("ch-6.12.8-kernel-3.2-202610301") assert.True(t, ok) assert.Equal(t, Kernel_202610301, version) - assert.Equal(t, Kernel_202605291, DefaultKernelVersion) + assert.Equal(t, Kernel_202610301, DefaultKernelVersion) + assert.Equal(t, DefaultKernelVersion, SupportedKernelVersions[0]) + + previous, ok := ParseKernelVersion(string(Kernel_202605291)) + assert.True(t, ok) + assert.Equal(t, Kernel_202605291, previous) baseURL := "https://github.com/kernel/linux/releases/download/ch-6.12.8-kernel-3.2-202610301/" assert.Equal(t, map[string]string{