From c3a41ac0cb15d3f2665d75051260c1909b434548 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 17 Feb 2024 14:12:01 +0200 Subject: using global variables for more efficient filtering of events --- internal/flags/flags.bpf.h | 3 +++ internal/flags/flags.go | 14 +++----------- 2 files changed, 6 insertions(+), 11 deletions(-) create mode 100644 internal/flags/flags.bpf.h (limited to 'internal/flags') diff --git a/internal/flags/flags.bpf.h b/internal/flags/flags.bpf.h new file mode 100644 index 0000000..769d9ef --- /dev/null +++ b/internal/flags/flags.bpf.h @@ -0,0 +1,3 @@ +//+build ignore + +const volatile u32 UID_FILTER = 0; diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2331762..f139654 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -3,8 +3,6 @@ package flags import ( "flag" "fmt" - "ioriotng/internal/types" - "unsafe" bpf "github.com/aquasecurity/libbpfgo" ) @@ -23,16 +21,10 @@ func New() (flags Flags) { } func (flags Flags) SetBPF(bpfModule *bpf.Module) error { - flagsMap, err := bpfModule.GetMap("flags_map") - if err != nil { - return err + if err := bpfModule.InitGlobalVariable("UID_FILTER", uint32(flags.UidFilter)); err != nil { + return fmt.Errorf("unable to set up UID_FILTER global variable: %w", err) } - - var ( - key = uint32(1) - flagsValues = types.FlagValues{uint32(flags.UidFilter)} - ) - return flagsMap.Update(unsafe.Pointer(&key), unsafe.Pointer(&flagsValues)) + return nil } func (flags Flags) ResizeBPFMaps(bpfModule *bpf.Module) error { -- cgit v1.2.3