Skip to content

Commit 665565b

Browse files
committed
Preserve results when NLM_F_DUMP_INTR is set
Similar to #1018, but for ConntrackDeleteFilters() Relates to kubernetes/kubernetes#129562
1 parent 68cf136 commit 665565b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

conntrack_linux.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -159,13 +159,18 @@ func (h *Handle) ConntrackDeleteFilter(table ConntrackTableType, family InetFami
159159
// ConntrackDeleteFilters deletes entries on the specified table matching any of the specified filters using the netlink handle passed
160160
// conntrack -D [table] parameters Delete conntrack or expectation
161161
func (h *Handle) ConntrackDeleteFilters(table ConntrackTableType, family InetFamily, filters ...CustomConntrackFilter) (uint, error) {
162+
var errMsgs []string
162163
res, err := h.dumpConntrackTable(table, family)
163164
if err != nil {
164-
return 0, err
165+
if !errors.Is(err, ErrDumpInterrupted) {
166+
return 0, err
167+
}
168+
// This allows us to at least do a best effort to try to clean the
169+
// entries matching the filter.
170+
errMsgs = append(errMsgs, err.Error())
165171
}
166172

167173
var matched uint
168-
var errMsgs []string
169174
for _, dataRaw := range res {
170175
flow := parseRawData(dataRaw)
171176
for _, filter := range filters {

0 commit comments

Comments
 (0)