Dear Benoit and all,
The problem with this is that we want to have well defined selector
algorithms, right? So we register a number for each defined algorithm with
IANA and mandate a consistant description of the algorithm (propably as
RFC). So it gets difficult to have intermediate or vendor specific selector
algorithms! I would like to propose a solution for this. However it has the
drawback that it makes the definition and usage of vendor specific selector
algorithms easier and lifts the pressure of registering new algorithms with
IANA.
I would change the selectorAlgorithm Information Element from octet to
unsigned64. The content would be defined as follows:
6.2.3 selectorAlgorithm
Description:
Specifies the selector algorithm (e.g., filter, sampler, hash)
that was used on a packet. It is exported in the options data
flow record to specify how a collector has to interpret a data
flow record. The Information Element should be encoded in the
following way in an unsigned64 value:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|E| Selector Algorithm Indentifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Enterprise Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The most significant bit must be set if the selector algorithm is
defined by an enterprise and is not registered with IANA. The
following 31 bits contain a Selector Algorithm Identifier. This
is the value registered with IANA if the enterprise bit E is not
set. Otherwise it depends on the Enterprise Number that is
encoded in the last 32 bits. The Enterprise Number is the same
as defined for Information Element templates. If the Enterprise
Bit E is not set the Information Element may be reduced to an
unsigned32 data type. If the size is not reduced then the
Enterprise number has to be set to 0.
The following Selector Algorithms Identifiers are currently
defined:
* 1 Systematic count-based sampling
* 2 Systematic time-based sampling
* 3 Random n-out-of-N sampling
* 4 Uniform probabilistic sampling
* 5 Non-uniform probabilistic sampling
* 6 Non-uniform flow state sampling
* 7 Match based filtering
* 8 Hash based filtering
* 9 Router state filtering
The parameters for most of these algorithms are defined in this
information model. Some parameters - especially those for
algorithms 5, 6 and 8 are not covered by this information model
since they depend very much on the underlying hardware.
Currently there are no hash functions defined.
EDITOR'S NOTE: This list may extend to the final version. The
"unsigned64" data type is probably not the best choice but keeps the
list extensible.
Abstract Data Type: unsigned64
Data Type Semantics: identifier
ElementId: 302
Status: current
The text may still be subject to changes if I expressed myself not clear
enough.
I hope that makes this element more flexible but still simple enough.
Best Regards,
Thomas