From b7598c376e4b62060619dd6355da5022e6683dd5 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Tue, 15 Sep 2015 08:43:19 +0000 Subject: [PATCH] Don't show shortlived connections in the host view. --- probe/endpoint/reporter.go | 6 ++++++ render/mapping.go | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/probe/endpoint/reporter.go b/probe/endpoint/reporter.go index 74940d098..0f58b41cb 100644 --- a/probe/endpoint/reporter.go +++ b/probe/endpoint/reporter.go @@ -176,6 +176,12 @@ func (r *Reporter) addConnection(rpt *report.Report, localAddr, remoteAddr strin }) } + if extraLocalNode != nil { + localNode = localNode.Merge(*extraLocalNode) + } + if extraRemoteNode != nil { + remoteNode = remoteNode.Merge(*extraRemoteNode) + } rpt.Address = rpt.Address.AddNode(localAddressNodeID, localNode) rpt.Address = rpt.Address.AddNode(remoteAddressNodeID, remoteNode) } diff --git a/render/mapping.go b/render/mapping.go index 40c9242c3..626bd6d21 100644 --- a/render/mapping.go +++ b/render/mapping.go @@ -180,9 +180,17 @@ func MapAddressIdentity(m RenderableNode, local report.Networks) RenderableNodes return RenderableNodes{} } + // Conntracked connections don't have a host id unless + // they were merged with a procspied connection. Filter + // out those that weren't. + _, hasHostID := m.Metadata[report.HostNodeID] + _, conntracked := m.Metadata[endpoint.Conntracked] + if !hasHostID && conntracked { + return RenderableNodes{} + } + // Nodes without a hostid are treated as psuedo nodes - _, ok = m.Metadata[report.HostNodeID] - if !ok { + if !hasHostID { // If the addr is not in a network local to this report, we emit an // internet node if !local.Contains(net.ParseIP(addr)) {