Skip to content

Commit

Permalink
features: add LinuxVersionCode function to obtain LINUX_VERSION_CODE
Browse files Browse the repository at this point in the history
In order to allow userspace to determine the value used for LINUX_VERSION_CODE
at compile time, expose the constant here.

This is useful when building eBPF objects at runtime.
  • Loading branch information
brycekahle authored and ti-mo committed Feb 24, 2022
1 parent bf5a6cd commit b81c371
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions features/version.go
@@ -0,0 +1,18 @@
package features

import "github.com/cilium/ebpf/internal"

// LinuxVersionCode returns the version of the currently running kernel
// as defined in the LINUX_VERSION_CODE compile-time macro. It is represented
// in the format described by the KERNEL_VERSION macro from linux/version.h.
//
// Do not use the version to make assumptions about the presence of certain
// kernel features, always prefer feature probes in this package. Some
// distributions backport or disable eBPF features.
func LinuxVersionCode() (uint32, error) {
v, err := internal.KernelVersion()
if err != nil {
return 0, err
}
return v.Kernel(), nil
}

0 comments on commit b81c371

Please sign in to comment.