Network Working Group                                         J. Quittek
Request for Comments: 5102                                           NEC
Category: Standards Track                                      S. Bryant
                                                              B. Claise
                                                              P. Aitken
                                                    Cisco Systems, Inc.
                                                               J. Meyer
                                                                 PayPal
                                                           January 2008


           Information Model for IP Flow Information Export

Status of This Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Abstract

  This memo defines an information model for the IP Flow Information
  eXport (IPFIX) protocol.  It is used by the IPFIX protocol for
  encoding measured traffic information and information related to the
  traffic Observation Point, the traffic Metering Process, and the
  Exporting Process.  Although developed for the IPFIX protocol, the
  model is defined in an open way that easily allows using it in other
  protocols, interfaces, and applications.

Table of Contents

  1. Introduction ....................................................6
  2. Properties of IPFIX Protocol Information Elements ...............7
     2.1. Information Elements Specification Template ................7
     2.2. Scope of Information Elements ..............................9
     2.3. Naming Conventions for Information Elements ................9
  3. Type Space .....................................................10
     3.1. Abstract Data Types .......................................10
          3.1.1. unsigned8 ..........................................10
          3.1.2. unsigned16 .........................................11
          3.1.3. unsigned32 .........................................11
          3.1.4. unsigned64 .........................................11
          3.1.5. signed8 ............................................11
          3.1.6. signed16 ...........................................11
          3.1.7. signed32 ...........................................11
          3.1.8. signed64 ...........................................11



Quittek, et al.             Standards Track                     [Page 1]

RFC 5102                IPFIX Information Model             January 2008


          3.1.9. float32 ............................................11
          3.1.10. float64 ...........................................11
          3.1.11. boolean ...........................................12
          3.1.12. macAddress ........................................12
          3.1.13. octetArray ........................................12
          3.1.14. string ............................................12
          3.1.15. dateTimeSeconds ...................................12
          3.1.16. dateTimeMilliseconds ..............................12
          3.1.17. dateTimeMicroseconds ..............................12
          3.1.18. dateTimeNanoseconds ...............................13
          3.1.19. ipv4Address .......................................13
          3.1.20. ipv6Address .......................................13
     3.2. Data Type Semantics .......................................13
          3.2.1. quantity ...........................................13
          3.2.2. totalCounter .......................................13
          3.2.3. deltaCounter .......................................14
          3.2.4. identifier .........................................14
          3.2.5. flags ..............................................14
  4. Information Element Identifiers ................................14
  5. Information Elements ...........................................18
     5.1. Identifiers ...............................................19
          5.1.1. lineCardId .........................................20
          5.1.2. portId .............................................20
          5.1.3. ingressInterface ...................................20
          5.1.4. egressInterface ....................................21
          5.1.5. meteringProcessId ..................................21
          5.1.6. exportingProcessId .................................21
          5.1.7. flowId .............................................22
          5.1.8. templateId .........................................22
          5.1.9. observationDomainId ................................22
          5.1.10. observationPointId ................................23
          5.1.11. commonPropertiesId ................................23
     5.2. Metering and Exporting Process Configuration ..............23
          5.2.1. exporterIPv4Address ................................24
          5.2.2. exporterIPv6Address ................................24
          5.2.3. exporterTransportPort ..............................24
          5.2.4. collectorIPv4Address ...............................25
          5.2.5. collectorIPv6Address ...............................25
          5.2.6. exportInterface ....................................25
          5.2.7. exportProtocolVersion ..............................26
          5.2.8. exportTransportProtocol ............................26
          5.2.9. collectorTransportPort .............................27
          5.2.10. flowKeyIndicator ..................................27
     5.3. Metering and Exporting Process Statistics .................28
          5.3.1. exportedMessageTotalCount ..........................28
          5.3.2. exportedOctetTotalCount ............................28
          5.3.3. exportedFlowRecordTotalCount .......................29
          5.3.4. observedFlowTotalCount .............................29



Quittek, et al.             Standards Track                     [Page 2]

RFC 5102                IPFIX Information Model             January 2008


          5.3.5. ignoredPacketTotalCount ............................29
          5.3.6. ignoredOctetTotalCount .............................30
          5.3.7. notSentFlowTotalCount ..............................30
          5.3.8. notSentPacketTotalCount ............................30
          5.3.9. notSentOctetTotalCount .............................31
     5.4. IP Header Fields ..........................................31
          5.4.1. ipVersion ..........................................31
          5.4.2. sourceIPv4Address ..................................32
          5.4.3. sourceIPv6Address ..................................32
          5.4.4. sourceIPv4PrefixLength .............................32
          5.4.5. sourceIPv6PrefixLength .............................33
          5.4.6. sourceIPv4Prefix ...................................33
          5.4.7. sourceIPv6Prefix ...................................33
          5.4.8. destinationIPv4Address .............................33
          5.4.9. destinationIPv6Address .............................34
          5.4.10. destinationIPv4PrefixLength .......................34
          5.4.11. destinationIPv6PrefixLength .......................34
          5.4.12. destinationIPv4Prefix .............................34
          5.4.13. destinationIPv6Prefix .............................35
          5.4.14. ipTTL .............................................35
          5.4.15. protocolIdentifier ................................35
          5.4.16. nextHeaderIPv6 ....................................36
          5.4.17. ipDiffServCodePoint ...............................36
          5.4.18. ipPrecedence ......................................36
          5.4.19. ipClassOfService ..................................37
          5.4.20. postIpClassOfService ..............................37
          5.4.21. flowLabelIPv6 .....................................38
          5.4.22. isMulticast .......................................38
          5.4.23. fragmentIdentification ............................39
          5.4.24. fragmentOffset ....................................39
          5.4.25. fragmentFlags .....................................39
          5.4.26. ipHeaderLength ....................................40
          5.4.27. ipv4IHL ...........................................40
          5.4.28. totalLengthIPv4 ...................................41
          5.4.29. ipTotalLength .....................................41
          5.4.30. payloadLengthIPv6 .................................41
     5.5. Transport Header Fields ...................................42
          5.5.1. sourceTransportPort ................................42
          5.5.2. destinationTransportPort ...........................42
          5.5.3. udpSourcePort ......................................43
          5.5.4. udpDestinationPort .................................43
          5.5.5. udpMessageLength ...................................43
          5.5.6. tcpSourcePort ......................................44
          5.5.7. tcpDestinationPort .................................44
          5.5.8. tcpSequenceNumber ..................................44
          5.5.9. tcpAcknowledgementNumber ...........................44
          5.5.10. tcpWindowSize .....................................45
          5.5.11. tcpWindowScale ....................................45



Quittek, et al.             Standards Track                     [Page 3]

RFC 5102                IPFIX Information Model             January 2008


          5.5.12. tcpUrgentPointer ..................................45
          5.5.13. tcpHeaderLength ...................................45
          5.5.14. icmpTypeCodeIPv4 ..................................46
          5.5.15. icmpTypeIPv4 ......................................46
          5.5.16. icmpCodeIPv4 ......................................46
          5.5.17. icmpTypeCodeIPv6 ..................................46
          5.5.18. icmpTypeIPv6 ......................................47
          5.5.19. icmpCodeIPv6 ......................................47
          5.5.20. igmpType ..........................................47
     5.6. Sub-IP Header Fields ......................................48
          5.6.1. sourceMacAddress ...................................48
          5.6.2. postSourceMacAddress ...............................48
          5.6.3. vlanId .............................................49
          5.6.4. postVlanId .........................................49
          5.6.5. destinationMacAddress ..............................49
          5.6.6. postDestinationMacAddress ..........................49
          5.6.7. wlanChannelId ......................................50
          5.6.8. wlanSSID ...........................................50
          5.6.9. mplsTopLabelTTL ....................................50
          5.6.10. mplsTopLabelExp ...................................51
          5.6.11. postMplsTopLabelExp ...............................51
          5.6.12. mplsLabelStackDepth ...............................51
          5.6.13. mplsLabelStackLength ..............................52
          5.6.14. mplsPayloadLength .................................52
          5.6.15. mplsTopLabelStackSection ..........................52
          5.6.16. mplsLabelStackSection2 ............................53
          5.6.17. mplsLabelStackSection3 ............................53
          5.6.18. mplsLabelStackSection4 ............................53
          5.6.19. mplsLabelStackSection5 ............................54
          5.6.20. mplsLabelStackSection6 ............................54
          5.6.21. mplsLabelStackSection7 ............................54
          5.6.22. mplsLabelStackSection8 ............................55
          5.6.23. mplsLabelStackSection9 ............................55
          5.6.24. mplsLabelStackSection10 ...........................55
     5.7. Derived Packet Properties .................................56
          5.7.1. ipPayloadLength ....................................56
          5.7.2. ipNextHopIPv4Address ...............................56
          5.7.3. ipNextHopIPv6Address ...............................57
          5.7.4. bgpSourceAsNumber ..................................57
          5.7.5. bgpDestinationAsNumber .............................57
          5.7.6. bgpNextAdjacentAsNumber ............................57
          5.7.7. bgpPrevAdjacentAsNumber ............................58
          5.7.8. bgpNextHopIPv4Address ..............................58
          5.7.9. bgpNextHopIPv6Address ..............................58
          5.7.10. mplsTopLabelType ..................................59
          5.7.11. mplsTopLabelIPv4Address ...........................59
          5.7.12. mplsTopLabelIPv6Address ...........................60
          5.7.13. mplsVpnRouteDistinguisher .........................60



Quittek, et al.             Standards Track                     [Page 4]

RFC 5102                IPFIX Information Model             January 2008


     5.8. Min/Max Flow Properties ...................................61
          5.8.1. minimumIpTotalLength ...............................61
          5.8.2. maximumIpTotalLength ...............................61
          5.8.3. minimumTTL .........................................61
          5.8.4. maximumTTL .........................................62
          5.8.5. ipv4Options ........................................62
          5.8.6. ipv6ExtensionHeaders ...............................64
          5.8.7. tcpControlBits .....................................65
          5.8.8. tcpOptions .........................................66
     5.9. Flow Timestamps ...........................................67
          5.9.1. flowStartSeconds ...................................67
          5.9.2. flowEndSeconds .....................................68
          5.9.3. flowStartMilliseconds ..............................68
          5.9.4. flowEndMilliseconds ................................68
          5.9.5. flowStartMicroseconds ..............................68
          5.9.6. flowEndMicroseconds ................................68
          5.9.7. flowStartNanoseconds ...............................69
          5.9.8. flowEndNanoseconds .................................69
          5.9.9. flowStartDeltaMicroseconds .........................69
          5.9.10. flowEndDeltaMicroseconds ..........................69
          5.9.11. systemInitTimeMilliseconds ........................70
          5.9.12. flowStartSysUpTime ................................70
          5.9.13. flowEndSysUpTime ..................................70
     5.10. Per-Flow Counters ........................................70
          5.10.1. octetDeltaCount ...................................71
          5.10.2. postOctetDeltaCount ...............................71
          5.10.3. octetDeltaSumOfSquares ............................72
          5.10.4. octetTotalCount ...................................72
          5.10.5. postOctetTotalCount ...............................72
          5.10.6. octetTotalSumOfSquares ............................72
          5.10.7. packetDeltaCount ..................................73
          5.10.8. postPacketDeltaCount ..............................73
          5.10.9. packetTotalCount ..................................73
          5.10.10. postPacketTotalCount .............................74
          5.10.11. droppedOctetDeltaCount ...........................74
          5.10.12. droppedPacketDeltaCount ..........................74
          5.10.13. droppedOctetTotalCount ...........................74
          5.10.14. droppedPacketTotalCount ..........................75
          5.10.15. postMCastPacketDeltaCount ........................75
          5.10.16. postMCastOctetDeltaCount .........................75
          5.10.17. postMCastPacketTotalCount ........................76
          5.10.18. postMCastOctetTotalCount .........................76
          5.10.19. tcpSynTotalCount .................................76
          5.10.20. tcpFinTotalCount .................................77
          5.10.21. tcpRstTotalCount .................................77
          5.10.22. tcpPshTotalCount .................................77
          5.10.23. tcpAckTotalCount .................................78
          5.10.24. tcpUrgTotalCount .................................78



Quittek, et al.             Standards Track                     [Page 5]

RFC 5102                IPFIX Information Model             January 2008


     5.11. Miscellaneous Flow Properties ............................78
          5.11.1. flowActiveTimeout .................................79
          5.11.2. flowIdleTimeout ...................................79
          5.11.3. flowEndReason .....................................79
          5.11.4. flowDurationMilliseconds ..........................80
          5.11.5. flowDurationMicroseconds ..........................80
          5.11.6. flowDirection .....................................80
     5.12. Padding ..................................................80
          5.12.1. paddingOctets .....................................81
  6. Extending the Information Model ................................81
  7. IANA Considerations ............................................82
     7.1. IPFIX Information Elements ................................82
     7.2. MPLS Label Type Identifier ................................82
     7.3. XML Namespace and Schema ..................................83
  8. Security Considerations ........................................83
  9. Acknowledgements ...............................................84
  10. References ....................................................84
     10.1. Normative References .....................................84
     10.2. Informative References ...................................84
  Appendix A. XML Specification of IPFIX Information Elements .......88
  Appendix B. XML Specification of Abstract Data Types .............157

1.  Introduction

  The IP Flow Information eXport (IPFIX) protocol serves for
  transmitting information related to measured IP traffic over the
  Internet.  The protocol specification in [RFC5101] defines how
  Information Elements are transmitted.  For Information Elements, it
  specifies the encoding of a set of basic data types.  However, the
  list of Information Elements that can be transmitted by the protocol,
  such as Flow attributes (source IP address, number of packets, etc.)
  and information about the Metering and Exporting Process (packet
  Observation Point, sampling rate, Flow timeout interval, etc.), is
  not specified in [RFC5101].

  This document complements the IPFIX protocol specification by
  providing the IPFIX information model.  IPFIX-specific terminology
  used in this document is defined in Section 2 of [RFC5101].  As in
  [RFC5101], these IPFIX-specific terms have the first letter of a word
  capitalized when used in this document.

  The use of the term 'information model' is not fully in line with the
  definition of this term in [RFC3444].  The IPFIX information model
  does not specify relationships between Information Elements, but also
  it does not specify a concrete encoding of Information Elements.
  Besides the encoding used by the IPFIX protocol, other encodings of
  IPFIX Information Elements can be applied, for example, XML-based
  encodings.



Quittek, et al.             Standards Track                     [Page 6]

RFC 5102                IPFIX Information Model             January 2008


  The main part of this document is Section 5, which defines the
  (extensible) list of Information Elements to be transmitted by the
  IPFIX protocol.  Section 2 defines a template for specifying IPFIX
  Information Elements in Section 5.  Section 3 defines the set of
  abstract data types that are available for IPFIX Information
  Elements.  Section 6 discusses extensibility of the IPFIX information
  model.

  The main bodies of Sections 2, 3, and 5 were generated from XML
  documents.  The XML-based specification of template, abstract data
  types, and IPFIX Information Elements can be used for automatically
  checking syntactical correctness of the specification of IPFIX
  Information Elements.  It can further be used for generating IPFIX
  protocol implementation code that deals with processing IPFIX
  Information Elements.  Also, code for applications that further
  process traffic information transmitted via the IPFIX protocol can be
  generated with the XML specification of IPFIX Information Elements.

  For that reason, the XML document that served as a source for Section
  5 and the XML schema that served as source for Sections 2 and 3 are
  attached to this document in Appendices A and B.

  Note that although partially generated from the attached XML
  documents, the main body of this document is normative while the
  appendices are informational.

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  document are to be interpreted as described in [RFC2119].

2.  Properties of IPFIX Protocol Information Elements

2.1.  Information Elements Specification Template

  Information in messages of the IPFIX protocol is modeled in terms of
  Information Elements of the IPFIX information model.  IPFIX
  Information Elements are specified in Section 5.  For specifying
  these Information Elements, a template is used that is described
  below.

  All Information Elements specified for the IPFIX protocol either in
  this document or by any future extension MUST have the following
  properties defined:

  name - A unique and meaningful name for the Information Element.






Quittek, et al.             Standards Track                     [Page 7]

RFC 5102                IPFIX Information Model             January 2008


  elementId - A numeric identifier of the Information Element.  If this
     identifier is used without an enterprise identifier (see [RFC5101]
     and enterpriseId below), then it is globally unique and the list
     of allowed values is administered by IANA.  It is used for compact
     identification of an Information Element when encoding Templates
     in the protocol.

  description - The semantics of this Information Element.  Describes
     how this Information Element is derived from the Flow or other
     information available to the observer.

  dataType - One of the types listed in Section 3.1 of this document or
     in a future extension of the information model.  The type space
     for attributes is constrained to facilitate implementation.  The
     existing type space does however encompass most basic types used
     in modern programming languages, as well as some derived types
     (such as ipv4Address) that are common to this domain and useful to
     distinguish.

  status - The status of the specification of this Information Element.
     Allowed values are 'current', 'deprecated', and 'obsolete'.

  Enterprise-specific Information Elements MUST have the following
  property defined:

  enterpriseId - Enterprises may wish to define Information Elements
     without registering them with IANA, for example, for
     enterprise-internal purposes.  For such Information Elements, the
     Information Element identifier described above is not sufficient
     when the Information Element is used outside the enterprise.  If
     specifications of enterprise-specific Information Elements are
     made public and/or if enterprise-specific identifiers are used by
     the IPFIX protocol outside the enterprise, then the
     enterprise-specific identifier MUST be made globally unique by
     combining it with an enterprise identifier.  Valid values for the
     enterpriseId are defined by IANA as Structure of Management
     Information (SMI) network management private enterprise codes.
     They are defined at http://www.iana.org/assignments/enterprise-
     numbers.

  All Information Elements specified for the IPFIX protocol either in
  this document or by any future extension MAY have the following
  properties defined:

  dataTypeSemantics - The integral types may be qualified by additional
     semantic details.  Valid values for the data type semantics are
     specified in Section 3.2 of this document or in a future extension
     of the information model.



Quittek, et al.             Standards Track                     [Page 8]

RFC 5102                IPFIX Information Model             January 2008


  units - If the Information Element is a measure of some kind, the
     units identify what the measure is.

  range - Some Information Elements may only be able to take on a
     restricted set of values that can be expressed as a range (e.g., 0
     through 511 inclusive).  If this is the case, the valid inclusive
     range should be specified.

  reference - Identifies additional specifications that more precisely
     define this item or provide additional context for its use.

2.2.  Scope of Information Elements

  By default, most Information Elements have a scope specified in their
  definitions.

  o  The Information Elements defined in Sections 5.2 and 5.3 have a
     default of "a specific Metering Process" or of "a specific
     Exporting Process", respectively.

  o  The Information Elements defined in Sections 5.4-5.11 have a scope
     of "a specific Flow".

  Within Data Records defined by Option Templates, the IPFIX protocol
  allows further limiting of the Information Element scope.  The new
  scope is specified by one or more scope fields and defined as the
  combination of all specified scope values; see Section 3.4.2.1 on
  IPFIX scopes in [RFC5101].

2.3.  Naming Conventions for Information Elements

   The following naming conventions were used for naming Information
   Elements in this document.  It is recommended that extensions of the
   model use the same conventions.

  o  Names of Information Elements should be descriptive.

  o  Names of Information Elements that are not enterprise-specific
     MUST be unique within the IPFIX information model.
     Enterprise-specific Information Elements SHOULD be prefixed with a
     vendor name.

  o  Names of Information Elements start with non-capitalized letters.








Quittek, et al.             Standards Track                     [Page 9]

RFC 5102                IPFIX Information Model             January 2008


  o  Composed names use capital letters for the first letter of each
     component (except for the first one).  All other letters are
     non-capitalized, even for acronyms.  Exceptions are made for
     acronyms containing non-capitalized letter, such as 'IPv4' and
     'IPv6'.  Examples are sourceMacAddress and destinationIPv4Address.

  o  Middleboxes [RFC3234] may change Flow properties, such as the
     Differentiated Service Code Point (DSCP) value or the source IP
     address.  If an IPFIX Observation Point is located in the path of
     a Flow before one or more middleboxes that potentially modify
     packets of the Flow, then it may be desirable to also report Flow
     properties after the modification performed by the middleboxes.
     An example is an Observation Point before a packet marker changing
     a packet's IPv4 Type of Service (TOS) field that is encoded in
     Information Element classOfServiceIPv4.  Then the value observed
     and reported by Information Element classOfServiceIPv4 is valid at
     the Observation Point, but not after the packet passed the packet
     marker.  For reporting the change value of the TOS field, the
     IPFIX information model uses Information Elements that have a name
     prefix "post", for example, "postClassOfServiceIPv4".  Information
     Elements with prefix "post" report on Flow properties that are not
     necessarily observed at the Observation Point, but which are
     obtained within the Flow's Observation Domain by other means
     considered to be sufficiently reliable, for example, by analyzing
     the packet marker's marking tables.

3.  Type Space

  This section describes the abstract data types that can be used for
  the specification of IPFIX Information Elements in Section 4.
  Section 3.1 describes the set of abstract data types.

  Abstract data types unsigned8, unsigned16, unsigned32, unsigned64,
  signed8, signed16, signed32, and signed64 are integral data types.
  As described in Section 3.2, their data type semantics can be further
  specified, for example, by 'totalCounter', 'deltaCounter',
  'identifier', or 'flags'.

3.1.  Abstract Data Types

  This section describes the set of valid abstract data types of the
  IPFIX information model.  Note that further abstract data types may
  be specified by future extensions of the IPFIX information model.

3.1.1.  unsigned8

  The type "unsigned8" represents a non-negative integer value in the
  range of 0 to 255.



Quittek, et al.             Standards Track                    [Page 10]

RFC 5102                IPFIX Information Model             January 2008


3.1.2.  unsigned16

  The type "unsigned16" represents a non-negative integer value in the
  range of 0 to 65535.

3.1.3.  unsigned32

  The type "unsigned32" represents a non-negative integer value in the
  range of 0 to 4294967295.

3.1.4.  unsigned64

  The type "unsigned64" represents a non-negative integer value in the
  range of 0 to 18446744073709551615.

3.1.5.  signed8

  The type "signed8" represents an integer value in the range of -128
  to 127.

3.1.6.  signed16

  The type "signed16" represents an integer value in the range of
  -32768 to 32767.

3.1.7.  signed32

  The type "signed32" represents an integer value in the range of
  -2147483648 to 2147483647.

3.1.8.  signed64

  The type "signed64" represents an integer value in the range of
  -9223372036854775808 to 9223372036854775807.

3.1.9.  float32

  The type "float32" corresponds to an IEEE single-precision 32-bit
  floating point type as defined in [IEEE.754.1985].

3.1.10.  float64

  The type "float64" corresponds to an IEEE double-precision 64-bit
  floating point type as defined in [IEEE.754.1985].







Quittek, et al.             Standards Track                    [Page 11]

RFC 5102                IPFIX Information Model             January 2008


3.1.11.  boolean

  The type "boolean" represents a binary value.  The only allowed
  values are "true" and "false".

3.1.12.  macAddress

  The type "macAddress" represents a string of 6 octets.

3.1.13.  octetArray

  The type "octetArray" represents a finite-length string of octets.

3.1.14.  string

  The type "string" represents a finite-length string of valid
  characters from the Unicode character encoding set [ISO.10646-
  1.1993].  Unicode allows for ASCII [ISO.646.1991] and many other
  international character sets to be used.

3.1.15.  dateTimeSeconds

  The type "dateTimeSeconds" represents a time value in units of
  seconds based on coordinated universal time (UTC).  The choice of an
  epoch, for example, 00:00 UTC, January 1, 1970, is left to
  corresponding encoding specifications for this type, for example, the
  IPFIX protocol specification.  Leap seconds are excluded.  Note that
  transformation of values might be required between different
  encodings if different epoch values are used.

3.1.16.  dateTimeMilliseconds

  The type "dateTimeMilliseconds" represents a time value in units of
  milliseconds based on coordinated universal time (UTC).  The choice
  of an epoch, for example, 00:00 UTC, January 1, 1970, is left to
  corresponding encoding specifications for this type, for example, the
  IPFIX protocol specification.  Leap seconds are excluded.  Note that
  transformation of values might be required between different
  encodings if different epoch values are used.

3.1.17.  dateTimeMicroseconds

  The type "dateTimeMicroseconds" represents a time value in units of
  microseconds based on coordinated universal time (UTC).  The choice
  of an epoch, for example, 00:00 UTC, January 1, 1970, is left to






Quittek, et al.             Standards Track                    [Page 12]

RFC 5102                IPFIX Information Model             January 2008


  corresponding encoding specifications for this type, for example, the
  IPFIX protocol specification.  Leap seconds are excluded.  Note that
  transformation of values might be required between different
  encodings if different epoch values are used.

3.1.18.  dateTimeNanoseconds

  The type "dateTimeNanoseconds" represents a time value in units of
  nanoseconds based on coordinated universal time (UTC).  The choice of
  an epoch, for example, 00:00 UTC, January 1, 1970, is left to
  corresponding encoding specifications for this type, for example, the
  IPFIX protocol specification.  Leap seconds are excluded.  Note that
  transformation of values might be required between different
  encodings if different epoch values are used.

3.1.19.  ipv4Address

  The type "ipv4Address" represents a value of an IPv4 address.

3.1.20.  ipv6Address

  The type "ipv6Address" represents a value of an IPv6 address.

3.2.  Data Type Semantics

  This section describes the set of valid data type semantics of the
  IPFIX information model.  Note that further data type semantics may
  be specified by future extensions of the IPFIX information model.

3.2.1.  quantity

  A quantity value represents a discrete measured value pertaining to
  the record.  This is distinguished from counters that represent an
  ongoing measured value whose "odometer" reading is captured as part
  of a given record.  If no semantic qualifier is given, the
  Information Elements that have an integral data type should behave as
  a quantity.

3.2.2.  totalCounter

  An integral value reporting the value of a counter.  Counters are
  unsigned and wrap back to zero after reaching the limit of the type.
  For example, an unsigned64 with counter semantics will continue to
  increment until reaching the value of 2**64 - 1.  At this point, the
  next increment will wrap its value to zero and continue counting from
  zero.  The semantics of a total counter is similar to the semantics
  of counters used in SNMP, such as Counter32 defined in RFC 2578
  [RFC2578].  The only difference between total counters and counters



Quittek, et al.             Standards Track                    [Page 13]

RFC 5102                IPFIX Information Model             January 2008


  used in SNMP is that the total counters have an initial value of 0.
  A total counter counts independently of the export of its value.

3.2.3.  deltaCounter

  An integral value reporting the value of a counter.  Counters are
  unsigned and wrap back to zero after reaching the limit of the type.
  For example, an unsigned64 with counter semantics will continue to
  increment until reaching the value of 2**64 - 1.  At this point, the
  next increment will wrap its value to zero and continue counting from
  zero.  The semantics of a delta counter is similar to the semantics
  of counters used in SNMP, such as Counter32 defined in RFC 2578
  [RFC2578].  The only difference between delta counters and counters
  used in SNMP is that the delta counters have an initial value of 0.
  A delta counter is reset to 0 each time its value is exported.

3.2.4.  identifier

  An integral value that serves as an identifier.  Specifically,
  mathematical operations on two identifiers (aside from the equality
  operation) are meaningless.  For example, Autonomous System ID 1 *
  Autonomous System ID 2 is meaningless.

3.2.5.  flags

  An integral value that actually represents a set of bit fields.
  Logical operations are appropriate on such values, but not other
  mathematical operations.  Flags should always be of an unsigned type.

4.  Information Element Identifiers

  All Information Elements defined in Section 5 of this document or in
  future extensions of the IPFIX information model have their
  identifiers assigned by IANA.  Their identifiers can be retrieved at
  http://www.iana.org/assignments/ipfix.

  The value of these identifiers is in the range of 1-32767.  Within
  this range, Information Element identifier values in the sub-range of
  1-127 are compatible with field types used by NetFlow version 9
  [RFC3954].











Quittek, et al.             Standards Track                    [Page 14]

RFC 5102                IPFIX Information Model             January 2008


  +---------------------------------+---------------------------------+
  | Range of IANA-assigned          | Description                     |
  | Information Element identifiers |                                 |
  +---------------------------------+---------------------------------+
  | 0                               | Reserved.                       |
  | 1-127                           | Information Element identifiers |
  |                                 | compatible with NetFlow version |
  |                                 | 9 field types [RFC3954].        |
  | 128-32767                       | Further Information Element     |
  |                                 | identifiers.                    |
  +---------------------------------+---------------------------------+

  Enterprise-specific Information Element identifiers have the same
  range of 1-32767, but they are coupled with an additional enterprise
  identifier.  For enterprise-specific Information Elements,
  Information Element identifier 0 is also reserved.

  Enterprise-specific Information Element identifiers can be chosen by
  an enterprise arbitrarily within the range of 1-32767.  The same
  identifier may be assigned by other enterprises for different
  purposes.

  Still, Collecting Processes can distinguish these Information
  Elements because the Information Element identifier is coupled with
  an enterprise identifier.

  Enterprise identifiers MUST be registered as SMI network management
  private enterprise code numbers with IANA.  The registry can be found
  at http://www.iana.org/assignments/enterprise-numbers.

  The following list gives an overview of the Information Element
  identifiers that are specified in Section 5 and are compatible with
  field types used by NetFlow version 9 [RFC3954].


















Quittek, et al.             Standards Track                    [Page 15]

RFC 5102                IPFIX Information Model             January 2008


  +----+----------------------------+-------+-------------------------+
  | ID | Name                       |    ID | Name                    |
  +----+----------------------------+-------+-------------------------+
  |  1 | octetDeltaCount            |    43 | RESERVED                |
  |  2 | packetDeltaCount           |    44 | sourceIPv4Prefix        |
  |  3 | RESERVED                   |    45 | destinationIPv4Prefix   |
  |  4 | protocolIdentifier         |    46 | mplsTopLabelType        |
  |  5 | ipClassOfService           |    47 | mplsTopLabelIPv4Address |
  |  6 | tcpControlBits             | 48-51 | RESERVED                |
  |  7 | sourceTransportPort        |    52 | minimumTTL              |
  |  8 | sourceIPv4Address          |    53 | maximumTTL              |
  |  9 | sourceIPv4PrefixLength     |    54 | fragmentIdentification  |
  | 10 | ingressInterface           |    55 | postIpClassOfService    |
  | 11 | destinationTransportPort   |    56 | sourceMacAddress        |
  | 12 | destinationIPv4Address     |    57 |postDestinationMacAddress|
  | 13 | destinationIPv4PrefixLength|    58 | vlanId                  |
  | 14 | egressInterface            |    59 | postVlanId              |
  | 15 | ipNextHopIPv4Address       |    60 | ipVersion               |
  | 16 | bgpSourceAsNumber          |    61 | flowDirection           |
  | 17 | bgpDestinationAsNumber     |    62 | ipNextHopIPv6Address    |
  | 18 | bgpNexthopIPv4Address      |    63 | bgpNexthopIPv6Address   |
  | 19 | postMCastPacketDeltaCount  |    64 | ipv6ExtensionHeaders    |
  | 20 | postMCastOctetDeltaCount   | 65-69 | RESERVED                |
  | 21 | flowEndSysUpTime           |    70 | mplsTopLabelStackSection|
  | 22 | flowStartSysUpTime         |    71 | mplsLabelStackSection2  |
  | 23 | postOctetDeltaCount        |    72 | mplsLabelStackSection3  |
  | 24 | postPacketDeltaCount       |    73 | mplsLabelStackSection4  |
  | 25 | minimumIpTotalLength       |    74 | mplsLabelStackSection5  |
  | 26 | maximumIpTotalLength       |    75 | mplsLabelStackSection6  |
  | 27 | sourceIPv6Address          |    76 | mplsLabelStackSection7  |
  | 28 | destinationIPv6Address     |    77 | mplsLabelStackSection8  |
  | 29 | sourceIPv6PrefixLength     |    78 | mplsLabelStackSection9  |
  | 30 | destinationIPv6PrefixLength|    79 | mplsLabelStackSection10 |
  | 31 | flowLabelIPv6              |    80 | destinationMacAddress   |
  | 32 | icmpTypeCodeIPv4           |    81 | postSourceMacAddress    |
  | 33 | igmpType                   | 82-84 | RESERVED                |
  | 34 | RESERVED                   |    85 | octetTotalCount         |
  | 35 | RESERVED                   |    86 | packetTotalCount        |
  | 36 | flowActiveTimeout          |    87 | RESERVED                |
  | 37 | flowIdleTimeout            |    88 | fragmentOffset          |
  | 38 | RESERVED                   |    89 | RESERVED                |
  | 39 | RESERVED                   |    90 |mplsVpnRouteDistinguisher|
  | 40 | exportedOctetTotalCount    |91-127 | RESERVED                |
  | 41 | exportedMessageTotalCount  |       |                         |
  | 42 |exportedFlowRecordTotalCount|       |                         |
  +----+----------------------------+-------+-------------------------+





Quittek, et al.             Standards Track                    [Page 16]

RFC 5102                IPFIX Information Model             January 2008


  The following list gives an overview of the Information Element
  identifiers that are specified in Section 5 and extends the list of
  Information Element identifiers specified already in [RFC3954].

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 128 | bgpNextAdjacentAsNumber   | 169 | destinationIPv6Prefix     |
  | 129 | bgpPrevAdjacentAsNumber   | 170 | sourceIPv6Prefix          |
  | 130 | exporterIPv4Address       | 171 | postOctetTotalCount       |
  | 131 | exporterIPv6Address       | 172 | postPacketTotalCount      |
  | 132 | droppedOctetDeltaCount    | 173 | flowKeyIndicator          |
  | 133 | droppedPacketDeltaCount   | 174 | postMCastPacketTotalCount |
  | 134 | droppedOctetTotalCount    | 175 | postMCastOctetTotalCount  |
  | 135 | droppedPacketTotalCount   | 176 | icmpTypeIPv4              |
  | 136 | flowEndReason             | 177 | icmpCodeIPv4              |
  | 137 | commonPropertiesId        | 178 | icmpTypeIPv6              |
  | 138 | observationPointId        | 179 | icmpCodeIPv6              |
  | 139 | icmpTypeCodeIPv6          | 180 | udpSourcePort             |
  | 140 | mplsTopLabelIPv6Address   | 181 | udpDestinationPort        |
  | 141 | lineCardId                | 182 | tcpSourcePort             |
  | 142 | portId                    | 183 | tcpDestinationPort        |
  | 143 | meteringProcessId         | 184 | tcpSequenceNumber         |
  | 144 | exportingProcessId        | 185 | tcpAcknowledgementNumber  |
  | 145 | templateId                | 186 | tcpWindowSize             |
  | 146 | wlanChannelId             | 187 | tcpUrgentPointer          |
  | 147 | wlanSSID                  | 188 | tcpHeaderLength           |
  | 148 | flowId                    | 189 | ipHeaderLength            |
  | 149 | observationDomainId       | 190 | totalLengthIPv4           |
  | 150 | flowStartSeconds          | 191 | payloadLengthIPv6         |
  | 151 | flowEndSeconds            | 192 | ipTTL                     |
  | 152 | flowStartMilliseconds     | 193 | nextHeaderIPv6            |
  | 153 | flowEndMilliseconds       | 194 | mplsPayloadLength         |
  | 154 | flowStartMicroseconds     | 195 | ipDiffServCodePoint       |
  | 155 | flowEndMicroseconds       | 196 | ipPrecedence              |
  | 156 | flowStartNanoseconds      | 197 | fragmentFlags             |
  | 157 | flowEndNanoseconds        | 198 | octetDeltaSumOfSquares    |
  | 158 | flowStartDeltaMicroseconds| 199 | octetTotalSumOfSquares    |
  | 159 | flowEndDeltaMicroseconds  | 200 | mplsTopLabelTTL           |
  | 160 | systemInitTimeMilliseconds| 201 | mplsLabelStackLength      |
  | 161 | flowDurationMilliseconds  | 202 | mplsLabelStackDepth       |
  | 162 | flowDurationMicroseconds  | 203 | mplsTopLabelExp           |
  | 163 | observedFlowTotalCount    | 204 | ipPayloadLength           |
  | 164 | ignoredPacketTotalCount   | 205 | udpMessageLength          |
  | 165 | ignoredOctetTotalCount    | 206 | isMulticast               |
  | 166 | notSentFlowTotalCount     | 207 | ipv4IHL                   |
  | 167 | notSentPacketTotalCount   | 208 | ipv4Options               |
  | 168 | notSentOctetTotalCount    | 209 | tcpOptions                |



Quittek, et al.             Standards Track                    [Page 17]

RFC 5102                IPFIX Information Model             January 2008


  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 210 | paddingOctets             | 218 | tcpSynTotalCount          |
  | 211 | collectorIPv4Address      | 219 | tcpFinTotalCount          |
  | 212 | collectorIPv6Address      | 220 | tcpRstTotalCount          |
  | 213 | exportInterface           | 221 | tcpPshTotalCount          |
  | 214 | exportProtocolVersion     | 222 | tcpAckTotalCount          |
  | 215 | exportTransportProtocol   | 223 | tcpUrgTotalCount          |
  | 216 | collectorTransportPort    | 224 | ipTotalLength             |
  | 217 | exporterTransportPort     | 237 | postMplsTopLabelExp       |
  |     |                           | 238 | tcpWindowScale            |
  +-----+---------------------------+-----+---------------------------+

5.  Information Elements

  This section describes the Information Elements of the IPFIX
  information model.  The elements are grouped into 12 groups according
  to their semantics and their applicability:

  1.   Identifiers
  2.   Metering and Exporting Process Configuration
  3.   Metering and Exporting Process Statistics
  4.   IP Header Fields
  5.   Transport Header Fields
  6.   Sub-IP Header Fields
  7.   Derived Packet Properties
  8.   Min/Max Flow Properties
  9.   Flow Timestamps
  10.  Per-Flow Counters
  11.  Miscellaneous Flow Properties
  12.  Padding

  The Information Elements that are derived from fields of packets or
  from packet treatment, such as the Information Elements in groups
  4-7, can typically serve as Flow Keys used for mapping packets to
  Flows.

  If they do not serve as Flow Keys, their value may change from packet
  to packet within a single Flow.  For Information Elements with values
  that are derived from fields of packets or from packet treatment and
  for which the value may change from packet to packet within a single
  Flow, the IPFIX information model defines that their value is
  determined by the first packet observed for the corresponding Flow,
  unless the description of the Information Element explicitly
  specifies a different semantics.  This simple rule allows writing all





Quittek, et al.             Standards Track                    [Page 18]

RFC 5102                IPFIX Information Model             January 2008


  Information Elements related to header fields once when the first
  packet of the Flow is observed.  For further observed packets of the
  same Flow, only Flow properties that depend on more than one packet,
  such as the Information Elements in groups 8-11, need to be updated.

  Information Elements with a name having the "post" prefix, for
  example, "postClassOfServiceIPv4", do not report properties that were
  actually observed at the Observation Point, but retrieved by other
  means within the Observation Domain.  These Information Elements can
  be used if there are middlebox functions within the Observation
  Domain changing Flow properties after packets passed the Observation
  Point.

  Information Elements in this section use the reference property to
  reference [RFC0768], [RFC0791], [RFC0792], [RFC0793], [RFC1108],
  [RFC1112], [RFC1191], [RFC1323], [RFC1385], [RFC1812], [RFC1930],
  [RFC2113], [RFC2119], [RFC2460], [RFC2675], [RFC2863], [RFC3031],
  [RFC3032], [RFC3193], [RFC3234], [RFC3260], [RFC3270], [RFC3376],
  [RFC3954], [RFC4271], [RFC4291], [RFC4302], [RFC4303], [RFC4364],
  [RFC4382], [RFC4443], [RFC4960], [RFC5036], [IEEE.802-11.1999],
  [IEEE.802-1Q.2003], and [IEEE.802-3.2002].

5.1.  Identifiers

  Information Elements grouped in the table below are identifying
  components of the IPFIX architecture, of an IPFIX Device, or of the
  IPFIX protocol.  All of them have an integral abstract data type and
  data type semantics "identifier" as described in Section 3.2.4.

  Typically, some of them are used for limiting scopes of other
  Information Elements.  However, other Information Elements MAY be
  used for limiting scopes.  Note also that all Information Elements
  listed below MAY be used for other purposes than limiting scopes.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 141 | lineCardId                | 148 | flowId                    |
  | 142 | portId                    | 145 | templateId                |
  |  10 | ingressInterface          | 149 | observationDomainId       |
  |  14 | egressInterface           | 138 | observationPointId        |
  | 143 | meteringProcessId         | 137 | commonPropertiesId        |
  | 144 | exportingProcessId        |     |                           |
  +-----+---------------------------+-----+---------------------------+







Quittek, et al.             Standards Track                    [Page 19]

RFC 5102                IPFIX Information Model             January 2008


5.1.1.  lineCardId

  Description:
     An identifier of a line card that is unique per IPFIX Device
     hosting an Observation Point.  Typically, this Information Element
     is used for limiting the scope of other Information Elements.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 141
  Status: current

5.1.2.  portId

  Description:
     An identifier of a line port that is unique per IPFIX Device
     hosting an Observation Point.  Typically, this Information Element
     is used for limiting the scope of other Information Elements.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 142
  Status: current

5.1.3.  ingressInterface

  Description:
     The index of the IP interface where packets of this Flow are being
     received.  The value matches the value of managed object 'ifIndex'
     as defined in RFC 2863.  Note that ifIndex values are not assigned
     statically to an interface and that the interfaces may be
     renumbered every time the device's management system is
     re-initialized, as specified in RFC 2863.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 10
  Status: current
  Reference:
     See RFC 2863 for the definition of the ifIndex object.














Quittek, et al.             Standards Track                    [Page 20]

RFC 5102                IPFIX Information Model             January 2008


5.1.4.  egressInterface

  Description:
     The index of the IP interface where packets of this Flow are being
     sent.  The value matches the value of managed object 'ifIndex' as
     defined in RFC 2863.  Note that ifIndex values are not assigned
     statically to an interface and that the interfaces may be
     renumbered every time the device's management system is
     re-initialized, as specified in RFC 2863.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 14
  Status: current
  Reference:
     See RFC 2863 for the definition of the ifIndex object.

5.1.5.  meteringProcessId

  Description:
     An identifier of a Metering Process that is unique per IPFIX
     Device.  Typically, this Information Element is used for limiting
     the scope of other Information Elements.  Note that process
     identifiers are typically assigned dynamically.  The Metering
     Process may be re-started with a different ID.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 143
  Status: current

5.1.6.  exportingProcessId

  Description:
     An identifier of an Exporting Process that is unique per IPFIX
     Device.  Typically, this Information Element is used for limiting
     the scope of other Information Elements.  Note that process
     identifiers are typically assigned dynamically.  The Exporting
     Process may be re-started with a different ID.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 144
  Status: current










Quittek, et al.             Standards Track                    [Page 21]

RFC 5102                IPFIX Information Model             January 2008


5.1.7.  flowId

  Description:
     An identifier of a Flow that is unique within an Observation
     Domain.  This Information Element can be used to distinguish
     between different Flows if Flow Keys such as IP addresses and port
     numbers are not reported or are reported in separate records.
  Abstract Data Type: unsigned64
  Data Type Semantics: identifier
  ElementId: 148
  Status: current

5.1.8.  templateId

  Description:
     An identifier of a Template that is locally unique within a
     combination of a Transport session and an Observation Domain.
     Template IDs 0-255 are reserved for Template Sets, Options
     Template Sets, and other reserved Sets yet to be created.
     Template IDs of Data Sets are numbered from 256 to 65535.
     Typically, this Information Element is used for limiting the scope
     of other Information Elements.  Note that after a re-start of the
     Exporting Process Template identifiers may be re-assigned.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 145
  Status: current

5.1.9.  observationDomainId

  Description:
     An identifier of an Observation Domain that is locally unique to
     an Exporting Process.  The Exporting Process uses the Observation
     Domain ID to uniquely identify to the Collecting Process the
     Observation Domain where Flows were metered.  It is RECOMMENDED
     that this identifier is also unique per IPFIX Device.  A value of
     0 indicates that no specific Observation Domain is identified by
     this Information Element.  Typically, this Information Element is
     used for limiting the scope of other Information Elements.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 149
  Status: current








Quittek, et al.             Standards Track                    [Page 22]

RFC 5102                IPFIX Information Model             January 2008


5.1.10.  observationPointId

  Description:
     An identifier of an Observation Point that is unique per
     Observation Domain.  It is RECOMMENDED that this identifier is
     also unique per IPFIX Device.  Typically, this Information Element
     is used for limiting the scope of other Information Elements.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 138
  Status: current

5.1.11.  commonPropertiesId

  Description:
     An identifier of a set of common properties that is unique per
     Observation Domain and Transport Session.  Typically, this
     Information Element is used to link to information reported in
     separate Data Records.
  Abstract Data Type: unsigned64
  Data Type Semantics: identifier
  ElementId: 137
  Status: current

5.2.  Metering and Exporting Process Configuration

  Information Elements in this section describe the configuration of
  the Metering Process or the Exporting Process.  The set of these
  Information Elements is listed in the table below.

  +-----+--------------------------+-----+----------------------------+
  |  ID | Name                     |  ID | Name                       |
  +-----+--------------------------+-----+----------------------------+
  | 130 | exporterIPv4Address      | 213 | exportInterface            |
  | 131 | exporterIPv6Address      | 214 | exportProtocolVersion      |
  | 217 | exporterTransportPort    | 215 | exportTransportProtocol    |
  | 211 | collectorIPv4Address     | 216 | collectorTransportPort     |
  | 212 | collectorIPv6Address     | 173 | flowKeyIndicator           |
  +-----+--------------------------+-----+----------------------------+












Quittek, et al.             Standards Track                    [Page 23]

RFC 5102                IPFIX Information Model             January 2008


5.2.1.  exporterIPv4Address

  Description:
     The IPv4 address used by the Exporting Process.  This is used by
     the Collector to identify the Exporter in cases where the identity
     of the Exporter may have been obscured by the use of a proxy.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 130
  Status: current

5.2.2.  exporterIPv6Address

  Description:
     The IPv6 address used by the Exporting Process.  This is used by
     the Collector to identify the Exporter in cases where the identity
     of the Exporter may have been obscured by the use of a proxy.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 131
  Status: current

5.2.3.  exporterTransportPort

  Description:
     The source port identifier from which the Exporting Process sends
     Flow information.  For the transport protocols UDP, TCP, and SCTP,
     this is the source port number.  This field MAY also be used for
     future transport protocols that have 16-bit source port
     identifiers.  This field may be useful for distinguishing multiple
     Exporting Processes that use the same IP address.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 217
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP source port field.  See
     RFC 793 for the definition of the TCP source port field.  See RFC
     4960 for the definition of SCTP.  Additional information on
     defined UDP and TCP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.










Quittek, et al.             Standards Track                    [Page 24]

RFC 5102                IPFIX Information Model             January 2008


5.2.4.  collectorIPv4Address

  Description:
     An IPv4 address to which the Exporting Process sends Flow
     information.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 211
  Status: current

5.2.5.  collectorIPv6Address

  Description:
     An IPv6 address to which the Exporting Process sends Flow
     information.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 212
  Status: current

5.2.6.  exportInterface

  Description:
     The index of the interface from which IPFIX Messages sent by the
     Exporting Process to a Collector leave the IPFIX Device.  The
     value matches the value of managed object 'ifIndex' as defined in
     RFC 2863.  Note that ifIndex values are not assigned statically to
     an interface and that the interfaces may be renumbered every time
     the device's management system is re-initialized, as specified in
     RFC 2863.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 213
  Status: current
  Reference:
     See RFC 2863 for the definition of the ifIndex object.















Quittek, et al.             Standards Track                    [Page 25]

RFC 5102                IPFIX Information Model             January 2008


5.2.7.  exportProtocolVersion

  Description:
     The protocol version used by the Exporting Process for sending
     Flow information.  The protocol version is given by the value of
     the Version Number field in the Message Header.  The protocol
     version is 10 for IPFIX and 9 for NetFlow version 9.  A value of 0
     indicates that no export protocol is in use.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 214
  Status: current
  Reference:
     See the IPFIX protocol specification [RFC5101] for the definition
     of the IPFIX Message Header.
     See RFC 3954 for the definition of the NetFlow version 9 message
     header.

5.2.8.  exportTransportProtocol

  Description:
     The value of the protocol number used by the Exporting Process for
     sending Flow information.  The protocol number identifies the IP
     packet payload type.  Protocol numbers are defined in the IANA
     Protocol Numbers registry.
     In Internet Protocol version 4 (IPv4), this is carried in the
     Protocol field.  In Internet Protocol version 6 (IPv6), this is
     carried in the Next Header field in the last extension header of
     the packet.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 215
  Status: current
  Reference:
     See RFC 791 for the specification of the IPv4 protocol field.  See
     RFC 2460 for the specification of the IPv6 protocol field.  See
     the list of protocol numbers assigned by IANA at
     http://www.iana.org/assignments/protocol-numbers.













Quittek, et al.             Standards Track                    [Page 26]

RFC 5102                IPFIX Information Model             January 2008


5.2.9.  collectorTransportPort

  Description:
     The destination port identifier to which the Exporting Process
     sends Flow information.  For the transport protocols UDP, TCP, and
     SCTP, this is the destination port number.  This field MAY also be
     used for future transport protocols that have 16-bit source port
     identifiers.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 216
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP destination port field.
     See RFC 793 for the definition of the TCP destination port field.
     See RFC 4960 for the definition of SCTP.
     Additional information on defined UDP and TCP port numbers can be
     found at http://www.iana.org/assignments/port-numbers.

5.2.10.  flowKeyIndicator

  Description:
     This set of bit fields is used for marking the Information
     Elements of a Data Record that serve as Flow Key.  Each bit
     represents an Information Element in the Data Record with the n-th
     bit representing the n-th Information Element.  A bit set to value
     1 indicates that the corresponding Information Element is a Flow
     Key of the reported Flow.  A bit set to value 0 indicates that
     this is not the case.
     If the Data Record contains more than 64 Information Elements, the
     corresponding Template SHOULD be designed such that all Flow Keys
     are among the first 64 Information Elements, because the
     flowKeyIndicator only contains 64 bits.  If the Data Record
     contains less than 64 Information Elements, then the bits in the
     flowKeyIndicator for which no corresponding Information Element
     exists MUST have the value 0.
  Abstract Data Type: unsigned64
  Data Type Semantics: flags
  ElementId: 173
  Status: current











Quittek, et al.             Standards Track                    [Page 27]

RFC 5102                IPFIX Information Model             January 2008


5.3.  Metering and Exporting Process Statistics

  Information Elements in this section describe statistics of the
  Metering Process and/or the Exporting Process.  The set of these
  Information Elements is listed in the table below.

  +-----+-----------------------------+-----+-------------------------+
  |  ID | Name                        |  ID | Name                    |
  +-----+-----------------------------+-----+-------------------------+
  |  41 | exportedMessageTotalCount   | 165 | ignoredOctetTotalCount  |
  |  40 | exportedOctetTotalCount     | 166 | notSentFlowTotalCount   |
  |  42 | exportedFlowRecordTotalCount| 167 | notSentPacketTotalCount |
  | 163 | observedFlowTotalCount      | 168 | notSentOctetTotalCount  |
  | 164 | ignoredPacketTotalCount     |     |                         |
  +-----+-----------------------------+-----+-------------------------+

5.3.1.  exportedMessageTotalCount

  Description:
     The total number of IPFIX Messages that the Exporting Process has
     sent since the Exporting Process (re-)initialization to a
     particular Collecting Process.  The reported number excludes the
     IPFIX Message that carries the counter value.  If this Information
     Element is sent to a particular Collecting Process, then by
     default it specifies the number of IPFIX Messages sent to this
     Collecting Process.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 41
  Status: current
  Units: messages

5.3.2.  exportedOctetTotalCount

  Description:
     The total number of octets that the Exporting Process has sent
     since the Exporting Process (re-)initialization to a particular
     Collecting Process.  The value of this Information Element is
     calculated by summing up the IPFIX Message Header length values of
     all IPFIX Messages that were successfully sent to the Collecting
     Process.  The reported number excludes octets in the IPFIX Message
     that carries the counter value.  If this Information Element is
     sent to a particular Collecting Process, then by default it
     specifies the number of octets sent to this Collecting Process.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 40
  Status: current



Quittek, et al.             Standards Track                    [Page 28]

RFC 5102                IPFIX Information Model             January 2008


  Units: octets

5.3.3.  exportedFlowRecordTotalCount

  Description:
     The total number of Flow Records that the Exporting Process has
     sent as Data Records since the Exporting Process
     (re-)initialization to a particular Collecting Process.  The
     reported number excludes Flow Records in the IPFIX Message that
     carries the counter value.  If this Information Element is sent to
     a particular Collecting Process, then by default it specifies the
     number of Flow Records sent to this process.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 42
  Status: current
  Units: flows

5.3.4.  observedFlowTotalCount

  Description:
     The total number of Flows observed in the Observation Domain since
     the Metering Process (re-)initialization for this Observation
     Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 163
  Status: current
  Units: flows

5.3.5.  ignoredPacketTotalCount

  Description:
     The total number of observed IP packets that the Metering Process
     did not process since the (re-)initialization of the Metering
     Process.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 164
  Status: current
  Units: packets










Quittek, et al.             Standards Track                    [Page 29]

RFC 5102                IPFIX Information Model             January 2008


5.3.6.  ignoredOctetTotalCount

  Description:
     The total number of octets in observed IP packets (including the
     IP header) that the Metering Process did not process since the
     (re-)initialization of the Metering Process.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 165
  Status: current
  Units: octets

5.3.7.  notSentFlowTotalCount

  Description:
     The total number of Flow Records that were generated by the
     Metering Process and dropped by the Metering Process or by the
     Exporting Process instead of being sent to the Collecting Process.
     There are several potential reasons for this including resource
     shortage and special Flow export policies.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 166
  Status: current
  Units: flows

5.3.8.  notSentPacketTotalCount

  Description:
     The total number of packets in Flow Records that were generated by
     the Metering Process and dropped by the Metering Process or by the
     Exporting Process instead of being sent to the Collecting Process.
     There are several potential reasons for this including resource
     shortage and special Flow export policies.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 167
  Status: current
  Units: packets












Quittek, et al.             Standards Track                    [Page 30]

RFC 5102                IPFIX Information Model             January 2008


5.3.9.  notSentOctetTotalCount

  Description:
     The total number of octets in packets in Flow Records that were
     generated by the Metering Process and dropped by the Metering
     Process or by the Exporting Process instead of being sent to the
     Collecting Process.  There are several potential reasons for this
     including resource shortage and special Flow export policies.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 168
  Status: current
  Units: octets

5.4.  IP Header Fields

  Information Elements in this section indicate values of IP header
  fields or are derived from IP header field values in combination with
  further information.

  +-----+----------------------------+-----+--------------------------+
  |  ID | Name                       |  ID | Name                     |
  +-----+----------------------------+-----+--------------------------+
  |  60 | ipVersion                  | 193 | nextHeaderIPv6           |
  |   8 | sourceIPv4Address          | 195 | ipDiffServCodePoint      |
  |  27 | sourceIPv6Address          | 196 | ipPrecedence             |
  |   9 | sourceIPv4PrefixLength     |   5 | ipClassOfService         |
  |  29 | sourceIPv6PrefixLength     |  55 | postIpClassOfService     |
  |  44 | sourceIPv4Prefix           |  31 | flowLabelIPv6            |
  | 170 | sourceIPv6Prefix           | 206 | isMulticast              |
  |  12 | destinationIPv4Address     |  54 | fragmentIdentification   |
  |  28 | destinationIPv6Address     |  88 | fragmentOffset           |
  |  13 | destinationIPv4PrefixLength| 197 | fragmentFlags            |
  |  30 | destinationIPv6PrefixLength| 189 | ipHeaderLength           |
  |  45 | destinationIPv4Prefix      | 207 | ipv4IHL                  |
  | 169 | destinationIPv6Prefix      | 190 | totalLengthIPv4          |
  | 192 | ipTTL                      | 224 | ipTotalLength            |
  |   4 | protocolIdentifier         | 191 | payloadLengthIPv6        |
  +-----+----------------------------+-----+--------------------------+

5.4.1.  ipVersion

  Description:
     The IP version field in the IP packet header.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 60
  Status: current



Quittek, et al.             Standards Track                    [Page 31]

RFC 5102                IPFIX Information Model             January 2008


  Reference:
     See RFC 791 for the definition of the version field in the IPv4
     packet header.  See RFC 2460 for the definition of the version
     field in the IPv6 packet header.  Additional information on
     defined version numbers can be found at
     http://www.iana.org/assignments/version-numbers.

5.4.2.  sourceIPv4Address

  Description:
     The IPv4 source address in the IP packet header.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 8
  Status: current
  Reference:
     See RFC 791 for the definition of the IPv4 source address field.

5.4.3.  sourceIPv6Address

  Description:
     The IPv6 source address in the IP packet header.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 27
  Status: current
  Reference:
     See RFC 2460 for the definition of the Source Address field in the
     IPv6 header.

5.4.4.  sourceIPv4PrefixLength

  Description:
     The number of contiguous bits that are relevant in the
     sourceIPv4Prefix Information Element.
  Abstract Data Type: unsigned8
  ElementId: 9
  Status: current
  Units: bits
  Range: The valid range is 0-32.











Quittek, et al.             Standards Track                    [Page 32]

RFC 5102                IPFIX Information Model             January 2008


5.4.5.  sourceIPv6PrefixLength

  Description:
     The number of contiguous bits that are relevant in the
     sourceIPv6Prefix Information Element.
  Abstract Data Type: unsigned8
  ElementId: 29
  Status: current
  Units: bits
  Range: The valid range is 0-128.

5.4.6.  sourceIPv4Prefix

  Description:
     IPv4 source address prefix.
  Abstract Data Type: ipv4Address
  ElementId: 44
  Status: current

5.4.7.  sourceIPv6Prefix

  Description:
     IPv6 source address prefix.
  Abstract Data Type: ipv6Address
  ElementId: 170
  Status: current

5.4.8.  destinationIPv4Address

  Description:
     The IPv4 destination address in the IP packet header.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 12
  Status: current
  Reference:
     See RFC 791 for the definition of the IPv4 destination address
     field.













Quittek, et al.             Standards Track                    [Page 33]

RFC 5102                IPFIX Information Model             January 2008


5.4.9.  destinationIPv6Address

  Description:
     The IPv6 destination address in the IP packet header.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 28
  Status: current
  Reference:
     See RFC 2460 for the definition of the Destination Address field
     in the IPv6 header.

5.4.10.  destinationIPv4PrefixLength

  Description:
     The number of contiguous bits that are relevant in the
     destinationIPv4Prefix Information Element.
  Abstract Data Type: unsigned8
  ElementId: 13
  Status: current
  Units: bits
  Range: The valid range is 0-32.

5.4.11.  destinationIPv6PrefixLength

  Description:
     The number of contiguous bits that are relevant in the
     destinationIPv6Prefix Information Element.
  Abstract Data Type: unsigned8
  ElementId: 30
  Status: current
  Units: bits
  Range: The valid range is 0-128.

5.4.12.  destinationIPv4Prefix

  Description:
     IPv4 destination address prefix.
  Abstract Data Type: ipv4Address
  ElementId: 45
  Status: current










Quittek, et al.             Standards Track                    [Page 34]

RFC 5102                IPFIX Information Model             January 2008


5.4.13.  destinationIPv6Prefix

  Description:
     IPv6 destination address prefix.
  Abstract Data Type: ipv6Address
  ElementId: 169
  Status: current

5.4.14.  ipTTL

  Description:
     For IPv4, the value of the Information Element matches the value
     of the Time to Live (TTL) field in the IPv4 packet header.  For
     IPv6, the value of the Information Element matches the value of
     the Hop Limit field in the IPv6 packet header.
  Abstract Data Type: unsigned8
  ElementId: 192
  Status: current
  Units: hops
  Reference:
     See RFC 791 for the definition of the IPv4 Time to Live field.
     See RFC 2460 for the definition of the IPv6 Hop Limit field.

5.4.15.  protocolIdentifier

  Description:
     The value of the protocol number in the IP packet header.  The
     protocol number identifies the IP packet payload type.  Protocol
     numbers are defined in the IANA Protocol Numbers registry.  In
     Internet Protocol version 4 (IPv4), this is carried in the
     Protocol field.  In Internet Protocol version 6 (IPv6), this is
     carried in the Next Header field in the last extension header of
     the packet.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 4
  Status: current
  Reference:
     See RFC 791 for the specification of the IPv4 protocol field.  See
     RFC 2460 for the specification of the IPv6 protocol field.  See
     the list of protocol numbers assigned by IANA at
     http://www.iana.org/assignments/protocol-numbers.









Quittek, et al.             Standards Track                    [Page 35]

RFC 5102                IPFIX Information Model             January 2008


5.4.16.  nextHeaderIPv6

  Description:
     The value of the Next Header field of the IPv6 header.  The value
     identifies the type of the following IPv6 extension header or of
     the following IP payload.  Valid values are defined in the IANA
     Protocol Numbers registry.
  Abstract Data Type: unsigned8
  ElementId: 193
  Status: current
  Reference:
     See RFC 2460 for the definition of the IPv6 Next Header field.
     See the list of protocol numbers assigned by IANA at
     http://www.iana.org/assignments/protocol-numbers.

5.4.17.  ipDiffServCodePoint

  Description:
     The value of a Differentiated Services Code Point (DSCP) encoded
     in the Differentiated Services field.  The Differentiated Services
     field spans the most significant 6 bits of the IPv4 TOS field or
     the IPv6 Traffic Class field, respectively.
     This Information Element encodes only the 6 bits of the
     Differentiated Services field.  Therefore, its value may range
     from 0 to 63.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 195
  Status: current
  Range: The valid range is 0-63.
  Reference:
     See RFC 3260 for the definition of the Differentiated Services
     field.  See RFC 1812 (Section 5.3.2) and RFC 791 for the
     definition of the IPv4 TOS field.  See RFC 2460 for the definition
     of the IPv6 Traffic Class field.

5.4.18.  ipPrecedence

  Description:
     The value of the IP Precedence.  The IP Precedence value is
     encoded in the first 3 bits of the IPv4 TOS field or the IPv6
     Traffic Class field, respectively.  This Information Element
     encodes only these 3 bits.  Therefore, its value may range from 0
     to 7.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 196
  Status: current



Quittek, et al.             Standards Track                    [Page 36]

RFC 5102                IPFIX Information Model             January 2008


  Range: The valid range is 0-7.
  Reference:
     See RFC 1812 (Section 5.3.3) and RFC 791 for the definition of the
     IP Precedence.  See RFC 1812 (Section 5.3.2) and RFC 791 for the
     definition of the IPv4 TOS field.  See RFC 2460 for the definition
     of the IPv6 Traffic Class field.

5.4.19.  ipClassOfService

  Description:
     For IPv4 packets, this is the value of the TOS field in the IPv4
     packet header.  For IPv6 packets, this is the value of the Traffic
     Class field in the IPv6 packet header.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 5
  Status: current
  Reference:
     See RFC 1812 (Section 5.3.2) and RFC 791 for the definition of the
     IPv4 TOS field.  See RFC 2460 for the definition of the IPv6
     Traffic Class field.

5.4.20.  postIpClassOfService

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'ipClassOfService', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 55
  Status: current
  Reference:
     See RFC 791 for the definition of the IPv4 TOS field.  See RFC
     2460 for the definition of the IPv6 Traffic Class field.  See RFC
     3234 for the definition of middleboxes.














Quittek, et al.             Standards Track                    [Page 37]

RFC 5102                IPFIX Information Model             January 2008


5.4.21.  flowLabelIPv6

  Description:
     The value of the IPv6 Flow Label field in the IP packet header.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 31
  Status: current
  Reference:
     See RFC 2460 for the definition of the Flow Label field in the
     IPv6 packet header.

5.4.22.  isMulticast

  Description:
     If the IP destination address is not a reserved multicast address,
     then the value of all bits of the octet (including the reserved
     ones) is zero.
     The first bit of this octet is set to 1 if the Version field of
     the IP header has the value 4 and if the Destination Address field
     contains a reserved multicast address in the range from 224.0.0.0
     to 239.255.255.255.  Otherwise, this bit is set to 0.  The second
     and third bits of this octet are reserved for future use.
     The remaining bits of the octet are only set to values other than
     zero if the IP Destination Address is a reserved IPv6 multicast
     address.  Then the fourth bit of the octet is set to the value of
     the T flag in the IPv6 multicast address and the remaining four
     bits are set to the value of the scope field in the IPv6 multicast
     address.

           0      1      2      3      4      5      6      7
        +------+------+------+------+------+------+------+------+
        | MCv4 | RES. | RES. |  T   |   IPv6 multicast scope    |
        +------+------+------+------+------+------+------+------+

        Bit  0:    set to 1 if IPv4 multicast
        Bits 1-2:  reserved for future use
        Bit  4:    set to value of T flag, if IPv6 multicast
        Bits 4-7:  set to value of multicast scope if IPv6 multicast

  Abstract Data Type: unsigned8
  Data Type Semantics: flags
  ElementId: 206
  Status: current







Quittek, et al.             Standards Track                    [Page 38]

RFC 5102                IPFIX Information Model             January 2008


  Reference:
     See RFC 1112 for the specification of reserved IPv4 multicast
     addresses.  See RFC 4291 for the specification of reserved IPv6
     multicast addresses and the definition of the T flag and the IPv6
     multicast scope.

5.4.23.  fragmentIdentification

  Description:
     The value of the Identification field in the IPv4 packet header or
     in the IPv6 Fragment header, respectively.  The value is 0 for
     IPv6 if there is no fragment header.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 54
  Status: current
  Reference:
     See RFC 791 for the definition of the IPv4 Identification field.
     See RFC 2460 for the definition of the Identification field in the
     IPv6 Fragment header.

5.4.24.  fragmentOffset

  Description:
     The value of the IP fragment offset field in the IPv4 packet
     header or the IPv6 Fragment header, respectively.  The value is 0
     for IPv6 if there is no fragment header.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 88
  Status: current
  Reference:
     See RFC 791 for the specification of the fragment offset in the
     IPv4 header.  See RFC 2460 for the specification of the fragment
     offset in the IPv6 Fragment header.

5.4.25.  fragmentFlags

  Description:
     Fragmentation properties indicated by flags in the IPv4 packet
     header or the IPv6 Fragment header, respectively.

     Bit 0:    (RS) Reserved.
               The value of this bit MUST be 0 until specified
               otherwise.






Quittek, et al.             Standards Track                    [Page 39]

RFC 5102                IPFIX Information Model             January 2008


     Bit 1:    (DF) 0 = May Fragment,  1 = Don't Fragment.
               Corresponds to the value of the DF flag in the
               IPv4 header.  Will always be 0 for IPv6 unless
               a "don't fragment" feature is introduced to IPv6.

     Bit 2:    (MF) 0 = Last Fragment, 1 = More Fragments.
               Corresponds to the MF flag in the IPv4 header
               or to the M flag in the IPv6 Fragment header,
               respectively.  The value is 0 for IPv6 if there
               is no fragment header.

     Bits 3-7: (DC) Don't Care.
               The values of these bits are irrelevant.

          0   1   2   3   4   5   6   7
        +---+---+---+---+---+---+---+---+
        | R | D | M | D | D | D | D | D |
        | S | F | F | C | C | C | C | C |
        +---+---+---+---+---+---+---+---+

  Abstract Data Type: unsigned8
  Data Type Semantics: flags
  ElementId: 197
  Status: current
  Reference:
     See RFC 791 for the specification of the IPv4 fragment flags.  See
     RFC 2460 for the specification of the IPv6 Fragment header.

5.4.26.  ipHeaderLength

  Description:
     The length of the IP header.  For IPv6, the value of this
     Information Element is 40.
  Abstract Data Type: unsigned8
  ElementId: 189
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of the IPv4 header.  See RFC
     2460 for the specification of the IPv6 header.

5.4.27.  ipv4IHL

  Description:
     The value of the Internet Header Length (IHL) field in the IPv4
     header.  It specifies the length of the header in units of 4
     octets.  Please note that its unit is different from most of the
     other Information Elements reporting length values.



Quittek, et al.             Standards Track                    [Page 40]

RFC 5102                IPFIX Information Model             January 2008


  Abstract Data Type: unsigned8
  ElementId: 207
  Status: current
  Units: 4 octets
  Reference:
     See RFC 791 for the specification of the IPv4 header.

5.4.28.  totalLengthIPv4

  Description:
     The total length of the IPv4 packet.
  Abstract Data Type: unsigned16
  ElementId: 190
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of the IPv4 total length.

5.4.29.  ipTotalLength

  Description:
     The total length of the IP packet.
  Abstract Data Type: unsigned64
  ElementId: 224
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of the IPv4 total length.  See
     RFC 2460 for the specification of the IPv6 payload length.  See
     RFC 2675 for the specification of the IPv6 jumbo payload length.

5.4.30.  payloadLengthIPv6

  Description:
     This Information Element reports the value of the Payload Length
     field in the IPv6 header.  Note that IPv6 extension headers belong
     to the payload.  Also note that in case of a jumbo payload option
     the value of the Payload Length field in the IPv6 header is zero
     and so will be the value reported by this Information Element.
  Abstract Data Type: unsigned16
  ElementId: 191
  Status: current
  Units: octets
  Reference:
     See RFC 2460 for the specification of the IPv6 payload length.
     See RFC 2675 for the specification of the IPv6 jumbo payload
     option.




Quittek, et al.             Standards Track                    [Page 41]

RFC 5102                IPFIX Information Model             January 2008


5.5.  Transport Header Fields

  The set of Information Elements related to transport header fields
  and length includes the Information Elements listed in the table
  below.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  |   7 | sourceTransportPort       | 238 | tcpWindowScale            |
  |  11 | destinationTransportPort  | 187 | tcpUrgentPointer          |
  | 180 | udpSourcePort             | 188 | tcpHeaderLength           |
  | 181 | udpDestinationPort        |  32 | icmpTypeCodeIPv4          |
  | 205 | udpMessageLength          | 176 | icmpTypeIPv4              |
  | 182 | tcpSourcePort             | 177 | icmpCodeIPv4              |
  | 183 | tcpDestinationPort        | 139 | icmpTypeCodeIPv6          |
  | 184 | tcpSequenceNumber         | 178 | icmpTypeIPv6              |
  | 185 | tcpAcknowledgementNumber  | 179 | icmpCodeIPv6              |
  | 186 | tcpWindowSize             |  33 | igmpType                  |
  +-----+---------------------------+-----+---------------------------+

5.5.1.  sourceTransportPort

  Description:
     The source port identifier in the transport header.  For the
     transport protocols UDP, TCP, and SCTP, this is the source port
     number given in the respective header.  This field MAY also be
     used for future transport protocols that have 16-bit source port
     identifiers.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 7
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP source port field.  See
     RFC 793 for the definition of the TCP source port field.  See RFC
     4960 for the definition of SCTP.
     Additional information on defined UDP and TCP port numbers can be
     found at http://www.iana.org/assignments/port-numbers.

5.5.2.  destinationTransportPort

  Description:
     The destination port identifier in the transport header.  For the
     transport protocols UDP, TCP, and SCTP, this is the destination
     port number given in the respective header.  This field MAY also
     be used for future transport protocols that have 16-bit
     destination port identifiers.



Quittek, et al.             Standards Track                    [Page 42]

RFC 5102                IPFIX Information Model             January 2008


  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 11
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP destination port field.
     See RFC 793 for the definition of the TCP destination port field.
     See RFC 4960 for the definition of SCTP.  Additional information
     on defined UDP and TCP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.

5.5.3.  udpSourcePort

  Description:
     The source port identifier in the UDP header.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 180
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP source port field.
     Additional information on defined UDP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.

5.5.4.  udpDestinationPort

  Description:
     The destination port identifier in the UDP header.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 181
  Status: current
  Reference:
     See RFC 768 for the definition of the UDP destination port field.
     Additional information on defined UDP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.

5.5.5.  udpMessageLength

  Description:
     The value of the Length field in the UDP header.
  Abstract Data Type: unsigned16
  ElementId: 205
  Status: current
  Units: octets
  Reference:
     See RFC 768 for the specification of the UDP header.




Quittek, et al.             Standards Track                    [Page 43]

RFC 5102                IPFIX Information Model             January 2008


5.5.6.  tcpSourcePort

  Description:
     The source port identifier in the TCP header.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 182
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP source port field.
     Additional information on defined TCP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.

5.5.7.  tcpDestinationPort

  Description:
     The destination port identifier in the TCP header.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 183
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP source port field.
     Additional information on defined TCP port numbers can be found at
     http://www.iana.org/assignments/port-numbers.

5.5.8.  tcpSequenceNumber

  Description:
     The sequence number in the TCP header.
  Abstract Data Type: unsigned32
  ElementId: 184
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP sequence number.

5.5.9.  tcpAcknowledgementNumber

  Description:
     The acknowledgement number in the TCP header.
  Abstract Data Type: unsigned32
  ElementId: 185
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP acknowledgement number.






Quittek, et al.             Standards Track                    [Page 44]

RFC 5102                IPFIX Information Model             January 2008


5.5.10.  tcpWindowSize

  Description:
     The window field in the TCP header.  If the TCP window scale is
     supported, then TCP window scale must be known to fully interpret
     the value of this information.
  Abstract Data Type: unsigned16
  ElementId: 186
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP window field.  See RFC
     1323 for the definition of the TCP window scale.

5.5.11.  tcpWindowScale

  Description:
     The scale of the window field in the TCP header.
  Abstract Data Type: unsigned16
  ElementId: 238
  Status: current
  Reference:
     See RFC 1323 for the definition of the TCP window scale.

5.5.12.  tcpUrgentPointer

  Description:
     The urgent pointer in the TCP header.
  Abstract Data Type: unsigned16
  ElementId: 187
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP urgent pointer.

5.5.13.  tcpHeaderLength

  Description:
     The length of the TCP header.  Note that the value of this
     Information Element is different from the value of the Data Offset
     field in the TCP header.  The Data Offset field indicates the
     length of the TCP header in units of 4 octets.  This Information
     Elements specifies the length of the TCP header in units of
     octets.
  Abstract Data Type: unsigned8
  ElementId: 188
  Status: current
  Units: octets
  Reference:
     See RFC 793 for the definition of the TCP header.



Quittek, et al.             Standards Track                    [Page 45]

RFC 5102                IPFIX Information Model             January 2008


5.5.14.  icmpTypeCodeIPv4

  Description:
     Type and Code of the IPv4 ICMP message.  The combination of both
     values is reported as (ICMP type * 256) + ICMP code.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 32
  Status: current
  Reference:
     See RFC 792 for the definition of the IPv4 ICMP type and code
     fields.

5.5.15.  icmpTypeIPv4

  Description:
     Type of the IPv4 ICMP message.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 176
  Status: current
  Reference:
     See RFC 792 for the definition of the IPv4 ICMP type field.

5.5.16.  icmpCodeIPv4

  Description:
     Code of the IPv4 ICMP message.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 177
  Status: current
  Reference:
     See RFC 792 for the definition of the IPv4 ICMP code field.

5.5.17.  icmpTypeCodeIPv6

  Description:
     Type and Code of the IPv6 ICMP message.  The combination of both
     values is reported as (ICMP type * 256) + ICMP code.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 139
  Status: current
  Reference:
     See RFC 4443 for the definition of the IPv6 ICMP type and code
     fields.




Quittek, et al.             Standards Track                    [Page 46]

RFC 5102                IPFIX Information Model             January 2008


5.5.18.  icmpTypeIPv6

  Description:
     Type of the IPv6 ICMP message.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 178
  Status: current
  Reference:
     See RFC 4443 for the definition of the IPv6 ICMP type field.

5.5.19.  icmpCodeIPv6

  Description:
     Code of the IPv6 ICMP message.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 179
  Status: current
  Reference:
     See RFC 4443 for the definition of the IPv6 ICMP code field.

5.5.20.  igmpType

  Description:
     The type field of the IGMP message.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 33
  Status: current
  Reference:
     See RFC 3376 for the definition of the IGMP type field.



















Quittek, et al.             Standards Track                    [Page 47]

RFC 5102                IPFIX Information Model             January 2008


5.6.  Sub-IP Header Fields

  The set of Information Elements related to Sub-IP header fields
  includes the Information Elements listed in the table below.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  |  56 | sourceMacAddress          | 201 | mplsLabelStackLength      |
  |  81 | postSourceMacAddress      | 194 | mplsPayloadLength         |
  |  58 | vlanId                    |  70 | mplsTopLabelStackSection  |
  |  59 | postVlanId                |  71 | mplsLabelStackSection2    |
  |  80 | destinationMacAddress     |  72 | mplsLabelStackSection3    |
  |  57 | postDestinationMacAddress |  73 | mplsLabelStackSection4    |
  | 146 | wlanChannelId             |  74 | mplsLabelStackSection5    |
  | 147 | wlanSSID                  |  75 | mplsLabelStackSection6    |
  | 200 | mplsTopLabelTTL           |  76 | mplsLabelStackSection7    |
  | 203 | mplsTopLabelExp           |  77 | mplsLabelStackSection8    |
  | 237 | postMplsTopLabelExp       |  78 | mplsLabelStackSection9    |
  | 202 | mplsLabelStackDepth       |  79 | mplsLabelStackSection10   |
  +-----+---------------------------+-----+---------------------------+

5.6.1.  sourceMacAddress

  Description:
     The IEEE 802 source MAC address field.
  Abstract Data Type: macAddress
  Data Type Semantics: identifier
  ElementId: 56
  Status: current
  Reference:
     See IEEE.802-3.2002.

5.6.2.  postSourceMacAddress

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'sourceMacAddress', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: macAddress
  Data Type Semantics: identifier
  ElementId: 81
  Status: current
  Reference:
     See IEEE.802-3.2002.





Quittek, et al.             Standards Track                    [Page 48]

RFC 5102                IPFIX Information Model             January 2008


5.6.3.  vlanId

  Description:
     The IEEE 802.1Q VLAN identifier (VID) extracted from the Tag
     Control Information field that was attached to the IP packet.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 58
  Status: current
  Reference:
     See IEEE.802-1Q.2003.

5.6.4.  postVlanId

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'vlanId', except that it reports
     a potentially modified value caused by a middlebox function after
     the packet passed the Observation Point.
  Abstract Data Type: unsigned16
  Data Type Semantics: identifier
  ElementId: 59
  Status: current
  Reference:
     See IEEE.802-1Q.2003.

5.6.5.  destinationMacAddress

  Description:
     The IEEE 802 destination MAC address field.
  Abstract Data Type: macAddress
  Data Type Semantics: identifier
  ElementId: 80
  Status: current
  Reference:
     See IEEE.802-3.2002.

5.6.6.  postDestinationMacAddress

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'destinationMacAddress', except
     that it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: macAddress
  Data Type Semantics: identifier
  ElementId: 57
  Status: current



Quittek, et al.             Standards Track                    [Page 49]

RFC 5102                IPFIX Information Model             January 2008


  Reference:
     See IEEE.802-3.2002.

5.6.7.  wlanChannelId

  Description:
     The identifier of the 802.11 (Wi-Fi) channel used.
  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 146
  Status: current
  Reference:
     See IEEE.802-11.1999.

5.6.8.  wlanSSID

  Description:
     The Service Set IDentifier (SSID) identifying an 802.11 (Wi-Fi)
     network used.  According to IEEE.802-11.1999, the SSID is encoded
     into a string of up to 32 characters.
  Abstract Data Type: string
  ElementId: 147
  Status: current
  Reference:
     See IEEE.802-11.1999.

5.6.9.  mplsTopLabelTTL

  Description:
     The TTL field from the top MPLS label stack entry, i.e., the last
     label that was pushed.
  Abstract Data Type: unsigned8
  ElementId: 200
  Status: current
  Units: hops
  Reference:
     See RFC 3032 for the specification of the TTL field.














Quittek, et al.             Standards Track                    [Page 50]

RFC 5102                IPFIX Information Model             January 2008


5.6.10.  mplsTopLabelExp

  Description:
     The Exp field from the top MPLS label stack entry, i.e., the last
     label that was pushed.

     Bits 0-4:  Don't Care, value is irrelevant.
     Bits 5-7:  MPLS Exp field.

         0   1   2   3   4   5   6   7
       +---+---+---+---+---+---+---+---+
       |     don't care    |    Exp    |
       +---+---+---+---+---+---+---+---+

  Abstract Data Type: unsigned8
  Data Type Semantics: flags
  ElementId: 203
  Status: current
  Reference:
     See RFC 3032 for the specification of the Exp field.  See RFC 3270
     for usage of the Exp field.

5.6.11.  postMplsTopLabelExp

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'mplsTopLabelExp', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned8
  Data Type Semantics: flags
  ElementId: 237
  Status: current
  Reference:
     See RFC 3032 for the specification of the Exp field.  See RFC 3270
     for usage of the Exp field.

5.6.12.  mplsLabelStackDepth

  Description:
     The number of labels in the MPLS label stack.
  Abstract Data Type: unsigned32
  ElementId: 202
  Status: current
  Units: label stack entries
  Reference:
     See RFC 3032 for the specification of the MPLS label stack.




Quittek, et al.             Standards Track                    [Page 51]

RFC 5102                IPFIX Information Model             January 2008


5.6.13.  mplsLabelStackLength

  Description:
     The length of the MPLS label stack in units of octets.
  Abstract Data Type: unsigned32
  ElementId: 201
  Status: current
  Units: octets
  Reference:
     See RFC 3032 for the specification of the MPLS label stack.

5.6.14.  mplsPayloadLength

  Description:
     The size of the MPLS packet without the label stack.
  Abstract Data Type: unsigned32
  ElementId: 194
  Status: current
  Units: octets
  Reference:
     See RFC 3031 for the specification of MPLS packets.  See RFC 3032
     for the specification of the MPLS label stack.

5.6.15.  mplsTopLabelStackSection

  Description:
     The Label, Exp, and S fields from the top MPLS label stack entry,
     i.e., from the last label that was pushed.  The size of this
     Information Element is 3 octets.

      0                   1                   2
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                Label                  | Exp |S|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Label:  Label Value, 20 bits
     Exp:    Experimental Use, 3 bits
     S:      Bottom of Stack, 1 bit

  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 70
  Status: current
  Reference:
     See RFC 3032.





Quittek, et al.             Standards Track                    [Page 52]

RFC 5102                IPFIX Information Model             January 2008


5.6.16.  mplsLabelStackSection2

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsTopLabelStackSection.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 71
  Status: current
  Reference:
     See RFC 3032.

5.6.17.  mplsLabelStackSection3

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection2.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 72
  Status: current
  Reference:
     See RFC 3032.

5.6.18.  mplsLabelStackSection4

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection3.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 73
  Status: current
  Reference:
     See RFC 3032.







Quittek, et al.             Standards Track                    [Page 53]

RFC 5102                IPFIX Information Model             January 2008


5.6.19.  mplsLabelStackSection5

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection4.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 74
  Status: current
  Reference:
     See RFC 3032.

5.6.20.  mplsLabelStackSection6

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection5.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 75
  Status: current
  Reference:
     See RFC 3032.

5.6.21.  mplsLabelStackSection7

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection6.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 76
  Status: current
  Reference:
     See RFC 3032.







Quittek, et al.             Standards Track                    [Page 54]

RFC 5102                IPFIX Information Model             January 2008


5.6.22.  mplsLabelStackSection8

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection7.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 77
  Status: current
  Reference:
     See RFC 3032.

5.6.23.  mplsLabelStackSection9

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection8.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 78
  Status: current
  Reference:
     See RFC 3032.

5.6.24.  mplsLabelStackSection10

  Description:
     The Label, Exp, and S fields from the label stack entry that was
     pushed immediately before the label stack entry that would be
     reported by mplsLabelStackSection9.  See the definition of
     mplsTopLabelStackSection for further details.  The size of this
     Information Element is 3 octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 79
  Status: current
  Reference:
     See RFC 3032.







Quittek, et al.             Standards Track                    [Page 55]

RFC 5102                IPFIX Information Model             January 2008


5.7.  Derived Packet Properties

  The set of Information Elements derived from packet properties (for
  example, values of header fields) includes the Information Elements
  listed in the table below.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 204 | ipPayloadLength           |  18 | bgpNextHopIPv4Address     |
  |  15 | ipNextHopIPv4Address      |  63 | bgpNextHopIPv6Address     |
  |  62 | ipNextHopIPv6Address      |  46 | mplsTopLabelType          |
  |  16 | bgpSourceAsNumber         |  47 | mplsTopLabelIPv4Address   |
  |  17 | bgpDestinationAsNumber    | 140 | mplsTopLabelIPv6Address   |
  | 128 | bgpNextAdjacentAsNumber   |  90 | mplsVpnRouteDistinguisher |
  | 129 | bgpPrevAdjacentAsNumber   |     |                           |
  +-----+---------------------------+-----+---------------------------+

5.7.1.  ipPayloadLength

  Description:
     The effective length of the IP payload.  For IPv4 packets, the
     value of this Information Element is the difference between the
     total length of the IPv4 packet (as reported by Information
     Element totalLengthIPv4) and the length of the IPv4 header (as
     reported by Information Element headerLengthIPv4).  For IPv6, the
     value of the Payload Length field in the IPv6 header is reported
     except in the case that the value of this field is zero and that
     there is a valid jumbo payload option.  In this case, the value of
     the Jumbo Payload Length field in the jumbo payload option is
     reported.
  Abstract Data Type: unsigned32
  ElementId: 204
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of IPv4 packets.  See RFC 2460
     for the specification of the IPv6 payload length.  See RFC 2675
     for the specification of the IPv6 jumbo payload length.

5.7.2.  ipNextHopIPv4Address

  Description:
     The IPv4 address of the next IPv4 hop.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 15
  Status: current



Quittek, et al.             Standards Track                    [Page 56]

RFC 5102                IPFIX Information Model             January 2008


5.7.3.  ipNextHopIPv6Address

  Description:
     The IPv6 address of the next IPv6 hop.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 62
  Status: current

5.7.4.  bgpSourceAsNumber

  Description:
     The autonomous system (AS) number of the source IP address.  If AS
     path information for this Flow is only available as an unordered
     AS set (and not as an ordered AS sequence), then the value of this
     Information Element is 0.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 16
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4, and see RFC 1930 for the
     definition of the AS number.

5.7.5.  bgpDestinationAsNumber

  Description:
     The autonomous system (AS) number of the destination IP address.
     If AS path information for this Flow is only available as an
     unordered AS set (and not as an ordered AS sequence), then the
     value of this Information Element is 0.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 17
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4, and see RFC 1930 for the
     definition of the AS number.

5.7.6.  bgpNextAdjacentAsNumber

  Description:
     The autonomous system (AS) number of the first AS in the AS path
     to the destination IP address.  The path is deduced by looking up
     the destination IP address of the Flow in the BGP routing
     information base.  If AS path information for this Flow is only
     available as an unordered AS set (and not as an ordered AS
     sequence), then the value of this Information Element is 0.



Quittek, et al.             Standards Track                    [Page 57]

RFC 5102                IPFIX Information Model             January 2008


  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 128
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4, and see RFC 1930 for the
     definition of the AS number.

5.7.7.  bgpPrevAdjacentAsNumber

  Description:
     The autonomous system (AS) number of the last AS in the AS path
     from the source IP address.  The path is deduced by looking up the
     source IP address of the Flow in the BGP routing information base.
     If AS path information for this Flow is only available as an
     unordered AS set (and not as an ordered AS sequence), then the
     value of this Information Element is 0.  In case of BGP asymmetry,
     the bgpPrevAdjacentAsNumber might not be able to report the
     correct value.
  Abstract Data Type: unsigned32
  Data Type Semantics: identifier
  ElementId: 129
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4, and see RFC 1930 for the
     definition of the AS number.

5.7.8.  bgpNextHopIPv4Address

  Description:
     The IPv4 address of the next (adjacent) BGP hop.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 18
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4.

5.7.9.  bgpNextHopIPv6Address

  Description:
     The IPv6 address of the next (adjacent) BGP hop.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 63
  Status: current
  Reference:
     See RFC 4271 for a description of BGP-4.



Quittek, et al.             Standards Track                    [Page 58]

RFC 5102                IPFIX Information Model             January 2008


5.7.10.  mplsTopLabelType

  Description:
     This field identifies the control protocol that
     allocated the top-of-stack label.  Initial values for this field
     are listed below.  Further values may be assigned by IANA in the
     MPLS label type registry.

        -  0x01 TE-MIDPT: Any TE tunnel mid-point or tail label
        -  0x02 Pseudowire: Any PWE3 or Cisco AToM based label
        -  0x03 VPN: Any label associated with VPN
        -  0x04 BGP: Any label associated with BGP or BGP routing
        -  0x05 LDP: Any label associated with dynamically assigned
           labels using LDP

  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 46
  Status: current
  Reference:
     See RFC 3031 for the MPLS label structure.  See RFC 4364 for the
     association of MPLS labels with Virtual Private Networks (VPNs).
     See RFC 4271 for BGP and BGP routing.  See RFC 5036 for Label
     Distribution Protocol (LDP).  See the list of MPLS label types
     assigned by IANA at
     http://www.iana.org/assignments/mpls-label-values.

5.7.11.  mplsTopLabelIPv4Address

  Description:
     The IPv4 address of the system that the MPLS top label will cause
     this Flow to be forwarded to.
  Abstract Data Type: ipv4Address
  Data Type Semantics: identifier
  ElementId: 47
  Status: current
  Reference:
     See RFC 3031 for the association between MPLS labels and IP
     addresses.












Quittek, et al.             Standards Track                    [Page 59]

RFC 5102                IPFIX Information Model             January 2008


5.7.12.  mplsTopLabelIPv6Address

  Description:
     The IPv6 address of the system that the MPLS top label will cause
     this Flow to be forwarded to.
  Abstract Data Type: ipv6Address
  Data Type Semantics: identifier
  ElementId: 140
  Status: current
  Reference:
     See RFC 3031 for the association between MPLS labels and IP
     addresses.

5.7.13.  mplsVpnRouteDistinguisher

  Description:
     The value of the VPN route distinguisher of a corresponding entry
     in a VPN routing and forwarding table.  Route distinguisher
     ensures that the same address can be used in several different
     MPLS VPNs and that it is possible for BGP to carry several
     completely different routes to that address, one for each VPN.
     According to RFC 4364, the size of mplsVpnRouteDistinguisher is 8
     octets.  However, in RFC 4382 an octet string with flexible length
     was chosen for representing a VPN route distinguisher by object
     MplsL3VpnRouteDistinguisher.  This choice was made in order to be
     open to future changes of the size.  This idea was adopted when
     choosing octetArray as abstract data type for this Information
     Element.  The maximum length of this Information Element is 256
     octets.
  Abstract Data Type: octetArray
  Data Type Semantics: identifier
  ElementId: 90
  Status: current
  Reference:
     See RFC 4364 for the specification of the route distinguisher.
     See RFC 4382 for the specification of the MPLS/BGP Layer 3 Virtual
     Private Network (VPN) Management Information Base.














Quittek, et al.             Standards Track                    [Page 60]

RFC 5102                IPFIX Information Model             January 2008


5.8.  Min/Max Flow Properties

  Information Elements in this section are results of minimum or
  maximum operations over all packets of a Flow.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  |  25 | minimumIpTotalLength      | 208 | ipv4Options               |
  |  26 | maximumIpTotalLength      |  64 | ipv6ExtensionHeaders      |
  |  52 | minimumTTL                |   6 | tcpControlBits            |
  |  53 | maximumTTL                | 209 | tcpOptions                |
  +-----+---------------------------+-----+---------------------------+

5.8.1.  minimumIpTotalLength

  Description:
     Length of the smallest packet observed for this Flow.  The packet
     length includes the IP header(s) length and the IP payload length.
  Abstract Data Type: unsigned64
  ElementId: 25
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of the IPv4 total length.  See
     RFC 2460 for the specification of the IPv6 payload length.  See
     RFC 2675 for the specification of the IPv6 jumbo payload length.

5.8.2.  maximumIpTotalLength

  Description:
     Length of the largest packet observed for this Flow.  The packet
     length includes the IP header(s) length and the IP payload length.
  Abstract Data Type: unsigned64
  ElementId: 26
  Status: current
  Units: octets
  Reference:
     See RFC 791 for the specification of the IPv4 total length.  See
     RFC 2460 for the specification of the IPv6 payload length.  See
     RFC 2675 for the specification of the IPv6 jumbo payload length.

5.8.3.  minimumTTL

  Description:
     Minimum TTL value observed for any packet in this Flow.





Quittek, et al.             Standards Track                    [Page 61]

RFC 5102                IPFIX Information Model             January 2008


  Abstract Data Type: unsigned8
  ElementId: 52
  Status: current
  Units: hops
  Reference:
     See RFC 791 for the definition of the IPv4 Time to Live field.
     See RFC 2460 for the definition of the IPv6 Hop Limit field.

5.8.4.  maximumTTL

  Description:
     Maximum TTL value observed for any packet in this Flow.
  Abstract Data Type: unsigned8
  ElementId: 53
  Status: current
  Units: hops
  Reference:
     See RFC 791 for the definition of the IPv4 Time to Live field.
     See RFC 2460 for the definition of the IPv6 Hop Limit field.

5.8.5.  ipv4Options

  Description:
     IPv4 options in packets of this Flow.  The information is encoded
     in a set of bit fields.  For each valid IPv4 option type, there is
     a bit in this set.  The bit is set to 1 if any observed packet of
     this Flow contains the corresponding IPv4 option type.  Otherwise,
     if no observed packet of this Flow contained the respective IPv4
     option type, the value of the corresponding bit is 0.  The list of
     valid IPv4 options is maintained by IANA.  Note that for
     identifying an option not just the 5-bit Option Number, but all 8
     bits of the Option Type need to match one of the IPv4 options
     specified at http://www.iana.org/assignments/ip-parameters.
     Options are mapped to bits according to their option numbers.
     Option number X is mapped to bit X.  The mapping is illustrated by
     the figure below.

          0      1      2      3      4      5      6      7
      +------+------+------+------+------+------+------+------+
      | EOOL | NOP  | SEC  | LSR  |  TS  |E-SEC |CIPSO |  RR  | ...
      +------+------+------+------+------+------+------+------+

          8      9     10     11     12     13     14     15
      +------+------+------+------+------+------+------+------+
  ... | SID  | SSR  | ZSU  | MTUP | MTUR | FINN | VISA |ENCODE| ...
      +------+------+------+------+------+------+------+------+

         16     17     18     19     20     21     22     23



Quittek, et al.             Standards Track                    [Page 62]

RFC 5102                IPFIX Information Model             January 2008


      +------+------+------+------+------+------+------+------+
  ... |IMITD | EIP  |  TR  |ADDEXT|RTRALT| SDB  |NSAPA | DPS  | ...
      +------+------+------+------+------+------+------+------+

         24     25     26     27     28     29     30     31
      +------+------+------+------+------+------+------+------+
  ... | UMP  |  QS  |   to be assigned by IANA  |  EXP |      |
      +------+------+------+------+------+------+------+------+

         Type   Option
     Bit Value  Name    Reference
     ---+-----+-------+------------------------------------
      0     0   EOOL    End of Options List, RFC 791
      1     1   NOP     No Operation, RFC 791
      2   130   SEC     Security, RFC 1108
      3   131   LSR     Loose Source Route, RFC 791
      4    68   TS      Time Stamp, RFC 791
      5   133   E-SEC   Extended Security, RFC 1108
      6   134   CIPSO   Commercial Security
      7     7   RR      Record Route, RFC 791
      8   136   SID     Stream ID, RFC 791
      9   137   SSR     Strict Source Route, RFC 791
     10    10   ZSU     Experimental Measurement
     11    11   MTUP    (obsoleted) MTU Probe, RFC 1191
     12    12   MTUR    (obsoleted) MTU Reply, RFC 1191
     13   205   FINN    Experimental Flow Control
     14   142   VISA    Experimental Access Control
     15    15   ENCODE
     16   144   IMITD   IMI Traffic Descriptor
     17   145   EIP     Extended Internet Protocol, RFC 1385
     18    82   TR      Traceroute, RFC 3193
     19   147   ADDEXT  Address Extension
     20   148   RTRALT  Router Alert, RFC 2113
     21   149   SDB     Selective Directed Broadcast
     22   150   NSAPA   NSAP Address
     23   151   DPS     Dynamic Packet State
     24   152   UMP     Upstream Multicast Pkt.
     25    25   QS      Quick-Start
     30    30   EXP     RFC3692-style Experiment
     30    94   EXP     RFC3692-style Experiment
     30   158   EXP     RFC3692-style Experiment
     30   222   EXP     RFC3692-style Experiment
     ...  ...   ...     Further options numbers
                        may be assigned by IANA

  Abstract Data Type: unsigned32
  Data Type Semantics: flags
  ElementId: 208



Quittek, et al.             Standards Track                    [Page 63]

RFC 5102                IPFIX Information Model             January 2008


  Status: current
  Reference:
     See RFC 791 for the definition of IPv4 options.  See the list of
     IPv4 option numbers assigned by IANA at
     http://www.iana.org/assignments/ip-parameters.

5.8.6.  ipv6ExtensionHeaders

  Description:
     IPv6 extension headers observed in packets of this Flow.  The
     information is encoded in a set of bit fields.  For each IPv6
     option header, there is a bit in this set.  The bit is set to 1 if
     any observed packet of this Flow contains the corresponding IPv6
     extension header.  Otherwise, if no observed packet of this Flow
     contained the respective IPv6 extension header, the value of the
     corresponding bit is 0.

             0     1     2     3     4     5     6     7
         +-----+-----+-----+-----+-----+-----+-----+-----+
         | Res | FRA1| RH  | FRA0| UNK | Res | HOP | DST |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

             8     9    10    11    12    13    14    15
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... | PAY | AH  | ESP |         Reserved            | ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

            16    17    18    19    20    21    22    23
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |                  Reserved                     | ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

            24    25    26    27    28    29    30    31
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |                  Reserved                     |
         +-----+-----+-----+-----+-----+-----+-----+-----+

       Bit    IPv6 Option   Description

      0, Res               Reserved
      1, FRA1     44       Fragmentation header - not first fragment
      2, RH       43       Routing header
      3, FRA0     44       Fragment header - first fragment
      4, UNK               Unknown Layer 4 header
                           (compressed, encrypted, not supported)
      5, Res               Reserved
      6, HOP       0       Hop-by-hop option header
      7, DST      60       Destination option header



Quittek, et al.             Standards Track                    [Page 64]

RFC 5102                IPFIX Information Model             January 2008


      8, PAY     108       Payload compression header
      9, AH       51       Authentication Header
     10, ESP      50       Encrypted security payload
     11 to 31              Reserved

  Abstract Data Type: unsigned32
  Data Type Semantics: flags
  ElementId: 64
  Status: current
  Reference:
     See RFC 2460 for the general definition of IPv6 extension headers
     and for the specification of the hop-by-hop options header, the
     routing header, the fragment header, and the destination options
     header.  See RFC 4302 for the specification of the authentication
     header.  See RFC 4303 for the specification of the encapsulating
     security payload.

5.8.7.  tcpControlBits

  Description:
     TCP control bits observed for packets of this Flow.  The
     information is encoded in a set of bit fields.  For each TCP
     control bit, there is a bit in this set.  A bit is set to 1 if any
     observed packet of this Flow has the corresponding TCP control bit
     set to 1.  A value of 0 for a bit indicates that the corresponding
     bit was not set in any of the observed packets of this Flow.

         0     1     2     3     4     5     6     7
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |  Reserved | URG | ACK | PSH | RST | SYN | FIN |
     +-----+-----+-----+-----+-----+-----+-----+-----+

     Reserved:  Reserved for future use by TCP.  Must be zero.
          URG:  Urgent Pointer field significant
          ACK:  Acknowledgment field significant
          PSH:  Push Function
          RST:  Reset the connection
          SYN:  Synchronize sequence numbers
          FIN:  No more data from sender

  Abstract Data Type: unsigned8
  Data Type Semantics: flags
  ElementId: 6
  Status: current
  Reference:
     See RFC 793 for the definition of the TCP control bits in the TCP
     header.




Quittek, et al.             Standards Track                    [Page 65]

RFC 5102                IPFIX Information Model             January 2008


5.8.8.  tcpOptions

  Description:
     TCP options in packets of this Flow.  The information is encoded
     in a set of bit fields.  For each TCP option, there is a bit in
     this set.  The bit is set to 1 if any observed packet of this Flow
     contains the corresponding TCP option.  Otherwise, if no observed
     packet of this Flow contained the respective TCP option, the value
     of the corresponding bit is 0.
     Options are mapped to bits according to their option numbers.
     Option number X is mapped to bit X.  TCP option numbers are
     maintained by IANA.

             0     1     2     3     4     5     6     7
         +-----+-----+-----+-----+-----+-----+-----+-----+
         |   0 |   1 |   2 |   3 |   4 |   5 |   6 |   7 |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

             8     9    10    11    12    13    14    15
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |   8 |   9 |  10 |  11 |  12 |  13 |  14 |  15 |...
         +-----+-----+-----+-----+-----+-----+-----+-----+

            16    17    18    19    20    21    22    23
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |  16 |  17 |  18 |  19 |  20 |  21 |  22 |  23 |...
         +-----+-----+-----+-----+-----+-----+-----+-----+

                               . . .

            56    57    58    59    60    61    62    63
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |  56 |  57 |  58 |  59 |  60 |  61 |  62 |  63 |
         +-----+-----+-----+-----+-----+-----+-----+-----+

  Abstract Data Type: unsigned64
  Data Type Semantics: flags
  ElementId: 209
  Status: current
  Reference:
     See RFC 793 for the definition of TCP options.  See the list of
     TCP option numbers assigned by IANA at
     http://www.iana.org/assignments/tcp-parameters.








Quittek, et al.             Standards Track                    [Page 66]

RFC 5102                IPFIX Information Model             January 2008


5.9.  Flow Timestamps

  Information Elements in this section are timestamps of events.

  Timestamps flowStartSeconds, flowEndSeconds, flowStartMilliseconds,
  flowEndMilliseconds, flowStartMicroseconds, flowEndMicroseconds,
  flowStartNanoseconds, flowEndNanoseconds, and
  systemInitTimeMilliseconds are absolute and have a well-defined fixed
  time base, such as, for example, the number of seconds since 0000 UTC
  Jan 1st 1970.

  Timestamps flowStartDeltaMicroseconds and flowEndDeltaMicroseconds
  are relative timestamps only valid within the scope of a single IPFIX
  Message.  They contain the negative time offsets relative to the
  export time specified in the IPFIX Message Header.  The maximum time
  offset that can be encoded by these delta counters is 1 hour, 11
  minutes, and 34.967295 seconds.

  Timestamps flowStartSysUpTime and flowEndSysUpTime are relative
  timestamps indicating the time relative to the last (re-
  )initialization of the IPFIX Device.  For reporting the time of the
  last (re-)initialization, systemInitTimeMilliseconds can be reported,
  for example, in Data Records defined by Option Templates.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 150 | flowStartSeconds          | 156 | flowStartNanoseconds      |
  | 151 | flowEndSeconds            | 157 | flowEndNanoseconds        |
  | 152 | flowStartMilliseconds     | 158 | flowStartDeltaMicroseconds|
  | 153 | flowEndMilliseconds       | 159 | flowEndDeltaMicroseconds  |
  | 154 | flowStartMicroseconds     | 160 | systemInitTimeMilliseconds|
  | 155 | flowEndMicroseconds       |  22 | flowStartSysUpTime        |
  |     |                           |  21 | flowEndSysUpTime          |
  +-----+---------------------------+-----+---------------------------+

5.9.1.  flowStartSeconds

  Description:
     The absolute timestamp of the first packet of this Flow.
  Abstract Data Type: dateTimeSeconds
  ElementId: 150
  Status: current
  Units: seconds







Quittek, et al.             Standards Track                    [Page 67]

RFC 5102                IPFIX Information Model             January 2008


5.9.2.  flowEndSeconds

  Description:
     The absolute timestamp of the last packet of this Flow.
  Abstract Data Type: dateTimeSeconds
  ElementId: 151
  Status: current
  Units: seconds

5.9.3.  flowStartMilliseconds

  Description:
     The absolute timestamp of the first packet of this Flow.
  Abstract Data Type: dateTimeMilliseconds
  ElementId: 152
  Status: current
  Units: milliseconds

5.9.4.  flowEndMilliseconds

  Description:
     The absolute timestamp of the last packet of this Flow.
  Abstract Data Type: dateTimeMilliseconds
  ElementId: 153
  Status: current
  Units: milliseconds

5.9.5.  flowStartMicroseconds

  Description:
     The absolute timestamp of the first packet of this Flow.
  Abstract Data Type: dateTimeMicroseconds
  ElementId: 154
  Status: current
  Units: microseconds

5.9.6.  flowEndMicroseconds

  Description:
     The absolute timestamp of the last packet of this Flow.
  Abstract Data Type: dateTimeMicroseconds
  ElementId: 155
  Status: current
  Units: microseconds







Quittek, et al.             Standards Track                    [Page 68]

RFC 5102                IPFIX Information Model             January 2008


5.9.7.  flowStartNanoseconds

  Description:
     The absolute timestamp of the first packet of this Flow.
  Abstract Data Type: dateTimeNanoseconds
  ElementId: 156
  Status: current
  Units: nanoseconds

5.9.8.  flowEndNanoseconds

  Description:
     The absolute timestamp of the last packet of this Flow.
  Abstract Data Type: dateTimeNanoseconds
  ElementId: 157
  Status: current
  Units: nanoseconds

5.9.9.  flowStartDeltaMicroseconds

  Description:
     This is a relative timestamp only valid within the scope of a
     single IPFIX Message.  It contains the negative time offset of the
     first observed packet of this Flow relative to the export time
     specified in the IPFIX Message Header.
  Abstract Data Type: unsigned32
  ElementId: 158
  Status: current
  Units: microseconds
  Reference:
     See the IPFIX protocol specification [RFC5101] for the definition
     of the IPFIX Message Header.

5.9.10.  flowEndDeltaMicroseconds

  Description:
     This is a relative timestamp only valid within the scope of a
     single IPFIX Message.  It contains the negative time offset of the
     last observed packet of this Flow relative to the export time
     specified in the IPFIX Message Header.
  Abstract Data Type: unsigned32
  ElementId: 159
  Status: current
  Units: microseconds
  Reference:
     See the IPFIX protocol specification [RFC5101] for the
     definition of the IPFIX Message Header.




Quittek, et al.             Standards Track                    [Page 69]

RFC 5102                IPFIX Information Model             January 2008


5.9.11.  systemInitTimeMilliseconds

  Description:
     The absolute timestamp of the last (re-)initialization of the
     IPFIX Device.
  Abstract Data Type: dateTimeMilliseconds
  ElementId: 160
  Status: current
  Units: milliseconds

5.9.12.  flowStartSysUpTime

  Description:
     The relative timestamp of the first packet of this Flow.  It
     indicates the number of milliseconds since the last
     (re-)initialization of the IPFIX Device (sysUpTime).
  Abstract Data Type: unsigned32
  ElementId: 22
  Status: current
  Units: milliseconds

5.9.13.  flowEndSysUpTime

  Description:
     The relative timestamp of the last packet of this Flow.  It
     indicates the number of milliseconds since the last
     (re-)initialization of the IPFIX Device (sysUpTime).
  Abstract Data Type: unsigned32
  ElementId: 21
  Status: current
  Units: milliseconds

5.10.  Per-Flow Counters

  Information Elements in this section are counters all having integer
  values.  Their values may change for every report they are used in.
  They cannot serve as part of a Flow Key used for mapping packets to
  Flows.  However, potentially they can be used for selecting exported
  Flows, for example, by only exporting Flows with more than a
  threshold number of observed octets.

  There are running counters and delta counters.  Delta counters are
  reset to zero each time their values are exported.  Running counters
  continue counting independently of the Exporting Process.

  There are per-Flow counters and counters related to the Metering
  Process and/or the Exporting Process.  Per-Flow counters are Flow
  properties that potentially change each time a packet belonging to



Quittek, et al.             Standards Track                    [Page 70]

RFC 5102                IPFIX Information Model             January 2008


  the Flow is observed.  The set of per-Flow counters includes the
  Information Elements listed in the table below.  Counters related to
  the Metering Process and/or the Exporting Process are described in
  Section 5.3.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  |   1 | octetDeltaCount           | 134 | droppedOctetTotalCount    |
  |  23 | postOctetDeltaCount       | 135 | droppedPacketTotalCount   |
  | 198 | octetDeltaSumOfSquares    |  19 | postMCastPacketDeltaCount |
  |  85 | octetTotalCount           |  20 | postMCastOctetDeltaCount  |
  | 171 | postOctetTotalCount       | 174 | postMCastPacketTotalCount |
  | 199 | octetTotalSumOfSquares    | 175 | postMCastOctetTotalCount  |
  |   2 | packetDeltaCount          | 218 | tcpSynTotalCount          |
  |  24 | postPacketDeltaCount      | 219 | tcpFinTotalCount          |
  |  86 | packetTotalCount          | 220 | tcpRstTotalCount          |
  | 172 | postPacketTotalCount      | 221 | tcpPshTotalCount          |
  | 132 | droppedOctetDeltaCount    | 222 | tcpAckTotalCount          |
  | 133 | droppedPacketDeltaCount   | 223 | tcpUrgTotalCount          |
  +-----+---------------------------+-----+---------------------------+

5.10.1.  octetDeltaCount

  Description:
     The number of octets since the previous report (if any) in
     incoming packets for this Flow at the Observation Point.  The
     number of octets includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 1
  Status: current
  Units: octets

5.10.2.  postOctetDeltaCount

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'octetDeltaCount', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 23
  Status: current
  Units: octets





Quittek, et al.             Standards Track                    [Page 71]

RFC 5102                IPFIX Information Model             January 2008


5.10.3.  octetDeltaSumOfSquares

  Description:
     The sum of the squared numbers of octets per incoming packet since
     the previous report (if any) for this Flow at the Observation
     Point.  The number of octets includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  ElementId: 198
  Status: current

5.10.4.  octetTotalCount

  Description:
     The total number of octets in incoming packets for this Flow at
     the Observation Point since the Metering Process
     (re-)initialization for this Observation Point.  The number
     of octets includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 85
  Status: current
  Units: octets

5.10.5.  postOctetTotalCount

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'octetTotalCount', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 171
  Status: current
  Units: octets

5.10.6.  octetTotalSumOfSquares

  Description:
     The total sum of the squared numbers of octets in incoming packets
     for this Flow at the Observation Point since the Metering Process
     (re-)initialization for this Observation Point.  The number of
     octets includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  ElementId: 199
  Status: current
  Units: octets




Quittek, et al.             Standards Track                    [Page 72]

RFC 5102                IPFIX Information Model             January 2008


5.10.7.  packetDeltaCount

  Description:
     The number of incoming packets since the previous report (if any)
     for this Flow at the Observation Point.

  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 2
  Status: current
  Units: packets

5.10.8.  postPacketDeltaCount

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'packetDeltaCount', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 24
  Status: current
  Units: packets

5.10.9.  packetTotalCount

  Description:
     The total number of incoming packets for this Flow at the
     Observation Point since the Metering Process (re-)initialization
     for this Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 86
  Status: current
  Units: packets















Quittek, et al.             Standards Track                    [Page 73]

RFC 5102                IPFIX Information Model             January 2008


5.10.10.  postPacketTotalCount

  Description:
     The definition of this Information Element is identical to the
     definition of Information Element 'packetTotalCount', except that
     it reports a potentially modified value caused by a middlebox
     function after the packet passed the Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 172
  Status: current
  Units: packets

5.10.11.  droppedOctetDeltaCount

  Description:
     The number of octets since the previous report (if any) in packets
     of this Flow dropped by packet treatment.  The number of octets
     includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 132
  Status: current
  Units: octets

5.10.12.  droppedPacketDeltaCount

  Description:
     The number of packets since the previous report (if any) of this
     Flow dropped by packet treatment.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 133
  Status: current
  Units: packets

5.10.13.  droppedOctetTotalCount

  Description:
     The total number of octets in packets of this Flow dropped by
     packet treatment since the Metering Process (re-)initialization
     for this Observation Point.  The number of octets includes IP
     header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 134
  Status: current
  Units: octets



Quittek, et al.             Standards Track                    [Page 74]

RFC 5102                IPFIX Information Model             January 2008


5.10.14.  droppedPacketTotalCount

  Description:
     The number of packets of this Flow dropped by packet treatment
     since the Metering Process (re-)initialization for this
     Observation Point.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 135
  Status: current
  Units: packets

5.10.15.  postMCastPacketDeltaCount

  Description:
     The number of outgoing multicast packets since the previous report
     (if any) sent for packets of this Flow by a multicast daemon
     within the Observation Domain.  This property cannot necessarily
     be observed at the Observation Point, but may be retrieved by
     other means.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 19
  Status: current
  Units: packets

5.10.16.  postMCastOctetDeltaCount

  Description:
     The number of octets since the previous report (if any) in
     outgoing multicast packets sent for packets of this Flow by a
     multicast daemon within the Observation Domain.  This property
     cannot necessarily be observed at the Observation Point, but may
     be retrieved by other means.  The number of octets includes IP
     header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: deltaCounter
  ElementId: 20
  Status: current
  Units: octets











Quittek, et al.             Standards Track                    [Page 75]

RFC 5102                IPFIX Information Model             January 2008


5.10.17.  postMCastPacketTotalCount

  Description:
     The total number of outgoing multicast packets sent for packets of
     this Flow by a multicast daemon within the Observation Domain
     since the Metering Process (re-)initialization.  This property
     cannot necessarily be observed at the Observation Point, but may
     be retrieved by other means.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 174
  Status: current
  Units: packets

5.10.18.  postMCastOctetTotalCount

  Description:
     The total number of octets in outgoing multicast packets sent for
     packets of this Flow by a multicast daemon in the Observation
     Domain since the Metering Process (re-)initialization.  This
     property cannot necessarily be observed at the Observation Point,
     but may be retrieved by other means.  The number of octets
     includes IP header(s) and IP payload.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 175
  Status: current
  Units: octets

5.10.19.  tcpSynTotalCount

  Description:
     The total number of packets of this Flow with TCP "Synchronize
     sequence numbers" (SYN) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 218
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP SYN flag.










Quittek, et al.             Standards Track                    [Page 76]

RFC 5102                IPFIX Information Model             January 2008


5.10.20.  tcpFinTotalCount

  Description:
     The total number of packets of this Flow with TCP "No more data
     from sender" (FIN) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 219
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP FIN flag.

5.10.21.  tcpRstTotalCount

  Description:
     The total number of packets of this Flow with TCP "Reset the
     connection" (RST) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 220
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP RST flag.

5.10.22.  tcpPshTotalCount

  Description:
     The total number of packets of this Flow with TCP "Push Function"
     (PSH) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 221
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP PSH flag.













Quittek, et al.             Standards Track                    [Page 77]

RFC 5102                IPFIX Information Model             January 2008


5.10.23.  tcpAckTotalCount

  Description:
     The total number of packets of this Flow with TCP "Acknowledgment
     field significant" (ACK) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 222
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP ACK flag.

5.10.24.  tcpUrgTotalCount

  Description:
     The total number of packets of this Flow with TCP "Urgent Pointer
     field significant" (URG) flag set.
  Abstract Data Type: unsigned64
  Data Type Semantics: totalCounter
  ElementId: 223
  Status: current
  Units: packets
  Reference:
     See RFC 793 for the definition of the TCP URG flag.

5.11.  Miscellaneous Flow Properties

  Information Elements in this section describe properties of Flows
  that are related to Flow start, Flow duration, and Flow termination,
  but they are not timestamps as the Information Elements in Section
  5.9 are.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  |  36 | flowActiveTimeout         | 161 | flowDurationMilliseconds  |
  |  37 | flowIdleTimeout           | 162 | flowDurationMicroseconds  |
  | 136 | flowEndReason             |  61 | flowDirection             |
  +-----+---------------------------+-----+---------------------------+











Quittek, et al.             Standards Track                    [Page 78]

RFC 5102                IPFIX Information Model             January 2008


5.11.1.  flowActiveTimeout

  Description:
     The number of seconds after which an active Flow is timed out
     anyway, even if there is still a continuous flow of packets.
  Abstract Data Type: unsigned16
  ElementId: 36
  Status: current
  Units: seconds

5.11.2.  flowIdleTimeout

  Description:
     A Flow is considered to be timed out if no packets belonging to
     the Flow have been observed for the number of seconds specified by
     this field.
  Abstract Data Type: unsigned16
  ElementId: 37
  Status: current
  Units: seconds

5.11.3.  flowEndReason

  Description:
     The reason for Flow termination.  The range of values includes the
     following:

     0x01: idle timeout
           The Flow was terminated because it was considered to be
           idle.

     0x02: active timeout
           The Flow was terminated for reporting purposes while it was
           still active, for example, after the maximum lifetime of
           unreported Flows was reached.

     0x03: end of Flow detected
           The Flow was terminated because the Metering Process
           detected signals indicating the end of the Flow, for
           example, the TCP FIN flag.

     0x04: forced end
           The Flow was terminated because of some external event, for
           example, a shutdown of the Metering Process initiated by a
           network management application.






Quittek, et al.             Standards Track                    [Page 79]

RFC 5102                IPFIX Information Model             January 2008


     0x05: lack of resources
           The Flow was terminated because of lack of resources
           available to the Metering Process and/or the Exporting
           Process.

  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 136
  Status: current

5.11.4.  flowDurationMilliseconds

  Description:
     The difference in time between the first observed packet of this
     Flow and the last observed packet of this Flow.
  Abstract Data Type: unsigned32
  ElementId: 161
  Status: current
  Units: milliseconds

5.11.5.  flowDurationMicroseconds

  Description:
     The difference in time between the first observed packet of this
     Flow and the last observed packet of this Flow.
  Abstract Data Type: unsigned32
  ElementId: 162
  Status: current
  Units: microseconds

5.11.6.  flowDirection

  Description:
     The direction of the Flow observed at the Observation Point.
     There are only two values defined.

     0x00: ingress flow
     0x01: egress flow

  Abstract Data Type: unsigned8
  Data Type Semantics: identifier
  ElementId: 61
  Status: current

5.12.  Padding

  This section contains a single Information Element that can be used
  for padding of Flow Records.



Quittek, et al.             Standards Track                    [Page 80]

RFC 5102                IPFIX Information Model             January 2008


  IPFIX implementations may wish to align Information Elements within
  Data Records or to align entire Data Records to 4-octet or 8-octet
  boundaries.  This can be achieved by including one or more
  paddingOctets Information Elements in a Data Record.

  +-----+---------------------------+-----+---------------------------+
  |  ID | Name                      |  ID | Name                      |
  +-----+---------------------------+-----+---------------------------+
  | 210 | paddingOctets             |     |                           |
  +-----+---------------------------+-----+---------------------------+

5.12.1.  paddingOctets

  Description:
     The value of this Information Element is always a sequence of 0x00
     values.
  Abstract Data Type: octetArray
  ElementId: 210
  Status: current

6.  Extending the Information Model

  A key requirement for IPFIX is to allow for extending the set of
  Information Elements that are reported.  This section defines the
  mechanism for extending this set.

  Extension can be done by defining new Information Elements.  Each new
  Information Element MUST be assigned a unique Information Element
  identifier as part of its definition.  These unique Information
  Element identifiers are the connection between the record structure
  communicated by the protocol using Templates and a consuming
  application.  For generally applicable Information Elements, using
  IETF and IANA mechanisms to extend the information model is
  RECOMMENDED.

  Names of new Information Elements SHOULD be chosen according to the
  naming conventions given in Section 2.3.

  For extensions, the type space defined in Section 3 can be used.  If
  required, new abstract data types can be added.  New abstract data
  types MUST be defined in IETF Standards Track documents.

  Enterprises may wish to define Information Elements without
  registering them with IANA.  IPFIX explicitly supports
  enterprise-specific Information Elements.  Enterprise-specific
  Information Elements are described in Sections 2.1 and 4.





Quittek, et al.             Standards Track                    [Page 81]

RFC 5102                IPFIX Information Model             January 2008


  However, before creating enterprise-specific Information Elements,
  the general applicability of such Information Elements should be
  considered.  IPFIX does not support enterprise-specific abstract data
  types.

7.  IANA Considerations

7.1.  IPFIX Information Elements

  This document specifies an initial set of IPFIX Information Elements.
  The list of these Information Elements with their identifiers is
  given in Section 4.  The Internet Assigned Numbers Authority (IANA)
  has created a new registry for IPFIX Information Element identifiers
  and filled it with the initial list in Section 4.

  New assignments for IPFIX Information Elements will be administered
  by IANA through Expert Review [RFC2434], i.e., review by one of a
  group of experts designated by an IETF Area Director.  The group of
  experts MUST check the requested Information Element for completeness
  and accuracy of the description and for correct naming according to
  the naming conventions in Section 2.3.  Requests for Information
  Elements that duplicate the functionality of existing Information
  Elements SHOULD be declined.  The smallest available identifier
  SHOULD be assigned to a new Information Element.

  The specification of new IPFIX Information Elements MUST use the
  template specified in Section 2.1 and MUST be published using a
  well-established and persistent publication medium.  The experts will
  initially be drawn from the Working Group Chairs and document editors
  of the IPFIX and PSAMP Working Groups.

7.2.  MPLS Label Type Identifier

  Information Element #46, named mplsTopLabelType, carries MPLS label
  types.  Values for 5 different types have initially been defined.
  For ensuring extensibility of this information, IANA has created a
  new registry for MPLS label types and filled it with the initial list
  from the description Information Element #46, mplsTopLabelType.

  New assignments for MPLS label types will be administered by IANA
  through Expert Review [RFC2434], i.e., review by one of a group of
  experts designated by an IETF Area Director.  The group of experts
  must double check the label type definitions with already defined
  label types for completeness, accuracy, and redundancy.  The
  specification of new MPLS label types MUST be published using a
  well-established and persistent publication medium.





Quittek, et al.             Standards Track                    [Page 82]

RFC 5102                IPFIX Information Model             January 2008


7.3.  XML Namespace and Schema

  Appendix B defines an XML schema for IPFIX Information Element
  definitions.  All Information Elements specified in this document are
  defined by the XML specification in Appendix A that is a valid XML
  record according to the schema in Appendix B.  This schema may also
  be used for specifying further Information Elements in future
  extensions of the IPFIX information model in a machine-readable way.

  Appendix B uses URNs to describe an XML namespace and an XML schema
  for IPFIX Information Elements conforming to a registry mechanism
  described in [RFC3688].  Two URI assignments have been made.

  1.  Registration for the IPFIX information model namespace
      *  URI: urn:ietf:params:xml:ns:ipfix-info-15
      *  Registrant Contact: IETF IPFIX Working Group <[email protected]>,
         as designated by the IESG <[email protected]>.
      *  XML: None.  Namespace URIs do not represent an XML.

  2.  Registration for the IPFIX information model schema
      *  URI: urn:ietf:params:xml:schema:ipfix-info-15
      *  Registrant Contact: IETF IPFIX Working Group <[email protected]>,
         as designated by the IESG <[email protected]>.
      *  XML: See Appendix B of this document.

8.  Security Considerations

  The IPFIX information model itself does not directly introduce
  security issues.  Rather, it defines a set of attributes that may for
  privacy or business issues be considered sensitive information.

  For example, exporting values of header fields may make attacks
  possible for the receiver of this information, which would otherwise
  only be possible for direct observers of the reported Flows along the
  data path.

  The underlying protocol used to exchange the information described
  here must therefore apply appropriate procedures to guarantee the
  integrity and confidentiality of the exported information.  Such
  protocols are defined in separate documents, specifically the IPFIX
  protocol document [RFC5101].

  This document does not specify any Information Element carrying
  keying material.  If future extensions will do so, then appropriate
  precautions need to be taken for properly protecting such sensitive
  information.





Quittek, et al.             Standards Track                    [Page 83]

RFC 5102                IPFIX Information Model             January 2008


9.  Acknowledgements

  The editors thank Paul Callato for creating the initial version of
  this document, and Thomas Dietz for developing the XSLT scripts that
  generate large portions of the text part of this document from the
  XML appendices.

10.  References

10.1.  Normative References

  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

  [RFC5101]  Claise, B., "Specification of the IPFIX Protocol for the
             Exchange", RFC 5101, January 2008.

10.2.  Informative References

  [IEEE.754.1985]
             Institute of Electrical and Electronics Engineers,
             "Standard for Binary Floating-Point Arithmetic", IEEE
             Standard 754, August 1985.

  [IEEE.802-11.1999]
             "Information technology - Telecommunications and
             information exchange between systems - Local and
             metropolitan area networks - Specific requirements - Part
             11: Wireless LAN Medium Access Control (MAC) and Physical
             Layer (PHY) specifications", IEEE Standard 802.11, 1999,
             <http://standards.ieee.org/getieee802/download/802.11-
             1999.pdF>.

  [IEEE.802-1Q.2003]
             Institute of Electrical and Electronics Engineers, "Local
             and Metropolitan Area Networks: Virtual Bridged Local Area
             Networks", IEEE Standard 802.1Q, March 2003.

  [IEEE.802-3.2002]
             "Information technology - Telecommunications and
             information exchange between systems - Local and
             metropolitan area networks - Specific requirements - Part
             3: Carrier sense multiple access with collision detection
             (CSMA/CD) access method and physical layer
             specifications", IEEE Standard 802.3, September 2002.






Quittek, et al.             Standards Track                    [Page 84]

RFC 5102                IPFIX Information Model             January 2008


  [ISO.10646-1.1993]
             International Organization for Standardization,
             "Information Technology - Universal Multiple-octet coded
             Character Set (UCS) - Part 1: Architecture and Basic
             Multilingual Plane", ISO Standard 10646-1, May 1993.

  [ISO.646.1991]
             International Organization for Standardization,
             "Information technology - ISO 7-bit coded character set
             for information interchange", ISO Standard 646, 1991.

  [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
             August 1980.

  [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791, September
             1981.

  [RFC0792]  Postel, J., "Internet Control Message Protocol", STD 5,
             RFC 792, September 1981.

  [RFC0793]  Postel, J., "Transmission Control Protocol", STD 7, RFC
             793, September 1981.

  [RFC1108]  Kent, S., "U.S. Department of Defense Security Options for
             the Internet Protocol", RFC 1108, November 1991.

  [RFC1112]  Deering, S., "Host extensions for IP multicasting", STD 5,
             RFC 1112, August 1989.

  [RFC1191]  Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
             November 1990.

  [RFC1323]  Jacobson, V., Braden, R., and D. Borman, "TCP Extensions
             for High Performance", RFC 1323, May 1992.

  [RFC1385]  Wang, Z., "EIP: The Extended Internet Protocol", RFC 1385,
             November 1992.

  [RFC1812]  Baker, F., Ed., "Requirements for IP Version 4 Routers",
             RFC 1812, June 1995.

  [RFC1930]  Hawkinson, J. and T. Bates, "Guidelines for creation,
             selection, and registration of an Autonomous System (AS)",
             BCP 6, RFC 1930, March 1996.

  [RFC2113]  Katz, D., "IP Router Alert Option", RFC 2113, February
             1997.




Quittek, et al.             Standards Track                    [Page 85]

RFC 5102                IPFIX Information Model             January 2008


  [RFC2434]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
             IANA Considerations Section in RFCs", BCP 26, RFC 2434,
             October 1998.

  [RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
             (IPv6) Specification", RFC 2460, December 1998.

  [RFC2578]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Structure of Management Information Version 2 (SMIv2)",
             STD 58, RFC 2578, April 1999.

  [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
             June 1999.

  [RFC2675]  Borman, D., Deering, S., and R. Hinden, "IPv6 Jumbograms",
             RFC 2675, August 1999.

  [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
             MIB", RFC 2863, June 2000.

  [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
             Label Switching Architecture", RFC 3031, January 2001.

  [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
             Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
             Encoding", RFC 3032, January 2001.

  [RFC3193]  Patel, B., Aboba, B., Dixon, W., Zorn, G., and S. Booth,
             "Securing L2TP using IPsec", RFC 3193, November 2001.

  [RFC3234]  Carpenter, B. and S. Brim, "Middleboxes: Taxonomy and
             Issues", RFC 3234, February 2002.

  [RFC3260]  Grossman, D., "New Terminology and Clarifications for
             Diffserv", RFC 3260, April 2002.

  [RFC3270]  Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
             P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
             Protocol Label Switching (MPLS) Support of Differentiated
             Services", RFC 3270, May 2002.

  [RFC3376]  Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
             Thyagarajan, "Internet Group Management Protocol, Version
             3", RFC 3376, October 2002.

  [RFC3444]  Pras, A. and J. Schoenwaelder, "On the Difference between
             Information Models and Data Models", RFC 3444, January
             2003.



Quittek, et al.             Standards Track                    [Page 86]

RFC 5102                IPFIX Information Model             January 2008


  [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
             January 2004.

  [RFC3954]  Claise, B., Ed., "Cisco Systems NetFlow Services Export
             Version 9", RFC 3954, October 2004.

  [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
             Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
             2006.

  [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
             Architecture", RFC 4291, February 2006.

  [RFC4302]  Kent, S., "IP Authentication Header", RFC 4302, December
             2005.

  [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)", RFC
             4303, December 2005.

  [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
             Networks (VPNs)", RFC 4364, February 2006.

  [RFC4382]  Nadeau, T., Ed., and H. van der Linde, Ed., "MPLS/BGP
             Layer 3 Virtual Private Network (VPN) Management
             Information Base", RFC 4382, February 2006.

  [RFC4443]  Conta, A., Deering, S., and M. Gupta, Ed., "Internet
             Control Message Protocol (ICMPv6) for the Internet
             Protocol Version 6 (IPv6) Specification", RFC 4443, March
             2006.

  [RFC4960]  Stewart, R., Ed., "Stream Control Transmission Protocol",
             RFC 4960, September 2007.

  [RFC5036]  Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed.,
             "LDP Specification", RFC 5036, October 2007.















Quittek, et al.             Standards Track                    [Page 87]

RFC 5102                IPFIX Information Model             January 2008


Appendix A.  XML Specification of IPFIX Information Elements

  This appendix contains a machine-readable description of the IPFIX
  information model coded in XML.  Note that this appendix is of
  informational nature, while the text in Section 4 (generated from
  this appendix) is normative.

  Using a machine-readable syntax for the information model enables the
  creation of IPFIX-aware tools that can automatically adapt to
  extensions to the information model, by simply reading updated
  information model specifications.

  The wide availability of XML-aware tools and libraries for client
  devices is a primary consideration for this choice.  In particular,
  libraries for parsing XML documents are readily available.  Also,
  mechanisms such as the Extensible Stylesheet Language (XSL) allow for
  transforming a source XML document into other documents.  This
  document was authored in XML and transformed according to [RFC2629].

  It should be noted that the use of XML in Exporters, Collectors, or
  other tools is not mandatory for the deployment of IPFIX.  In
  particular, Exporting Processes do not produce or consume XML as part
  of their operation.  It is expected that IPFIX Collectors MAY take
  advantage of the machine readability of the information model vs.
  hard coding their behavior or inventing proprietary means for
  accommodating extensions.

  <?xml version="1.0" encoding="UTF-8"?>

  <fieldDefinitions xmlns="urn:ietf:params:xml:ns:ipfix-info"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="urn:ietf:params:xml:ns:ipfix-info
               ipfix-info.xsd">

    <field name="lineCardId" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="141" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a line card that is unique per IPFIX
          Device hosting an Observation Point.  Typically, this
          Information Element is used for limiting the scope
          of other Information Elements.
        </paragraph>
      </description>
    </field>
    <field name="portId" dataType="unsigned32"



Quittek, et al.             Standards Track                    [Page 88]

RFC 5102                IPFIX Information Model             January 2008


           group="scope"
           dataTypeSemantics="identifier"
           elementId="142" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a line port that is unique per IPFIX
          Device hosting an Observation Point.  Typically, this
          Information Element is used for limiting the scope
          of other Information Elements.
        </paragraph>
      </description>
    </field>

    <field name="ingressInterface" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="10" applicability="all" status="current">
      <description>
        <paragraph>
          The index of the IP interface where packets of this Flow
          are being received.  The value matches the value of managed
          object 'ifIndex' as defined in RFC 2863.
          Note that ifIndex values are not assigned statically to an
          interface and that the interfaces may be renumbered every
          time the device's management system is re-initialized, as
          specified in RFC 2863.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2863 for the definition of the ifIndex object.
        </paragraph>
      </reference>
    </field>

    <field name="egressInterface" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="14" applicability="all" status="current">
      <description>
        <paragraph>
          The index of the IP interface where packets of
          this Flow are being sent.  The value matches the value of
          managed object 'ifIndex' as defined in RFC 2863.
          Note that ifIndex values are not assigned statically to an
          interface and that the interfaces may be renumbered every
          time the device's management system is re-initialized, as
          specified in RFC 2863.



Quittek, et al.             Standards Track                    [Page 89]

RFC 5102                IPFIX Information Model             January 2008


        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2863 for the definition of the ifIndex object.
        </paragraph>
      </reference>
    </field>

    <field name="meteringProcessId" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="143" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a Metering Process that is unique per
          IPFIX Device.  Typically, this Information Element is used
          for limiting the scope of other Information Elements.
          Note that process identifiers are typically assigned
          dynamically.
          The Metering Process may be re-started with a different ID.
        </paragraph>
      </description>
    </field>

    <field name="exportingProcessId" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="144" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of an Exporting Process that is unique per
          IPFIX Device.  Typically, this Information Element is used
          for limiting the scope of other Information Elements.
          Note that process identifiers are typically assigned
          dynamically.  The Exporting Process may be re-started
          with a different ID.
        </paragraph>
      </description>
    </field>

    <field name="flowId" dataType="unsigned64"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="148" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a Flow that is unique within an Observation



Quittek, et al.             Standards Track                    [Page 90]

RFC 5102                IPFIX Information Model             January 2008


          Domain.  This Information Element can be used to distinguish
          between different Flows if Flow Keys such as IP addresses and
          port numbers are not reported or are reported in separate
          records.
        </paragraph>
      </description>
    </field>

    <field name="templateId" dataType="unsigned16"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="145" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a Template that is locally unique within a
          combination of a Transport session and an Observation Domain.
        </paragraph>
        <paragraph>
          Template IDs 0-255 are reserved for Template Sets, Options
          Template Sets, and other reserved Sets yet to be created.
          Template IDs of Data Sets are numbered from 256 to 65535.
        </paragraph>
        <paragraph>
          Typically, this Information Element is used for limiting
          the scope of other Information Elements.
          Note that after a re-start of the Exporting Process Template
          identifiers may be re-assigned.
        </paragraph>
      </description>
    </field>

    <field name="observationDomainId" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="149" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of an Observation Domain that is locally
          unique to an Exporting Process.  The Exporting Process uses
          the Observation Domain ID to uniquely identify to the
          Collecting Process the Observation Domain where Flows
          were metered.  It is RECOMMENDED that this identifier is
          also unique per IPFIX Device.
        </paragraph>
        <paragraph>
          A value of 0 indicates that no specific Observation Domain
          is identified by this Information Element.
        </paragraph>



Quittek, et al.             Standards Track                    [Page 91]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
          Typically, this Information Element is used for limiting
          the scope of other Information Elements.
        </paragraph>
      </description>
    </field>

    <field name="observationPointId" dataType="unsigned32"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="138" applicability="option" status="current">
      <description>
        <paragraph>
        An identifier of an Observation Point that is unique per
        Observation Domain.  It is RECOMMENDED that this identifier is
        also unique per IPFIX Device.  Typically, this Information
        Element is used for limiting the scope of other Information
        Elements.
        </paragraph>
      </description>
    </field>
    <field name="commonPropertiesId" dataType="unsigned64"
           group="scope"
           dataTypeSemantics="identifier"
           elementId="137" applicability="option" status="current">
      <description>
        <paragraph>
          An identifier of a set of common properties that is
          unique per Observation Domain and Transport Session.
          Typically, this Information Element is used to link to
          information reported in separate Data Records.
        </paragraph>
      </description>
    </field>

    <field name="exporterIPv4Address" dataType="ipv4Address"
           dataTypeSemantics="identifier"
           group="config"
           elementId="130" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv4 address used by the Exporting Process.  This is used
        by the Collector to identify the Exporter in cases where the
        identity of the Exporter may have been obscured by the use of
        a proxy.
        </paragraph>
      </description>
    </field>



Quittek, et al.             Standards Track                    [Page 92]

RFC 5102                IPFIX Information Model             January 2008


    <field name="exporterIPv6Address" dataType="ipv6Address"
           dataTypeSemantics="identifier"
           group="config"
           elementId="131" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv6 address used by the Exporting Process.  This is used
        by the Collector to identify the Exporter in cases where the
        identity of the Exporter may have been obscured by the use of
        a proxy.
        </paragraph>
      </description>
    </field>

    <field name="exporterTransportPort" dataType="unsigned16"
           group="config"
           dataTypeSemantics="identifier"
           elementId="217" applicability="all" status="current">
      <description>
        <paragraph>
        The source port identifier from which the Exporting
        Process sends Flow information.  For the transport protocols
        UDP, TCP, and SCTP, this is the source port number.
        This field MAY also be used for future transport protocols
        that have 16-bit source port identifiers.  This field may
        be useful for distinguishing multiple Exporting Processes
        that use the same IP address.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the UDP
        source port field.
        See RFC 793 for the definition of the TCP
        source port field.
        See RFC 4960 for the definition of SCTP.
        </paragraph>
        <paragraph>
        Additional information on defined UDP and TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="collectorIPv4Address" dataType="ipv4Address"
           dataTypeSemantics="identifier"
           group="config"
           elementId="211" applicability="all" status="current">



Quittek, et al.             Standards Track                    [Page 93]

RFC 5102                IPFIX Information Model             January 2008


      <description>
        <paragraph>
        An IPv4 address to which the Exporting Process sends Flow
        information.
        </paragraph>
      </description>
    </field>

    <field name="collectorIPv6Address" dataType="ipv6Address"
           dataTypeSemantics="identifier"
           group="config"
           elementId="212" applicability="all" status="current">
      <description>
        <paragraph>
        An IPv6 address to which the Exporting Process sends Flow
        information.
        </paragraph>
      </description>
    </field>

    <field name="exportInterface" dataType="unsigned32"
           group="config"
           dataTypeSemantics="identifier"
           elementId="213" applicability="all" status="current">
      <description>
        <paragraph>
          The index of the interface from which IPFIX Messages sent
          by the Exporting Process to a Collector leave the IPFIX
          Device.  The value matches the value of
          managed object 'ifIndex' as defined in RFC 2863.
          Note that ifIndex values are not assigned statically to an
          interface and that the interfaces may be renumbered every
          time the device's management system is re-initialized, as
          specified in RFC 2863.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2863 for the definition of the ifIndex object.
        </paragraph>
      </reference>
    </field>

    <field name="exportProtocolVersion" dataType="unsigned8"
           dataTypeSemantics="identifier"
           group="config"
           elementId="214" applicability="all" status="current">
      <description>



Quittek, et al.             Standards Track                    [Page 94]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
          The protocol version used by the Exporting Process for
          sending Flow information.  The protocol version is given
          by the value of the Version Number field in the Message
          Header.
        </paragraph>
        <paragraph>
          The protocol version is 10 for IPFIX and 9 for NetFlow
          version 9.
          A value of 0 indicates that no export protocol is in use.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See the IPFIX protocol specification [RFC5101] for the
        definition of the IPFIX Message Header.
        </paragraph>
        <paragraph>
        See RFC 3954 for the definition of the NetFlow
        version 9 message header.
        </paragraph>
      </reference>
    </field>

    <field name="exportTransportProtocol" dataType="unsigned8"
           group="config"
           dataTypeSemantics="identifier"
           elementId="215" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the protocol number used by the Exporting Process
        for sending Flow information.
        The protocol number identifies the IP packet payload type.
        Protocol numbers are defined in the IANA Protocol Numbers
        registry.
        </paragraph>

        <paragraph>
        In Internet Protocol version 4 (IPv4), this is carried in the
        Protocol field.  In Internet Protocol version 6 (IPv6), this
        is carried in the Next Header field in the last extension
        header of the packet.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the IPv4
        protocol field.



Quittek, et al.             Standards Track                    [Page 95]

RFC 5102                IPFIX Information Model             January 2008


        See RFC 2460 for the specification of the IPv6
        protocol field.
        See the list of protocol numbers assigned by IANA at
        http://www.iana.org/assignments/protocol-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="collectorTransportPort" dataType="unsigned16"
           group="config"
           dataTypeSemantics="identifier"
           elementId="216" applicability="all" status="current">
      <description>
        <paragraph>
        The destination port identifier to which the Exporting
        Process sends Flow information.  For the transport protocols
        UDP, TCP, and SCTP, this is the destination port number.
        This field MAY also be used for future transport protocols
        that have 16-bit source port identifiers.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the UDP
        destination port field.
        See RFC 793 for the definition of the TCP
        destination port field.
        See RFC 4960 for the definition of SCTP.
        </paragraph>
        <paragraph>
        Additional information on defined UDP and TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="flowKeyIndicator" dataType="unsigned64"
           dataTypeSemantics="flags"
           group="config"
           elementId="173" applicability="all" status="current">
      <description>
        <paragraph>
        This set of bit fields is used for marking the Information
        Elements of a Data Record that serve as Flow Key.  Each bit
        represents an Information Element in the Data Record with
        the n-th bit representing the n-th Information Element.
        A bit set to value 1 indicates that the corresponding
        Information Element is a Flow Key of the reported Flow.



Quittek, et al.             Standards Track                    [Page 96]

RFC 5102                IPFIX Information Model             January 2008


        A bit set to value 0 indicates that this is not the case.
        </paragraph>
        <paragraph>
        If the Data Record contains more than 64 Information Elements,
        the corresponding Template SHOULD be designed such that all
        Flow Keys are among the first 64 Information Elements, because
        the flowKeyIndicator only contains 64 bits.  If the Data Record
        contains less than 64 Information Elements, then the bits in
        the flowKeyIndicator for which no corresponding Information
        Element exists MUST have the value 0.
        </paragraph>
      </description>
    </field>

    <field name="exportedMessageTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="41" applicability="data" status="current">
      <description>
        <paragraph>
          The total number of IPFIX Messages that the Exporting Process
          has sent since the Exporting Process (re-)initialization to
          a particular Collecting Process.
          The reported number excludes the IPFIX Message that carries
          the counter value.
          If this Information Element is sent to a particular
          Collecting Process, then by default it specifies the number
          of IPFIX Messages sent to this Collecting Process.
        </paragraph>
      </description>
      <units>messages</units>
    </field>

    <field name="exportedOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="40" applicability="data" status="current">
      <description>
        <paragraph>
          The total number of octets that the Exporting Process
          has sent since the Exporting Process (re-)initialization
          to a particular Collecting Process.
          The value of this Information Element is calculated by
          summing up the IPFIX Message Header length values of all
          IPFIX Messages that were successfully sent to the Collecting
          Process.  The reported number excludes octets in the IPFIX
          Message that carries the counter value.
          If this Information Element is sent to a particular



Quittek, et al.             Standards Track                    [Page 97]

RFC 5102                IPFIX Information Model             January 2008


          Collecting Process, then by default it specifies the number
          of octets sent to this Collecting Process.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="exportedFlowRecordTotalCount" dataType="unsigned64"
           group="processCounter"
           dataTypeSemantics="totalCounter"
           elementId="42" applicability="data" status="current">
      <description>
        <paragraph>
          The total number of Flow Records that the Exporting
          Process has sent as Data Records since the Exporting
          Process (re-)initialization to a particular Collecting
          Process.  The reported number excludes Flow Records in
          the IPFIX Message that carries the counter value.
          If this Information Element is sent to a particular
          Collecting Process, then by default it specifies the number
          of Flow Records sent to this process.
        </paragraph>
      </description>
      <units>flows</units>
    </field>

    <field name="observedFlowTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="163" applicability="data" status="current">
      <description>
        <paragraph>
        The total number of Flows observed in the Observation Domain
        since the Metering Process (re-)initialization for this
        Observation Point.
        </paragraph>
      </description>
      <units>flows</units>
    </field>

    <field name="ignoredPacketTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="164" applicability="data" status="current">
      <description>
        <paragraph>
           The total number of observed IP packets that the
           Metering Process did not process since the



Quittek, et al.             Standards Track                    [Page 98]

RFC 5102                IPFIX Information Model             January 2008


           (re-)initialization of the Metering Process.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="ignoredOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="165" applicability="data" status="current">
      <description>
        <paragraph>
           The total number of octets in observed IP packets
           (including the IP header) that the Metering Process
           did not process since the (re-)initialization of the
           Metering Process.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="notSentFlowTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="166" applicability="data" status="current">
      <description>
        <paragraph>
           The total number of Flow Records that were generated by the
           Metering Process and dropped by the Metering Process or
           by the Exporting Process instead of being sent to the
           Collecting Process.  There are several potential reasons for
           this including resource shortage and special Flow export
           policies.
        </paragraph>
      </description>
      <units>flows</units>
    </field>

    <field name="notSentPacketTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="167" applicability="data" status="current">
      <description>
        <paragraph>
           The total number of packets in Flow Records that were
           generated by the Metering Process and dropped
           by the Metering Process or by the Exporting Process
           instead of being sent to the Collecting Process.



Quittek, et al.             Standards Track                    [Page 99]

RFC 5102                IPFIX Information Model             January 2008


           There are several potential reasons for this including
           resource shortage and special Flow export policies.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="notSentOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="processCounter"
           elementId="168" applicability="data" status="current">
      <description>
        <paragraph>
           The total number of octets in packets in Flow Records
           that were generated by the Metering Process and
           dropped by the Metering Process or by the Exporting
           Process instead of being sent to the Collecting Process.
           There are several potential reasons for this including
           resource shortage and special Flow export policies.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="ipVersion" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="60" applicability="all" status="current">
      <description>
        <paragraph>
        The IP version field in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the version field
        in the IPv4 packet header.
        See RFC 2460 for the definition of the version field
        in the IPv6 packet header.
        Additional information on defined version numbers
        can be found at
        http://www.iana.org/assignments/version-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="sourceIPv4Address" dataType="ipv4Address"
           group="ipHeader"



Quittek, et al.             Standards Track                   [Page 100]

RFC 5102                IPFIX Information Model             January 2008


           dataTypeSemantics="identifier"
           elementId="8" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv4 source address in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4 source
        address field.
        </paragraph>
      </reference>
    </field>

    <field name="sourceIPv6Address" dataType="ipv6Address"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="27" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv6 source address in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the definition of the
        Source Address field in the IPv6 header.
        </paragraph>
      </reference>
    </field>

    <field name="sourceIPv4PrefixLength" dataType="unsigned8"
           group="ipHeader"
           elementId="9" applicability="option" status="current">
      <description>
        <paragraph>
        The number of contiguous bits that are relevant in the
        sourceIPv4Prefix Information Element.
        </paragraph>
      </description>
      <units>bits</units>
      <range>0-32</range>
    </field>

    <field name="sourceIPv6PrefixLength" dataType="unsigned8"
           group="ipHeader"
           elementId="29" applicability="option" status="current">



Quittek, et al.             Standards Track                   [Page 101]

RFC 5102                IPFIX Information Model             January 2008


      <description>
        <paragraph>
        The number of contiguous bits that are relevant in the
        sourceIPv6Prefix Information Element.
        </paragraph>
      </description>
      <units>bits</units>
      <range>0-128</range>
    </field>

    <field name="sourceIPv4Prefix" dataType="ipv4Address"
           group="ipHeader"
           elementId="44" applicability="data" status="current">
      <description>
        <paragraph>
        IPv4 source address prefix.
        </paragraph>
      </description>
    </field>

    <field name="sourceIPv6Prefix" dataType="ipv6Address"
           group="ipHeader"
           elementId="170" applicability="data" status="current">
      <description>
        <paragraph>
        IPv6 source address prefix.
        </paragraph>
      </description>
    </field>

    <field name="destinationIPv4Address" dataType="ipv4Address"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="12" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv4 destination address in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4
        destination address field.
        </paragraph>
      </reference>
    </field>

    <field name="destinationIPv6Address" dataType="ipv6Address"



Quittek, et al.             Standards Track                   [Page 102]

RFC 5102                IPFIX Information Model             January 2008


           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="28" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv6 destination address in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the definition of the
        Destination Address field in the IPv6 header.
        </paragraph>
      </reference>
    </field>

    <field name="destinationIPv4PrefixLength" dataType="unsigned8"
           group="ipHeader"
           elementId="13" applicability="option" status="current">
      <description>
        <paragraph>
        The number of contiguous bits that are relevant in the
        destinationIPv4Prefix Information Element.
        </paragraph>
      </description>
      <units>bits</units>
      <range>0-32</range>
    </field>

    <field name="destinationIPv6PrefixLength" dataType="unsigned8"
           group="ipHeader"
           elementId="30" applicability="option" status="current">
      <description>
        <paragraph>
        The number of contiguous bits that are relevant in the
        destinationIPv6Prefix Information Element.
        </paragraph>
      </description>
      <units>bits</units>
      <range>0-128</range>
    </field>

    <field name="destinationIPv4Prefix" dataType="ipv4Address"
           group="ipHeader"
           elementId="45" applicability="data" status="current">
      <description>
        <paragraph> IPv4 destination address prefix. </paragraph>
      </description>



Quittek, et al.             Standards Track                   [Page 103]

RFC 5102                IPFIX Information Model             January 2008


    </field>

    <field name="destinationIPv6Prefix" dataType="ipv6Address"
           group="ipHeader"
           elementId="169" applicability="data" status="current">
      <description>
        <paragraph> IPv6 destination address prefix. </paragraph>
      </description>
    </field>

    <field name="ipTTL" dataType="unsigned8"
           group="ipHeader"
           elementId="192" applicability="all" status="current">
      <description>
        <paragraph>
        For IPv4, the value of the Information Element matches
        the value of the Time to Live (TTL) field in the IPv4 packet
        header.  For IPv6, the value of the Information Element
        matches the value of the Hop Limit field in the IPv6
        packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4
        Time to Live field.
        See RFC 2460 for the definition of the IPv6
        Hop Limit field.
        </paragraph>
      </reference>
      <units>hops</units>
    </field>

    <field name="protocolIdentifier" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="4" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the protocol number in the IP packet header.
        The protocol number identifies the IP packet payload type.
        Protocol numbers are defined in the IANA Protocol Numbers
        registry.
           </paragraph>

        <paragraph>
        In Internet Protocol version 4 (IPv4), this is carried in the
        Protocol field.  In Internet Protocol version 6 (IPv6), this



Quittek, et al.             Standards Track                   [Page 104]

RFC 5102                IPFIX Information Model             January 2008


        is carried in the Next Header field in the last extension
        header of the packet.
           </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the IPv4
        protocol field.
        See RFC 2460 for the specification of the IPv6
        protocol field.
        See the list of protocol numbers assigned by IANA at
        http://www.iana.org/assignments/protocol-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="nextHeaderIPv6" dataType="unsigned8"
           group="ipHeader"
           elementId="193" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the Next Header field of the IPv6 header.
        The value identifies the type of the following IPv6
        extension header or of the following IP payload.
        Valid values are defined in the IANA
        Protocol Numbers registry.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the definition of the IPv6
        Next Header field.
        See the list of protocol numbers assigned by IANA at
        http://www.iana.org/assignments/protocol-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="ipDiffServCodePoint" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="195" applicability="all" status="current">
      <description>
        <paragraph>
        The value of a Differentiated Services Code Point (DSCP)
        encoded in the Differentiated Services field.  The
        Differentiated Services field spans the most significant
        6 bits of the IPv4 TOS field or the IPv6 Traffic Class



Quittek, et al.             Standards Track                   [Page 105]

RFC 5102                IPFIX Information Model             January 2008


        field, respectively.
        </paragraph>
        <paragraph>
        This Information Element encodes only the 6 bits of the
        Differentiated Services field.  Therefore, its value may
        range from 0 to 63.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3260 for the definition of the
        Differentiated Services field.
        See RFC 1812 (Section 5.3.2) and RFC 791 for the definition
        of the IPv4 TOS field.  See RFC 2460 for the definition of
        the IPv6 Traffic Class field.
        </paragraph>
      </reference>
      <range>0-63</range>
    </field>

    <field name="ipPrecedence" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="196" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the IP Precedence.  The IP Precedence value
        is encoded in the first 3 bits of the IPv4 TOS field
        or the IPv6 Traffic Class field, respectively.
        </paragraph>
        <paragraph>
        This Information Element encodes only these 3 bits.
        Therefore, its value may range from 0 to 7.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 1812 (Section 5.3.3) and RFC 791
        for the definition of the IP Precedence.
        See RFC 1812 (Section 5.3.2) and RFC 791
        for the definition of the IPv4 TOS field.
        See RFC 2460 for the definition of the IPv6
        Traffic Class field.
        </paragraph>
      </reference>
      <range>0-7</range>
    </field>




Quittek, et al.             Standards Track                   [Page 106]

RFC 5102                IPFIX Information Model             January 2008


    <field name="ipClassOfService" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="5" applicability="all" status="current">
      <description>
        <paragraph>
        For IPv4 packets, this is the value of the TOS field in
        the IPv4 packet header.  For IPv6 packets, this is the
        value of the Traffic Class field in the IPv6 packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 1812 (Section 5.3.2) and RFC 791
        for the definition of the IPv4 TOS field.
        See RFC 2460 for the definition of the IPv6
        Traffic Class field.
        </paragraph>
      </reference>
    </field>

    <field name="postIpClassOfService" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="55" applicability="all" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'ipClassOfService', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4
        TOS field.
        See RFC 2460 for the definition of the IPv6
        Traffic Class field.
        See RFC 3234 for the definition of middleboxes.
        </paragraph>
      </reference>
    </field>

    <field name="flowLabelIPv6" dataType="unsigned32"
           group="ipHeader"
           dataTypeSemantics="identifier"



Quittek, et al.             Standards Track                   [Page 107]

RFC 5102                IPFIX Information Model             January 2008


           elementId="31" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the IPv6 Flow Label field in the IP packet header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the definition of the
        Flow Label field in the IPv6 packet header.
        </paragraph>
      </reference>
    </field>

    <field name="isMulticast" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="flags"
           elementId="206" applicability="data" status="current">
      <description>
        <paragraph>
          If the IP destination address is not a reserved multicast
          address, then the value of all bits of the octet (including
          the reserved ones) is zero.
        </paragraph>
        <paragraph>
          The first bit of this octet is set to 1 if the Version
          field of the IP header has the value 4 and if the
          Destination Address field contains a reserved multicast
          address in the range from 224.0.0.0 to 239.255.255.255.
          Otherwise, this bit is set to 0.
        </paragraph>
        <paragraph>
          The second and third bits of this octet are reserved for
          future use.
        </paragraph>
        <paragraph>
          The remaining bits of the octet are only set to values
          other than zero if the IP Destination Address is a
          reserved IPv6 multicast address.  Then the fourth bit
          of the octet is set to the value of the T flag in the
          IPv6 multicast address and the remaining four bits are
          set to the value of the scope field in the IPv6
          multicast address.
        </paragraph>
        <artwork>
            0      1      2      3      4      5      6      7
         +------+------+------+------+------+------+------+------+
         | MCv4 | RES. | RES. |  T   |   IPv6 multicast scope    |



Quittek, et al.             Standards Track                   [Page 108]

RFC 5102                IPFIX Information Model             January 2008


         +------+------+------+------+------+------+------+------+

         Bit  0:    set to 1 if IPv4 multicast
         Bits 1-2:  reserved for future use
         Bit  4:    set to value of T flag, if IPv6 multicast
         Bits 4-7:  set to value of multicast scope if IPv6 multicast
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 1112 for the specification of reserved
        IPv4 multicast addresses.
        See RFC 4291 for the specification of reserved
        IPv6 multicast addresses and the definition of the T flag
        and the IPv6 multicast scope.
        </paragraph>
      </reference>
    </field>

    <field name="fragmentIdentification" dataType="unsigned32"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="54" applicability="data" status="current">
      <description>
        <paragraph>
        The value of the Identification field
        in the IPv4 packet header or in the IPv6 Fragment header,
        respectively.  The value is 0 for IPv6 if there is
        no fragment header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4
        Identification field.
        See RFC 2460 for the definition of the
        Identification field in the IPv6 Fragment header.
        </paragraph>
      </reference>
    </field>

    <field name="fragmentOffset" dataType="unsigned16"
           group="ipHeader"
           dataTypeSemantics="identifier"
           elementId="88" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the IP fragment offset field in the



Quittek, et al.             Standards Track                   [Page 109]

RFC 5102                IPFIX Information Model             January 2008


        IPv4 packet header or the IPv6 Fragment header,
        respectively.  The value is 0 for IPv6 if there is
        no fragment header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        fragment offset in the IPv4 header.
        See RFC 2460 for the specification of the
        fragment offset in the IPv6 Fragment header.
        </paragraph>
      </reference>
    </field>

    <field name="fragmentFlags" dataType="unsigned8"
           group="ipHeader"
           dataTypeSemantics="flags"
           elementId="197" applicability="all" status="current">
      <description>
        <paragraph>
          Fragmentation properties indicated by flags in the IPv4
          packet header or the IPv6 Fragment header, respectively.
        </paragraph>
        <artwork>

        Bit 0:    (RS) Reserved.
                  The value of this bit MUST be 0 until specified
                  otherwise.
        Bit 1:    (DF) 0 = May Fragment,  1 = Don't Fragment.
                  Corresponds to the value of the DF flag in the
                  IPv4 header.  Will always be 0 for IPv6 unless
                  a "don't fragment" feature is introduced to IPv6.
        Bit 2:    (MF) 0 = Last Fragment, 1 = More Fragments.
                  Corresponds to the MF flag in the IPv4 header
                  or to the M flag in the IPv6 Fragment header,
                  respectively.  The value is 0 for IPv6 if there
                  is no fragment header.
        Bits 3-7: (DC) Don't Care.
                  The values of these bits are irrelevant.

            0   1   2   3   4   5   6   7
          +---+---+---+---+---+---+---+---+
          | R | D | M | D | D | D | D | D |
          | S | F | F | C | C | C | C | C |
          +---+---+---+---+---+---+---+---+
        </artwork>
      </description>



Quittek, et al.             Standards Track                   [Page 110]

RFC 5102                IPFIX Information Model             January 2008


      <reference>
        <paragraph>
        See RFC 791 for the specification of the IPv4
        fragment flags.
        See RFC 2460 for the specification of the IPv6
        Fragment header.
        </paragraph>
      </reference>
    </field>

    <field name="ipHeaderLength" dataType="unsigned8"
           group="ipHeader"
           elementId="189" applicability="all" status="current">
      <description>
        <paragraph>
        The length of the IP header.  For IPv6, the value of this
        Information Element is 40.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 header.
        See RFC 2460 for the specification of the
        IPv6 header.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="ipv4IHL" dataType="unsigned8"
           group="ipHeader"
           elementId="207" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the Internet Header Length (IHL) field in
        the IPv4 header.  It specifies the length of the header
        in units of 4 octets.  Please note that its unit is
        different from most of the other Information Elements
        reporting length values.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 header.
        </paragraph>
      </reference>



Quittek, et al.             Standards Track                   [Page 111]

RFC 5102                IPFIX Information Model             January 2008


      <units>4 octets</units>
    </field>

    <field name="totalLengthIPv4" dataType="unsigned16"
           group="ipHeader"
           elementId="190" applicability="all" status="current">
      <description>
        <paragraph>
        The total length of the IPv4 packet.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 total length.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="ipTotalLength" dataType="unsigned64"
           group="ipHeader"
           elementId="224" applicability="all" status="current">
      <description>
        <paragraph>
        The total length of the IP packet.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 total length.
        See RFC 2460 for the specification of the
        IPv6 payload length.
        See RFC 2675 for the specification of the
        IPv6 jumbo payload length.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="payloadLengthIPv6" dataType="unsigned16"
           group="ipHeader"
           elementId="191" applicability="all" status="current">
      <description>
        <paragraph>
        This Information Element reports the value of the Payload
        Length field in the IPv6 header.  Note that IPv6 extension



Quittek, et al.             Standards Track                   [Page 112]

RFC 5102                IPFIX Information Model             January 2008


        headers belong to the payload.  Also note that in case of a
        jumbo payload option the value of the Payload Length field in
        the IPv6 header is zero and so will be the value reported
        by this Information Element.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the specification of the
        IPv6 payload length.
        See RFC 2675 for the specification of the
        IPv6 jumbo payload option.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="sourceTransportPort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="7" applicability="all" status="current">
      <description>
        <paragraph>
        The source port identifier in the transport header.
        For the transport protocols UDP, TCP, and SCTP, this is the
        source port number given in the respective header.  This
        field MAY also be used for future transport protocols that
        have 16-bit source port identifiers.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the UDP
        source port field.
        See RFC 793 for the definition of the TCP
        source port field.
        See RFC 4960 for the definition of SCTP.
        </paragraph>
        <paragraph>
        Additional information on defined UDP and TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="destinationTransportPort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"



Quittek, et al.             Standards Track                   [Page 113]

RFC 5102                IPFIX Information Model             January 2008


           elementId="11" applicability="all" status="current">
      <description>
        <paragraph>
        The destination port identifier in the transport header.
        For the transport protocols UDP, TCP, and SCTP, this is the
        destination port number given in the respective header.
        This field MAY also be used for future transport protocols
        that have 16-bit destination port identifiers.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the UDP
        destination port field.
        See RFC 793 for the definition of the TCP
        destination port field.
        See RFC 4960 for the definition of SCTP.
        </paragraph>
        <paragraph>
        Additional information on defined UDP and TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="udpSourcePort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="180" applicability="all" status="current">
      <description>
        <paragraph>
        The source port identifier in the UDP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the
        UDP source port field.
        Additional information on defined UDP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="udpDestinationPort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="181" applicability="all" status="current">



Quittek, et al.             Standards Track                   [Page 114]

RFC 5102                IPFIX Information Model             January 2008


      <description>
        <paragraph>
        The destination port identifier in the UDP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the definition of the
        UDP destination port field.
        Additional information on defined UDP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="udpMessageLength" dataType="unsigned16"
           group="transportHeader"
           elementId="205" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the Length field in the UDP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 768 for the specification of the
        UDP header.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="tcpSourcePort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="182" applicability="all" status="current">
      <description>
        <paragraph>
        The source port identifier in the TCP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP
        source port field.
        Additional information on defined TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>



Quittek, et al.             Standards Track                   [Page 115]

RFC 5102                IPFIX Information Model             January 2008


      </reference>
    </field>

    <field name="tcpDestinationPort" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="183" applicability="all" status="current">
      <description>
        <paragraph>
        The destination port identifier in the TCP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP
        source port field.
        Additional information on defined TCP port numbers can
        be found at http://www.iana.org/assignments/port-numbers.
        </paragraph>
      </reference>
    </field>

    <field name="tcpSequenceNumber" dataType="unsigned32"
           group="transportHeader"
           elementId="184" applicability="all" status="current">
      <description>
        <paragraph>
        The sequence number in the TCP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP
        sequence number.
        </paragraph>
      </reference>
    </field>

    <field name="tcpAcknowledgementNumber" dataType="unsigned32"
           group="transportHeader"
           elementId="185" applicability="all" status="current">
      <description>
        <paragraph>
        The acknowledgement number in the TCP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>



Quittek, et al.             Standards Track                   [Page 116]

RFC 5102                IPFIX Information Model             January 2008


        See RFC 793 for the definition of the TCP
        acknowledgement number.
        </paragraph>
      </reference>
    </field>

    <field name="tcpWindowSize" dataType="unsigned16"
           group="transportHeader"
           elementId="186" applicability="all" status="current">
      <description>
        <paragraph>
        The window field in the TCP header.
        If the TCP window scale is supported,
        then TCP window scale must be known
        to fully interpret the value of this information.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP window field.
        See RFC 1323 for the definition of the TCP window scale.
        </paragraph>
      </reference>
    </field>

    <field name="tcpWindowScale" dataType="unsigned16"
           group="transportHeader"
           elementId="238" applicability="all" status="current">
      <description>
        <paragraph>
        The scale of the window field in the TCP header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 1323 for the definition of the TCP window scale.
        </paragraph>
      </reference>
    </field>

    <field name="tcpUrgentPointer" dataType="unsigned16"
           group="transportHeader"
           elementId="187" applicability="all" status="current">
      <description>
        <paragraph>
        The urgent pointer in the TCP header.
        </paragraph>
      </description>



Quittek, et al.             Standards Track                   [Page 117]

RFC 5102                IPFIX Information Model             January 2008


      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP
        urgent pointer.
        </paragraph>
      </reference>
    </field>

    <field name="tcpHeaderLength" dataType="unsigned8"
           group="transportHeader"
           elementId="188" applicability="all" status="current">
      <description>
        <paragraph>
        The length of the TCP header.  Note that the value of this
        Information Element is different from the value of the Data
        Offset field in the TCP header.  The Data Offset field
        indicates the length of the TCP header in units of 4 octets.
        This Information Elements specifies the length of the TCP
        header in units of octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the
        TCP header.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="icmpTypeCodeIPv4" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="32" applicability="all" status="current">
      <description>
        <paragraph>
        Type and Code of the IPv4 ICMP message.  The combination of
        both values is reported as (ICMP type * 256) + ICMP code.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 792 for the definition of the IPv4 ICMP
           type and code fields.
        </paragraph>
      </reference>
    </field>




Quittek, et al.             Standards Track                   [Page 118]

RFC 5102                IPFIX Information Model             January 2008


    <field name="icmpTypeIPv4" dataType="unsigned8"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="176" applicability="all" status="current">
      <description>
        <paragraph>
        Type of the IPv4 ICMP message.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 792 for the definition of the IPv4 ICMP
        type field.
        </paragraph>
      </reference>
    </field>

    <field name="icmpCodeIPv4" dataType="unsigned8"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="177" applicability="all" status="current">
      <description>
        <paragraph>
        Code of the IPv4 ICMP message.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 792 for the definition of the IPv4
        ICMP code field.
        </paragraph>
      </reference>
    </field>

    <field name="icmpTypeCodeIPv6" dataType="unsigned16"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="139" applicability="all" status="current">
      <description>
        <paragraph>
        Type and Code of the IPv6 ICMP message.  The combination of
        both values is reported as (ICMP type * 256) + ICMP code.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4443 for the definition of the IPv6
        ICMP type and code fields.



Quittek, et al.             Standards Track                   [Page 119]

RFC 5102                IPFIX Information Model             January 2008


        </paragraph>
      </reference>
    </field>

    <field name="icmpTypeIPv6" dataType="unsigned8"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="178" applicability="all" status="current">
      <description>
        <paragraph>
        Type of the IPv6 ICMP message.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4443 for the definition of the IPv6
        ICMP type field.
        </paragraph>
      </reference>
    </field>

    <field name="icmpCodeIPv6" dataType="unsigned8"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="179" applicability="all" status="current">
      <description>
        <paragraph>
        Code of the IPv6 ICMP message.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4443 for the definition of the IPv6
        ICMP code field.
        </paragraph>
      </reference>
    </field>

    <field name="igmpType" dataType="unsigned8"
           group="transportHeader"
           dataTypeSemantics="identifier"
           elementId="33" applicability="all" status="current">
      <description>
        <paragraph>
        The type field of the IGMP message.
        </paragraph>
      </description>
      <reference>



Quittek, et al.             Standards Track                   [Page 120]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
        See RFC 3376 for the definition of the IGMP
        type field.
        </paragraph>
      </reference>
    </field>

    <field name="sourceMacAddress" dataType="macAddress"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="56" applicability="data" status="current">
      <description>
        <paragraph>
          The IEEE 802 source MAC address field.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-3.2002.
        </paragraph>
      </reference>
    </field>

    <field name="postSourceMacAddress" dataType="macAddress"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="81" applicability="data" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'sourceMacAddress', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-3.2002.
        </paragraph>
      </reference>
    </field>

    <field name="vlanId" dataType="unsigned16"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="58" applicability="data" status="current">
      <description>



Quittek, et al.             Standards Track                   [Page 121]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
          The IEEE 802.1Q VLAN identifier (VID) extracted from the Tag
          Control Information field that was attached to the IP packet.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-1Q.2003.
        </paragraph>
      </reference>
    </field>

    <field name="postVlanId" dataType="unsigned16"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="59" applicability="data" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'vlanId', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-1Q.2003.
        </paragraph>
      </reference>
    </field>

    <field name="destinationMacAddress" dataType="macAddress"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="80" applicability="data" status="current">
      <description>
        <paragraph>
          The IEEE 802 destination MAC address field.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-3.2002.
        </paragraph>
      </reference>
    </field>




Quittek, et al.             Standards Track                   [Page 122]

RFC 5102                IPFIX Information Model             January 2008


    <field name="postDestinationMacAddress" dataType="macAddress"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="57" applicability="data" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'destinationMacAddress', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-3.2002.
        </paragraph>
      </reference>
    </field>

    <field name="wlanChannelId" dataType="unsigned8"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="146" applicability="data" status="current">
      <description>
        <paragraph>
          The identifier of the 802.11 (Wi-Fi) channel used.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See IEEE.802-11.1999.
        </paragraph>
      </reference>
    </field>

    <field name="wlanSSID" dataType="string"
           group="subIpHeader"
           elementId="147" applicability="data" status="current">
      <description>
        <paragraph>
          The Service Set IDentifier (SSID) identifying an 802.11
          (Wi-Fi) network used.  According to IEEE.802-11.1999, the
          SSID is encoded into a string of up to 32 characters.
        </paragraph>
      </description>
      <reference>
        <paragraph>



Quittek, et al.             Standards Track                   [Page 123]

RFC 5102                IPFIX Information Model             January 2008


        See IEEE.802-11.1999.
        </paragraph>
      </reference>
    </field>

    <field name="mplsTopLabelTTL" dataType="unsigned8"
           group="subIpHeader"
           elementId="200" applicability="all" status="current">
      <description>
        <paragraph>
        The TTL field from the top MPLS label stack entry,
        i.e., the last label that was pushed.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032 for the specification of the
        TTL field.
        </paragraph>
      </reference>
      <units>hops</units>
    </field>

    <field name="mplsTopLabelExp" dataType="unsigned8"
           group="subIpHeader"
           dataTypeSemantics="flags"
           elementId="203" applicability="all" status="current">
      <description>
        <paragraph>
        The Exp field from the top MPLS label stack entry,
        i.e., the last label that was pushed.
        </paragraph>
        <artwork>
        Bits 0-4:  Don't Care, value is irrelevant.
        Bits 5-7:  MPLS Exp field.

            0   1   2   3   4   5   6   7
          +---+---+---+---+---+---+---+---+
          |     don't care    |    Exp    |
          +---+---+---+---+---+---+---+---+
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 3032 for the specification of the Exp field.
        See RFC 3270 for usage of the Exp field.
        </paragraph>
      </reference>



Quittek, et al.             Standards Track                   [Page 124]

RFC 5102                IPFIX Information Model             January 2008


    </field>

    <field name="postMplsTopLabelExp" dataType="unsigned8"
           group="subIpHeader"
           dataTypeSemantics="flags"
           elementId="237" applicability="all" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical to the
        definition of Information Element 'mplsTopLabelExp', except
        that it reports a potentially modified value caused by a
        middlebox function after the packet passed the Observation
        Point.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032 for the specification of the Exp field.
        See RFC 3270 for usage of the Exp field.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackDepth" dataType="unsigned32"
           group="subIpHeader"
           elementId="202" applicability="all" status="current">
      <description>
        <paragraph>
        The number of labels in the MPLS label stack.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032 for the specification of
        the MPLS label stack.
        </paragraph>
      </reference>
      <units>label stack entries</units>
    </field>

    <field name="mplsLabelStackLength" dataType="unsigned32"
           group="subIpHeader"
           elementId="201" applicability="all" status="current">
      <description>
        <paragraph>
        The length of the MPLS label stack in units of octets.
        </paragraph>
      </description>



Quittek, et al.             Standards Track                   [Page 125]

RFC 5102                IPFIX Information Model             January 2008


      <reference>
        <paragraph>
        See RFC 3032 for the specification of
        the MPLS label stack.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="mplsPayloadLength" dataType="unsigned32"
           group="subIpHeader"
           elementId="194" applicability="all" status="current">
      <description>
        <paragraph>
        The size of the MPLS packet without the label stack.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3031 for the specification of
        MPLS packets.
        See RFC 3032 for the specification of
        the MPLS label stack.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="mplsTopLabelStackSection" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="70" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the top MPLS label
        stack entry, i.e., from the last label that was pushed.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
        <artwork>
      0                   1                   2
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                Label                  | Exp |S|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Label:  Label Value, 20 bits



Quittek, et al.             Standards Track                   [Page 126]

RFC 5102                IPFIX Information Model             January 2008


     Exp:    Experimental Use, 3 bits
     S:      Bottom of Stack, 1 bit
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection2" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="71" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsTopLabelStackSection.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection3" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="72" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection2.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>



Quittek, et al.             Standards Track                   [Page 127]

RFC 5102                IPFIX Information Model             January 2008


      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection4" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="73" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection3.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection5" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="74" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection4.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>



Quittek, et al.             Standards Track                   [Page 128]

RFC 5102                IPFIX Information Model             January 2008


      </reference>
    </field>

    <field name="mplsLabelStackSection6" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="75" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection5.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection7" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="76" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection6.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection8" dataType="octetArray"



Quittek, et al.             Standards Track                   [Page 129]

RFC 5102                IPFIX Information Model             January 2008


           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="77" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection7.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection9" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="78" applicability="all" status="current">
      <description>
        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection8.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="mplsLabelStackSection10" dataType="octetArray"
           group="subIpHeader"
           dataTypeSemantics="identifier"
           elementId="79" applicability="all" status="current">
      <description>



Quittek, et al.             Standards Track                   [Page 130]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
        The Label, Exp, and S fields from the label stack entry that
        was pushed immediately before the label stack entry that would
        be reported by mplsLabelStackSection9.  See the definition of
        mplsTopLabelStackSection for further details.
        </paragraph>
        <paragraph>
        The size of this Information Element is 3 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3032.
        </paragraph>
      </reference>
    </field>

    <field name="ipPayloadLength" dataType="unsigned32"
           group="derived"
           elementId="204" applicability="all" status="current">
      <description>
        <paragraph>
        The effective length of the IP payload.
        </paragraph>
        <paragraph>
        For IPv4 packets, the value of this Information Element is
        the difference between the total length of the IPv4 packet
        (as reported by Information Element totalLengthIPv4) and the
        length of the IPv4 header (as reported by Information Element
        headerLengthIPv4).
        </paragraph>
        <paragraph>
        For IPv6, the value of the Payload Length field
        in the IPv6 header is reported except in the case that
        the value of this field is zero and that there is a valid
        jumbo payload option.  In this case, the value of the
        Jumbo Payload Length field in the jumbo payload option
        is reported.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of
        IPv4 packets.
        See RFC 2460 for the specification of the
        IPv6 payload length.
        See RFC 2675 for the specification of the
        IPv6 jumbo payload length.



Quittek, et al.             Standards Track                   [Page 131]

RFC 5102                IPFIX Information Model             January 2008


        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="ipNextHopIPv4Address" dataType="ipv4Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="15" applicability="data" status="current">
      <description>
        <paragraph>
        The IPv4 address of the next IPv4 hop.
        </paragraph>
      </description>
    </field>

    <field name="ipNextHopIPv6Address" dataType="ipv6Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="62" applicability="data" status="current">
      <description>
        <paragraph>
        The IPv6 address of the next IPv6 hop.
        </paragraph>
      </description>
    </field>

    <field name="bgpSourceAsNumber" dataType="unsigned32"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="16" applicability="all" status="current">
      <description>
        <paragraph>
        The autonomous system (AS) number of the source IP address.
        If AS path information for this Flow is only available as
        an unordered AS set (and not as an ordered AS sequence),
        then the value of this Information Element is 0.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4, and see RFC 1930
        for the definition of the AS number.
        </paragraph>
      </reference>
    </field>

    <field name="bgpDestinationAsNumber" dataType="unsigned32"



Quittek, et al.             Standards Track                   [Page 132]

RFC 5102                IPFIX Information Model             January 2008


           group="derived"
           dataTypeSemantics="identifier"
           elementId="17" applicability="all" status="current">
      <description>
        <paragraph>
        The autonomous system (AS) number of the destination IP
        address.  If AS path information for this Flow is only
        available as an unordered AS set (and not as an ordered AS
        sequence), then the value of this Information Element is 0.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4, and see RFC 1930 for
           the definition of the AS number.
        </paragraph>
      </reference>
    </field>

    <field name="bgpNextAdjacentAsNumber" dataType="unsigned32"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="128" applicability="all" status="current">
      <description>
        <paragraph>
        The autonomous system (AS) number of the first AS in the AS
        path to the destination IP address.  The path is deduced
        by looking up the destination IP address of the Flow in the
        BGP routing information base.  If AS path information for
        this Flow is only available as an unordered AS set (and not
        as an ordered AS sequence), then the value of this Information
        Element is 0.
      </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4, and
        see RFC 1930 for the definition of the AS number.
        </paragraph>
      </reference>
    </field>

    <field name="bgpPrevAdjacentAsNumber" dataType="unsigned32"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="129" applicability="all" status="current">
      <description>
        <paragraph>



Quittek, et al.             Standards Track                   [Page 133]

RFC 5102                IPFIX Information Model             January 2008


        The autonomous system (AS) number of the last AS in the AS
        path from the source IP address.  The path is deduced
        by looking up the source IP address of the Flow in the BGP
        routing information base.  If AS path information for this
        Flow is only available as an unordered AS set (and not as
        an ordered AS sequence), then the value of this Information
        Element is 0.  In case of BGP asymmetry, the
        bgpPrevAdjacentAsNumber might not be able to report the correct
        value.
      </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4, and
        see RFC 1930 for the definition of the AS number.
        </paragraph>
      </reference>
    </field>

    <field name="bgpNextHopIPv4Address" dataType="ipv4Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="18" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv4 address of the next (adjacent) BGP hop.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4.
        </paragraph>
      </reference>
    </field>

    <field name="bgpNextHopIPv6Address" dataType="ipv6Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="63" applicability="all" status="current">
      <description>
        <paragraph>
        The IPv6 address of the next (adjacent) BGP hop.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4271 for a description of BGP-4.
        </paragraph>



Quittek, et al.             Standards Track                   [Page 134]

RFC 5102                IPFIX Information Model             January 2008


      </reference>
    </field>

    <field name="mplsTopLabelType" dataType="unsigned8"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="46" applicability="data" status="current">
      <description>
        <paragraph>
        This field identifies the control protocol that allocated the
        top-of-stack label.  Initial values for this field are
        listed below.  Further values may be assigned by IANA in
        the MPLS label type registry.
        </paragraph>
        <artwork>
       - 0x01 TE-MIDPT: Any TE tunnel mid-point or tail label
       - 0x02 Pseudowire: Any PWE3 or Cisco AToM based label
       - 0x03 VPN: Any label associated with VPN
       - 0x04 BGP: Any label associated with BGP or BGP routing
       - 0x05 LDP: Any label associated with dynamically assigned
                   labels using LDP
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 3031 for the MPLS label structure.
        See RFC 4364 for the association of MPLS labels
        with Virtual Private Networks (VPNs).
        See RFC 4271 for BGP and BGP routing.
        See RFC 5036 for Label Distribution Protocol (LDP).
        See the list of MPLS label types assigned by IANA at
        http://www.iana.org/assignments/mpls-label-values.
        </paragraph>
      </reference>
    </field>

    <field name="mplsTopLabelIPv4Address" dataType="ipv4Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="47" applicability="data" status="current">
      <description>
        <paragraph>
          The IPv4 address of the system that the MPLS top label will
          cause this Flow to be forwarded to.
        </paragraph>
      </description>
      <reference>
        <paragraph>



Quittek, et al.             Standards Track                   [Page 135]

RFC 5102                IPFIX Information Model             January 2008


        See RFC 3031 for the association between
        MPLS labels and IP addresses.
        </paragraph>
      </reference>
    </field>

    <field name="mplsTopLabelIPv6Address" dataType="ipv6Address"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="140" applicability="data" status="current">
      <description>
        <paragraph>
          The IPv6 address of the system that the MPLS top label will
          cause this Flow to be forwarded to.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 3031 for the association between
        MPLS labels and IP addresses.
        </paragraph>
      </reference>
    </field>

    <field name="mplsVpnRouteDistinguisher" dataType="octetArray"
           group="derived"
           dataTypeSemantics="identifier"
           elementId="90" applicability="all" status="current">
      <description>
        <paragraph>
        The value of the VPN route distinguisher of a corresponding
        entry in a VPN routing and forwarding table.  Route
        distinguisher ensures that the same address can be used in
        several different MPLS VPNs and that it is possible for BGP to
        carry several completely different routes to that address, one
        for each VPN.  According to RFC 4364, the size of
        mplsVpnRouteDistinguisher is 8 octets.  However, in RFC 4382 an
        octet string with flexible length was chosen for representing a
        VPN route distinguisher by object MplsL3VpnRouteDistinguisher.
        This choice was made in order to be open to future changes of
        the size.  This idea was adopted when choosing octetArray as
        abstract data type for this Information Element.  The maximum
        length of this Information Element is 256 octets.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 4364 for the specification of the route



Quittek, et al.             Standards Track                   [Page 136]

RFC 5102                IPFIX Information Model             January 2008


        distinguisher.  See RFC 4382 for the specification
        of the MPLS/BGP Layer 3 Virtual Private Network (VPN)
        Management Information Base.
        </paragraph>
      </reference>
    </field>

    <field name="minimumIpTotalLength" dataType="unsigned64"
           group="minMax"
           elementId="25" applicability="all" status="current">
      <description>
        <paragraph>
        Length of the smallest packet observed for this Flow.
        The packet length includes the IP header(s) length and
        the IP payload length.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 total length.
        See RFC 2460 for the specification of the
        IPv6 payload length.
        See RFC 2675 for the specification of the
        IPv6 jumbo payload length.
        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="maximumIpTotalLength" dataType="unsigned64"
           group="minMax"
           elementId="26" applicability="all" status="current">
      <description>
        <paragraph>
        Length of the largest packet observed for this Flow.
        The packet length includes the IP header(s) length and
        the IP payload length.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the specification of the
        IPv4 total length.
        See RFC 2460 for the specification of the
        IPv6 payload length.
        See RFC 2675 for the specification of the
        IPv6 jumbo payload length.



Quittek, et al.             Standards Track                   [Page 137]

RFC 5102                IPFIX Information Model             January 2008


        </paragraph>
      </reference>
      <units>octets</units>
    </field>

    <field name="minimumTTL" dataType="unsigned8"
           group="minMax"
           elementId="52" applicability="data" status="current">
      <description>
        <paragraph>
          Minimum TTL value observed for any packet in this Flow.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of the IPv4
        Time to Live field.
        See RFC 2460 for the definition of the IPv6
        Hop Limit field.
        </paragraph>
      </reference>
      <units>hops</units>
    </field>

    <field name="maximumTTL" dataType="unsigned8"
           group="minMax"
           elementId="53" applicability="data" status="current">
      <description>
        <paragraph>
          Maximum TTL value observed for any packet in this Flow.
        </paragraph>
      </description>
      <reference>
       <paragraph>
       See RFC 791 for the definition of the IPv4
       Time to Live field.
       See RFC 2460 for the definition of the IPv6
       Hop Limit field.
       </paragraph>
      </reference>
      <units>hops</units>
    </field>

    <field name="ipv4Options" dataType="unsigned32"
           dataTypeSemantics="flags"
           group="minMax"
           elementId="208" applicability="all" status="current">
      <description>



Quittek, et al.             Standards Track                   [Page 138]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
        IPv4 options in packets of this Flow.
        The information is encoded in a set of bit fields.  For
        each valid IPv4 option type, there is a bit in this set.
        The bit is set to 1 if any observed packet of this Flow
        contains the corresponding IPv4 option type.  Otherwise,
        if no observed packet of this Flow contained the
        respective IPv4 option type, the value of the
        corresponding bit is 0.
        </paragraph>
        <paragraph>
        The list of valid IPv4 options is maintained by IANA.
        Note that for identifying an option not just the 5-bit
        Option Number, but all 8 bits of the Option Type need to
        match one of the IPv4 options specified at
        http://www.iana.org/assignments/ip-parameters.
        </paragraph>
        <paragraph>
        Options are mapped to bits according to their option numbers.
        Option number X is mapped to bit X.
        The mapping is illustrated by the figure below.
        </paragraph>
        <artwork>
          0      1      2      3      4      5      6      7
      +------+------+------+------+------+------+------+------+
      | EOOL | NOP  | SEC  | LSR  |  TS  |E-SEC |CIPSO |  RR  | ...
      +------+------+------+------+------+------+------+------+

          8      9     10     11     12     13     14     15
      +------+------+------+------+------+------+------+------+
  ... | SID  | SSR  | ZSU  | MTUP | MTUR | FINN | VISA |ENCODE| ...
      +------+------+------+------+------+------+------+------+

         16     17     18     19     20     21     22     23
      +------+------+------+------+------+------+------+------+
  ... |IMITD | EIP  |  TR  |ADDEXT|RTRALT| SDB  |NSAPA | DPS  | ...
      +------+------+------+------+------+------+------+------+

         24     25     26     27     28     29     30     31
      +------+------+------+------+------+------+------+------+
  ... | UMP  |  QS  |   to be assigned by IANA  | EXP  |      |
      +------+------+------+------+------+------+------+------+

          Type   Option
      Bit Value  Name    Reference
      ---+-----+-------+------------------------------------
       0     0   EOOL    End of Options List, RFC 791
       1     1   NOP     No Operation, RFC 791



Quittek, et al.             Standards Track                   [Page 139]

RFC 5102                IPFIX Information Model             January 2008


       2   130   SEC     Security, RFC 1108
       3   131   LSR     Loose Source Route, RFC 791
       4    68   TS      Time Stamp, RFC 791
       5   133   E-SEC   Extended Security, RFC 1108
       6   134   CIPSO   Commercial Security
       7     7   RR      Record Route, RFC 791
       8   136   SID     Stream ID, RFC 791
       9   137   SSR     Strict Source Route, RFC 791
      10    10   ZSU     Experimental Measurement
      11    11   MTUP    (obsoleted) MTU Probe, RFC 1191
      12    12   MTUR    (obsoleted) MTU Reply, RFC 1191
      13   205   FINN    Experimental Flow Control
      14   142   VISA    Experimental Access Control
      15    15   ENCODE
      16   144   IMITD   IMI Traffic Descriptor
      17   145   EIP     Extended Internet Protocol, RFC 1385
      18    82   TR      Traceroute, RFC 3193
      19   147   ADDEXT  Address Extension
      20   148   RTRALT  Router Alert, RFC 2113
      21   149   SDB     Selective Directed Broadcast
      22   150   NSAPA   NSAP Address
      23   151   DPS     Dynamic Packet State
      24   152   UMP     Upstream Multicast Pkt.
      25    25   QS      Quick-Start
      30    30   EXP     RFC3692-style Experiment
      30    94   EXP     RFC3692-style Experiment
      30   158   EXP     RFC3692-style Experiment
      30   222   EXP     RFC3692-style Experiment
      ...  ...   ...     Further options numbers
                         may be assigned by IANA

        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 791 for the definition of IPv4 options.
        See the list of IPv4 option numbers assigned by IANA
        at http://www.iana.org/assignments/ip-parameters.
        </paragraph>
      </reference>
    </field>

    <field name="ipv6ExtensionHeaders" dataType="unsigned32"
           dataTypeSemantics="flags"
           group="minMax"
           elementId="64" applicability="all" status="current">
      <description>
        <paragraph>



Quittek, et al.             Standards Track                   [Page 140]

RFC 5102                IPFIX Information Model             January 2008


        IPv6 extension headers observed in packets of this Flow.
        The information is encoded in a set of bit fields.  For
        each IPv6 option header, there is a bit in this set.
        The bit is set to 1 if any observed packet of this Flow
        contains the corresponding IPv6 extension header.
        Otherwise, if no observed packet of this Flow contained
        the respective IPv6 extension header, the value of the
        corresponding bit is 0.
        </paragraph>
        <artwork>
             0     1     2     3     4     5     6     7
         +-----+-----+-----+-----+-----+-----+-----+-----+
         | Res | FRA1| RH  | FRA0| UNK | Res | HOP | DST |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

             8     9    10    11    12    13    14    15
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... | PAY | AH  | ESP |         Reserved            | ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

            16    17    18    19    20    21    22    23
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |                  Reserved                     | ...
         +-----+-----+-----+-----+-----+-----+-----+-----+
            24    25    26    27    28    29    30    31
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |                  Reserved                     |
         +-----+-----+-----+-----+-----+-----+-----+-----+

       Bit    IPv6 Option   Description
      0, Res               Reserved
      1, FRA1     44       Fragmentation header - not first fragment
      2, RH       43       Routing header
      3, FRA0     44       Fragment header - first fragment
      4, UNK               Unknown Layer 4 header
                           (compressed, encrypted, not supported)
      5, Res               Reserved
      6, HOP       0       Hop-by-hop option header
      7, DST      60       Destination option header
      8, PAY     108       Payload compression header
      9, AH       51       Authentication Header
     10, ESP      50       Encrypted security payload
     11 to 31              Reserved
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 2460 for the general definition of



Quittek, et al.             Standards Track                   [Page 141]

RFC 5102                IPFIX Information Model             January 2008


        IPv6 extension headers and for the specification of
        the hop-by-hop options header, the routing header,
        the fragment header, and the destination options header.
        See RFC 4302 for the specification of the
        authentication header.
        See RFC 4303 for the specification of the
        encapsulating security payload.
        </paragraph>
      </reference>
    </field>

    <field name="tcpControlBits" dataType="unsigned8"
           dataTypeSemantics="flags"
           group="minMax"
           elementId="6" applicability="all" status="current">
      <description>
        <paragraph>
        TCP control bits observed for packets of this Flow.
        The information is encoded in a set of bit fields.
        For each TCP control bit, there is a bit in this
        set.  A bit is set to 1 if any observed packet of this
        Flow has the corresponding TCP control bit set to 1.
        A value of 0 for a bit indicates that the corresponding
        bit was not set in any of the observed packets
        of this Flow.
        </paragraph>
        <artwork>
         0     1     2     3     4     5     6     7
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |  Reserved | URG | ACK | PSH | RST | SYN | FIN |
     +-----+-----+-----+-----+-----+-----+-----+-----+

     Reserved:  Reserved for future use by TCP.  Must be zero.
          URG:  Urgent Pointer field significant
          ACK:  Acknowledgment field significant
          PSH:  Push Function
          RST:  Reset the connection
          SYN:  Synchronize sequence numbers
          FIN:  No more data from sender
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of
        the TCP control bits in the TCP header.
        </paragraph>
      </reference>
    </field>



Quittek, et al.             Standards Track                   [Page 142]

RFC 5102                IPFIX Information Model             January 2008


    <field name="tcpOptions" dataType="unsigned64"
           dataTypeSemantics="flags"
           group="minMax"
           elementId="209" applicability="all" status="current">
      <description>
        <paragraph>
       TCP options in packets of this Flow.
       The information is encoded in a set of bit fields.  For
       each TCP option, there is a bit in this set.
       The bit is set to 1 if any observed packet of this Flow
       contains the corresponding TCP option.
       Otherwise, if no observed packet of this Flow contained
       the respective TCP option, the value of the
       corresponding bit is 0.
        </paragraph>
        <paragraph>
        Options are mapped to bits according to their option
        numbers.  Option number X is mapped to bit X.
        TCP option numbers are maintained by IANA.
        </paragraph>
        <artwork>
             0     1     2     3     4     5     6     7
         +-----+-----+-----+-----+-----+-----+-----+-----+
         |   0 |   1 |   2 |   3 |   4 |   5 |   6 |   7 |  ...
         +-----+-----+-----+-----+-----+-----+-----+-----+

             8     9    10    11    12    13    14    15
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |   8 |   9 |  10 |  11 |  12 |  13 |  14 |  15 |...
         +-----+-----+-----+-----+-----+-----+-----+-----+

            16    17    18    19    20    21    22    23
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |  16 |  17 |  18 |  19 |  20 |  21 |  22 |  23 |...
         +-----+-----+-----+-----+-----+-----+-----+-----+

                               . . .

            56    57    58    59    60    61    62    63
         +-----+-----+-----+-----+-----+-----+-----+-----+
     ... |  56 |  57 |  58 |  59 |  60 |  61 |  62 |  63 |
         +-----+-----+-----+-----+-----+-----+-----+-----+
        </artwork>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of TCP options.
        See the list of TCP option numbers assigned by IANA



Quittek, et al.             Standards Track                   [Page 143]

RFC 5102                IPFIX Information Model             January 2008


        at http://www.iana.org/assignments/tcp-parameters.
        </paragraph>
      </reference>
    </field>

    <field name="flowStartSeconds" dataType="dateTimeSeconds"
           group="timestamp"
           elementId="150" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the first packet of this Flow.
        </paragraph>
      </description>
      <units>seconds</units>
    </field>

    <field name="flowEndSeconds" dataType="dateTimeSeconds"
           group="timestamp"
           elementId="151" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the last packet of this Flow.
        </paragraph>
      </description>
      <units>seconds</units>
    </field>

    <field name="flowStartMilliseconds" dataType="dateTimeMilliseconds"
           group="timestamp"
           elementId="152" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the first packet of this Flow.
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>

    <field name="flowEndMilliseconds" dataType="dateTimeMilliseconds"
           group="timestamp"
           elementId="153" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the last packet of this Flow.
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>



Quittek, et al.             Standards Track                   [Page 144]

RFC 5102                IPFIX Information Model             January 2008


    <field name="flowStartMicroseconds" dataType="dateTimeMicroseconds"
           group="timestamp"
           elementId="154" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the first packet of this Flow.
        </paragraph>
      </description>
      <units>microseconds</units>
    </field>

    <field name="flowEndMicroseconds" dataType="dateTimeMicroseconds"
           group="timestamp"
           elementId="155" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the last packet of this Flow.
        </paragraph>
      </description>
      <units>microseconds</units>
    </field>

    <field name="flowStartNanoseconds" dataType="dateTimeNanoseconds"
           group="timestamp"
           elementId="156" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the first packet of this Flow.
        </paragraph>
      </description>
      <units>nanoseconds</units>
    </field>

    <field name="flowEndNanoseconds" dataType="dateTimeNanoseconds"
           group="timestamp"
           elementId="157" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the last packet of this Flow.
        </paragraph>
      </description>
      <units>nanoseconds</units>
    </field>

    <field name="flowStartDeltaMicroseconds" dataType="unsigned32"
           group="timestamp"
           elementId="158" applicability="data" status="current">
      <description>



Quittek, et al.             Standards Track                   [Page 145]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
        This is a relative timestamp only valid within the scope
        of a single IPFIX Message.  It contains the negative time
        offset of the first observed packet of this Flow relative
        to the export time specified in the IPFIX Message Header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See the IPFIX protocol specification [RFC5101] for the
        definition of the IPFIX Message Header.
        </paragraph>
      </reference>
      <units>microseconds</units>
    </field>

    <field name="flowEndDeltaMicroseconds" dataType="unsigned32"
           group="timestamp"
           elementId="159" applicability="data" status="current">
      <description>
        <paragraph>
        This is a relative timestamp only valid within the scope
        of a single IPFIX Message.  It contains the negative time
        offset of the last observed packet of this Flow relative
        to the export time specified in the IPFIX Message Header.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See the IPFIX protocol specification [RFC5101] for the
        definition of the IPFIX Message Header.
        </paragraph>
      </reference>
      <units>microseconds</units>
    </field>

    <field name="systemInitTimeMilliseconds"
           dataType="dateTimeMilliseconds"
           group="timestamp"
           elementId="160" applicability="data" status="current">
      <description>
        <paragraph>
        The absolute timestamp of the last (re-)initialization of the
        IPFIX Device.
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>



Quittek, et al.             Standards Track                   [Page 146]

RFC 5102                IPFIX Information Model             January 2008


    <field name="flowStartSysUpTime" dataType="unsigned32"
           group="timestamp"
           elementId="22" applicability="data" status="current">
      <description>
        <paragraph>
        The relative timestamp of the first packet of this Flow.
        It indicates the number of milliseconds since the
        last (re-)initialization of the IPFIX Device (sysUpTime).
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>

    <field name="flowEndSysUpTime" dataType="unsigned32"
           group="timestamp"
           elementId="21" applicability="data" status="current">
      <description>
        <paragraph>
        The relative timestamp of the last packet of this Flow.
        It indicates the number of milliseconds since the
        last (re-)initialization of the IPFIX Device (sysUpTime).
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>

    <field name="octetDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="1" applicability="data" status="current">
      <description>
        <paragraph>
        The number of octets since the previous report (if any)
        in incoming packets for this Flow at the Observation Point.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="postOctetDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="23" applicability="data" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element



Quittek, et al.             Standards Track                   [Page 147]

RFC 5102                IPFIX Information Model             January 2008


        'octetDeltaCount', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="octetDeltaSumOfSquares" dataType="unsigned64"
           group="flowCounter"
           elementId="198" applicability="data" status="current">
      <description>
        <paragraph>
        The sum of the squared numbers of octets per incoming
        packet since the previous report (if any) for this
        Flow at the Observation Point.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
    </field>

    <field name="octetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="85" applicability="all" status="current">
      <description>
        <paragraph>
        The total number of octets in incoming packets
        for this Flow at the Observation Point since the Metering
        Process (re-)initialization for this Observation Point.  The
        number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="postOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="171" applicability="all" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'octetTotalCount', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>



Quittek, et al.             Standards Track                   [Page 148]

RFC 5102                IPFIX Information Model             January 2008


      </description>
      <units>octets</units>
    </field>

    <field name="octetTotalSumOfSquares" dataType="unsigned64"
           group="flowCounter"
           elementId="199" applicability="all" status="current">
      <description>
        <paragraph>
        The total sum of the squared numbers of octets in incoming
        packets for this Flow at the Observation Point since the
        Metering Process (re-)initialization for this Observation
        Point.  The number of octets includes IP header(s) and IP
        payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="packetDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="2" applicability="data" status="current">
      <description>
        <paragraph>
        The number of incoming packets since the previous report
        (if any) for this Flow at the Observation Point.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="postPacketDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="24" applicability="data" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'packetDeltaCount', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <units>packets</units>
    </field>




Quittek, et al.             Standards Track                   [Page 149]

RFC 5102                IPFIX Information Model             January 2008


    <field name="packetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="86" applicability="all" status="current">
      <description>
        <paragraph>
        The total number of incoming packets for this Flow
        at the Observation Point since the Metering Process
        (re-)initialization for this Observation Point.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="postPacketTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="172" applicability="all" status="current">
      <description>
        <paragraph>
        The definition of this Information Element is identical
        to the definition of Information Element
        'packetTotalCount', except that it reports a
        potentially modified value caused by a middlebox
        function after the packet passed the Observation Point.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="droppedOctetDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="132" applicability="data" status="current">
      <description>
        <paragraph>
        The number of octets since the previous report (if any)
        in packets of this Flow dropped by packet treatment.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="droppedPacketDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="133" applicability="data" status="current">



Quittek, et al.             Standards Track                   [Page 150]

RFC 5102                IPFIX Information Model             January 2008


      <description>
        <paragraph>
        The number of packets since the previous report (if any)
        of this Flow dropped by packet treatment.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="droppedOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="134" applicability="data" status="current">
      <description>
        <paragraph>
        The total number of octets in packets of this Flow dropped
        by packet treatment since the Metering Process
        (re-)initialization for this Observation Point.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="droppedPacketTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="135" applicability="data" status="current">
      <description>
        <paragraph>
        The number of packets of this Flow dropped by packet
        treatment since the Metering Process
        (re-)initialization for this Observation Point.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="postMCastPacketDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="19" applicability="data" status="current">
      <description>
        <paragraph>
        The number of outgoing multicast packets since the
        previous report (if any) sent for packets of this Flow
        by a multicast daemon within the Observation Domain.
        This property cannot necessarily be observed at the



Quittek, et al.             Standards Track                   [Page 151]

RFC 5102                IPFIX Information Model             January 2008


        Observation Point, but may be retrieved by other means.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="postMCastOctetDeltaCount" dataType="unsigned64"
           dataTypeSemantics="deltaCounter"
           group="flowCounter"
           elementId="20" applicability="data" status="current">
      <description>
        <paragraph>
        The number of octets since the previous report (if any)
        in outgoing multicast packets sent for packets of this
        Flow by a multicast daemon within the Observation Domain.
        This property cannot necessarily be observed at the
        Observation Point, but may be retrieved by other means.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="postMCastPacketTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="174" applicability="data" status="current">
      <description>
        <paragraph>
        The total number of outgoing multicast packets sent for
        packets of this Flow by a multicast daemon within the
        Observation Domain since the Metering Process
        (re-)initialization.  This property cannot necessarily
        be observed at the Observation Point, but may be retrieved
        by other means.
        </paragraph>
      </description>
      <units>packets</units>
    </field>

    <field name="postMCastOctetTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="175" applicability="data" status="current">
      <description>
        <paragraph>
        The total number of octets in outgoing multicast packets
        sent for packets of this Flow by a multicast daemon in the



Quittek, et al.             Standards Track                   [Page 152]

RFC 5102                IPFIX Information Model             January 2008


        Observation Domain since the Metering Process
        (re-)initialization.  This property cannot necessarily be
        observed at the Observation Point, but may be retrieved by
        other means.
        The number of octets includes IP header(s) and IP payload.
        </paragraph>
      </description>
      <units>octets</units>
    </field>

    <field name="tcpSynTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="218" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "Synchronize sequence numbers" (SYN) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP SYN flag.
        </paragraph>
      </reference>
      <units>packets</units>
    </field>

    <field name="tcpFinTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="219" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "No more data from sender" (FIN) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP FIN flag.
        </paragraph>
      </reference>
      <units>packets</units>
    </field>

    <field name="tcpRstTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"



Quittek, et al.             Standards Track                   [Page 153]

RFC 5102                IPFIX Information Model             January 2008


           group="flowCounter"
           elementId="220" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "Reset the connection" (RST) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP RST flag.
        </paragraph>
      </reference>
      <units>packets</units>
    </field>

    <field name="tcpPshTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="221" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "Push Function" (PSH) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP PSH flag.
        </paragraph>
      </reference>
      <units>packets</units>
    </field>

    <field name="tcpAckTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="222" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "Acknowledgment field significant" (ACK) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP ACK flag.
        </paragraph>



Quittek, et al.             Standards Track                   [Page 154]

RFC 5102                IPFIX Information Model             January 2008


      </reference>
      <units>packets</units>
    </field>

    <field name="tcpUrgTotalCount" dataType="unsigned64"
           dataTypeSemantics="totalCounter"
           group="flowCounter"
           elementId="223" applicability="data" status="current">
      <description>
        <paragraph>
         The total number of packets of this Flow with
         TCP "Urgent Pointer field significant" (URG) flag set.
        </paragraph>
      </description>
      <reference>
        <paragraph>
        See RFC 793 for the definition of the TCP URG flag.
        </paragraph>
      </reference>
      <units>packets</units>
    </field>

    <field name="flowActiveTimeout" dataType="unsigned16"
           group="misc"
           elementId="36" applicability="all" status="current">
      <description>
        <paragraph>
        The number of seconds after which an active Flow is timed out
        anyway, even if there is still a continuous flow of packets.
        </paragraph>
      </description>
      <units>seconds</units>
    </field>

    <field name="flowIdleTimeout" dataType="unsigned16"
           group="misc"
           elementId="37" applicability="all" status="current">
      <description>
        <paragraph>
         A Flow is considered to be timed out if no packets belonging
         to the Flow have been observed for the number of seconds
         specified by this field.
        </paragraph>
      </description>
      <units>seconds</units>
    </field>

    <field name="flowEndReason" dataType="unsigned8"



Quittek, et al.             Standards Track                   [Page 155]

RFC 5102                IPFIX Information Model             January 2008


           group="misc"
           dataTypeSemantics="identifier"
           elementId="136" applicability="data" status="current">
      <description>
        <paragraph>
        The reason for Flow termination.  The range of values includes
        the following:
        </paragraph>
        <artwork>
     0x01: idle timeout
           The Flow was terminated because it was considered to be
           idle.
     0x02: active timeout
           The Flow was terminated for reporting purposes while it was
           still active, for example, after the maximum lifetime of
           unreported Flows was reached.
     0x03: end of Flow detected
           The Flow was terminated because the Metering Process
           detected signals indicating the end of the Flow,
           for example, the TCP FIN flag.
     0x04: forced end
           The Flow was terminated because of some external event,
           for example, a shutdown of the Metering Process initiated
           by a network management application.
     0x05: lack of resources
           The Flow was terminated because of lack of resources
           available to the Metering Process and/or the Exporting
           Process.
        </artwork>
      </description>
    </field>

    <field name="flowDurationMilliseconds" dataType="unsigned32"
           group="misc"
           elementId="161" applicability="data" status="current">
      <description>
        <paragraph>
        The difference in time between the first observed packet
        of this Flow and the last observed packet of this Flow.
        </paragraph>
      </description>
      <units>milliseconds</units>
    </field>

    <field name="flowDurationMicroseconds" dataType="unsigned32"
           group="misc"
           elementId="162" applicability="data" status="current">
      <description>



Quittek, et al.             Standards Track                   [Page 156]

RFC 5102                IPFIX Information Model             January 2008


        <paragraph>
        The difference in time between the first observed packet
        of this Flow and the last observed packet of this Flow.
        </paragraph>
      </description>
      <units>microseconds</units>
    </field>

    <field name="flowDirection" dataType="unsigned8"
           dataTypeSemantics="identifier"
           group="misc"
           elementId="61" applicability="data" status="current">
      <description>
        <paragraph>
        The direction of the Flow observed at the Observation
        Point.  There are only two values defined.
        </paragraph>
        <artwork>
        0x00: ingress flow
        0x01: egress flow
        </artwork>
      </description>
    </field>

    <field name="paddingOctets" dataType="octetArray"
           group="padding"
           elementId="210" applicability="option" status="current">
      <description>
        <paragraph>
          The value of this Information Element is always a sequence of
          0x00 values.
        </paragraph>
      </description>
    </field>

  </fieldDefinitions>

Appendix B.  XML Specification of Abstract Data Types

  This appendix contains a machine-readable description of the abstract
  data types to be used for IPFIX Information Elements and a machine-
  readable description of the template used for defining IPFIX
  Information Elements.  Note that this appendix is of informational
  nature, while the text in Sections 2 and 3 (generated from this
  appendix) is normative.

  At the same time, this appendix is also an XML schema that was used
  for creating the XML specification of Information Elements in



Quittek, et al.             Standards Track                   [Page 157]

RFC 5102                IPFIX Information Model             January 2008


  Appendix A.  It may also be used for specifying further Information
  Elements in extensions of the IPFIX information model.  This schema
  and its namespace are registered by IANA at
  http://www.iana.org/assignments/xml-registry/schema/ipfix.xsd.

  <?xml version="1.0" encoding="UTF-8"?>

  <schema targetNamespace="urn:ietf:params:xml:ns:ipfix-info"
          xmlns:ipfix="urn:ietf:params:xml:ns:ipfix-info"
          xmlns="http://www.w3.org/2001/XMLSchema"
          elementFormDefault="qualified">

    <simpleType name="dataType">
      <restriction base="string">
        <enumeration value="unsigned8">
          <annotation>
            <documentation>The type "unsigned8" represents a
              non-negative integer value in the range of 0 to 255.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="unsigned16">
          <annotation>
            <documentation>The type "unsigned16" represents a
              non-negative integer value in the range of 0 to 65535.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="unsigned32">
          <annotation>
            <documentation>The type "unsigned32" represents a
               non-negative integer value in the range of 0 to
               4294967295.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="unsigned64">
          <annotation>
            <documentation>The type "unsigned64" represents a
              non-negative integer value in the range of 0 to
              18446744073709551615.
            </documentation>
          </annotation>
        </enumeration>




Quittek, et al.             Standards Track                   [Page 158]

RFC 5102                IPFIX Information Model             January 2008


        <enumeration value="signed8">
          <annotation>
            <documentation>The type "signed8" represents
              an integer value in the range of -128 to 127.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="signed16">
          <annotation>
            <documentation>The type "signed16" represents an
              integer value in the range of -32768 to 32767.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="signed32">
          <annotation>
            <documentation>The type "signed32" represents an
               integer value in the range of -2147483648 to
               2147483647.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="signed64">
          <annotation>
            <documentation>The type "signed64" represents an
               integer value in the range of -9223372036854775808
               to 9223372036854775807.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="float32">
          <annotation>
            <documentation>The type "float32" corresponds to an IEEE
              single-precision 32-bit floating point type as defined
              in [IEEE.754.1985].
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="float64">
          <annotation>
            <documentation>The type "float64" corresponds to an IEEE
              double-precision 64-bit floating point type as defined
              in [IEEE.754.1985].



Quittek, et al.             Standards Track                   [Page 159]

RFC 5102                IPFIX Information Model             January 2008


            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="boolean">
          <annotation>
            <documentation>The type "boolean" represents a binary
              value.  The only allowed values are "true" and "false".
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="macAddress">
          <annotation>
            <documentation>The type "macAddress" represents a
              string of 6 octets.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="octetArray">
          <annotation>
            <documentation>The type "octetArray" represents a
           finite-length string of octets.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="string">
          <annotation>
            <documentation>
              The type "string" represents a finite-length string
              of valid characters from the Unicode character encoding
              set [ISO.10646-1.1993].  Unicode allows for ASCII
              [ISO.646.1991] and many other international character
              sets to be used.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="dateTimeSeconds">
          <annotation>
            <documentation>
              The type "dateTimeSeconds" represents a time value
              in units of seconds based on coordinated universal time
              (UTC).  The choice of an epoch, for example, 00:00 UTC,
              January 1, 1970, is left to corresponding encoding
              specifications for this type, for example, the IPFIX



Quittek, et al.             Standards Track                   [Page 160]

RFC 5102                IPFIX Information Model             January 2008


              protocol specification.  Leap seconds are excluded.
              Note that transformation of values might be required
              between different encodings if different epoch values
              are used.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="dateTimeMilliseconds">
          <annotation>
            <documentation>The type "dateTimeMilliseconds" represents
              a time value in units of milliseconds
              based on coordinated universal time (UTC).
              The choice of an epoch, for example,  00:00 UTC,
              January 1, 1970, is left to corresponding encoding
              specifications for this type, for example, the IPFIX
              protocol specification.  Leap seconds are excluded.
              Note that transformation of values might be required
              between different encodings if different epoch values
              are used.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="dateTimeMicroseconds">
          <annotation>
            <documentation>The type "dateTimeMicroseconds" represents
              a time value in units of microseconds
              based on coordinated universal time (UTC).
              The choice of an epoch, for example,  00:00 UTC,
              January 1, 1970, is left to corresponding encoding
              specifications for this type, for example, the IPFIX
              protocol specification.  Leap seconds are excluded.
              Note that transformation of values might be required
              between different encodings if different epoch values
              are used.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="dateTimeNanoseconds">
          <annotation>
            <documentation>The type "dateTimeNanoseconds" represents
              a time value in units of nanoseconds
              based on coordinated universal time (UTC).
              The choice of an epoch, for example,  00:00 UTC,
              January 1, 1970, is left to corresponding encoding
              specifications for this type, for example, the IPFIX



Quittek, et al.             Standards Track                   [Page 161]

RFC 5102                IPFIX Information Model             January 2008


              protocol specification.  Leap seconds are excluded.
              Note that transformation of values might be required
              between different encodings if different epoch values
              are used.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="ipv4Address">
          <annotation>
            <documentation>The type "ipv4Address" represents a value
              of an IPv4 address.
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="ipv6Address">
          <annotation>
            <documentation>The type "ipv6Address" represents a value
              of an IPv6 address.
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>

    <simpleType name="dataTypeSemantics">
      <restriction base="string">
        <enumeration value="quantity">
          <annotation>
            <documentation>
              A quantity value represents a discrete
              measured value pertaining to the record.  This is
              distinguished from counters that represent an ongoing
              measured value whose "odometer" reading is captured as
              part of a given record.  If no semantic qualifier is
              given, the Information Elements that have an integral
              data type should behave as a quantity.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="totalCounter">
          <annotation>
            <documentation>
              An integral value reporting the value of a counter.
              Counters are unsigned and wrap back to zero after
              reaching the limit of the type.  For example, an
              unsigned64 with counter semantics will continue to



Quittek, et al.             Standards Track                   [Page 162]

RFC 5102                IPFIX Information Model             January 2008


              increment until reaching the value of 2**64 - 1.  At
              this point, the next increment will wrap its value to
              zero and continue counting from zero.  The semantics
              of a total counter is similar to the semantics of
              counters used in SNMP, such as Counter32 defined in
              RFC 2578 [RFC2578].  The only difference between total
              counters and counters used in SNMP is that the total
              counters have an initial value of 0.  A total counter
              counts independently of the export of its value.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="deltaCounter">
          <annotation>
            <documentation>
              An integral value reporting the value of a counter.
              Counters are unsigned and wrap back to zero after
              reaching the limit of the type.  For example, an
              unsigned64 with counter semantics will continue to
              increment until reaching the value of 2**64 - 1.  At
              this point, the next increment will wrap its value to
              zero and continue counting from zero.  The semantics
              of a delta counter is similar to the semantics of
              counters used in SNMP, such as Counter32 defined in
              RFC 2578 [RFC2578].  The only difference between delta
              counters and counters used in SNMP is that the delta
              counters have an initial value of 0.  A delta counter
              is reset to 0 each time its value is exported.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="identifier">
          <annotation>
            <documentation>
              An integral value that serves as an identifier.
              Specifically, mathematical operations on two
              identifiers (aside from the equality operation) are
              meaningless.  For example, Autonomous System ID 1 *
              Autonomous System ID 2 is meaningless.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="flags">
          <annotation>
            <documentation>



Quittek, et al.             Standards Track                   [Page 163]

RFC 5102                IPFIX Information Model             January 2008


              An integral value that actually represents a set of
              bit fields.  Logical operations are appropriate on
              such values, but not other mathematical operations.
              Flags should always be of an unsigned type.
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>

    <simpleType name="applicability">
      <restriction base="string">
        <enumeration value="data">
          <annotation>
            <documentation>
              Used for Information Elements that are applicable to
              Flow Records only.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="option">
          <annotation>
            <documentation>
              Used for Information Elements that are applicable to
              option records only.
            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="all">
          <annotation>
            <documentation>
              Used for Information Elements that are applicable to
              Flow Records as well as to option records.
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>

    <simpleType name="status">
      <restriction base="string">
        <enumeration value="current">
          <annotation>
            <documentation>
              Indicates that the Information Element definition
              is current and valid.



Quittek, et al.             Standards Track                   [Page 164]

RFC 5102                IPFIX Information Model             January 2008


            </documentation>
          </annotation>
        </enumeration>

        <enumeration value="deprecated">
          <annotation>
            <documentation>
              Indicates that the Information Element definition is
              obsolete, but it permits new/continued implementation
              in order to foster interoperability with older/existing
              implementations.
            </documentation>
          </annotation>
        </enumeration>
        <enumeration value="obsolete">
          <annotation>
            <documentation>
              Indicates that the Information Element definition is
              obsolete and should not be implemented and/or can be
              removed if previously implemented.
            </documentation>
          </annotation>
        </enumeration>
      </restriction>
    </simpleType>

    <complexType name="text">
      <choice maxOccurs="unbounded" minOccurs="0">
        <element name="paragraph">
          <complexType mixed="true">
            <sequence>
               <element maxOccurs="unbounded" minOccurs="0"
                 name="xref">
                 <complexType>
                   <attribute name="target" type="string"
                     use="required"/>
                 </complexType>
               </element>
            </sequence>
          </complexType>
        </element>
        <element name="artwork">
          <simpleType>
            <restriction base="string"/>
          </simpleType>
        </element>
      </choice>
    </complexType>



Quittek, et al.             Standards Track                   [Page 165]

RFC 5102                IPFIX Information Model             January 2008


    <simpleType name="range">
      <restriction base="string"/>
    </simpleType>
    <element name="fieldDefinitions">
      <complexType>
        <sequence>
          <element maxOccurs="unbounded" minOccurs="1" name="field">
            <complexType>
              <sequence>
                <element maxOccurs="1" minOccurs="1" name="description"
                         type="ipfix:text">
                  <annotation>
                    <documentation>
                      The semantics of this Information Element.
                      Describes how this Information Element is
                      derived from the Flow or other information
                      available to the observer.
                    </documentation>
                  </annotation>
                </element>

                <element maxOccurs="1" minOccurs="0" name="reference"
                         type="ipfix:text">
                  <annotation>
                    <documentation>
                      Identifies additional specifications that more
                      precisely define this item or provide additional
                      context for its use.
                    </documentation>
                  </annotation>
                </element>

                <element maxOccurs="1" minOccurs="0" name="units"
                         type="string">
                  <annotation>
                    <documentation>
                      If the Information Element is a measure of some
                      kind, the units identify what the measure is.
                    </documentation>
                  </annotation>
                </element>

                <element maxOccurs="1" minOccurs="0" name="range"
                         type="ipfix:range">
                  <annotation>
                    <documentation>
                      Some Information Elements may only be able to
                      take on a restricted set of values that can be



Quittek, et al.             Standards Track                   [Page 166]

RFC 5102                IPFIX Information Model             January 2008


                      expressed as a range (e.g., 0 through 511
                      inclusive).  If this is the case, the valid
                      inclusive range should be specified.
                    </documentation>
                  </annotation>
                </element>
              </sequence>

              <attribute name="name" type="string" use="required">
                <annotation>
                  <documentation>
                    A unique and meaningful name for the Information
                    Element.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="dataType" type="ipfix:dataType"
                         use="required">
                <annotation>
                  <documentation>
                    One of the types listed in Section 3.1 of this
                    document or in a future extension of the
                    information model.  The type space for attributes
                    is constrained to facilitate implementation.  The
                    existing type space does however encompass most
                    basic types used in modern programming languages,
                    as well as some derived types (such as ipv4Address)
                    that are common to this domain and useful
                    to distinguish.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="dataTypeSemantics"
                         type="ipfix:dataTypeSemantics" use="optional">
                <annotation>
                  <documentation>
                    The integral types may be qualified by additional
                    semantic details.  Valid values for the data type
                    semantics are specified in Section 3.2 of this
                    document or in a future extension of the
                    information model.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="elementId" type="nonNegativeInteger"



Quittek, et al.             Standards Track                   [Page 167]

RFC 5102                IPFIX Information Model             January 2008


                         use="required">
                <annotation>
                  <documentation>
                    A numeric identifier of the Information Element.
                    If this identifier is used without an enterprise
                    identifier (see [RFC5101] and
                    enterpriseId below), then it is globally unique
                    and the list of allowed values is administered by
                    IANA.  It is used for compact identification of an
                    Information Element when encoding Templates in the
                    protocol.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="enterpriseId" type="nonNegativeInteger"
                         use="optional">
                <annotation>
                  <documentation>
                    Enterprises may wish to define Information Elements
                    without registering them with IANA, for example,
                    for enterprise-internal purposes.  For such
                    Information Elements, the Information Element
                    identifier described above is not sufficient when
                    the Information Element is used outside the
                    enterprise.  If specifications of
                    enterprise-specific Information Elements are made
                    public and/or if enterprise-specific identifiers
                    are used by the IPFIX protocol outside the
                    enterprise, then the enterprise-specific
                    identifier MUST be made globally unique by
                    combining it with an enterprise identifier.
                    Valid values for the enterpriseId are
                    defined by IANA as Structure of Management
                    Information (SMI) network management private
                    enterprise codes.  They are defined at
                    http://www.iana.org/assignments/enterprise-numbers.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="applicability"
                         type="ipfix:applicability" use="optional">
                <annotation>
                  <documentation>
                    This property of an Information
                    Element indicates in which kind of records the
                    Information Element can be used.



Quittek, et al.             Standards Track                   [Page 168]

RFC 5102                IPFIX Information Model             January 2008


                    Allowed values for this property are 'data',
                    'option', and 'all'.
                  </documentation>
                </annotation>
              </attribute>

              <attribute name="status" type="ipfix:status"
                         use="required">
                <annotation>
                  <documentation>
                    The status of the specification of this
                    Information Element.  Allowed values are 'current',
                    'deprecated', and 'obsolete'.
                  </documentation>
                </annotation>
              </attribute>
              <attribute name="group" type="string"
                         use="required">
                <annotation>
                  <documentation>to be done ...</documentation>
                </annotation>
              </attribute>

            </complexType>
          </element>
        </sequence>
      </complexType>

      <unique name="infoElementIdUnique">
        <selector xpath="field"/>

        <field xpath="elementId"/>
      </unique>
    </element>
  </schema>
















Quittek, et al.             Standards Track                   [Page 169]

RFC 5102                IPFIX Information Model             January 2008


Authors' Addresses

  Juergen Quittek
  NEC
  Kurfuersten-Anlage 36
  Heidelberg 69115
  Germany

  Phone: +49 6221 90511-15
  EMail: [email protected]
  URI:   http://www.neclab.eu/

  Stewart Bryant
  Cisco Systems, Inc.
  250, Longwater Ave., Green Park
  Reading RG2 6GB
  United Kingdom

  EMail: [email protected]

  Benoit Claise
  Cisco Systems, Inc.
  De Kleetlaan 6a b1
  Diegem 1831
  Belgium

  Phone: +32 2 704 5622
  EMail: [email protected]

  Paul Aitken
  Cisco Systems, Inc.
  96 Commercial Quay
  Edinburgh EH6 6LX
  Scotland

  Phone: +44 131 561 3616
  EMail: [email protected]

  Jeff Meyer
  PayPal
  2211 N. First St.
  San Jose, CA 95131-2021
  US

  Phone: +1 408 976-9149
  EMail: [email protected]
  URI:   http://www.paypal.com




Quittek, et al.             Standards Track                   [Page 170]

RFC 5102                IPFIX Information Model             January 2008


Full Copyright Statement

  Copyright (C) The IETF Trust (2008).

  This document is subject to the rights, licenses and restrictions
  contained in BCP 78, and except as set forth therein, the authors
  retain all their rights.

  This document and the information contained herein are provided on an
  "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
  THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.

Intellectual Property

  The IETF takes no position regarding the validity or scope of any
  Intellectual Property Rights or other rights that might be claimed to
  pertain to the implementation or use of the technology described in
  this document or the extent to which any license under such rights
  might or might not be available; nor does it represent that it has
  made any independent effort to identify any such rights.  Information
  on the procedures with respect to rights in RFC documents can be
  found in BCP 78 and BCP 79.

  Copies of IPR disclosures made to the IETF Secretariat and any
  assurances of licenses to be made available, or the result of an
  attempt made to obtain a general license or permission for the use of
  such proprietary rights by implementers or users of this
  specification can be obtained from the IETF on-line IPR repository at
  http://www.ietf.org/ipr.

  The IETF invites any interested party to bring to its attention any
  copyrights, patents or patent applications, or other proprietary
  rights that may cover technology that may be required to implement
  this standard.  Please address the information to the IETF at
  [email protected].












Quittek, et al.             Standards Track                   [Page 171]