IPFIX Working Group                                       Stewart Bryant
Internet Draft                                          Ganesh Sadasivan
Document: <draft-bryant-ipfix-vendor-ie-00.txt>            Cisco Systems
Expires: March 2004
                                                            October 2003



               IPFIX Vendor Specific Information Elements

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at
         http://www.ietf.org/ietf/1id-abstracts.txt The list of
    Internet-Draft Shadow Directories can be accessed at
         http://www.ietf.org/shadow.html.

Abstract

   Both IPFIX and PSAMP need methods whereby vendors can add proprietary
   information elements (IEs) to data flowsets. This draft proposes two
   possible methods of providing vendor specific IEs.  The extension of
   these methods to provide vendor specific scope and options is also
   described.


















Bryant & Sadasivan.          Informational                      [Page 1]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   Table of Contents

   Status of this Memo..........................................    1

   1.  Introduction.............................................    3

   2.  Two Possible Methods.....................................    3

   3.  Parallel Template Flowset................................    3
      3.1  Parallel Options Template Flowset....................    6
      3.2  Compressed Parallel Template Flowset.................    8
      3.3  Strengths and Weaknesses.............................    8

   4.  VI Qualified Template Flowset............................    9
      4.1  VI Qualified Option Template Flowset.................   11
      4.2 Compressed VI Qualified Template Flowset..............   13
      4.3 Compressed VI Qualified Option Template Flowset.......   16
      4.3  Strengths and Weaknesses.............................   18

   5.  Security Considerations..................................   18

   6.  IANA Considerations......................................   18





























Bryant & Sadasivan.          Informational                      [Page 2]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


1.  Introduction

   Both IPFIX and PSAMP need methods whereby vendors can add proprietary
   information elements (IEs) to data flowsets, and to options data
   flowsets.  This may be because they are delivering pre-standards
   product, or it may be because the IE is in some way commercially
   sensitive or of minority interest.

   This draft proposes two possible methods of providing vendor specific
   IEs (VSIE).



2.  Two Possible Methods

   The two methods proposed in this draft are the parallel template
   flowset, and extended template flowset.  The parallel template
   flowset is an addition flowset that complements the information in
   the normal template flowset with the vendor identifier (VI) for each
   field type.  The extended template flowset is a new flowset type that
   uses a new field type identifier that contains both the VI and the
   field type specified by the vendor.

   In both cases backwards compatibility with existing implementations
   is achieved by partitioning the field type codepoint into an IANA
   allocated range, and a vendor specific range.



3.  Parallel Template Flowset

   The parallel template flowset is a flowset that complements the
   normal template flowset, carrying the VI information.

   The normal template flowset is as defined in [IPFIXPROT], and is
   reproduced for reference in Figure 1.















Bryant & Sadasivan.          Informational                      [Page 3]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       FlowSet ID = 0          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 1           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type N           |         Field Length N        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 2           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type M           |         Field Length M        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 1: Normal Template Flowset

   If the normal template flowset only uses IETF defined field types
   [IPFIXIM], this template is sufficient to describe the data flowset.

   If the template flowset includes a vendor specific field type, then a
   VI template flowset is sent qualifying the field type with the
   identity of the design authority that defined it.  This is shown in
   Figure 2.  A Flowset ID of 2 is used to identify the Flowset as a VI
   template flowset.















Bryant & Sadasivan.          Informational                      [Page 4]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 2          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 1           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.1                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.N                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 2           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.1                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.M                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 2: VI Template Flowset

   The following are the VI Template Flowset Field Descriptions

   Flowset ID
      Flowset ID value of 2 is reserved for VI Template Flowset.

   Length
      Total length of this Flowset.

   Template ID
      The Template ID of the matching template containing the
      matching template record.

   Field Count
      Number of fields in this template record. This MUST match the
      number of fields in the corresponding normal template record.

   VI
      IANA enterprise number of the authority defining the field
      type in this template record.




Bryant & Sadasivan.          Informational                      [Page 5]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


3.1  Parallel Options Template Flowset

   A corresponding change must also be made to the options template
   flowset to allow vendors to add new scopes and options. Scope will
   usually reflext the structure of the system being monitored and hence
   may be unique to a particular vendor, for example a white goods
   vendor might want to specify the scope as the shelf of their
   proverbial internet fridge.

   For reference the Options Template FlowSet is shown in Figure 3.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       FlowSet ID = 1          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Template ID           |      Option Scope Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Option Length          |       Scope 1 Field Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Scope 1 Field Length      |               ...             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Scope N Field Length      |      Option 1 Field Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option 1 Field Length     |             ...               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option M Field Length     |           Padding             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 3: Options Template Flowset

   The options VI template flowset is shown in Figure 4.



















Bryant & Sadasivan.          Informational                      [Page 6]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 3          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Template ID           |        Number Scope VI        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Number Option VI        |    Reserved must be zero      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Scope 1 VI                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Scope N VI                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Option 1 VI                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Option N VI                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 4: Options VI Template Flowset

   The Options VI Template Flowset field definitions are as follows:

   Flowset ID = 3
      A Flowset ID value of 3 is reserved for an Options VI Template
      Flowset

   Length
      Total length of this Flowset.

   Template ID
      Template ID of the corresponding Options Template.

   Number Scope VI
      The number of Scope VIs in the Options VI Template Flowset.
      This MUST be half the option scope length in the corresponding
      options template flowset.

   Number Option VI
      The number of Option VIs in the Options VI Template
      Flowset.  This MUST be half the option length in the
      corresponding options template flowset.

   Reserved must be zero
      Alignment padding




Bryant & Sadasivan.          Informational                      [Page 7]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   Scope VI
      IANA enterprise number of the authority defining the
      scope type in this template record.

   Option VI
      IANA enterprise number of the authority defining the
      option type in this template record.


3.2  Compressed Parallel Template Flowset

   This method is a variation of the parallel template flowset that is
   compressed by removing the IETF VI.  If a range of Field Type
   codepoints is reserved for IETF defined field types, and a different
   range of field type codepoints is reserved as private space for
   vendors to define their own field types, there is no ambiguity, and
   it is possible to eliminate the need to identify IETF Field Types.  A
   variant of this proposal is therefore to compress the parallel
   template flowsets by omitting the IETF VIs from the VI Template
   Flowset and from the Options VI Template Flowset.  Note that if this
   compression is used, the flowset length and field count values in the
   VI template flowsets MUST reflect the size of the VI template
   flowsets and MAY differ from the values in the normal template
   flowsets.

3.3  Strengths and Weaknesses

   This approach is backwards compatible with existing Netflow version 9
   implementations.  A collector receiving a template flowset containing
   a mixture of IETF and VSIEs, but which did not understand the VI
   Template Flowset would discard the VI Template Flowset and any
   information elements in the data flow set that it did not understand.

   The weakness of this approach is that it is necessary to marry the
   two template flowsets at the collector, rather than present the
   collector with a single data structure that describes the flowset.















Bryant & Sadasivan.          Informational                      [Page 8]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


4.  VI Qualified Template Flowset

   This method uses a new record type in which the Field Type is
   qualified with a VI.  The VI is the vendor's IANA Enterprise Number.
   The format of the VI qualified record type is shown in Figure 5.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              VI                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Field Type            |         Field Length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 5: VI qualified field type

   Template Record Field Descriptions

   VI
       IANA enterprise number of the authority defining the
       field type in this template record.

   Field Type
       A numeric value that represents the type of the field.

   Field Length
       The length of the corresponding Field Type, in bytes.


   The format of the Template Flowset is shown in Figure 6. A Flowset ID
   of 2 is used to distinguish this Template Flowset from a Template
   Flowset that exclusively uses IETF defined Field Types and hence does
   not need a VI to qualify any of the Field Types.


















Bryant & Sadasivan.          Informational                      [Page 9]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 2          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 1           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.1                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.N                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type N           |         Field Length N        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 2           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.1                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.M                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type M           |         Field Length M        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 6: VI Qualified Template Flowset

   The VI Qualified Template Flowset field descriptions are as follows:

   Flowset ID
      Flowset ID value of 2 is reserved for VI Qualified
      Template Flowset.

   Length
      Total length of this Flowset.



Bryant & Sadasivan.          Informational                     [Page 10]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   Template ID
      Each of the newly generated Template Records is given a
      unique Template ID, as described in [IPFIXPROT]

   Field Count
      Number of fields in this Template Record.

   VI
      IANA enterprise number of the authority defining the
      field type in this template record. Where the field
      type is defined by a IANA a VI of zero is used.

   Field Type
       A numeric value that represents the type of the field.

   Field Length
       The length of the corresponding Field Type, in bytes.


4.1  VI Qualified Option Template Flowset

   The VI qualified option template flowset would be as shown in Figure
   7.




























Bryant & Sadasivan.          Informational                     [Page 11]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 3          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Template ID           |      Option Scope Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Option Length          |    Reserved must be zero      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Scope 1 VI                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Scope 1 Field Type       |     Scope 1 Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Scope N VI                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Scope N Field Type       |     Scope N Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Option 1 VI                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option 1 Field Type       |    Option 1 Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Option N VI                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option N Field Type       |    Option N Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 7: VI Qualified Options Template Flowset

   The VI Qualified Options Template Flowset Field Definition are:

   Flowset ID = 3
      A Flowset ID value of 3 is reserved for a VI Qualified
      Options Template.

   Length
      Total length of this Flowset.

   Template ID
      Template ID of this Options Template.  This value is greater
      than 255.

   Option Scope Length
      The length in bytes of any Scope fields definition contained
      in the Options Template Record



Bryant & Sadasivan.          Informational                     [Page 12]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004



   Option Length
      The length (in bytes) of any options field definitions
      contained in this Options Template Record.

   Reserved must be zero
      Alignment padding

   Scope 1 Field Type
      The relevant portion of the Exporting Process/Metering
      Process to which the Options Template Record refers.

   Scope 1 Field Length
      The length (in bytes) of the scope field, as it would appear
      in an Options Data Record.

   Option 1 Field Type
      A numeric value that represents the type of field that would
      appear in the Options Template Record.  Refer to the Field
      Type Definitions section.

   Option 1 Field Length
      The length (in bytes) of the Option Field.


4.2 Compressed VI Qualified Template Flowset

   This method is a variation of the VI qualified template flowset that
   is compressed by removing the IETF VI.  If a range of Field Type
   codepoints is reserved for IETF defined field types, and a different
   range of field type codepoints is reserved as private space for
   vendors to define their own field types, there is no ambiguity and it
   is possible to eliminate the need to identify IETF Field Types.  The
   format of IETF defined field remains the same as it exists today.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Field Type            |         Field Length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 8: IETF defined Field Type

   Where

   Field Type
      A numeric value that represents the type of the field




Bryant & Sadasivan.          Informational                     [Page 13]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   Field Length
      The length of the corresponding Field Type, in bytes.

   The format of the VI qualified template record type is shown in
   Figure 9.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Field Type            |         Field Length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              VI                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 9: VI qualified Field Type

   Where

   Field Type
      A numeric value that represents the type of the field

   Field Length
      The length of the corresponding Field Type, in bytes.

   VI
      IANA enterprise number of the authority defining the
      field type in this template record.


   Note that it is important that the VI be placed after the Field Type,
   Field Length pair to avoid any aliasing of IETF defined Field Types
   by VIs.

   A template can contain a mixture of fields which are IETF defined and
   defined by the vendor.  Based on the Field Type an interpretation of
   the template structure can be made by the collector.  The format of
   the Template Flowset is shown in Figure 10.














Bryant & Sadasivan.          Informational                     [Page 14]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 2          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 1           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 1.1                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type N           |         Field Length N        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.N                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Template ID 2           |         Field Count           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 1           |         Field Length 1        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type 2           |         Field Length 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ...               |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Field Type M           |         Field Length M        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             VI 2.M                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 10: Compressed VI Qualified Template Flowset

   Where:

   Flowset ID
      Flowset ID value of 2 is reserved for VI Qualified
      Template Flowset.

   Length
      Total length of this Flowset.

   Template ID
      Each of the newly generated Template Records is given a
      unique Template ID, as described in [IPFIXPROT]



Bryant & Sadasivan.          Informational                     [Page 15]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004

   Field Count
      Number of fields in this Template Record.

   VI
      IANA enterprise number of the authority defining the
      field type in this template record.

   Field Type
      A numeric value that represents the type of the field.

   Field Length
      The length of the corresponding Field Type, in bytes.

4.3 Compressed VI Qualified Option Template Flowset

   The compressed VI qualified option template flowset would be as shown
   in Figure 11.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Flowset ID = 3          |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Template ID           |      Option Scope Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Option Length          |    Reserved must be zero      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Scope 1 Field Type       |     Scope 1 Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Scope N Field Type       |     Scope N Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Scope N VI                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option 1 Field Type       |    Option 1 Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Option 1 VI                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Option N Field Type       |    Option N Field Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 11: Compressed VI Qualified Option Template Flowset

   The compressed VI qualified option template Flowset field definition
   are:



Bryant & Sadasivan.          Informational                     [Page 16]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   Flowset ID = 3
      A Flowset ID value of 3 is reserved for a VI Qualified
      Options Template.

   Length
      Total length of this Flowset.

   Template ID
      Template ID of this Options Template.  This value is greater
      than 255.

   Option Scope Length
      The length in bytes of any Scope fields definition contained
      in the Options Template Record

   Option Length
      The length in bytes of any options field definitions
      contained in this Options Template Record.

   Reserved must be zero
      Alignment padding

   Scope 1 Field Type
      The relevant portion of the Exporting Process/Metering
      Process to which the Options Template Record refers.

   Scope 1 Field Length
      The length, in bytes, of the scope field, as it would appear
      in an Options Data Record.

   Option 1 Field Type
      A numeric value that represents the type of field that would
      appear in the Options Template Record.  Refer to the Field
      Type Definitions section.

   Option 1 Field Length
      The length (in bytes) of the Option Field.














Bryant & Sadasivan.          Informational                     [Page 17]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


4.3  Strengths and Weaknesses

   This approach can seamlessly carry all the information pertinent to a
   field type in a template in a single template flowset, removing the
   need to combine the template flowset and the VI template flowset.
   This is a more natural approach.

   The weakness of this approach is that it is not backwards compatible
   with existing Netflow version 9 implementations.



5.  Security Considerations

   The IPFIX collector must note the size and position of any VSIE that
   it does not understand and discard the IE from the data flow.



6.  IANA Considerations

   A Flowset ID (assumed to be a value of 2) must be assigned to the
   template flowset used to provide VSIEs.

   A Flowset ID (assumed to be a value of 3) must be assigned to the
   options template flowset.

   Both of the compressed formats require the field type codepoints to
   be split into an IETF specified range, allocated by IANA, and a
   private range that may be allocated by the vendors. It is suggested
   that the range <0..32767> be administered by IANA, and <32768..65535>
   be allocated for private use by vendors.

   Similarly the scope and option codepoints need to be split between
   IANA administered and private ranges.

   Both of the uncompressed formats require that an enterprise
   identifier be allocated to the IETF.  It would be convenient if the
   value 0 was used.












Bryant & Sadasivan.          Informational                     [Page 18]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


Normative References

   Internet-drafts are works in progress available from
   <http://www.ietf.org/internet-drafts/>

   [IPFIXPROT] B. Claise et al, IPFIX Protocol Specifications,
           <draft-ietf-ipfix-protocol-00.txt>, June 2003,
           work in progress.
   [IPFIXIM]



Authors' Addresses

   Stewart Bryant
   Cisco Systems Ltd,
   250, Longwater,
   Green Park,
   Reading, RG2 6GB,
   United Kingdom.             Email: stbryant@cisco.com

   Ganesh Sadasivan
   Cisco Systems, Inc.,
   170 W. Tasman Dr.,
   San Jose, CA 95134,
   USA.                        Email: gsadasiv@cisco.com

   Full copyright statement

   Copyright (C) The Internet Society (2002).
   All Rights Reserved.

   This document and translations of it may be copied and
   furnished to others, and derivative works that comment
   on or otherwise explain it or assist in its implementation
   may be prepared, copied, published and distributed, in
   whole or in part, without restriction of any kind,
   provided that the above copyright notice and this
   paragraph are included on all such copies and derivative works.
   However, this document itself may not be modified in any way,
   such as by removing the copyright notice or references to the
   Internet Society or other Internet organizations, except as
   needed for the purpose of developing Internet standards in
   which case the procedures for copyrights defined in the
   Internet Standards process must be followed, or as required to
   translate it into languages other than English.

   The limited permissions granted above are perpetual and will



Bryant & Sadasivan.          Informational                     [Page 19]

INTERNET DRAFT    draft-bryant-ipfix-vendor-ie-00.txt         March 2004


   not be revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided
   on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
   USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS
   OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
   FOR A PARTICULAR PURPOSE.










































Bryant & Sadasivan.          Informational                     [Page 20]