{"record":{"id":"0947af51e0761475","repo":"cilium/cilium","slug":"require-support-for-bpf-csum-level-linux-5-8-0","errorCode":null,"errorMessage":"Require support for bpf_csum_level() (Linux 5.8.0 or newer)","messagePattern":"Require support for bpf_csum_level\\(\\) \\(Linux 5\\.8\\.0 or newer\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/datapath/linux/requirements.go","lineNumber":123,"sourceCode":"\t\tif probes.HaveProgramHelper(log, ebpf.CGroupSock, asm.FnGetNetnsCookie) != nil ||\n\t\t\tprobes.HaveProgramHelper(log, ebpf.CGroupSockAddr, asm.FnGetNetnsCookie) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_get_netns_cookie() (Linux 5.7.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnSkAssign) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_sk_assign() (Linux 5.7.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.CGroupSockAddr, asm.FnGetCgroupClassid) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_get_cgroup_classid() (Linux 5.7.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.CGroupSockAddr, asm.FnPerfEventOutput) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_perf_event_output() (Linux 5.7.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnCsumLevel) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_csum_level() (Linux 5.8.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnSkbChangeHead) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_skb_change_head() (Linux 5.8.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnRedirectNeigh) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_redirect_neigh() (Linux 5.10.0 or newer)\")\n\t\t}\n\n\t\tif probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnRedirectPeer) != nil {\n\t\t\treturn errors.New(\"Require support for bpf_redirect_peer() (Linux 5.10.0 or newer)\")\n\t\t}\n\n\t\tif err := probes.HaveFibLookupSkipNeigh(); err != nil {\n\t\t\tif !errors.Is(err, probes.ErrNotSupported) {\n\t\t\t\treturn errors.New(\"Unable to determine if BPF_FIB_LOOKUP_SKIP_NEIGH is supported\")\n\t\t\t}","sourceCodeStart":105,"sourceCodeEnd":141,"githubUrl":"https://github.com/cilium/cilium/blob/ac7b90affa4baf0642e6685319d56907b3a73a6d/pkg/datapath/linux/requirements.go#L105-L141","documentation":"Returned by CheckRequirements when bpf_csum_level() is unavailable from a SCHED_CLS (tc) program. Cilium uses this helper to manage the checksum level when re-encapsulating/decapsulating packets (e.g., VXLAN, Geneve), which is required for correct offloaded checksums. The helper exists since Linux 5.8.0.","triggerScenarios":"probes.HaveProgramHelper(log, ebpf.SchedCLS, asm.FnCsumLevel) fails — kernel < 5.8.0 or verifier rejection of the tc probe program (feature compiled out).","commonSituations":"5.7 or older kernels (e.g., Ubuntu 20.04's 5.4), vendor kernels without the helper backported, custom minimal kernels.","solutions":["Upgrade the host kernel to 5.8.0 or newer (5.10+ LTS recommended).","If on a backported vendor kernel, confirm the helper is actually present (some distros backport features without raising uname).","Run a Cilium release matching your kernel's capability level if upgrade is not possible."],"exampleFix":"// before\n$ uname -r\n5.7.0-0.bpo  # fails: Require support for bpf_csum_level()\n// after\n$ uname -r\n5.10.0-x  # >= 5.8 -> probe passes","handlingStrategy":"validation","validationCode":"if v := linux.GetKernelVersion(); v.KLT < 5 || (v.KLT == 5 && v.KRV < 8) {\n    return errors.New(\"kernel too old for Cilium: need >= 5.8 (bpf_csum_level)\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use 5.10+ LTS kernels as the minimum node image","Re-validate kernel floor after every distro upgrade","Avoid mixing node pools with kernels below the Cilium requirement table","Run cilium's preflight kernel checks in CI"],"tags":["ebpf","linux-kernel","checksum","datapath"],"backgroundTag":"kernel-bpf-feature-unsupported","analyzedSha":"ac7b90affa4baf0642e6685319d56907b3a73a6d","analyzedAt":"2026-08-31T18:27:15.868Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}