blob: fce784cad918bf64c344e66c2aaf542551ce3669 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package internal
import (
_ "embed"
"os"
bpf "github.com/aquasecurity/libbpfgo"
)
const (
bpfObjectOverrideEnv = "IOR_BPF_OBJECT"
embeddedBPFObjectName = "ior.bpf.o"
)
//go:embed c/ior.bpf.o
var embeddedBPFObject []byte
var (
newBPFModuleFromFile = bpf.NewModuleFromFile
newBPFModuleFromBuffer = bpf.NewModuleFromBuffer
)
func loadBPFModule() (*bpf.Module, string, error) {
if path := os.Getenv(bpfObjectOverrideEnv); path != "" {
module, err := newBPFModuleFromFile(path)
return module, "load module from override file", err
}
module, err := newBPFModuleFromBuffer(embeddedBPFObject, embeddedBPFObjectName)
return module, "load embedded module", err
}
|