in pkg/ebpf/events/events.go [52:79]
func ConfigurePolicyEventsLogging(logger logr.Logger, enableCloudWatchLogs bool, mapFD int, enableIPv6 bool) error {
// Enable logging and setup ring buffer
if mapFD <= 0 {
logger.Info("MapFD is invalid")
return fmt.Errorf("Invalid Ringbuffer FD: %d", mapFD)
}
var mapFDList []int
mapFDList = append(mapFDList, mapFD)
eventsClient := goebpfevents.New()
eventChanList, err := eventsClient.InitRingBuffer(mapFDList)
if err != nil {
logger.Info("Failed to Initialize Ring Buffer", "err:", err)
return err
} else {
if enableCloudWatchLogs {
logger.Info("Cloudwatch log support is enabled")
err = setupCW(logger)
if err != nil {
logger.Error(err, "unable to initialize Cloudwatch Logs for Policy events")
return err
}
}
logger.Info("Configure Event loop ... ")
capturePolicyEvents(eventChanList[mapFD], logger, enableCloudWatchLogs, enableIPv6)
}
return nil
}