Fix: consider relative ipfix timestamps #406
Open
+7
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The builtin netflow exporter of mikrotik routers uses the fields
to determine the flow start and end timestamps at millisecond precision by adding the relative values of flowStart and flowEnd to the system init time.
These fields are not yet considered by goflow2 and hence the timestamps were left at their default value that corresponds to the export time. This fix is a quick and dirty workaround to address this problem.
Caution: The logic only works if the systemInitTimeMilliseconds field appears after the flowStartSysUpTime/flowEndSysUpTime in the set, which is the case for IPFIX packets originated from the Mikrotik netflow exporter. I'm not sure if this is a MUST, hence the caveat.