Subject: [IPFIX] Re: [ipfix-protocol] minor Template Management MAY/SHOULD question

From: Benoit Claise <[email-masked]>
Date: Fri, 22 Sep 2006 16:35:02 +0200

Brian, all,

I just spoke with Paul. He is fine with your proposal.

OLD PARAGRAPH SECTION 8, 6th PARAGRAPH:

   New Template Records SHOULD be transmitted as soon as they are 
   created. The Exporting Process MAY transmit the Template Set and 
   Options Template Set in advance of any Data Sets that use that 
   (Options) Template ID, to ensure that the Collector has the Template 
   Record before receiving the first Data Record.  Data Records that 
   correspond to a Template Record MAY appear in the same and/or 
   subsequent IPFIX Message(s).   

NEW PARAGRAPH SECTION 8, 6th PARAGRAPH:

    The Exporting Process SHOULD transmit the Template Set and Options
    Template Set in advance of any Data Sets that use that (Options)
    Template ID, to help ensure that the Collector has the Template
    Record before receiving the first Data Record.  Data Records that
    correspond to a Template Record MAY appear in the same and/or
    subsequent IPFIX Message(s).

Similar changes were made for UDP, as a consequence

OLD 1ST PARAGRAPH 10.3.6 "template management" for UDP:

   When IPFIX uses UDP as the transport protocol, Template Sets and 
   Option Template Sets MUST be re-sent at regular intervals.  The 
   frequency of (Options) Template transmission MUST be configurable.  
   New Template Records SHOULD be transmitted as soon as they are 
   created, and SHOULD be transmitted before any associated Data Record 
   is transmitted. 

NEW 1ST PARAGRAPH 10.3.6 "template management" for UDP:

    When IPFIX uses UDP as the transport protocol, Template Sets and
    Option Template Sets MUST be re-sent at regular intervals.  The
    frequency of (Options) Template transmission MUST be configurable. 
    The default value for the frequency of (Options) Template
    transmission is 10 minutes. The Exporting Process SHOULD transmit
    the Template Set and Options Template Set in advance of any Data
    Sets that use that (Options) Template ID, to help ensure that the
    Collector has the Template Record before receiving the first Data
    Record.

OLD 2ND PARAGRAPH 10.3.6 "template management" for UDP:

   In the event of configuration changes, the Exporting Process SHOULD 
   send multiple copies of the new template definitions, in different 
   IPFIX Messages, at an accelerated rate.  In such a case, it MAY 
   transmit the changed Template Record(s) and Options Template 
   Record(s), without any data, in advance to help ensure that the 
   Collector will have the correct template information before 
   receiving the first data.  

NEW 2ND PARAGRAPH 10.3.6 "template management" for UDP:

In the event of configuration changes, the Exporting Process SHOULD send 
multiple copies of the new template definitions, in different IPFIX 
Messages, at an accelerated rate.  In such a case, it SHOULD transmit 
the changed Template Record(s) and Options Template Record(s), without 
any data, in advance to help ensure that the Collector will have the 
correct template information before receiving the first data.

Regards, Benoit. 

>
> On Jul 22, 2006, at 3:59 AM, Paul Aitken wrote:
>
>> Brian,
>>
>>> Paragraph 6 of PROTO-22 section 8 states "The Exporting Process MAY  
>>> transmit the Template Set and Options Template Set in advance of 
>>> any  Data Sets that use that (Options) Template ID, to ensure that 
>>> the  Collector has the Template Record before receiving the first 
>>> Data  Record"... Should this MAY not instead be a SHOULD?
>>
>> No, there's another allowance:
>>
>>    If the Template
>>    Records have not been received at the time Data Records are
>>    received, the Collecting Process MAY store the Data Records for a
>>    short period of time and decode them after the Template Records are
>>    received.
>
> These would seem to be compatible... The exporting process is of 
> course not required to ensure that templates are received and 
> processed before the data they describe, as, for example, head of line 
> blocking in SCTP stream 0 may cause partially- or un-reliable data in 
> other streams to be processed by the collector first.
>
> But we presently have two MAYs here - either the exporter or the 
> collector MAY make an effort to ensure that templates are available 
> for received data to be initially decoded (keep in mind that the 
> template is required even to find record boundaries; cached sets 
> without template information MUST be buffered as full byte arrays at 
> the collector side). The protocol should make a choice here as to 
> which side of the exporter/collector interaction primary 
> responsibility for ensuring template availability falls on; one of 
> these MAYs should be a SHOULD.
>
> I'm recommending here that we place the burden on the exporter, as 
> simply requiring the exporter to make an effort to transmit templates 
> before related data seems less onerous than requiring collector 
> implementers to have an extremely good reason not to design in set 
> caching.
>
> (This came to my attention while looking over the implementation 
> guidelines, which as of -02 restates the present exporter-side MAY as 
> a SHOULD in section 4.2.1 para 1. I was thinking about the conflict 
> between the two documents when I realized I thought the guidelines 
> were more correct on this point).
>
>
>>> We already state  the Template Sets SHOULD be sent "as soon as they 
>>> are created", which  implies they SHOULD be sent before data records 
>>> anyway.
>>
>> Define sent?
>
> IPFIX-PROTO -22 section 8 para 6: "New Template Records SHOULD be 
> transmitted as soon as they are created," where "created" is not 
> well-defined IMO.
>
> Cheers,
>
> Brian

_______________________________________________
IPFIX mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ipfix

---

From: Benoit Claise <[email-masked]>
Date: Fri, 22 Sep 2006 16:35:02 +0200

Brian, all,

Regards, Benoit.