diff --git a/bpf/flows_filter.h b/bpf/flows_filter.h index 2deee61e6..c1d946769 100644 --- a/bpf/flows_filter.h +++ b/bpf/flows_filter.h @@ -140,6 +140,9 @@ static __always_inline int do_flow_filter_lookup(flow_id *id, struct filter_key_ } break; } + } else { + result = 0; + goto end; } if (!is_zero_ip(rule->ip, len)) { diff --git a/pkg/ebpf/bpf_arm64_bpfel.o b/pkg/ebpf/bpf_arm64_bpfel.o index b73811ea5..3351e146d 100644 Binary files a/pkg/ebpf/bpf_arm64_bpfel.o and b/pkg/ebpf/bpf_arm64_bpfel.o differ diff --git a/pkg/ebpf/bpf_powerpc_bpfel.o b/pkg/ebpf/bpf_powerpc_bpfel.o index 94f67ccb6..fe6e5617d 100644 Binary files a/pkg/ebpf/bpf_powerpc_bpfel.o and b/pkg/ebpf/bpf_powerpc_bpfel.o differ diff --git a/pkg/ebpf/bpf_s390_bpfeb.o b/pkg/ebpf/bpf_s390_bpfeb.o index 47506cc7d..81f2a8999 100644 Binary files a/pkg/ebpf/bpf_s390_bpfeb.o and b/pkg/ebpf/bpf_s390_bpfeb.o differ diff --git a/pkg/ebpf/bpf_x86_bpfel.o b/pkg/ebpf/bpf_x86_bpfel.o index 98201800d..c00a90f3e 100644 Binary files a/pkg/ebpf/bpf_x86_bpfel.o and b/pkg/ebpf/bpf_x86_bpfel.o differ diff --git a/pkg/flow/deduper.go b/pkg/flow/deduper.go index 13db64010..274cc7eef 100644 --- a/pkg/flow/deduper.go +++ b/pkg/flow/deduper.go @@ -88,6 +88,7 @@ func (c *deduperCache) checkDupe(r *Record, justMark, mergeDup bool, fwd *[]*Rec fEntry.dnsRecord.Flags = r.Metrics.DnsRecord.Flags fEntry.dnsRecord.Id = r.Metrics.DnsRecord.Id fEntry.dnsRecord.Latency = r.Metrics.DnsRecord.Latency + fEntry.dnsRecord.Errno = r.Metrics.DnsRecord.Errno } // If the new flow has flowRTT then enrich the flow in the case with the same RTT and mark it duplicate if r.Metrics.FlowRtt != 0 && *fEntry.flowRTT == 0 { diff --git a/pkg/flow/record.go b/pkg/flow/record.go index 0d948fcc2..0d677dca7 100644 --- a/pkg/flow/record.go +++ b/pkg/flow/record.go @@ -105,7 +105,6 @@ func Accumulate(r *ebpf.BpfFlowMetrics, src *ebpf.BpfFlowMetrics) { r.DnsRecord.Flags |= src.DnsRecord.Flags if src.DnsRecord.Id != 0 { r.DnsRecord.Id = src.DnsRecord.Id - r.DnsRecord.Errno = src.DnsRecord.Errno } if r.DnsRecord.Errno != src.DnsRecord.Errno { r.DnsRecord.Errno = src.DnsRecord.Errno