Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ A per-node observability agent for Kubernetes and Linux hosts. The agent
gathers container and host metrics, logs, and L7 traffic using eBPF and
exposes them in Prometheus format.

Minimum Linux kernel: **5.1** (eBPF CO-RE).
Minimum Linux kernel: **5.8** (L7 events use a BPF ring buffer).

> This project is a fork of
> [coroot/coroot-node-agent](https://github.com/coroot/coroot-node-agent)
Expand Down
7 changes: 5 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,11 @@ func main() {
klog.Exitln(err)
}

if !common.GetKernelVersion().GreaterOrEqual(common.NewVersion(4, 16, 0)) {
klog.Exitln("the minimum Linux kernel version required is 4.16 or later")
// L7 events go through a BPF ring buffer (BPF_MAP_TYPE_RINGBUF), which
// every program variant uses and which kernels before 5.8 do not have:
// on them the programs fail to load further on, with a less clear error.
if !common.GetKernelVersion().GreaterOrEqual(common.NewVersion(5, 8, 0)) {
klog.Exitln("the minimum Linux kernel version required is 5.8 or later (BPF ring buffer)")
}

resolver, err := newIPResolver(hostname)
Expand Down
Loading