diff options
Diffstat (limited to 'internal/ioriotng.go')
| -rw-r--r-- | internal/ioriotng.go | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/internal/ioriotng.go b/internal/ioriotng.go deleted file mode 100644 index e3332b2..0000000 --- a/internal/ioriotng.go +++ /dev/null @@ -1,66 +0,0 @@ -package internal - -import "C" - -import ( - "fmt" - - "ioriotng/internal/flags" - "ioriotng/internal/generated/tracepoints" - - bpf "github.com/aquasecurity/libbpfgo" -) - -func attachTracepoints(bpfModule *bpf.Module) error { - for _, name := range tracepoints.List { - prog, err := bpfModule.GetProgram(fmt.Sprintf("handle_%s", name)) - if err != nil { - return fmt.Errorf("Failed to get BPF program handle_%s: %v", name, err) - } - fmt.Println("Attached prog handle_" + name) - - if _, err = prog.AttachTracepoint("syscalls", name); err != nil { - // OK, older Kernel versions may not have this tracepoint! - fmt.Println(fmt.Errorf("Failed to attach to %s tracepoint: %v", name, err)) - continue - } - fmt.Println("Attached tracepoint " + name) - } - - return nil -} - -func Run(flags flags.Flags) { - bpfModule, err := bpf.NewModuleFromFile("ioriotng.bpf.o") - if err != nil { - panic(err) - } - defer bpfModule.Close() - - if err := flags.ResizeBPFMaps(bpfModule); err != nil { - panic(err) - } - - if err := flags.SetBPF(bpfModule); err != nil { - panic(err) - } - - if err := bpfModule.BPFLoadObject(); err != nil { - panic(err) - } - - if err := attachTracepoints(bpfModule); err != nil { - panic(err) - } - - // 4096 channel size, minimises event drops - ch := make(chan []byte, 4096) - rb, err := bpfModule.InitRingBuf("event_map", ch) - if err != nil { - panic(err) - } - rb.Poll(300) - newEventLoop(flags).run(ch) - - fmt.Println("Good bye") -} |
