You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we store options for each exporter device like this (pseudocode):
options = map<field, value>();
But this is wrong, because in Netflow9 there can be multiple option values for a given option field.
This is because option packets are divided into multiple FLOWS, and each flow is independent.
With current implementation of nf9_get_option if you asked for SAMPLER_ID option you would get 101, and for SAMPLING_INTERVAL - 100. And you have no way of getting the values in the first flow.
So I propose that we either:
Change the way options are stored and the API to retrieve them
(note the added flow param, which is the index of the flow)
Remove the options API.
And leave option handling for the user. We'd just have to make sure that the user can retrieve values from an options packet. This would simplify the code a lot, but we would lose some functionality.
The text was updated successfully, but these errors were encountered:
Currently we store options for each exporter device like this (pseudocode):
But this is wrong, because in Netflow9 there can be multiple option values for a given option field.
This is because option packets are divided into multiple FLOWS, and each flow is independent.
For example:
With current implementation of
nf9_get_option
if you asked for SAMPLER_ID option you would get 101, and for SAMPLING_INTERVAL - 100. And you have no way of getting the values in the first flow.So I propose that we either:
Change the way options are stored and the API to retrieve them
(note the added
flow
param, which is the index of the flow)Remove the options API.
And leave option handling for the user. We'd just have to make sure that the user can retrieve values from an options packet. This would simplify the code a lot, but we would lose some functionality.
The text was updated successfully, but these errors were encountered: