From b6f49d0728cfd978a3755e350b4b5696f0bfa5f6 Mon Sep 17 00:00:00 2001 From: Adrian Moisey Date: Thu, 30 Jan 2025 20:09:30 +0200 Subject: [PATCH] Add retries to conntracker.ClearEntries() Signed-off-by: Daman Arora --- pkg/proxy/conntrack/conntrack.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/proxy/conntrack/conntrack.go b/pkg/proxy/conntrack/conntrack.go index b6c2a31fe07..53cf6ba57f3 100644 --- a/pkg/proxy/conntrack/conntrack.go +++ b/pkg/proxy/conntrack/conntrack.go @@ -75,7 +75,15 @@ func (ct *conntracker) ClearEntries(ipFamily uint8, filters ...netlink.CustomCon return 0, nil } - n, err := ct.handler.ConntrackDeleteFilters(netlink.ConntrackTable, netlink.InetFamily(ipFamily), filters...) + var n uint + var err error + err = retry.OnError(util.MaxAttemptsEINTR, util.ShouldRetryOnEINTR, func() error { + var count uint + count, err = ct.handler.ConntrackDeleteFilters(netlink.ConntrackTable, netlink.InetFamily(ipFamily), filters...) + n += count + return err + }) + if err != nil { return int(n), fmt.Errorf("error deleting conntrack entries, error: %w", err) }