Subject: [IPFIX] Flow set padding with VarLen fields

From: "Jan Novak (janovak)" <[email-masked]>
Date: Wed, 28 Nov 2012 10:19:00 +0000

Hi,

I am working on an IPFIX decode containing VarLen fields with
quite broad range of the lengths within one flowset:

                    AFCB-1
                        length      = FFFF
                        enterprise  = 00000009
                        var_length1 = 06
                        var_length2 = 1C
                        var_length3 = 06
                        var_length4 = 24
                    AFCB-2
                        length      = FFFF
                        enterprise  = 00000009
                        var_length1 = 06
                        var_length2 = 13
                        var_length3 = 06
                        var_length4 = 15

and the implementation under the test still inserts padding at the
end of the flowset. I quite struggle to insert into the flowset
decode loop (when interpreting the hex string of characters for
one flowset) a criteria how to detect in this situation we got padding.

Section 3.3.1 of RFC5101 states that padding can be upto 7 bytes
and IE ID 210 "can be used" and the latest:

http://datatracker.ietf.org/doc/draft-ietf-ipfix-protocol-rfc5101bis/?include_text=1

maintains that statement.

7 bytes is quite a large value and even without VarLen fields
for records shorter than 7 bytes there is no way to detect what
was exported - a zeroed record or padding ?? But one could
still assume that padding would always be less than the record
length and detect it that way (but I have no way here to actually
check the implementation behaves correctly - that's what we are
trying to do here).

With VarLen in the picture and also with the possibility of length zero
there is no way at all to say if we have padding or data as the
last 7 bytes.

Wouldn't it be possible as part of the "bis" process to either
mandate the use of IE 210 for padding or remove the need for alignment
at all ?? Who needs that these days - I know some implementations
do not simply set any padding at all - wasn't it a requirement from
40 years ago for the first 8 bit processors ??

Tx, Jan

The climate of Edinburgh is such that the weak succumb young,
and the strong envy them ....
                                 Dr. Johnson