From 57fad2e0c8373485d99fd29841bef9b3e1d9ef7e Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Sat, 8 Oct 2022 17:41:47 +0200 Subject: [PATCH] Fix SrcAS/DstAS for sFlow (#125) --- producer/producer_sf.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/producer/producer_sf.go b/producer/producer_sf.go index 1380e5a..668ad7a 100644 --- a/producer/producer_sf.go +++ b/producer/producer_sf.go @@ -296,16 +296,19 @@ func SearchSFlowSamplesConfig(samples []interface{}, config *SFlowMapper) []*flo case sflow.ExtendedGateway: ipNh = recordData.NextHop flowMessage.BgpNextHop = ipNh - flowMessage.SrcAS = recordData.SrcAS flowMessage.BgpCommunities = recordData.Communities flowMessage.AsPath = recordData.ASPath if len(recordData.ASPath) > 0 { flowMessage.DstAS = recordData.ASPath[len(recordData.ASPath)-1] flowMessage.NextHopAS = recordData.ASPath[0] - flowMessage.SrcAS = recordData.AS } else { flowMessage.DstAS = recordData.AS } + if recordData.SrcAS > 0 { + flowMessage.SrcAS = recordData.SrcAS + } else { + flowMessage.SrcAS = recordData.AS + } case sflow.ExtendedSwitch: flowMessage.SrcVlan = recordData.SrcVlan flowMessage.DstVlan = recordData.DstVlan