mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-18 21:09:38 +00:00
Use flags to check for NAT in conntrack data
This commit is contained in:
@@ -43,18 +43,19 @@ func newConnectionTracker(conf ReporterConfig) connectionTracker {
|
||||
}
|
||||
|
||||
func flowToTuple(f conntrack.Conn) (ft fourTuple) {
|
||||
ft = fourTuple{
|
||||
f.Orig.Src.String(),
|
||||
f.Orig.Dst.String(),
|
||||
uint16(f.Orig.SrcPort),
|
||||
uint16(f.Orig.DstPort),
|
||||
}
|
||||
// Handle DNAT-ed connections in the initial state
|
||||
if !f.Orig.Dst.Equal(f.Reply.Src) {
|
||||
if (f.Status & conntrack.IPS_DST_NAT) == 0 {
|
||||
ft = fourTuple{
|
||||
f.Reply.Dst.String(),
|
||||
f.Orig.Src.String(),
|
||||
f.Orig.Dst.String(),
|
||||
uint16(f.Orig.SrcPort),
|
||||
uint16(f.Orig.DstPort),
|
||||
}
|
||||
} else {
|
||||
// Handle DNAT-ed connections in the initial state
|
||||
ft = fourTuple{
|
||||
f.Orig.Src.String(),
|
||||
f.Reply.Src.String(),
|
||||
uint16(f.Reply.DstPort),
|
||||
uint16(f.Orig.SrcPort),
|
||||
uint16(f.Reply.SrcPort),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user