IPFIX Working Group Stewart Bryant Internet Draft Ganesh Sadasivan Document: 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 [IPFIXPROT] B. Claise et al, IPFIX Protocol Specifications, , 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]