From e56b583ac5aca18c47a8010c99e0c6d7060306c0 Mon Sep 17 00:00:00 2001 From: manojks1999 <9743manoj@gmail.com> Date: Fri, 7 Feb 2025 01:02:53 +0530 Subject: [PATCH] Conntrack GC running in Retina default --- pkg/plugin/common/common_linux.go | 13 +++++++++++++ pkg/plugin/conntrack/conntrack_linux.go | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/pkg/plugin/common/common_linux.go b/pkg/plugin/common/common_linux.go index 92371f9c91..2f43d6dbe0 100644 --- a/pkg/plugin/common/common_linux.go +++ b/pkg/plugin/common/common_linux.go @@ -89,3 +89,16 @@ func NewPerfReader(l *log.ZapLogger, m *ebpf.Map, max, min int) (*perf.Reader, e } return nil, errors.New("failed to create perf reader") } + +// IsPluginEnabled checks if a given plugin is enabled in the config +func IsPluginEnabled(enabledPlugins []string, pluginName string) bool { + if enabledPlugins == nil { + return false + } + for _, plugin := range enabledPlugins { + if plugin == pluginName { + return true + } + } + return false +} diff --git a/pkg/plugin/conntrack/conntrack_linux.go b/pkg/plugin/conntrack/conntrack_linux.go index dc2fb0c449..a2ccd3bb0d 100644 --- a/pkg/plugin/conntrack/conntrack_linux.go +++ b/pkg/plugin/conntrack/conntrack_linux.go @@ -93,6 +93,12 @@ func GenerateDynamic(ctx context.Context, dynamicHeaderPath string, conntrackMet // Run starts the Conntrack garbage collection loop. func (ct *Conntrack) Run(ctx context.Context) error { + // Check if packetparser plugin is enabled + if !plugincommon.IsPluginEnabled(ct.cfg.EnabledPlugins, "packetparser") { + ct.l.Info("Skipping Conntrack GC loop as packetparser plugin is not enabled") + return nil + } + ticker := time.NewTicker(ct.gcFrequency) defer ticker.Stop()