From 958109e91c7f804d7b5e3d480db0c9656375e001 Mon Sep 17 00:00:00 2001 From: Louis Date: Sun, 16 Apr 2023 07:21:10 +0300 Subject: [PATCH] allow unknown records for sFlow (#155) --- decoders/sflow/packet.go | 6 +----- decoders/sflow/sflow.go | 4 +++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/decoders/sflow/packet.go b/decoders/sflow/packet.go index edcca7ea..647f83db 100644 --- a/decoders/sflow/packet.go +++ b/decoders/sflow/packet.go @@ -60,17 +60,13 @@ type RecordHeader struct { type FlowRecord struct { Header RecordHeader - Data interface{} // replace by FlowRecordData + Data interface{} } type FlowRecordRaw struct { Data []byte } -type FlowRecordData interface { - GetBytes(offset int, length int, dst []byte) error -} - type CounterRecord struct { Header RecordHeader Data interface{} diff --git a/decoders/sflow/sflow.go b/decoders/sflow/sflow.go index 671fc206..42514438 100644 --- a/decoders/sflow/sflow.go +++ b/decoders/sflow/sflow.go @@ -94,7 +94,9 @@ func DecodeCounterRecord(header *RecordHeader, payload *bytes.Buffer) (CounterRe } counterRecord.Data = ethernetCounters default: - return counterRecord, NewErrorDataFormat((*header).DataFormat) + counterRecord.Data = &FlowRecordRaw{ + Data: payload.Next(int(header.Length)), + } } return counterRecord, nil