[ovs-dev] [PATCH 4/4] ofproto: Implement IPFIX exporter

Romain Lenglet rlenglet at vmware.com
Sat Jan 19 03:11:43 UTC 2013


Send one IPFIX data record message for every packet sampled by a
sample_ipfix action, and send IPFIX template set messages
periodically.  Automatically generate standard IPFIX entity
definitions from the IANA specs.

Signed-off-by: Romain Lenglet <rlenglet at vmware.com>
---
 ofproto/automake.mk          |   14 +
 ofproto/ipfix-gen-entities   |  140 +
 ofproto/ipfix.xml            | 8752 ++++++++++++++++++++++++++++++++++++++++++
 ofproto/ofproto-dpif-ipfix.c |  443 +++
 ofproto/ofproto-dpif-ipfix.h |    8 +
 ofproto/ofproto-dpif.c       |   25 +-
 6 files changed, 9377 insertions(+), 5 deletions(-)
 create mode 100755 ofproto/ipfix-gen-entities
 create mode 100644 ofproto/ipfix.xml

diff --git a/ofproto/automake.mk b/ofproto/automake.mk
index c2d8faf..ccf3db9 100644
--- a/ofproto/automake.mk
+++ b/ofproto/automake.mk
@@ -33,4 +33,18 @@ ofproto_libofproto_a_SOURCES = \
 	ofproto/pinsched.c \
 	ofproto/pinsched.h
 
+# Distribute this generated file in order not to require Python at
+# build time if ofproto/ipfix.xml is not modified.
+ofproto_libofproto_a_SOURCES += ofproto/ipfix-entities.def
+
+BUILT_SOURCES += ofproto/ipfix-entities.def
+
+CLEANFILES += ofproto/ipfix-entities.def
+
 MAN_FRAGMENTS += ofproto/ofproto-unixctl.man ofproto/ofproto-dpif-unixctl.man
+
+# IPFIX entity definition macros generation from IANA's XML definition.
+EXTRA_DIST += ofproto/ipfix.xml
+dist_noinst_SCRIPTS = ofproto/ipfix-gen-entities
+ofproto/ipfix-entities.def: ofproto/ipfix.xml ofproto/ipfix-gen-entities
+	$(run_python) $(srcdir)/ofproto/ipfix-gen-entities $< > $@
diff --git a/ofproto/ipfix-gen-entities b/ofproto/ipfix-gen-entities
new file mode 100755
index 0000000..4d4e0de
--- /dev/null
+++ b/ofproto/ipfix-gen-entities
@@ -0,0 +1,140 @@
+#!/usr/bin/python
+#
+# Copyright (C) 2012 Nicira, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without warranty of any kind.
+
+import getopt
+import re
+import sys
+import xml.sax
+import xml.sax.handler
+
+class IpfixEntityHandler(xml.sax.handler.ContentHandler):
+
+    RECORD_FIELDS = ['name', 'dataType', 'elementId', 'status']
+
+    # Cf. RFC 5101, Section 6.
+    DATA_TYPE_SIZE = {
+        'unsigned8': 1,
+        'unsigned16': 2,
+        'unsigned32': 4,
+        'unsigned64': 8,
+        'signed8': 1,
+        'signed16': 2,
+        'signed32': 4,
+        'signed64': 8,
+        'float32': 4,
+        'float64': 8,
+        'boolean': 1,  # Not clear.
+        'macAddress': 6,
+        'octetArray': 0,  # Not clear.
+        'string': 0,  # Not clear.
+        'dateTimeSeconds': 4,
+        'dateTimeMilliseconds': 8,
+        'dateTimeMicroseconds': 8,
+        'dateTimeNanoseconds': 8,
+        'ipv4Address': 4,
+        'ipv6Address': 16,
+        }
+
+    def __init__(self):
+        self.current_field_name = None
+        self.current_field_value = []
+        self.current_record = dict()
+
+    def startDocument(self):
+        print """\
+/* IPFIX entities. */
+#ifndef IPFIX_ENTITY
+#define IPFIX_ENTITY(ENUM, ID, SIZE, NAME)
+#endif
+"""
+
+    def endDocument(self):
+        print """
+#undef IPFIX_ENTITY"""
+
+    def startElement(self, name, attrs):
+        if name in self.RECORD_FIELDS:
+            self.current_field_name = name
+        else:
+            self.current_field_name = None
+        self.current_field_value = []
+
+    @staticmethod
+    def camelcase_to_uppercase(s):
+        return re.sub('(.)([A-Z]+)', r'\1_\2', s).upper()
+
+    def endElement(self, name):
+        if self.current_field_name is not None:
+            self.current_record[self.current_field_name] = ''.join(
+                self.current_field_value).strip()
+        elif (name == 'record'
+              and self.current_record.get('status') == 'current'
+              and 'dataType' in self.current_record):
+
+            self.current_record['enumName'] = self.camelcase_to_uppercase(
+                self.current_record['name'])
+            self.current_record['dataTypeSize'] = self.DATA_TYPE_SIZE.get(
+                self.current_record['dataType'], 0)
+
+            print 'IPFIX_ENTITY(%(enumName)s, %(elementId)s, ' \
+                  '%(dataTypeSize)i, %(name)s)' % self.current_record
+            self.current_record.clear()
+
+    def characters(self, content):
+        if self.current_field_name is not None:
+            self.current_field_value.append(content)
+
+def print_ipfix_entity_macros(xml_file):
+    xml.sax.parse(xml_file, IpfixEntityHandler())
+
+def usage(name):
+    print """\
+%(name)s: IPFIX entity definition generator
+Prints C macros defining IPFIX entities from the standard IANA file at
+<http://www.iana.org/assignments/ipfix/ipfix.xml>
+usage: %(name)s [OPTIONS] XML
+where XML is the standard IANA XML file defining IPFIX entities
+
+The following options are also available:
+  -h, --help                  display this help message
+  -V, --version               display version information\
+""" % {'name': name}
+    sys.exit(0)
+
+if __name__ == '__main__':
+#    try:
+        try:
+            options, args = getopt.gnu_getopt(sys.argv[1:], 'hV',
+                                              ['help', 'version'])
+        except getopt.GetoptError, geo:
+            sys.stderr.write('%s: %s\n' % (sys.argv[0], geo.msg))
+            sys.exit(1)
+
+        for key, value in options:
+            if key in ['-h', '--help']:
+                usage()
+            elif key in ['-V', '--version']:
+                print 'ipfix-gen-entities (Open vSwitch)'
+            else:
+                sys.exit(0)
+
+        if len(args) != 1:
+            sys.stderr.write('%s: exactly 1 non-option arguments required '
+                             '(use --help for help)\n' % sys.argv[0])
+            sys.exit(1)
+
+        print_ipfix_entity_macros(args[0])
+
+#    except Exception, e:
+#        sys.stderr.write('%s: %s\n' % (sys.argv[0], e))
+#        sys.exit(1)
+
+# Local variables:
+# mode: python
+# End:
diff --git a/ofproto/ipfix.xml b/ofproto/ipfix.xml
new file mode 100644
index 0000000..845722f
--- /dev/null
+++ b/ofproto/ipfix.xml
@@ -0,0 +1,8752 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="ipfix.xsl"?>
+<?oxygen RNGSchema="ipfix.rng" type="xml"?>
+<registry xmlns="http://www.iana.org/assignments" id="ipfix">
+  <title>IP Flow Information Export (IPFIX) Entities</title>
+  <created>2007-05-10</created>
+  <updated>2012-12-05</updated>
+  <note>For the IPFIX schema, please see <xref type="uri" data="http://www.iana.org/assignments/xml-registry/schema/ipfix.xsd"/>.</note>
+
+  <registry id="ipfix-information-elements">
+    <title>IPFIX Information Elements</title>
+    <registration_rule>Expert Review</registration_rule>
+    <expert>Primary expert - Nevil Brownlee and Secondary expert - Juergen Quittek</expert>
+    <xref type="rfc" data="rfc5102"/>
+    <note>Values 0-127: NFv9-compatible</note>
+    <record>
+      <name>Reserved</name>
+      <elementId>0</elementId>
+      <status>current</status>
+      <description/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>octetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>1</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>packetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>2</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>deltaFlowCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>3</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The conservative count of Original Flows contributing
+          to this Aggregated Flow; may be distributed via any of the methods
+          expressed by the valueDistributionMethod Information Element.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+
+    <record>
+      <name>protocolIdentifier</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>4</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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
+         is carried in the Next Header field in the last extension
+         header of the packet.
+            </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          protocol field.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 protocol field.
+          See the list of protocol numbers assigned by IANA at <xref type="registry" data="protocol-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipClassOfService</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>5</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc1812"/> (Section 5.3.2) and <xref type="rfc" data="rfc791"/> for the definition of the IPv4 TOS field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Traffic Class field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpControlBits</name>
+      <dataType>unsigned8</dataType>
+      <group>minMax</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>6</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          control bits in the TCP header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>7</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          source port field.
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          source port field.
+          See <xref type="rfc" data="rfc4960"/> for the definition of SCTP.
+        </paragraph>
+        <paragraph>
+          Additional information on defined UDP and TCP port numbers can be
+          found at <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>8</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv4 source address in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          source address field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv4PrefixLength</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>9</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of contiguous bits that are relevant in the
+         sourceIPv4Prefix Information Element.
+         </paragraph>
+      </description>
+      <units>bits</units>
+      <range>0-32</range>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ingressInterface</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>10</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2863"/> for the definition of the
+          ifIndex object.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>11</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          destination port field.
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          destination port field.
+          See <xref type="rfc" data="rfc4960"/> for the definition of SCTP.
+        </paragraph>
+        <paragraph>
+          Additional information on defined UDP and TCP port numbers can be
+          found at <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>12</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv4 destination address in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          destination address field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv4PrefixLength</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>13</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of contiguous bits that are relevant in the
+         destinationIPv4Prefix Information Element.
+         </paragraph>
+      </description>
+      <units>bits</units>
+      <range>0-32</range>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>egressInterface</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>14</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2863"/> for the definition of the
+          ifIndex object.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipNextHopIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>15</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv4 address of the next IPv4 hop.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpSourceAsNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>16</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4, and
+          see <xref type="rfc" data="rfc1930"/> for the definition of the AS
+          number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpDestinationAsNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>17</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4, and
+          see <xref type="rfc" data="rfc1930"/> for the definition of the AS
+          number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpNextHopIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>18</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv4 address of the next (adjacent) BGP hop.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postMCastPacketDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>19</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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
+         Observation Point, but may be retrieved by other means.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postMCastOctetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>20</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndSysUpTime</name>
+      <dataType>unsigned32</dataType>
+      <group>timestamp</group>
+      <elementId>21</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartSysUpTime</name>
+      <dataType>unsigned32</dataType>
+      <group>timestamp</group>
+      <elementId>22</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postOctetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>23</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postPacketDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>24</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>minimumIpTotalLength</name>
+      <dataType>unsigned64</dataType>
+      <group>minMax</group>
+      <elementId>25</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          total length.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 payload length.
+          See <xref type="rfc" data="rfc2675"/> for the specification of the
+          IPv6 jumbo payload length.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>maximumIpTotalLength</name>
+      <dataType>unsigned64</dataType>
+      <group>minMax</group>
+      <elementId>26</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          total length.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 payload length.
+          See <xref type="rfc" data="rfc2675"/> for the specification of the
+          IPv6 jumbo payload length.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>27</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv6 source address in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> for the definition of the Source
+          Address field in the IPv6 header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>28</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv6 destination address in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> for the definition of the
+          Destination Address field in the IPv6 header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv6PrefixLength</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>29</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of contiguous bits that are relevant in the
+         sourceIPv6Prefix Information Element.
+         </paragraph>
+      </description>
+      <units>bits</units>
+      <range>0-128</range>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv6PrefixLength</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>30</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of contiguous bits that are relevant in the
+         destinationIPv6Prefix Information Element.
+         </paragraph>
+      </description>
+      <units>bits</units>
+      <range>0-128</range>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowLabelIPv6</name>
+      <dataType>unsigned32</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>31</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The value of the IPv6 Flow Label field in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> for the definition of the
+          Flow Label field in the IPv6 packet header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpTypeCodeIPv4</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>32</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc792"/> for the definition of the IPv4
+          ICMP type and code fields.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>igmpType</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>33</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The type field of the IGMP message.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3376"/> for the definition of the IGMP
+          type field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>34-35</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowActiveTimeout</name>
+      <dataType>unsigned16</dataType>
+      <group>misc</group>
+      <elementId>36</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowIdleTimeout</name>
+      <dataType>unsigned16</dataType>
+      <group>misc</group>
+      <elementId>37</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>38-39</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportedOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>40</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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
+           Collecting Process, then by default it specifies the number
+           of octets sent to this Collecting Process.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportedMessageTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>41</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportedFlowRecordTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>42</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>43</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv4Prefix</name>
+      <dataType>ipv4Address</dataType>
+      <group>ipHeader</group>
+      <elementId>44</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         IPv4 source address prefix.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv4Prefix</name>
+      <dataType>ipv4Address</dataType>
+      <group>ipHeader</group>
+      <elementId>45</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph> IPv4 destination address prefix. </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelType</name>
+      <dataType>unsigned8</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>46</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         This field identifies the control protocol that allocated the
+         top-of-stack label.  Values for this field are listed in the 
+         MPLS label type registry. See 
+         <xref type="uri" data="http://www.iana.org/assignments/ipfix/ipfix.xml#ipfix-mpls-label-type"/>
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3031"/> for the MPLS label structure.
+          See <xref type="rfc" data="rfc4364"/> for the association of MPLS
+          labels with Virtual Private Networks (VPNs).
+          See <xref type="rfc" data="rfc4271"/> for BGP and BGP routing.
+          See <xref type="rfc" data="rfc5036"/> for Label Distribution Protocol
+          (LDP).
+          See the list of MPLS label types assigned by IANA at <xref type="registry" data="mpls-label-values"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>47</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The IPv4 address of the system that the MPLS top label will
+           cause this Flow to be forwarded to.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3031"/> for the association between MPLS
+          labels and IP addresses.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>48-51</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>minimumTTL</name>
+      <dataType>unsigned8</dataType>
+      <group>minMax</group>
+      <elementId>52</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           Minimum TTL value observed for any packet in this Flow.
+         </paragraph>
+      </description>
+      <units>hops</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          Time to Live field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Hop Limit field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>maximumTTL</name>
+      <dataType>unsigned8</dataType>
+      <group>minMax</group>
+      <elementId>53</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           Maximum TTL value observed for any packet in this Flow.
+         </paragraph>
+      </description>
+      <units>hops</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          Time to Live field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Hop Limit field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>fragmentIdentification</name>
+      <dataType>unsigned32</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>54</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          Identification field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the
+          Identification field in the IPv6 Fragment header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postIpClassOfService</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>55</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          TOS field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Traffic Class field.
+          See <xref type="rfc" data="rfc3234"/> for the definition of
+          middleboxes.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceMacAddress</name>
+      <dataType>macAddress</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>56</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The IEEE 802 source MAC address field.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>See IEEE.802-3.2002.</paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postDestinationMacAddress</name>
+      <dataType>macAddress</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>57</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>See IEEE.802-3.2002.</paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>vlanId</name>
+      <dataType>unsigned16</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>58</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Virtual LAN identifier associated with ingress interface. For dot1q vlans, see 243
+          dot1qVlanId.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>See IEEE.802-1Q.2003.</paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postVlanId</name>
+      <dataType>unsigned16</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>59</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Virtual LAN identifier associated with egress interface. For postdot1q vlans, see 254 postDot1qVlanId.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>See IEEE.802-1Q.2003.</paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipVersion</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>60</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IP version field in the IP packet header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the version
+          field in the IPv4 packet header.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the
+          version field in the IPv6 packet header.
+          Additional information on defined version numbers can be found at
+          <xref type="registry" data="version-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowDirection</name>
+      <dataType>unsigned8</dataType>
+      <group>misc</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>61</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipNextHopIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>62</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv6 address of the next IPv6 hop.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpNextHopIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>63</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The IPv6 address of the next (adjacent) BGP hop.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipv6ExtensionHeaders</name>
+      <dataType>unsigned32</dataType>
+      <group>minMax</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>64</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+          | DST | HOP | Res | UNK |FRA0 | RH  |FRA1 | Res |  ...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+              8     9    10    11    12    13    14    15
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |           Reserved    | MOB | ESP | AH  | PAY | ...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+             16    17    18    19    20    21    22    23
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |                  Reserved                     | ...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+             24    25    26    27    28    29    30    31
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |                  Reserved                     |
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+        Bit    IPv6 Option   Description
+       0, DST      60       Destination option header
+       1, HOP       0       Hop-by-hop option header
+       2, Res               Reserved
+       3, UNK               Unknown Layer 4 header
+                            (compressed, encrypted, not supported)
+       4, FRA0     44       Fragment header - first fragment
+       5, RH       43       Routing header
+       6, FRA1     44       Fragmentation header - not first fragment
+       7, Res               Reserved
+      8 to 11               Reserved
+      12, MOB     135       IPv6 mobility [RFC3775]
+      13, ESP      50       Encrypted security payload
+      14, AH       51       Authentication Header
+      15, PAY     108       Payload compression header
+      16 to 31              Reserved
+         </artwork>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> 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 <xref type="rfc" data="rfc4302"/> for the specification of the
+          authentication header.
+          See <xref type="rfc" data="rfc4303"/> for the specification of the
+          encapsulating security payload.
+  
+          The diagram provided in <xref type="rfc" data="rfc5102"/> is incorrect.  
+          The diagram in this registry is taken from Errata 1738. See <xref type="rfc-errata" data="1738"/>       
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>65-69</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelStackSection</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>70</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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
+      Exp:    Experimental Use, 3 bits
+      S:      Bottom of Stack, 1 bit
+         </artwork>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection2</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>71</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection3</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>72</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection4</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>73</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection5</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>74</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection6</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>75</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection7</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>76</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection8</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>77</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection9</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>78</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection10</name>
+      <dataType>octetArray</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>79</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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 mplsLabelStackSection9.  See the definition of
+         mplsTopLabelStackSection for further details.
+         </paragraph>
+        <paragraph>
+         The size of this Information Element is 3 octets.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationMacAddress</name>
+      <dataType>macAddress</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>80</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The IEEE 802 destination MAC address field.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE.802-3.2002.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postSourceMacAddress</name>
+      <dataType>macAddress</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>81</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See IEEE.802-3.2002.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>interfaceName</name>
+      <dataType>string</dataType>
+      <elementId>82</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A short name uniquely describing an interface, eg "Eth1/0".
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2863"/> for the definition of the ifName object.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    
+    <record>
+      <name>interfaceDescription</name>
+      <dataType>string</dataType>
+      <elementId>83</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The description of an interface, eg "FastEthernet 1/0" or "ISP 
+          connection".
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2863"/> for the definition of the ifDescr object.
+        </paragraph>
+      </references>
+      <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <elementId>84</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>octetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>85</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>packetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>86</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <elementId>87</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>fragmentOffset</name>
+      <dataType>unsigned16</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>88</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the
+          fragment offset in the IPv4 header.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          fragment offset in the IPv6 Fragment header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+        <elementId>89</elementId>
+      <reserved/>   
+    </record>
+
+    <record>
+      <name>mplsVpnRouteDistinguisher</name>
+      <dataType>octetArray</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>90</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4364"/> for the specification of the
+          route distinguisher.  See <xref type="rfc" data="rfc4382"/> for the
+          specification of the MPLS/BGP Layer 3 Virtual Private Network (VPN)
+          Management Information Base.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelPrefixLength</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>91</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The prefix length of the subnet of the mplsTopLabelIPv4Address that
+          the MPLS top label will cause the Flow to be forwarded to.
+        </paragraph>
+      </description>
+      <units>bits</units>
+      <range>0-32</range>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3031"/> for the association between 
+          MPLS labels and prefix lengths.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <elementId>92-93</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>applicationDescription</name>
+      <dataType>string</dataType>
+      <elementId>94</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Specifies the description of an application.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>applicationId</name>
+      <dataType>octetArray</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>95</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Specifies an Application ID per <xref type="rfc" data="rfc6759"/>.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See section 4 of <xref type="rfc" data="rfc6759"/> for the applicationId Information Element Specification.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>applicationName</name>
+      <dataType>string</dataType>
+      <elementId>96</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Specifies the name of an application.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <elementId>97</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postIpDiffServCodePoint</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>98</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'ipDiffServCodePoint', except 
+          that it reports a potentially modified value caused by a 
+          middlebox function after the packet passed the Observation 
+          Point.
+        </paragraph>
+      </description>
+      <range>0-63</range>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3260"/> for the definition of the Differentiated 
+          Services Field.  See section 5.3.2 of <xref type="rfc" data="rfc1812"/> and 
+          <xref type="rfc" data="rfc791"/> for the definition of the IPv4 TOS field.  See 
+          <xref type="rfc" data="rfc2460"/> for the definition of the IPv6 Traffic Class 
+          field.  See the IPFIX Information Model <xref type="rfc" data="rfc5102"/> for the 
+          'ipDiffServCodePoint' specification.  
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>multicastReplicationFactor</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>99</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The amount of multicast replication that's applied to a traffic 
+          stream.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc1112"/> for the specification of reserved IPv4 
+          multicast addresses.  See <xref type="rfc" data="rfc4291"/> for the 
+          specification of reserved IPv6 multicast addresses. 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    
+    <record>  
+      <elementId>100</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>classificationEngineId</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>101</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A unique identifier for the engine that determined the
+          Selector ID. Thus, the Classification Engine ID defines
+          the context for the Selector ID. The Classification
+          Engine can be considered a specific registry for
+          application assignments.
+        </paragraph>
+        <paragraph>
+          Values for this field are listed in the Classification
+          Engine IDs registry. See 
+          <xref type="uri" data="http://www.iana.org/assignments/ipfix/ipfix.xml#classification-engine-ids"/>
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>  
+      <elementId>102-127</elementId>
+      <reserved/>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpNextAdjacentAsNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>128</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4, and
+          see <xref type="rfc" data="rfc1930"/> for the definition of the AS
+          number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>bgpPrevAdjacentAsNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>129</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4, and
+          see <xref type="rfc" data="rfc1930"/> for the definition of the AS
+          number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exporterIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>130</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exporterIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>131</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>droppedOctetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>132</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>droppedPacketDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>133</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of packets since the previous report (if any)
+         of this Flow dropped by packet treatment.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>droppedOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>134</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>droppedPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>135</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndReason</name>
+      <dataType>unsigned8</dataType>
+      <group>misc</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>136</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>commonPropertiesId</name>
+      <dataType>unsigned64</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>137</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>observationPointId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>138</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpTypeCodeIPv6</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>139</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4443"/> for the definition of the IPv6
+          ICMP type and code fields.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>derived</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>140</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The IPv6 address of the system that the MPLS top label will
+           cause this Flow to be forwarded to.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3031"/> for the association between MPLS
+          labels and IP addresses.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>lineCardId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>141</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>portId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>142</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>meteringProcessId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>143</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportingProcessId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>144</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>templateId</name>
+      <dataType>unsigned16</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>145</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>wlanChannelId</name>
+      <dataType>unsigned8</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>146</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The identifier of the 802.11 (Wi-Fi) channel used.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE.802-11.1999.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>wlanSSID</name>
+      <dataType>string</dataType>
+      <group>subIpHeader</group>
+      <elementId>147</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See IEEE.802-11.1999.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowId</name>
+      <dataType>unsigned64</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>148</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           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.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>observationDomainId</name>
+      <dataType>unsigned32</dataType>
+      <group>scope</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>149</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <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>
+        <paragraph>
+           Typically, this Information Element is used for limiting
+           the scope of other Information Elements.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <group>timestamp</group>
+      <elementId>150</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the first packet of this Flow.
+         </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <group>timestamp</group>
+      <elementId>151</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the last packet of this Flow.
+         </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <group>timestamp</group>
+      <elementId>152</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the first packet of this Flow.
+         </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <group>timestamp</group>
+      <elementId>153</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the last packet of this Flow.
+         </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartMicroseconds</name>
+      <dataType>dateTimeMicroseconds</dataType>
+      <group>timestamp</group>
+      <elementId>154</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the first packet of this Flow.
+         </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndMicroseconds</name>
+      <dataType>dateTimeMicroseconds</dataType>
+      <group>timestamp</group>
+      <elementId>155</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the last packet of this Flow.
+         </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartNanoseconds</name>
+      <dataType>dateTimeNanoseconds</dataType>
+      <group>timestamp</group>
+      <elementId>156</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the first packet of this Flow.
+         </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndNanoseconds</name>
+      <dataType>dateTimeNanoseconds</dataType>
+      <group>timestamp</group>
+      <elementId>157</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the last packet of this Flow.
+         </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowStartDeltaMicroseconds</name>
+      <dataType>unsigned32</dataType>
+      <group>timestamp</group>
+      <elementId>158</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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 first observed packet of this Flow relative
+         to the export time specified in the IPFIX Message Header.
+         </paragraph>
+      </description>
+      <units>microseconds</units>
+      <references>
+        <paragraph>
+          See the <xref type="rfc" data="rfc5101">IPFIX protocol
+            specification</xref> for the definition of the IPFIX Message Header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowEndDeltaMicroseconds</name>
+      <dataType>unsigned32</dataType>
+      <group>timestamp</group>
+      <elementId>159</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <units>microseconds</units>
+      <references>
+        <paragraph>
+          See the <xref type="rfc" data="rfc5101">IPFIX protocol
+            specification</xref> for the definition of the IPFIX Message Header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>systemInitTimeMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <group>timestamp</group>
+      <elementId>160</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The absolute timestamp of the last (re-)initialization of the
+         IPFIX Device.
+         </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowDurationMilliseconds</name>
+      <dataType>unsigned32</dataType>
+      <group>misc</group>
+      <elementId>161</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowDurationMicroseconds</name>
+      <dataType>unsigned32</dataType>
+      <group>misc</group>
+      <elementId>162</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>microseconds</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>observedFlowTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>163</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ignoredPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>164</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+            The total number of observed IP packets that the
+            Metering Process did not process since the
+            (re-)initialization of the Metering Process.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ignoredOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>165</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>notSentFlowTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>166</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>notSentPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>167</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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.
+            There are several potential reasons for this including
+            resource shortage and special Flow export policies.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>notSentOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>processCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>168</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>destinationIPv6Prefix</name>
+      <dataType>ipv6Address</dataType>
+      <group>ipHeader</group>
+      <elementId>169</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph> IPv6 destination address prefix. </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>sourceIPv6Prefix</name>
+      <dataType>ipv6Address</dataType>
+      <group>ipHeader</group>
+      <elementId>170</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         IPv6 source address prefix.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>171</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      </description>
+      <units>octets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>172</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>flowKeyIndicator</name>
+      <dataType>unsigned64</dataType>
+      <group>config</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>173</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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.
+         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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postMCastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>174</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postMCastOctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>175</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpTypeIPv4</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>176</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         Type of the IPv4 ICMP message.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc792"/> for the definition of the IPv4
+          ICMP type field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpCodeIPv4</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>177</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         Code of the IPv4 ICMP message.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc792"/> for the definition of the IPv4
+          ICMP code field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpTypeIPv6</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>178</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         Type of the IPv6 ICMP message.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4443"/> for the definition of the IPv6
+          ICMP type field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>icmpCodeIPv6</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>179</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         Code of the IPv6 ICMP message.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc4443"/> for the definition of the IPv6
+          ICMP code field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>udpSourcePort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>180</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The source port identifier in the UDP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          source port field.
+          Additional information on defined UDP port numbers can be found at
+          <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>udpDestinationPort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>181</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The destination port identifier in the UDP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          destination port field.
+          Additional information on defined UDP port numbers can be found at
+          <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpSourcePort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>182</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The source port identifier in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          source port field.
+          Additional information on defined TCP port numbers can be found at
+          <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpDestinationPort</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>183</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The destination port identifier in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          destination port field.
+          Additional information on defined TCP port numbers can be found at
+          <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpSequenceNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>transportHeader</group>
+      <elementId>184</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The sequence number in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          sequence number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpAcknowledgementNumber</name>
+      <dataType>unsigned32</dataType>
+      <group>transportHeader</group>
+      <elementId>185</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The acknowledgement number in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          acknowledgement number.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpWindowSize</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <elementId>186</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          window field.
+          See <xref type="rfc" data="rfc1323"/> for the definition of the TCP
+          window scale.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpUrgentPointer</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <elementId>187</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The urgent pointer in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          urgent pointer.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpHeaderLength</name>
+      <dataType>unsigned8</dataType>
+      <group>transportHeader</group>
+      <elementId>188</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipHeaderLength</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>189</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The length of the IP header.  For IPv6, the value of this
+         Information Element is 40.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          header.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>totalLengthIPv4</name>
+      <dataType>unsigned16</dataType>
+      <group>ipHeader</group>
+      <elementId>190</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The total length of the IPv4 packet.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          total length.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>payloadLengthIPv6</name>
+      <dataType>unsigned16</dataType>
+      <group>ipHeader</group>
+      <elementId>191</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         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.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> for the specification of the IPv6
+          payload length.
+          See <xref type="rfc" data="rfc2675"/> for the specification of the IPv6
+          jumbo payload option.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipTTL</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>192</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>hops</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4
+          Time to Live field.
+          See <xref type="rfc" data="rfc2675"/> for the definition of the IPv6
+          Hop Limit field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>nextHeaderIPv6</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>193</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Next Header field.
+          See the list of protocol numbers assigned by IANA at <xref type="registry" data="protocol-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsPayloadLength</name>
+      <dataType>unsigned32</dataType>
+      <group>subIpHeader</group>
+      <elementId>194</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The size of the MPLS packet without the label stack.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3031"/> for the specification of MPLS
+          packets.
+          See <xref type="rfc" data="rfc3032"/> for the specification of the
+          MPLS label stack.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipDiffServCodePoint</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>195</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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
+         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>
+      <range>0-63</range>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3260"/> for the definition of the
+          Differentiated Services field.
+          See <xref type="rfc" data="rfc1812"/> (Section 5.3.2) and <xref type="rfc" data="rfc791"/> for the definition of the IPv4 TOS field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Traffic Class field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipPrecedence</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>196</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <range>0-7</range>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc1812"/> (Section 5.3.3) and <xref type="rfc" data="rfc791"/> for the definition of the IP Precedence.
+          See <xref type="rfc" data="rfc1812"/> (Section 5.3.2) and <xref type="rfc" data="rfc791"/> for the definition of the IPv4 TOS field.
+          See <xref type="rfc" data="rfc2460"/> for the definition of the IPv6
+          Traffic Class field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>fragmentFlags</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>197</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          fragment flags.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 Fragment header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>octetDeltaSumOfSquares</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <elementId>198</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>octetTotalSumOfSquares</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <elementId>199</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelTTL</name>
+      <dataType>unsigned8</dataType>
+      <group>subIpHeader</group>
+      <elementId>200</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The TTL field from the top MPLS label stack entry,
+         i.e., the last label that was pushed.
+         </paragraph>
+      </description>
+      <units>hops</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/> for the specification of the TTL
+          field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackLength</name>
+      <dataType>unsigned32</dataType>
+      <group>subIpHeader</group>
+      <elementId>201</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The length of the MPLS label stack in units of octets.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/> for the specification of the
+          MPLS label stack.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackDepth</name>
+      <dataType>unsigned32</dataType>
+      <group>subIpHeader</group>
+      <elementId>202</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The number of labels in the MPLS label stack.
+         </paragraph>
+      </description>
+      <units>label stack entries</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/> for the specification of the
+          MPLS label stack.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>mplsTopLabelExp</name>
+      <dataType>unsigned8</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>203</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/> for the specification of the
+          Exp field.
+          See <xref type="rfc" data="rfc3270"/> for usage of the Exp field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipPayloadLength</name>
+      <dataType>unsigned32</dataType>
+      <group>derived</group>
+      <elementId>204</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of IPv4
+          packets.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 payload length.
+          See <xref type="rfc" data="rfc2675"/> for the specification of the
+          IPv6 jumbo payload length.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>udpMessageLength</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <elementId>205</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The value of the Length field in the UDP header.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the specification of the UDP
+          header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>isMulticast</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>206</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <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
+          +------+------+------+------+------+------+------+------+
+          |   IPv6 multicast scope    |  T   | RES. | RES. | MCv4 |
+          +------+------+------+------+------+------+------+------+
+
+          Bits 0-3:  set to value of multicast scope if IPv6 multicast
+          Bit  4:    set to value of T flag, if IPv6 multicast
+          Bits 5-6:  reserved for future use
+          Bit  7:    set to 1 if IPv4 multicast
+         </artwork>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc1112"/> for the specification of
+          reserved IPv4 multicast addresses.
+          See <xref type="rfc" data="rfc4291"/> for the specification of
+          reserved IPv6 multicast addresses and the definition of the T flag and
+          the IPv6 multicast scope.
+          The diagram provided in <xref type="rfc" data="rfc5102"/> is incorrect.  
+          The diagram in this registry is taken from Errata 1736. See <xref type="rfc-errata" data="1736"/>
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipv4IHL</name>
+      <dataType>unsigned8</dataType>
+      <group>ipHeader</group>
+      <elementId>207</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <units>4 octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipv4Options</name>
+      <dataType>unsigned32</dataType>
+      <group>minMax</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>208</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <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
+       +------+------+------+------+------+------+------+------+
+   ... |  RR  |CIPSO |E-SEC |  TS  | LSR  |  SEC | NOP  | EOOL |
+       +------+------+------+------+------+------+------+------+
+
+           8      9     10     11     12     13     14     15
+       +------+------+------+------+------+------+------+------+
+   ... |ENCODE| VISA | FINN | MTUR | MTUP | ZSU  | SSR  | SID  | ...
+       +------+------+------+------+------+------+------+------+
+
+          16     17     18     19     20     21     22     23
+       +------+------+------+------+------+------+------+------+
+   ... | DPS  |NSAPA | SDB  |RTRALT|ADDEXT|  TR  | EIP  |IMITD | ...
+       +------+------+------+------+------+------+------+------+
+
+          24     25     26     27     28     29     30     31
+       +------+------+------+------+------+------+------+------+
+       |      | EXP  |   to be assigned by IANA  |  QS  | UMP  | ...
+       +------+------+------+------+------+------+------+------+
+
+           Type   Option
+       Bit Value  Name    Reference
+       ---+-----+-------+------------------------------------
+        0     7   RR      Record Route, RFC 791
+        1   134   CIPSO   Commercial Security
+        2   133   E-SEC   Extended Security, RFC 1108
+        3    68   TS      Time Stamp, RFC 791
+        4   131   LSR     Loose Source Route, RFC791
+        5   130   SEC     Security, RFC 1108
+        6     1   NOP     No Operation, RFC 791
+        7     0   EOOL    End of Options List, RFC 791
+        8    15   ENCODE
+        9   142   VISA    Experimental Access Control
+       10   205   FINN    Experimental Flow Control
+       11    12   MTUR    (obsoleted) MTU Reply, RFC 1191
+       12    11   MTUP    (obsoleted) MTU Probe, RFC 1191
+       13    10   ZSU     Experimental Measurement
+       14   137   SSR     Strict Source Route, RFC 791
+       15   136   SID     Stream ID, RFC 791
+       16   151   DPS     Dynamic Packet State
+       17   150   NSAPA   NSAP Address
+       18   149   SDB     Selective Directed Broadcast
+       19   147   ADDEXT  Address Extension
+       20   148   RTRALT  Router Alert, RFC 2113
+       21    82   TR      Traceroute, RFC 3193
+       22   145   EIP     Extended Internet Protocol, RFC 1385
+       23   144   IMITD   IMI Traffic Descriptor
+       25    30   EXP     RFC3692-style Experiment
+       25    94   EXP     RFC3692-style Experiment
+       25   158   EXP     RFC3692-style Experiment
+       25   222   EXP     RFC3692-style Experiment
+       30    25   QS      Quick-Start
+       31   152   UMP     Upstream Multicast Pkt.
+       ...  ...   ...     Further options numbers
+                          may be assigned by IANA
+
+         </artwork>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of IPv4
+          options.
+          See the list of IPv4 option numbers assigned by IANA at <xref type="registry" data="ip-parameters"/>.
+          The diagram provided in <xref type="rfc" data="rfc5102"/> is incorrect.  
+          The diagram in this registry is taken from Errata 1737. See <xref type="rfc-errata" data="1737"/>   
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpOptions</name>
+      <dataType>unsigned64</dataType>
+      <group>minMax</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>209</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+          |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |  ...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+              8     9    10    11    12    13    14    15
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |  15 |  14 |  13 |  12 |  11 |  10 |   9 |   8 |...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+             16    17    18    19    20    21    22    23
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |  23 |  22 |  21 |  20 |  19 |  18 |  17 |  16 |...
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+
+                                . . .
+
+             56    57    58    59    60    61    62    63
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+      ... |  63 |  62 |  61 |  60 |  59 |  58 |  57 |  56 |
+          +-----+-----+-----+-----+-----+-----+-----+-----+
+         </artwork>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of TCP
+          options.
+          See the list of TCP option numbers assigned by IANA at <xref type="registry" data="tcp-parameters"/>.
+          The diagram provided in <xref type="rfc" data="rfc5102"/> is incorrect.  
+          The diagram in this registry is taken from Errata 1739. See <xref type="rfc-errata" data="1739"/>
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>paddingOctets</name>
+      <dataType>octetArray</dataType>
+      <group>padding</group>
+      <elementId>210</elementId>
+      <applicability>option</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+           The value of this Information Element is always a sequence of
+           0x00 values.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>collectorIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>211</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         An IPv4 address to which the Exporting Process sends Flow
+         information.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>collectorIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>212</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         An IPv6 address to which the Exporting Process sends Flow
+         information.
+         </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportInterface</name>
+      <dataType>unsigned32</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>213</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc2863"/> for the definition of the
+          ifIndex object.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportProtocolVersion</name>
+      <dataType>unsigned8</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>214</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <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>
+      <references>
+        <paragraph>
+          See the <xref type="rfc" data="rfc5101">IPFIX protocol
+            specification</xref> for the definition of the IPFIX Message Header.
+          See <xref type="rfc" data="rfc3954"/> for the definition of the
+          NetFlow version 9 message header.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exportTransportProtocol</name>
+      <dataType>unsigned8</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>215</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          protocol field.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 protocol field.
+          See the list of protocol numbers assigned by IANA at <xref type="registry" data="protocol-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>collectorTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>216</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          destination port field.
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          destination port field.
+          See <xref type="rfc" data="rfc4960"/> for the definition of SCTP.
+        </paragraph>
+        <paragraph>
+          Additional information on defined UDP and TCP port numbers can be
+          found at <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>exporterTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <group>config</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>217</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP
+          source port field.
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP
+          source port field.
+          See <xref type="rfc" data="rfc4960"/> for the definition of SCTP.
+        </paragraph>
+        <paragraph>
+          Additional information on defined UDP and TCP port numbers can be
+          found at <xref type="registry" data="port-numbers"/>.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpSynTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>218</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "Synchronize sequence numbers" (SYN) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP SYN
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpFinTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>219</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "No more data from sender" (FIN) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP FIN
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpRstTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>220</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "Reset the connection" (RST) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP RST
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpPshTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>221</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "Push Function" (PSH) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP PSH
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpAckTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>222</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "Acknowledgment field significant" (ACK) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP ACK
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpUrgTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <group>flowCounter</group>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>223</elementId>
+      <applicability>data</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of packets of this Flow with
+          TCP "Urgent Pointer field significant" (URG) flag set.
+         </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc793"/> for the definition of the TCP URG
+          flag.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>ipTotalLength</name>
+      <dataType>unsigned64</dataType>
+      <group>ipHeader</group>
+      <elementId>224</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The total length of the IP packet.
+         </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the specification of the IPv4
+          total length.
+          See <xref type="rfc" data="rfc2460"/> for the specification of the
+          IPv6 payload length.
+          See <xref type="rfc" data="rfc2675"/> for the specification of the
+          IPv6 jumbo payload length.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>postNATSourceIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>225</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'sourceIPv4Address', except 
+          that it reports a modified value caused by a NAT middlebox 
+          function after the packet passed the Observation Point.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4 source 
+          address field.  See <xref type="rfc" data="rfc3022"/> for the definition of 
+          NAT.  See <xref type="rfc" data="rfc3234"/> for the definition of middleboxes. 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>   
+    <record>
+      <name>postNATDestinationIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>226</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'destinationIPv4Address', 
+          except that it reports a modified value caused by a NAT 
+          middlebox function after the packet passed the Observation 
+          Point.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc791"/> for the definition of the IPv4 destination 
+          address field.  See <xref type="rfc" data="rfc3022"/> for the definition of 
+          NAT.  See <xref type="rfc" data="rfc3234"/> for the definition of middleboxes. 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postNAPTSourceTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>227</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'sourceTransportPort', except 
+          that it reports a modified value caused by a Network Address 
+          Port Translation (NAPT) middlebox function after the packet 
+          passed the Observation Point.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP source port 
+          field.  See <xref type="rfc" data="rfc793"/> for the definition of the TCP 
+          source port field.  See <xref type="rfc" data="rfc4960"/> for the definition of 
+          SCTP.     
+          See <xref type="rfc" data="rfc3022"/> for the definition of NAPT.  See <xref type="rfc" data="rfc3234"/> for the definition of middleboxes. 
+          Additional information on defined UDP and TCP port numbers can 
+          be found at http://www.iana.org/assignments/port-numbers.   
+         </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postNAPTDestinationTransportPort</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>228</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'destinationTransportPort', 
+          except that it reports a modified value caused by a Network 
+          Address Port Translation (NAPT) middlebox function after the 
+          packet passed the Observation Point. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc768"/> for the definition of the UDP source port 
+          field.  See <xref type="rfc" data="rfc793"/> for the definition of the TCP 
+          source port field.  See <xref type="rfc" data="rfc4960"/> for the definition of 
+          SCTP.     
+          See <xref type="rfc" data="rfc3022"/> for the definition of NAPT.  See <xref type="rfc" data="rfc3234"/> for the definition of middleboxes. 
+          Additional information on defined UDP and TCP port numbers can 
+          be found at http://www.iana.org/assignments/port-numbers.   
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>natOriginatingAddressRealm</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>229</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Indicates whether the session was created because traffic 
+          originated in the private or public address realm. 
+          postNATSourceIPv4Address, postNATDestinationIPv4Address, 
+          postNAPTSourceTransportPort, and 
+          postNAPTDestinationTransportPort are qualified with the address 
+          realm in perspective. 
+        </paragraph>
+       <paragraph>
+          The allowed values are: 
+          </paragraph>
+        <paragraph>
+          Private: 1 
+        </paragraph>
+        <paragraph>
+          Public:  2
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc3022"/> for the definition of NAT.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>  
+    <record>
+      <name>natEvent</name>
+      <dataType>unsigned8</dataType>
+      <elementId>230</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Indicates a NAT event. The allowed values are: 
+        </paragraph>
+        <paragraph>
+          1 - Create event.
+        </paragraph>
+        <paragraph>
+          2 - Delete event.
+        </paragraph>
+        <paragraph>
+          3 - Pool exhausted. 
+        </paragraph>
+        <paragraph>
+          A Create event is generated when a NAT translation is created, 
+          whether dynamically or statically.  A Delete event is generated 
+          when a NAT translation is deleted. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc3022"/> for the definition of NAT.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>  
+    <record>
+      <name>initiatorOctets</name>
+      <dataType>unsigned64</dataType>
+      <elementId>231</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of layer 4 payload bytes in a flow from the 
+          initiator.  The initiator is the device which triggered the 
+          session creation, and remains the same for the life of the 
+          session.  
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>         
+          See #298, initiatorPackets.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>  
+    <record>
+      <name>responderOctets</name>
+      <dataType>unsigned64</dataType>
+      <elementId>232</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of layer 4 payload bytes in a flow from the 
+          responder.  The responder is the device which replies to the 
+          initiator, and remains the same for the life of the session. 
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>      
+        <paragraph>         
+          See #299, responderPackets.
+        </paragraph>
+      </references>
+
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>firewallEvent</name>
+      <dataType>unsigned8</dataType>
+      <elementId>233</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Indicates a firewall event.  The allowed values are: 
+        </paragraph>
+        <paragraph>
+          0 - Ignore (invalid) 
+          </paragraph>
+        <paragraph>
+          1 - Flow Created 
+        </paragraph>
+        <paragraph>
+          2 - Flow Deleted 
+        </paragraph>
+        <paragraph>
+          3 - Flow Denied
+        </paragraph>
+        <paragraph>
+          4 - Flow Alert 
+        </paragraph>
+        <paragraph>
+          5 - Flow Update 
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressVRFID</name>
+      <dataType>unsigned32</dataType>
+      <elementId>234</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          An unique identifier of the VRFname where the packets of this 
+          flow are being received.  This identifier is unique per Metering 
+          Process 
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>egressVRFID</name>
+      <dataType>unsigned32</dataType>
+      <elementId>235</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          An unique identifier of the VRFname where the packets of this 
+          flow are being sent.  This identifier is unique per Metering 
+          Process 
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>VRFname</name>
+      <dataType>string</dataType>
+      <elementId>236</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The name of a VPN Routing and Forwarding table (VRF). 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc4364"/> for the definition of VRF.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postMplsTopLabelExp</name>
+      <dataType>unsigned8</dataType>
+      <group>subIpHeader</group>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>237</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <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>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc3032"/> for the specification of the Exp
+          field.
+          See <xref type="rfc" data="rfc3270"/> for usage of the Exp field.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>tcpWindowScale</name>
+      <dataType>unsigned16</dataType>
+      <group>transportHeader</group>
+      <elementId>238</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>
+         The scale of the window field in the TCP header.
+         </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See <xref type="rfc" data="rfc1323"/> for the definition of the TCP
+          window scale.
+        </paragraph>
+      </references>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <name>biflowDirection</name>
+      <dataType>unsigned8</dataType>
+      <group>misc</group>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>239</elementId>
+      <applicability>all</applicability>
+      <status>current</status>
+      <description>
+        <paragraph>A description of the direction assignment method used to
+          assign the Biflow Source and Destination.  This Information Element
+          MAY be present in a Flow Data Record, or applied to all flows exported
+          from an Exporting Process or Observation Domain using IPFIX Options.
+          If this Information Element is not present in a Flow Record or
+          associated with a Biflow via scope, it is assumed that the
+          configuration of the direction assignment method is done out-of-band.
+          Note that when using IPFIX Options to apply this Information Element
+          to all flows within an Observation Domain or from an Exporting
+          Process, the Option SHOULD be sent reliably.  If reliable transport is
+          not available (i.e., when using UDP), this Information Element SHOULD
+          appear in each Flow Record.  This field may take the following
+          values:</paragraph>
+        <artwork>
+ +-------+------------------+----------------------------------------+
+ | Value | Name             | Description                            |
+ +-------+------------------+----------------------------------------+
+ | 0x00  | arbitrary        | Direction was assigned arbitrarily.    |
+ | 0x01  | initiator        | The Biflow Source is the flow          |
+ |       |                  | initiator, as determined by the        |
+ |       |                  | Metering Process' best effort to       |
+ |       |                  | detect the initiator.                  |
+ | 0x02  | reverseInitiator | The Biflow Destination is the flow     |
+ |       |                  | initiator, as determined by the        |
+ |       |                  | Metering Process' best effort to       |
+ |       |                  | detect the initiator.  This value is   |
+ |       |                  | provided for the convenience of        |
+ |       |                  | Exporting Processes to revise an       |
+ |       |                  | initiator estimate without re-encoding |
+ |       |                  | the Biflow Record.                     |
+ | 0x03  | perimeter        | The Biflow Source is the endpoint      |
+ |       |                  | outside of a defined perimeter.  The   |
+ |       |                  | perimeter's definition is implicit in  |
+ |       |                  | the set of Biflow Source and Biflow    |
+ |       |                  | Destination addresses exported in the  |
+ |       |                  | Biflow Records.                        |
+ +-------+------------------+----------------------------------------+
+        </artwork>
+      </description>
+      <xref type="rfc" data="rfc5103"/>
+    </record>
+
+    <record>
+      <name>ethernetHeaderLength</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>240</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The difference between the length of an Ethernet frame (minus the 
+          FCS) and the length of its MAC Client Data section (including any 
+          padding) as defined in section 3.1 of [IEEE.802-3.2005].  It does 
+          not include the Preamble, SFD and Extension field lengths.  
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ethernetPayloadLength</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>241</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The length of the MAC Client Data section (including any padding) 
+          of a frame as defined in section 3.1 of [IEEE.802-3.2005].  
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>   
+    <record>
+      <name>ethernetTotalLength</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>242</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total length of the Ethernet frame (excluding the Preamble, 
+          SFD, Extension and FCS fields) as described in section 3.1 of 
+          [IEEE.802-3.2005]. 
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>dot1qVlanId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>243</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The value of the 12-bit VLAN Identifier portion of the Tag 
+          Control Information field of an Ethernet frame as described in 
+          section 3.5.5 of [IEEE.802-3.2005].  The structure and semantics 
+          within the Tag Control Information field are defined in IEEE 
+          P802.1Q.  In case of a QinQ frame, it represents the outer tag's 
+          VLAN identifier and in case of an IEEE 802.1ad frame it 
+          represents the Service VLAN identifier in the S-TAG Tag Control 
+          Information (TCI) field as described in [IEEE.802-1ad.2005]. 
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>dot1qPriority</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>244</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The value of the 3-bit User Priority portion of the Tag Control 
+          Information field of an Ethernet frame as described in section 
+          3.5.5 of [IEEE.802-3.2005].  The structure and semantics within 
+          the Tag Control Information field are defined in IEEE P802.1Q.  
+          In case of a QinQ frame, it represents the outer tag's 3-bit 
+          Class of Service (CoS) identifier and in case of an IEEE 802.1ad 
+          frame it represents the 3-bit Priority Code Point (PCP) portion 
+          of the S-TAG Tag Control Information (TCI) field as described in 
+          [IEEE.802-1ad.2005].
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+          [IEEE.802-1ad.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>dot1qCustomerVlanId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>245</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          In case of a QinQ frame, it represents the inner tag's (*) VLAN 
+          identifier and in case of an IEEE 802.1ad frame it represents the 
+          Customer VLAN identifier in the C-TAG Tag Control Information 
+          (TCI) field as described in [IEEE.802-1ad.2005]. 
+          (*) Note: the 801.2Q tag directly following the outer one. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-1ad.2005] 
+          [IEEE.802-1Q.2003]
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>dot1qCustomerPriority</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>246</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          In case of a QinQ frame, it represents the inner tag's (*) Class 
+          of Service (CoS) identifier and in case of an IEEE 802.1ad frame 
+          it represents the 3-bit Priority Code Point (PCP) portion of the 
+          C-TAG Tag Control Information (TCI) field as described in 
+          [IEEE.802-1ad.2005]. 
+          (*) Note: the 801.2Q tag directly following the outer one. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-1ad.2005] 
+          [IEEE.802-1Q.2003]
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>metroEvcId</name>
+      <dataType>string</dataType>
+      <elementId>247</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The EVC Service Attribute which uniquely identifies the Ethernet 
+          Virtual Connection (EVC) within a Metro Ethernet Network, as 
+          defined in section 6.2 of MEF 10.1.  The MetroEVCID is encoded in 
+          a string of up to 100 characters.  
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          MEF 10.1 (Ethernet Services Attributes Phase 2) 
+          MEF16 (Ethernet Local Management Interface) 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>metroEvcType</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>248</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The 3-bit EVC Service Attribute which identifies the type of 
+          service provided by an EVC. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          MEF 10.1 (Ethernet Services Attributes Phase 2)  
+          MEF16 (Ethernet Local Management Interface) 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>pseudoWireId</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>249</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A 32-bit non-zero connection identifier, which together with the 
+          pseudoWireType, identifies the Pseudo Wire (PW) as defined in RFC 
+          4447 [RFC4447]. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc4447"/> for pseudowire definitions.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>pseudoWireType</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>250</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The value of this information element identifies the type of MPLS 
+          Pseudo Wire (PW) as defined in RFC 4446.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc4446"/> for the pseudowire type definition, and 
+          http://www.iana.org/assignments/pwe3-parameters for the IANA 
+          Pseudowire Types Registry.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>pseudoWireControlWord</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>251</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The 32-bit Preferred Pseudo Wire (PW) MPLS Control Word as 
+          defined in Section 3 of <xref type="rfc" data="rfc4385"/>. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc4385"/> for the Pseudo Wire Control Word 
+          definition.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressPhysicalInterface</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>252</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The index of a networking device's physical interface (example, a 
+          switch port) where packets of this flow are being received. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc2863"/> for the definition of the ifIndex object.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>egressPhysicalInterface</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>253</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The index of a networking device's physical interface (example, a 
+          switch port) where packets of this flow are being sent. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc2863"/> for the definition of the ifIndex object.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postDot1qVlanId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>254</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'dot1qVlanId', except that it 
+          reports a potentially modified value caused by a middlebox 
+          function after the packet passed the Observation Point.  
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+          [IEEE.802-1ad.2005] 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postDot1qCustomerVlanId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>255</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the 
+          definition of Information Element 'dot1qCustomerVlanId', except 
+          that it reports a potentially modified value caused by a 
+          middlebox function after the packet passed the Observation Point. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-1ad.2005] 
+          [IEEE.802-1Q.2003]
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>ethernetType</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>256</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The Ethernet type field of an Ethernet frame that identifies the 
+          MAC client protocol carried in the payload as defined in 
+          paragraph 1.4.349 of [IEEE.802-3.2005]. 
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          [IEEE.802-3.2005] 
+          Ethertype registry available at 
+          http://standards.ieee.org/regauth/ethertype/eth.txt 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>postIpPrecedence</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>257</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The definition of this Information Element is identical to the         
+          definition of Information Element 'ipPrecedence', except that 
+          it reports a potentially modified value caused by a middlebox
+          function after the packet passed the Observation Point.
+        </paragraph>
+      </description>
+      <range>0-7</range>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc1812"/> (Section 5.3.3) and 
+          <xref type="rfc" data="rfc791"/> for the definition of the
+          IP Precedence. See <xref type="rfc" data="rfc1812"/> 
+          (Section 5.3.2) and <xref type="rfc" data="rfc791"/> for the
+          definition of the IPv4 TOS field. See 
+          <xref type="rfc" data="rfc2460"/> for the definition of the 
+          IPv6 Traffic Class field. 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>collectionTimeMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <elementId>258</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The absolute timestamp at which the data within the
+          scope containing this Information Element was received by a
+          Collecting Process.  This Information Element SHOULD be bound to
+          its containing IPFIX Message via IPFIX Options and the
+          messageScope Information Element, as defined below.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>exportSctpStreamId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>259</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The value of the SCTP Stream Identifier used by the
+          Exporting Process for exporting IPFIX Message data.  This is
+          carried in the Stream Identifier field of the header of the SCTP
+          DATA chunk containing the IPFIX Message(s).
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>maxExportSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <elementId>260</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The absolute Export Time of the latest IPFIX Message
+          within the scope containing this Information Element.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via IPFIX Options and the sessionScope
+          Information Element.
+        </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>maxFlowEndSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <elementId>261</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The latest absolute timestamp of the last packet
+          within any Flow within the scope containing this Information
+          Element, rounded up to the second if necessary.  This Information
+          Element SHOULD be bound to its containing IPFIX Transport Session
+          via IPFIX Options and the sessionScope Information Element.
+        </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>messageMD5Checksum</name>
+      <dataType>octetArray</dataType>
+      <elementId>262</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The MD5 checksum of the IPFIX Message containing this
+          record.  This Information Element SHOULD be bound to its
+          containing IPFIX Message via an options record and the
+          messageScope Information Element, as defined below, and SHOULD
+          appear only once in a given IPFIX Message.  To calculate the value
+          of this Information Element, first buffer the containing IPFIX
+          Message, setting the value of this Information Element to all
+          zeroes.  Then calculate the MD5 checksum of the resulting buffer
+          as defined in [RFC1321], place the resulting value in this
+          Information Element, and export the buffered message.  This
+          Information Element is intended as a simple checksum only;
+          therefore collision resistance and algorithm agility are not
+          required, and MD5 is an appropriate message digest.
+          
+          This Information Element has a fixed length of 16 octets.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+      <xref type="rfc" data="rfc1321"/>
+    </record>
+
+    <record>
+      <name>messageScope</name>
+      <dataType>unsigned8</dataType>
+      <elementId>263</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The presence of this Information Element as scope in
+          an Options Template signifies that the options described by the
+          Template apply to the IPFIX Message that contains them.  It is
+          defined for general purpose message scoping of options, and
+          proposed specifically to allow the attachment a checksum to a
+          message via IPFIX Options.  The value of this Information Element
+          MUST be written as 0 by the File Writer or Exporting Process.  The
+          value of this Information Element MUST be ignored by the File
+          Reader or the Collecting Process.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>minExportSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <elementId>264</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The absolute Export Time of the earliest IPFIX Message
+          within the scope containing this Information Element.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via an options record and the sessionScope
+          Information Element.
+        </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>minFlowStartSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <elementId>265</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The earliest absolute timestamp of the first packet
+          within any Flow within the scope containing this Information
+          Element, rounded down to the second if necessary.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via an options record and the sessionScope
+          Information Element.
+        </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>opaqueOctets</name>
+      <dataType>octetArray</dataType>
+      <elementId>266</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element is used to encapsulate non-
+          IPFIX data into an IPFIX Message stream, for the purpose of
+          allowing a non-IPFIX data processor to store a data stream inline
+          within an IPFIX File.  A Collecting Process or File Writer MUST
+          NOT try to interpret this binary data.  This Information Element
+          differs from paddingOctets as its contents are meaningful in some
+          non-IPFIX context, while the contents of paddingOctets MUST be
+          0x00 and are intended only for Information Element alignment.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>sessionScope</name>
+      <dataType>unsigned8</dataType>
+      <elementId>267</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The presence of this Information Element as scope in
+          an Options Template signifies that the options described by the
+          Template apply to the IPFIX Transport Session that contains them.
+          Note that as all options are implicitly scoped to Transport
+          Session and Observation Domain, this Information Element is
+          equivalent to a "null" scope.  It is defined for general purpose
+          session scoping of options, and proposed specifically to allow the
+          attachment of time window to an IPFIX File via IPFIX Options.  The
+          value of this Information Element MUST be written as 0 by the File
+          Writer or Exporting Process.  The value of this Information
+          Element MUST be ignored by the File Reader or the Collecting
+          Process.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>maxFlowEndMicroseconds</name>
+      <dataType>dateTimeMicroseconds</dataType>
+      <elementId>268</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The latest absolute timestamp of the last packet
+          within any Flow within the scope containing this Information
+          Element, rounded up to the microsecond if necessary.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via IPFIX Options and the sessionScope
+          Information Element.  This Information Element SHOULD be used only
+          in Transport Sessions containing Flow Records with microsecond-
+          precision (or better) timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>maxFlowEndMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <elementId>269</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The latest absolute timestamp of the last packet
+          within any Flow within the scope containing this Information
+          Element, rounded up to the millisecond if necessary.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via IPFIX Options and the sessionScope
+          Information Element.  This Information Element SHOULD be used only
+          in Transport Sessions containing Flow Records with millisecond-
+          precision (or better) timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>maxFlowEndNanoseconds</name>
+      <dataType>dateTimeNanoseconds</dataType>
+      <elementId>270</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The latest absolute timestamp of the last packet
+          within any Flow within the scope containing this Information
+          Element.  This Information Element SHOULD be bound to its
+          containing IPFIX Transport Session via IPFIX Options and the
+          sessionScope Information Element.  This Information Element SHOULD
+          be used only in Transport Sessions containing Flow Records with
+          nanosecond-precision timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>minFlowStartMicroseconds</name>
+      <dataType>dateTimeMicroseconds</dataType>
+      <elementId>271</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The earliest absolute timestamp of the first packet
+          within any Flow within the scope containing this Information
+          Element, rounded down to the microsecond if necessary.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via an options record and the sessionScope
+          Information Element.  This Information Element SHOULD be used only
+          in Transport Sessions containing Flow Records with microsecond-
+          precision (or better) timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>minFlowStartMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <elementId>272</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The earliest absolute timestamp of the first packet
+          within any Flow within the scope containing this Information
+          Element, rounded down to the millisecond if necessary.  This
+          Information Element SHOULD be bound to its containing IPFIX
+          Transport Session via an options record and the sessionScope
+          Information Element.  This Information Element SHOULD be used only
+          in Transport Sessions containing Flow Records with millisecond-
+          precision (or better) timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>minFlowStartNanoseconds</name>
+      <dataType>dateTimeNanoseconds</dataType>
+      <elementId>273</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The earliest absolute timestamp of the first packet
+          within any Flow within the scope containing this Information
+          Element.  This Information Element SHOULD be bound to its
+          containing IPFIX Transport Session via an options record and the
+          sessionScope Information Element.  This Information Element SHOULD
+          be used only in Transport Sessions containing Flow Records with
+          nanosecond-precision timestamp Information Elements.
+        </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>collectorCertificate</name>
+      <dataType>octetArray</dataType>
+      <elementId>274</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The full X.509 certificate, encoded in ASN.1 DER
+          format, used by the Collector when IPFIX Messages were transmitted
+          using TLS or DTLS.  This Information Element SHOULD be bound to
+          its containing IPFIX Transport Session via an options record and
+          the sessionScope Information Element, or to its containing IPFIX
+          Message via an options record and the messageScope Information
+          Element.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>exporterCertificate</name>
+      <dataType>octetArray</dataType>
+      <elementId>275</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The full X.509 certificate, encoded in ASN.1 DER
+          format, used by the Collector when IPFIX Messages were transmitted
+          using TLS or DTLS.  This Information Element SHOULD be bound to
+          its containing IPFIX Transport Session via an options record and
+          the sessionScope Information Element, or to its containing IPFIX
+          Message via an options record and the messageScope Information
+          Element.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5655"/>
+    </record>
+
+    <record>
+      <name>dataRecordsReliability</name>
+      <dataType>boolean</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>276</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The export reliability of Data Records, within this SCTP 
+          stream, for the element(s) in the Options Template 
+          scope.  A typical example of an element for which the 
+          export reliability will be reported is the templateID, 
+          as specified in the Data Records Reliability Options 
+          Template.  A value of 'True' means that the Exporting 
+          Process MUST send any Data Records associated with the 
+          element(s) reliably within this SCTP stream.  A value of 
+          'False' means that the Exporting Process MAY send any 
+          Data Records associated with the element(s) unreliably 
+          within this SCTP stream.     
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6526"/>
+    </record>
+    <record date="2010-09-16">
+      <name>observationPointType</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>277</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Type of observation point. Values assigned to date are:
+        </paragraph>
+          <paragraph>
+          1. Physical port
+          </paragraph>
+            <paragraph>
+          2. Port channel
+            </paragraph>
+              <paragraph>
+          3. Vlan.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    <record date="2010-10-19">
+      <name>connectionCountNew</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>278</elementId>
+       <status>current</status>
+       <description>
+         <paragraph>This information element counts the number of TCP or UDP
+         connections which were opened during the observation period. The
+         observation period may be specified by the flow start and end timestamps.
+         </paragraph>
+       </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record date="2010-10-19">
+      <name>connectionSumDuration</name>
+      <dataType>unsigned64</dataType>
+      <elementId>279</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>This information element aggregates the total time in
+          seconds for all of the TCP or UDP connections which were in use during
+          the observation period. For example if there are 5 concurrent
+          connections each for 10 seconds, the value would be 50 s.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record date="2010-10-19">
+      <name>connectionTransactionId</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>280</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>This information element identifies a transaction within a
+          connection. A transaction is a meaningful exchange of application data
+          between two network devices or a client and server. A transactionId is
+          assigned the first time a flow is reported, so that later reports for
+          the same flow will have the same transactionId. A different
+          transactionId is used for each transaction within a TCP or UDP
+          connection. The identifiers need not be sequential.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record date="2010-10-19">
+      <name>postNATSourceIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <elementId>281</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>The definition of this Information Element is identical to
+          the definition of Information Element 'sourceIPv6Address', except that
+          it reports a modified value caused by a NAT64 middlebox function after
+          the packet passed the Observation Point.
+          
+          See [RFC2460] for the definition of the Source Address field in the IPv6
+          header. See [RFC3234] for the definition of middleboxes. See
+          http://tools.ietf.org/html/draft-ietf-behave-v6v4-xlate-stateful-12 for
+          nat64 specification.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record date="2010-10-19">
+      <name>postNATDestinationIPv6Address</name>
+      <dataType>ipv6Address</dataType>
+      <elementId>282</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>The definition of this Information Element is identical to
+          the definition of Information Element 'destinationIPv6Address', except
+          that it reports a modified value caused by a NAT64 middlebox function
+          after the packet passed the Observation Point.
+          
+          See [RFC2460] for the definition of the Destination Address field in the
+          IPv6 header. See [RFC3234] for the definition of middleboxes. See
+          http://tools.ietf.org/html/draft-ietf-behave-v6v4-xlate-stateful-12 for
+          nat64 specification.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    
+    <record date="2011-02-10">
+      <name>natPoolId</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>283</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>Locally unique identifier of a NAT pool.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    
+    <record date="2011-02-10">
+      <name>natPoolName</name>
+      <dataType>string</dataType>
+      <elementId>284</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>The name of a NAT pool identified by a natPoolID.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>anonymizationFlags</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>flags</dataTypeSemantics>
+      <elementId>285</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>A flag word describing specialized modifications to
+          the anonymization policy in effect for the anonymization technique
+          applied to a referenced Information Element within a referenced
+          Template.  When flags are clear (0), the normal policy (as
+          described by anonymizationTechnique) applies without modification.
+        </paragraph>
+        <artwork>
+          MSB   14  13  12  11  10   9   8   7   6   5   4   3   2   1  LSB
+          +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+          |                Reserved                       |LOR|PmA|   SC  |
+          +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+          
+          anonymizationFlags IE
+          
+          +--------+----------+-----------------------------------------------+
+          | bit(s) | name     | description                                   |
+          | (LSB = |          |                                               |
+          | 0)     |          |                                               |
+          +--------+----------+-----------------------------------------------+
+          | 0-1    | SC       | Stability Class: see the Stability Class      |
+          |        |          | table below, and section Section 5.1.         | 
+          | 2      | PmA      | Perimeter Anonymization: when set (1),        |
+          |        |          | source- Information Elements as described in  |
+          |        |          | [RFC5103] are interpreted as external         |
+          |        |          | addresses, and destination- Information       |
+          |        |          | Elements as described in [RFC5103] are        |
+          |        |          | interpreted as internal addresses, for the    |
+          |        |          | purposes of associating                       |
+          |        |          | anonymizationTechnique to Information         |
+          |        |          | Elements only; see Section 7.2.2 for details. |
+          |        |          | This bit MUST NOT be set when associated with |
+          |        |          | a non-endpoint (i.e., source- or              |
+          |        |          | destination-) Information Element.  SHOULD be |
+          |        |          | consistent within a record (i.e., if a        |
+          |        |          | source- Information Element has this flag     |
+          |        |          | set, the corresponding destination- element   |
+          |        |          | SHOULD have this flag set, and vice-versa.)   |
+          | 3      | LOR      | Low-Order Unchanged: when set (1), the        |
+          |        |          | low-order bits of the anonymized Information  |
+          |        |          | Element contain real data.  This modification |
+          |        |          | is intended for the anonymization of          |
+          |        |          | network-level addresses while leaving         |
+          |        |          | host-level addresses intact in order to       |
+          |        |          | preserve host level-structure, which could    |
+          |        |          | otherwise be used to reverse anonymization.   |
+          |        |          | MUST NOT be set when associated with a        |
+          |        |          | truncation-based anonymizationTechnique.      |
+          | 4-15   | Reserved | Reserved for future use: SHOULD be cleared    |
+          |        |          | (0) by the Exporting Process and MUST be      |
+          |        |          | ignored by the Collecting Process.            |
+          +--------+----------+-----------------------------------------------+
+        </artwork>
+        <paragraph>
+          The Stability Class portion of this flags word describes the
+          stability class of the anonymization technique applied to a
+          referenced Information Element within a referenced Template.
+          Stability classes refer to the stability of the parameters of the
+          anonymization technique, and therefore the comparability of the
+          mapping between the real and anonymized values over time.  This
+          determines which anonymized datasets may be compared with each
+          other.  Values are as follows:
+          </paragraph>
+          <artwork>
+            +-----+-----+-------------------------------------------------------+
+            | Bit | Bit | Description                                           |
+            | 1   | 0   |                                                       |
+            +-----+-----+-------------------------------------------------------+
+            | 0   | 0   | Undefined: the Exporting Process makes no             |
+            |     |     | representation as to how stable the mapping is, or    |
+            |     |     | over what time period values of this field will       |
+            |     |     | remain comparable; while the Collecting Process MAY   |
+            |     |     | assume Session level stability, Session level         |
+            |     |     | stability is not guaranteed.  Processes SHOULD assume |
+            |     |     | this is the case in the absence of stability class    |
+            |     |     | information; this is the default stability class.     |
+            | 0   | 1   | Session: the Exporting Process will ensure that the   |
+            |     |     | parameters of the anonymization technique are stable  |
+            |     |     | during the Transport Session.  All the values of the  |
+            |     |     | described Information Element for each Record         |
+            |     |     | described by the referenced Template within the       |
+            |     |     | Transport Session are comparable.  The Exporting      |
+            |     |     | Process SHOULD endeavour to ensure at least this      |
+            |     |     | stability class.                                      |
+            | 1   | 0   | Exporter-Collector Pair: the Exporting Process will   |
+            |     |     | ensure that the parameters of the anonymization       |
+            |     |     | technique are stable across Transport Sessions over   |
+            |     |     | time with the given Collecting Process, but may use   |
+            |     |     | different parameters for different Collecting         |
+            |     |     | Processes.  Data exported to different Collecting     |
+            |     |     | Processes are not comparable.                         |
+            | 1   | 1   | Stable: the Exporting Process will ensure that the    |
+            |     |     | parameters of the anonymization technique are stable  |
+            |     |     | across Transport Sessions over time, regardless of    |
+            |     |     | the Collecting Process to which it is sent.           |
+            +-----+-----+-------------------------------------------------------+
+          </artwork>
+      </description>
+      <xref type="rfc" data="rfc6235"/>
+    </record>
+
+    <record>
+      <name>anonymizationTechnique</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>286</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A description of the anonymization technique applied
+          to a referenced Information Element within a referenced Template.
+          Each technique may be applicable only to certain Information
+          Elements and recommended only for certain Infomation Elements;
+          these restrictions are noted in the table below.
+        </paragraph>
+        <artwork>
+          +-------+---------------------------+-----------------+-------------+
+          | Value | Description               | Applicable to   | Recommended |
+          |       |                           |                 | for         |
+          +-------+---------------------------+-----------------+-------------+
+          | 0     | Undefined: the Exporting  | all             | all         |
+          |       | Process makes no          |                 |             |
+          |       | representation as to      |                 |             |
+          |       | whether the defined field |                 |             |
+          |       | is anonymized or not.     |                 |             |
+          |       | While the Collecting      |                 |             |
+          |       | Process MAY assume that   |                 |             |
+          |       | the field is not          |                 |             |
+          |       | anonymized, it is not     |                 |             |
+          |       | guaranteed not to be.     |                 |             |
+          |       | This is the default       |                 |             |
+          |       | anonymization technique.  |                 |             |
+          | 1     | None: the values exported | all             | all         |
+          |       | are real.                 |                 |             |
+          | 2     | Precision                 | all             | all         |
+          |       | Degradation/Truncation:   |                 |             |
+          |       | the values exported are   |                 |             |
+          |       | anonymized using simple   |                 |             |
+          |       | precision degradation or  |                 |             |
+          |       | truncation.  The new      |                 |             |
+          |       | precision or number of    |                 |             |
+          |       | truncated bits is         |                 |             |
+          |       | implicit in the exported  |                 |             |
+          |       | data, and can be deduced  |                 |             |
+          |       | by the Collecting         |                 |             |
+          |       | Process.                  |                 |             |
+          | 3     | Binning: the values       | all             | all         |
+          |       | exported are anonymized   |                 |             |
+          |       | into bins.                |                 |             |
+          | 4     | Enumeration: the values   | all             | timestamps  |
+          |       | exported are anonymized   |                 |             |
+          |       | by enumeration.           |                 |             |
+          | 5     | Permutation: the values   | all             | identifiers |
+          |       | exported are anonymized   |                 |             |
+          |       | by permutation.           |                 |             |
+          | 6     | Structured Permutation:   | addresses       |             |
+          |       | the values exported are   |                 |             |
+          |       | anonymized by             |                 |             |
+          |       | permutation, preserving   |                 |             |
+          |       | bit-level structure as    |                 |             |
+          |       | appropriate; this         |                 |             |
+          |       | represents                |                 |             |
+          |       | prefix-preserving IP      |                 |             |
+          |       | address anonymization or  |                 |             |
+          |       | structured MAC address    |                 |             |
+          |       | anonymization.            |                 |             |
+          | 7     | Reverse Truncation: the   | addresses       |             |
+          |       | values exported are       |                 |             |
+          |       | anonymized using reverse  |                 |             |
+          |       | truncation.  The number   |                 |             |
+          |       | of truncated bits is      |                 |             |
+          |       | implicit in the exported  |                 |             |
+          |       | data, and can be deduced  |                 |             |
+          |       | by the Collecting         |                 |             |
+          |       | Process.                  |                 |             |
+          | 8     | Noise: the values         | non-identifiers | counters    |
+          |       | exported are anonymized   |                 |             |
+          |       | by adding random noise to |                 |             |
+          |       | each value.               |                 |             |
+          | 9     | Offset: the values        | all             | timestamps  |
+          |       | exported are anonymized   |                 |             |
+          |       | by adding a single offset |                 |             |
+          |       | to all values.            |                 |             |
+          +-------+---------------------------+-----------------+-------------+ 
+        </artwork>
+      </description>
+      <xref type="rfc" data="rfc6235"/>
+    </record>
+
+    <record>
+      <name>informationElementIndex</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>287</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>A zero-based index of an Information Element
+          referenced by informationElementId within a Template referenced by
+          templateId; used to disambiguate scope for templates containing
+          multiple identical Information Elements.</paragraph>
+      </description>
+      <xref type="rfc" data="rfc6235"/>
+    </record>
+
+    <record>
+      <name>p2pTechnology
+      </name>
+      <dataType>string</dataType>
+      <elementId>288</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>Specifies if the Application ID is based on peer-to-peer
+          technology. 
+        </paragraph>
+        <paragraph>
+          Possible values are: { "yes", "y", 1 }, 
+          { "no", "n", 2 } and { "unassigned", "u", 0 }.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>tunnelTechnology
+      </name>
+      <dataType>string</dataType>
+      <elementId>289</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>Specifies if the Application ID is used as a tunnel technology.
+        </paragraph>
+        <paragraph>
+          Possible values are: { "yes", "y", 1 }, { "no", "n", 2 } and 
+          { "unassigned", "u", 0 }.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>encryptedTechnology
+      </name>
+      <dataType>string</dataType>
+      <elementId>290</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>Specifies if the Application ID is an encrypted networking
+          protocol. 
+        </paragraph>
+        <paragraph>Possible values are: { "yes", "y", 1 }, 
+          { "no", "n", 2 } and { "unassigned", "u", 0 }.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+    <name>basicList</name>
+    <dataType>basicList</dataType>
+    <dataTypeSemantics>list</dataTypeSemantics>
+    <elementId>291</elementId>
+    <status>current</status>
+    <description>
+      <paragraph>
+        Specifies a generic Information Element with a basicList abstract
+        data type.  For example, a list of port numbers, a list of
+        interface indexes, etc.
+      </paragraph>
+    </description>
+    <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <name>subTemplateList</name>
+      <dataType>subTemplateList</dataType>
+      <dataTypeSemantics>list</dataTypeSemantics>
+      <elementId>292</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Specifies a generic Information Element with a subTemplateList
+          abstract data type.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <name>subTemplateMultiList</name>
+      <dataType>subTemplateMultiList</dataType>
+      <dataTypeSemantics>list</dataTypeSemantics>
+      <elementId>293</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Specifies a generic Information Element with a
+          subTemplateMultiList abstract data type.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <name>bgpValidityState</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>294</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This element describes the "validity state" of the BGP route correspondent source or destination IP address. If the "validity state" for this Flow is only available, then the value of this Information Element is 255.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc4271"/> for a description of BGP-4, 
+          <xref type="draft" data="draft-ietf-sidr-pfx-validate"/> for the
+          definition of "validity states" and 
+          <xref type="draft" data="draft-ietf-sidr-origin-validation-signaling"/> 
+          for the encoding of those "validity states". 
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>IPSecSPI</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>295</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          IPSec Security Parameters Index (SPI).
+        </paragraph>
+      </description>
+      <range>0x0-0xFFFFFFFF</range>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc2401"/> for the definition of SPI.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>greKey</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>296</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          GRE key, which is used for identifying an individual traffic flow within a tunnel.
+        </paragraph>
+      </description>
+      <range>0x0-0xFFFFFFFF</range>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc1701"/> for the definition of GRE and the GRE Key.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>natType</name>
+      <dataType>unsigned8</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>297</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The type of NAT treatment:
+        </paragraph>
+        <paragraph>
+          0 unknown
+        </paragraph>
+        <paragraph>
+          1 NAT44 translated
+        </paragraph>
+        <paragraph>
+          2 NAT64 translated
+        </paragraph>
+        <paragraph>
+          3 NAT46 translated
+        </paragraph>
+        <paragraph>
+          4 IPv4--&gt;IPv4 (no NAT)
+        </paragraph>
+        <paragraph>
+          5 NAT66 translated
+        </paragraph>
+        <paragraph>
+          6 IPv6--&gt;IPv6 (no NAT)
+        </paragraph>
+      </description>
+      <range/>
+      <references>
+        <paragraph>         
+          See <xref type="rfc" data="rfc3022"/> for the definition of NAT.
+          See <xref type="rfc" data="rfc1631"/> for the definition of NAT44.
+          See <xref type="rfc" data="rfc6144"/> for the definition of NAT64.
+          See <xref type="rfc" data="rfc6146"/> for the definition of NAT46.
+          See <xref type="rfc" data="rfc6296"/> for the definition of NAT66.
+          See <xref type="rfc" data="rfc791"/> for the definition of IPv4.
+          See <xref type="rfc" data="rfc2460"/> for the definition of IPv6.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>initiatorPackets</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>298</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of layer 4 packets in a flow from the
+          initiator. The initiator is the device which triggered the
+          session creation, and remains the same for the life of the
+          session.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>         
+          See #231, initiatorOctets.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    
+    <record>
+      <name>responderPackets</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>299</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The total number of layer 4 packets in a flow from the
+          responder. The responder is the device which replies to the
+          initiator, and remains the same for the life of the session.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references>
+        <paragraph>         
+          See #232, responderOctets.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>observationDomainName</name>
+      <dataType>string</dataType>
+      <elementId>300</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The name of an observation domain identified by an
+          observationDomainId.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>         
+          See #149, observationDomainId.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+    
+    <record>
+      <name>selectionSequenceId</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>301</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          From all the packets observed at an Observation Point, a subset of
+          the packets is selected by a sequence of one or more Selectors.
+          The selectionSequenceId is a unique value per Observation Domain,
+          specifying the Observation Point and the sequence of Selectors
+          through which the packets are selected.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>selectorId</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>302</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The Selector ID is the unique ID identifying a Primitive Selector.
+          Each Primitive Selector must have a unique ID in the Observation
+          Domain.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+      <xref type="rfc-errata" data="2052"/>
+    </record>
+
+    <record>
+      <name>informationElementId</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>303</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element contains the ID of another Information
+          Element.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>selectorAlgorithm</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>304</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element identifies the packet selection methods
+          (e.g., Filtering, Sampling) that are applied by the Selection
+          Process.
+          
+          Most of these methods have parameters.  Further Information
+          Elements are needed to fully specify packet selection with these
+          methods and all their parameters.
+          
+          The methods listed below are defined in [RFC5475].  For their parameters, Information Elements are defined in
+          the information model document.  The names of these Information
+          Elements are listed for each method identifier.
+          
+          Further method identifiers may be added to the list below.  It
+          might be necessary to define new Information Elements to specify
+          their parameters.
+          The selectorAlgorithm registry is maintained by IANA.  New
+          assignments for the registry will be administered by IANA, and
+          are subject to Expert Review [RFC5226].
+          
+          The registry can be updated when specifications of the new
+          method(s) and any new Information Elements are provided.
+          
+          The group of experts must double check the selectorAlgorithm
+          definitions and Information Elements with already defined
+          selectorAlgorithms and Information Elements for completeness,
+          accuracy, and redundancy.  Those experts will initially be drawn
+          from the Working Group Chairs and document editors of the IPFIX
+          and PSAMP Working Groups.
+          
+          The following packet selection methods identifiers are defined
+          here:
+          </paragraph>
+        <paragraph>
+          http://www.iana.org/assignments/psamp-parameters/psamp-parameters.xhtml
+        </paragraph>
+        <paragraph>
+          There is a broad variety of possible parameters that could be used
+          for Property match Filtering (5) but currently there are no agreed
+          parameters specified.        
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingPacketInterval</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>305</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the number of packets that are
+          consecutively sampled.  A value of 100 means that 100
+          consecutive packets are sampled.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a systematic count-based Sampling Selector.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingPacketSpace</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>306</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the number of packets between
+          two "samplingPacketInterval"s.  A value of 100 means that the next
+          interval starts 100 packets (which are not sampled) after the
+          current "samplingPacketInterval" is over.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a systematic count-based Sampling Selector.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingTimeInterval</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>307</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the time interval in
+          microseconds during which all arriving packets are sampled.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a systematic time-based Sampling Selector.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingTimeSpace</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>308</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the time interval in
+          microseconds between two "samplingTimeInterval"s.  A value of 100
+          means that the next interval starts 100 microseconds (during which
+          no packets are sampled) after the current "samplingTimeInterval"
+          is over.
+          
+          For example, this Information Element may used to describe the
+          configuration of a systematic time-based Sampling Selector.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingSize</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>309</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the number of elements taken
+          from the parent Population for random Sampling methods.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a random n-out-of-N Sampling Selector.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingPopulation</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>310</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the number of elements in the
+          parent Population for random Sampling methods.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a random n-out-of-N Sampling Selector.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>samplingProbability</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>311</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the probability that a packet
+          is sampled, expressed as a value between 0 and 1.  The probability
+          is equal for every packet.  A value of 0 means no packet was
+          sampled since the probability is 0.
+          
+          For example, this Information Element may be used to describe the
+          configuration of a uniform probabilistic Sampling Selector.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>dataLinkFrameSize</name>
+      <dataType>unsigned16</dataType>
+      <elementId>312</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the length of the selected data
+          link frame.
+          
+          The data link layer is defined in [ISO/IEC 7498-1:1994].
+        </paragraph>
+      </description>
+      <xref type="draft" data="draft-ietf-ipfix-data-link-layer-monitoring"/>
+    </record>
+
+    <record>
+      <name>ipHeaderPacketSection</name>
+      <dataType>octetArray</dataType>
+      <elementId>313</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element, which may have a variable length,
+          carries a series of octets from the start of the IP header of a
+          sampled packet.
+          
+          With sufficient length, this element also reports octets from the
+          IP payload, subject to [RFC2804].  See the Security Considerations
+          section.
+          
+          The size of the exported section may be constrained due to
+          limitations in the IPFIX protocol.
+          
+          The data for this field MUST NOT be padded.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>ipPayloadPacketSection</name>
+      <dataType>octetArray</dataType>
+      <elementId>314</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element, which may have a variable length,
+          carries a series of octets from the start of the IP payload of a
+          sampled packet.
+          
+          The IPv4 payload is that part of the packet that follows the IPv4
+          header and any options, which [RFC0791] refers to as "data" or
+          "data octets". For example, see the examples in [RFC0791], APPENDIX A.
+          
+          The IPv6 payload is the rest of the packet following the 40 octet
+          IPv6 header.  Note that any extension headers present are
+          considered part of the payload.  See [RFC2460] for the IPv6
+          specification.
+          
+          The size of the exported section may be constrained due to
+          limitations in the IPFIX protocol.
+          
+          The data for this field MUST NOT be padded.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>dataLinkFrameSection</name>
+      <dataType>octetArray</dataType>
+      <elementId>315</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element carries n octets from the data link frame
+          of a selected frame, starting sectionOffset octets into the frame.
+          
+          The sectionObservedOctets expresses how much data was observed,
+          while the remainder is padding.
+          
+          When the sectionObservedOctets field corresponding to this
+          Information Element exists, this Information Element MAY have a
+          fixed length and MAY be padded, or MAY have a variable length.
+          
+          When the sectionObservedOctets field corresponding to this
+          Information Element does not exist, this Information Element
+          SHOULD have a variable length and MUST NOT be padded.  In this
+          case, the size of the exported section may be constrained due to
+          limitations in the IPFIX protocol.
+          
+          Further Information Elements, i.e., dataLinkFrameType and
+          dataLinkFrameSize are needed to specify the data link type and the
+          size of the data link frame of this Information Element.  A set of
+          these Information Elements MAY be contained in a structured data
+          type, as expressed in <xref type="rfc" data="rfc6313"/>.  Or a set of these Information
+          Elements MAY be contained in one Flow Record as shown in Appendix
+          C of <xref type="draft" data="draft-ietf-ipfix-data-link-layer-monitoring"/>.
+          
+          The data link layer is defined in [ISO/IEC 7498-1:1994].
+        </paragraph>
+      </description>
+      <xref type="draft" data="draft-ietf-ipfix-data-link-layer-monitoring"/>
+    </record>
+
+    <record>
+      <name>mplsLabelStackSection</name>
+      <dataType>octetArray</dataType>
+      <elementId>316</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element, which may have a variable length,
+          carries the first n octets from the MPLS label stack of a sampled
+          packet.
+          
+          With sufficient length, this element also reports octets from the
+          MPLS payload, subject to [RFC2804].  See the Security
+          Considerations section.
+          
+          See [RFC3031] for the specification of MPLS packets.
+          
+          See [RFC3032] for the specification of the MPLS label stack.
+          
+          The size of the exported section may be constrained due to
+          limitations in the IPFIX protocol.
+          
+          The data for this field MUST NOT be padded.          
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>mplsPayloadPacketSection</name>
+      <dataType>octetArray</dataType>
+      <elementId>317</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element, which may have a variable length,
+          carries the first n octets from the MPLS payload of a sampled
+          packet, being data that follows immediately after the MPLS label
+          stack.
+          
+          See [RFC3031] for the specification of MPLS packets.
+          
+          See [RFC3032] for the specification of the MPLS label stack.
+          
+          The size of the exported section may be constrained due to
+          limitations in the IPFIX protocol.
+          
+          The data for this field MUST NOT be padded.          
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>selectorIdTotalPktsObserved</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>318</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the total number of packets
+          observed by a Selector, for a specific value of SelectorId.
+          
+          This Information Element should be used in an Options Template
+          scoped to the observation to which it refers.  See Section 3.4.2.1
+          of the IPFIX protocol document [RFC5101].      
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>selectorIdTotalPktsSelected</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>319</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the total number of packets
+          selected by a Selector, for a specific value of SelectorId.
+          
+          This Information Element should be used in an Options Template
+          scoped to the observation to which it refers.  See Section 3.4.2.1
+          of the IPFIX protocol document [RFC5101].
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>absoluteError</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>320</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the maximum possible
+          measurement error of the reported value for a given Information
+          Element.  The absoluteError has the same unit as the Information
+          Element with which it is associated.  The real value of the metric can
+          differ by absoluteError (positive or negative) from the measured
+          value.
+          
+          This Information Element provides only the error for measured
+          values.  If an Information Element contains an estimated value
+          (from Sampling), the confidence boundaries and confidence level
+          have to be provided instead, using the upperCILimit, lowerCILimit, 
+          and confidenceLevel Information Elements.
+          
+          This Information Element should be used in an Options Template
+          scoped to the observation to which it refers.  See Section 3.4.2.1
+          of the IPFIX protocol document [RFC5101].   
+        </paragraph>
+      </description>
+      <units>The units of the Information Element for which the error is specified.</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>relativeError</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>321</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the maximum possible positive
+          or negative error ratio for the reported value for a given
+          Information Element as percentage of the measured value.  The real
+          value of the metric can differ by relativeError percent (positive
+          or negative) from the measured value.
+          
+          This Information Element provides only the error for measured
+          values.  If an Information Element contains an estimated value
+          (from Sampling), the confidence boundaries and confidence level
+          have to be provided instead, using the upperCILimit, lowerCILimit, 
+          and confidenceLevel Information Elements.
+          
+          This Information Element should be used in an Options Template
+          scoped to the observation to which it refers.  See Section 3.4.2.1
+          of the IPFIX protocol document [RFC5101]. 
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>observationTimeSeconds</name>
+      <dataType>dateTimeSeconds</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>322</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the absolute time in seconds of
+          an observation.
+        </paragraph>
+      </description>
+      <units>seconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>observationTimeMilliseconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>323</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the absolute time in
+          milliseconds of an observation.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>observationTimeMicroseconds</name>
+      <dataType>dateTimeMicroseconds</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>324</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the absolute time in
+          microseconds of an observation.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>observationTimeNanoseconds</name>
+      <dataType>dateTimeNanoseconds</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>325</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the absolute time in
+          nanoseconds of an observation.
+        </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>digestHashValue</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>326</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the value from the digest hash
+          function.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashIPPayloadOffset</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>327</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the IP payload offset used by a
+          Hash-based Selection Selector.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashIPPayloadSize</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>328</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the IP payload size used by a
+          Hash-based Selection Selector.  See also Sections 6.2, 3.8 and 7.1 of
+          [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashOutputRangeMin</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>329</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the value for the beginning of
+          a hash function's potential output range.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashOutputRangeMax</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>330</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the value for the end of a hash
+          function's potential output range.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashSelectedRangeMin</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>331</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the value for the beginning of
+          a hash function's selected range.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashSelectedRangeMax</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>332</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the value for the end of a hash
+          function's selected range.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashDigestOutput</name>
+      <dataType>boolean</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>333</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element contains a boolean value that is TRUE if
+          the output from this hash Selector has been configured to be
+          included in the packet report as a packet digest, else FALSE.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>hashInitialiserValue</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>334</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the initialiser value to the
+          hash function.
+          
+          See also Sections 6.2, 3.8 and 7.1 of [RFC5475].
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>selectorName</name>
+      <dataType>string</dataType>
+      <elementId>335</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The name of a selector identified by a selectorID.  Globally 
+          unique per Metering Process. 
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>upperCILimit</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>336</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the upper limit of a confidence
+          interval.  It is used to provide an accuracy statement for an
+          estimated value.  The confidence limits define the range in which
+          the real value is assumed to be with a certain probability p.
+          Confidence limits always need to be associated with a confidence
+          level that defines this probability p.  Please note that a
+          confidence interval only provides a probability that the real
+          value lies within the limits.  That means the real value can lie
+          outside the confidence limits.
+          
+          The upperCILimit, lowerCILimit, and confidenceLevel Information
+          Elements should all be used in an Options Template scoped to the
+          observation to which they refer.  See Section 3.4.2.1 of the IPFIX
+          protocol document [RFC5101].
+          
+          Note that the upperCILimit, lowerCILimit, and confidenceLevel are
+          all required to specify confidence, and should be disregarded
+          unless all three are specified together.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>lowerCILimit</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>337</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the lower limit of a confidence
+          interval.  For further information, see the description of
+          upperCILimit.
+          
+          The upperCILimit, lowerCILimit, and confidenceLevel Information
+          Elements should all be used in an Options Template scoped to the
+          observation to which they refer.  See Section 3.4.2.1 of the IPFIX
+          protocol document [RFC5101].
+          
+          Note that the upperCILimit, lowerCILimit, and confidenceLevel are
+          all required to specify confidence, and should be disregarded
+          unless all three are specified together.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record>
+
+    <record>
+      <name>confidenceLevel</name>
+      <dataType>float64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>338</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          This Information Element specifies the confidence level.  It is
+          used to provide an accuracy statement for estimated values.  The
+          confidence level provides the probability p with which the real
+          value lies within a given range.  A confidence level always needs
+          to be associated with confidence limits that define the range in
+          which the real value is assumed to be.
+          
+          The upperCILimit, lowerCILimit, and confidenceLevel Information
+          Elements should all be used in an Options Template scoped to the
+          observation to which they refer.  See Section 3.4.2.1 of the IPFIX
+          protocol document [RFC5101].
+          
+          Note that the upperCILimit, lowerCILimit, and confidenceLevel are
+          all required to specify confidence, and should be disregarded
+          unless all three are specified together.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5477"/>
+    </record> 
+    <record>
+      <name>informationElementDataType</name>
+      <dataType>unsigned8</dataType>
+      <elementId>339</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A description of the abstract data type of an IPFIX
+          information element.These are taken from the abstract data types
+          defined in section 3.1 of the IPFIX Information Model [RFC5102];
+          see that section for more information on the types described
+          in the informationElementDataType sub-registry.
+          
+          These types are registered in the IANA IPFIX Information Element
+          Data Type subregistry.  This subregistry is intended to assign
+          numbers for type names, not to provide a mechanism for adding data
+          types to the IPFIX Protocol, and as such requires a Standards
+          Action [RFC5226] to modify.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementDescription</name>
+      <dataType>string</dataType>
+      <elementId>340</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A UTF-8 [RFC3629] encoded Unicode string containing a
+          human-readable description of an Information Element.  The content
+          of the informationElementDescription MAY be annotated with one or
+          more language tags [RFC4646], encoded in-line [RFC2482] within the
+          UTF-8 string, in order to specify the language in which the
+          description is written.  Description text in multiple languages
+          MAY tag each section with its own language tag; in this case, the
+          description information in each language SHOULD have equivalent
+          meaning.  In the absence of any language tag, the "i-default"
+          [RFC2277] language SHOULD be assumed.  See the Security
+          Considerations section for notes on string handling for
+          Information Element type records.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementName</name>
+      <dataType>string</dataType>
+      <elementId>341</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A UTF-8 [RFC3629] encoded Unicode string containing
+          the name of an Information Element, intended as a simple
+          identifier.  See the Security Considerations section for notes on
+          string handling for Information Element type records
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementRangeBegin</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>342</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Contains the inclusive low end of the range of
+          acceptable values for an Information Element.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementRangeEnd</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>343</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Contains the inclusive high end of the range of
+          acceptable values for an Information Element.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementSemantics</name>
+      <dataType>unsigned8</dataType>
+      <elementId>344</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A description of the semantics of an IPFIX Information
+          Element.  These are taken from the data type semantics defined in
+          section 3.2 of the IPFIX Information Model [RFC5102]; see that
+          section for more information on the types defined in the informationElementSemantics sub-registry.  This
+          field may take the values in Table ; the special value 0x00
+          (default) is used to note that no semantics apply to the field; it
+          cannot be manipulated by a Collecting Process or File Reader that
+          does not understand it a priori.
+               
+          These semantics are registered in the IANA IPFIX Information
+          Element Semantics subregistry.  This subregistry is intended to
+          assign numbers for semantics names, not to provide a mechanism for
+          adding semantics to the IPFIX Protocol, and as such requires a
+          Standards Action [RFC5226] to modify.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>informationElementUnits</name>
+      <dataType>unsigned16</dataType>
+      <elementId>345</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A description of the units of an IPFIX Information
+          Element.  These correspond to the units implicitly defined in the
+          Information Element definitions in section 5 of the IPFIX
+          Information Model [RFC5102]; see that section for more information
+          on the types described in the informationElementsUnits sub-registry.  This field may take the values in
+          Table 3 below; the special value 0x00 (none) is used to note that
+          the field is unitless.
+          
+          These types are registered in the IANA IPFIX Information Element
+          Units subregistry; new types may be added on a First Come First
+          Served [RFC5226] basis.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>privateEnterpriseNumber</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>346</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A private enterprise number, as assigned by IANA.
+          Within the context of an Information Element Type record, this
+          element can be used along with the informationElementId element to
+          scope properties to a specific Information Element.  To export
+          type information about an IANA-assigned Information Element, set
+          the privateEnterpriseNumber to 0, or do not export the
+          privateEnterpriseNumber in the type record.  To export type
+          information about an enterprise-specific Information Element,
+          export the enterprise number in privateEnterpriseNumber, and
+          export the Information Element number with the Enterprise bit
+          cleared in informationElementId.  The Enterprise bit in the
+          associated informationElementId Information Element MUST be
+          ignored by the Collecting Process.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <name>virtualStationInterfaceId</name>
+      <dataType>octetArray</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>347</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Instance Identifier of the interface to a Virtual Station. A Virtual 
+          Station is an end station instance: it can be a virtual machine or a 
+          physical host.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE 802.1Qbg for the definition of Virtual Station Interface ID.         
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>virtualStationInterfaceName</name>
+      <dataType>string</dataType>
+      <elementId>348</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Name of the interface to a Virtual Station. A Virtual Station is an end station 
+          instance: it can be a virtual machine or a physical host.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE 802.1Qbg for the definition of Virtual Station Interface.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>virtualStationUUID</name>
+      <dataType>octetArray</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>349</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Unique Identifier of a Virtual Station. A Virtual Station is an end station 
+          instance: it can be a virtual machine or a physical host.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE 802.1Qbg for the definition of Virtual Station.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>virtualStationName</name>
+      <dataType>string</dataType>
+      <elementId>350</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Name of a Virtual Station. A Virtual Station is an end station 
+          instance: it can be a virtual machine or a physical host.
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See IEEE 802.1Qbg for the definition of Virtual Station.
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>layer2SegmentId</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>351</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Identifier of a layer 2 network segment in an overlay network. 
+          The most significant byte identifies the layer 2 network 
+          overlay network encapsulation type:
+        </paragraph>
+        <paragraph>
+          0x00 reserved
+        </paragraph>
+        <paragraph>
+          0x01 VxLAN
+        </paragraph>
+        <paragraph>
+          0x02 NVGRE
+        </paragraph>
+        <paragraph>
+          The three lowest significant bytes
+          hold the value of the layer 2
+          overlay network segment identifier.
+        </paragraph>
+        <paragraph>
+          For example:
+        </paragraph>
+        <paragraph>
+          - a 24 bit segment ID VXLAN Network
+          Identifier (VNI)
+        </paragraph>
+        <paragraph>
+          - a 24 bit Tenant Network Identifier
+          (TNI) for NVGRE
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>
+          See VxLAN RFC at http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00
+        </paragraph>
+        <paragraph>
+          See NVGRE RFC at http://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record> 
+    <record>
+      <name>layer2OctetDeltaCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>352</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The number of layer 2 octets since the previous report (if any) in
+          incoming packets for this Flow at the Observation Point.  The
+          number of octets includes layer 2 header(s) and layer 2 payload.
+          # memo: layer 2 version of octetDeltaCount (field #1)
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          <xref type="draft" data="draft-kashima-ipfix-data-link-layer-monitoring"/>
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>layer2OctetTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>353</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of layer 2 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 layer 2 header(s) and layer 2 payload.
+          # memo: layer 2 version of octetTotalCount (field #85)
+        </paragraph>
+      </description>
+      <units>octets</units>
+      <references>
+        <paragraph>
+          <xref type="draft" data="draft-kashima-ipfix-data-link-layer-monitoring"/>
+        </paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressUnicastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>354</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of incoming unicast packets metered at the 
+          Observation Point since the Metering Process (re-)initialization 
+          for this Observation Point.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressMulticastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>355</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of incoming multicast packets metered at the 
+          Observation Point since the Metering Process (re-)initialization 
+          for this Observation Point.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressBroadcastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>356</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of incoming broadcast packets metered at the 
+          Observation Point since the Metering Process (re-)initialization 
+          for this Observation Point.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>egressUnicastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>357</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of incoming unicast packets metered at the 
+          Observation Point since the Metering Process (re-)initialization 
+          for this Observation Point.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>egressBroadcastPacketTotalCount</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>358</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The total number of incoming broadcast packets metered at the 
+          Observation Point since the Metering Process (re-)initialization 
+          for this Observation Point.
+        </paragraph>
+      </description>
+      <units>packets</units>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>monitoringIntervalStartMilliSeconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <elementId>359</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The absolute timestamp at which the monitoring interval
+          started.
+          A Monitoring interval is the period of time during which the Metering
+          Process is running.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>monitoringIntervalEndMilliSeconds</name>
+      <dataType>dateTimeMilliseconds</dataType>
+      <elementId>360</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The absolute timestamp at which the monitoring interval ended.
+          A Monitoring interval is the period of time during which the Metering
+          Process is running.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>portRangeStart</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>361</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The port number identifying the start of a range of ports. A value 
+          of zero indicates that the range start is not specified, ie the
+          range is defined in some other way.
+        </paragraph>
+        <paragraph>
+          Additional information on defined TCP port numbers can be found at 
+          http://www.iana.org/assignments/service-names-port-numbers.
+        </paragraph>
+      </description>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>portRangeEnd</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>362</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The port number identifying the end of a range of ports. A value 
+          of zero indicates that the range end is not specified, ie the
+          range is defined in some other way.
+        </paragraph>
+        <paragraph>
+          Additional information on defined TCP port numbers can be found at 
+          http://www.iana.org/assignments/service-names-port-numbers.
+        </paragraph>
+      </description>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>portRangeStepSize</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>363</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The step size in a port range. The default step size is 1,
+          which indicates contiguous ports. A value of zero indicates 
+          that the step size is not specified, ie the range is defined 
+          in some other way.
+        </paragraph>
+      </description>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>portRangeNumPorts</name>
+      <dataType>unsigned16</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>364</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The number of ports in a port range. A value of zero indicates 
+          that the number of ports is not specified, ie the range is defined 
+          in some other way.
+        </paragraph>
+      </description>
+      <references><paragraph/></references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>staMacAddress</name>
+      <dataType>macAddress</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>365</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The IEEE 802 MAC address of a wireless station (STA).
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>See section 1.4 of RFC5415 for the definition of STA.</paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>staIPv4Address</name>
+      <dataType>ipv4Address</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>366</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The IPv4 address of a wireless station (STA).
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>See section 1.4 of RFC5415 for the definition of STA.</paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>wtpMacAddress</name>
+      <dataType>macAddress</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>367</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The IEEE 802 MAC address of a wireless access point (WTP).
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>See section 1.4 of RFC5415 for the definition of WTP.</paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>ingressInterfaceType</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>368</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The type of interface where packets of this Flow are being received.
+          The value matches the value of managed object 'ifType' as defined in 
+          http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib</paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>egressInterfaceType</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>identifier</dataTypeSemantics>
+      <elementId>369</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>      
+          The type of interface where packets of this Flow are being sent.
+          The value matches the value of managed object 'ifType' as defined in 
+          http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib
+        </paragraph>
+      </description>
+      <references>
+        <paragraph>http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib</paragraph>
+      </references>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>rtpSequenceNumber</name>
+      <dataType>unsigned16</dataType>
+      <elementId>370</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The RTP sequence number per RFC3550.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc3550"/>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>userName</name>
+      <dataType>string</dataType>
+      <elementId>371</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          User name associated with the flow.
+        </paragraph>
+      </description>
+     <xref type="person" data="ipfix-iana_at_cisco.com"/>
+    </record>
+
+    <record>
+      <name>applicationCategoryName</name>
+      <dataType>string</dataType>
+      <elementId>372</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          An attribute that provides a first level categorization for
+          each Application ID.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>applicationSubCategoryName</name>
+      <dataType>string</dataType>
+      <elementId>373</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          An attribute that provides a second level categorization
+          for each Application ID.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+
+    <record>
+      <name>applicationGroupName</name>
+      <dataType>string</dataType>
+      <elementId>374</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          An attribute that groups multiple Application IDs that
+          belong to the same networking application.
+        </paragraph>
+      </description>
+      <xref type="rfc" data="rfc6759"/>
+    </record>
+    
+    <record>
+      <name>originalFlowsPresent</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>375</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The non-conservative count of Original Flows
+          contributing to this Aggregated Flow.  Non-conservative counts
+          need not sum to the original count on re-aggregation.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>originalFlowsInitiated</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>376</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The conservative count of Original Flows whose first
+          packet is represented within this Aggregated Flow.  Conservative
+          counts must sum to the original count on re-aggregation.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>originalFlowsCompleted</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>deltaCounter</dataTypeSemantics>
+      <elementId>377</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The conservative count of Original Flows whose last
+          packet is represented within this Aggregated Flow.  Conservative
+          counts must sum to the original count on re-aggregation.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfSourceIPAddress</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>378</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct source IP address values for
+          Original Flows contributing to this Aggregated Flow, without
+          regard to IP version.  This Information Element is preferred to
+          the IP-version-specific counters, unless it is important to
+          separate the counts by version.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfDestinationIPAddress</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>379</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct destination IP address values
+          for Original Flows contributing to this Aggregated Flow, without
+          regard to IP version.  This Information Element is preferred to
+          the version-specific counters below, unless it is important to
+          separate the counts by version.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfSourceIPv4Address</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>380</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct source IPv4 address values for
+          Original Flows contributing to this Aggregated Flow.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfDestinationIPv4Address</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>381</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct destination IPv4 address values
+          for Original Flows contributing to this Aggregated Flow.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfSourceIPv6Address</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>382</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct source IPv6 address values for
+          Original Flows contributing to this Aggregated Flow.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+    
+    <record>
+      <name>distinctCountOfDestinationIPv6Address</name>
+      <dataType>unsigned64</dataType>
+      <dataTypeSemantics>totalCounter</dataTypeSemantics>
+      <elementId>383</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          The count of distinct destination IPv6 address values
+          for Original Flows contributing to this Aggregated Flow.
+        </paragraph>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+
+    <record>
+      <name>valueDistributionMethod</name>
+      <dataType>unsigned8</dataType>
+      <elementId>384</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          A description of the method used to distribute the
+          counters from Contributing Flows into the Aggregated Flow records
+          described by an associated scope, generally a Template.  The
+          method is deemed to apply to all the non-key Information Elements
+          in the referenced scope for which value distribution is a valid
+          operation; if the originalFlowsInitiated and/or
+          originalFlowsCompleted Information Elements appear in the
+          Template, they are not subject to this distribution method, as
+          they each infer their own distribution method.  This is intended
+          to be a complete set of possible value distribution methods; it is
+          encoded as follows:
+          </paragraph>
+            <artwork>
+          +-------+-----------------------------------------------------------+
+          | Value | Description                                               |
+          +-------+-----------------------------------------------------------+
+          | 0     | Unspecified: The counters for an Original Flow are        |
+          |       | explicitly not distributed according to any other method  |
+          |       | defined for this Information Element; use for arbitrary   |
+          |       | distribution, or distribution algorithms not described by |
+          |       | any other codepoint.                                      |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 1     | Start Interval: The counters for an Original Flow are     |
+          |       | added to the counters of the appropriate Aggregated Flow  |
+          |       | containing the start time of the Original Flow.  This     |
+          |       | should be assumed the default if value distribution       |
+          |       | information is not available at a Collecting Process for  |
+          |       | an Aggregated Flow.                                       |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 2     | End Interval: The counters for an Original Flow are added |
+          |       | to the counters of the appropriate Aggregated Flow        |
+          |       | containing the end time of the Original Flow.             |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 3     | Mid Interval: The counters for an Original Flow are added |
+          |       | to the counters of a single appropriate Aggregated Flow   |
+          |       | containing some timestamp between start and end time of   |
+          |       | the Original Flow.                                        |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 4     | Simple Uniform Distribution: Each counter for an Original |
+          |       | Flow is divided by the number of time intervals the       |
+          |       | Original Flow covers (i.e., of appropriate Aggregated     |
+          |       | Flows sharing the same Flow Key), and this number is      |
+          |       | added to each corresponding counter in each Aggregated    |
+          |       | Flow.                                                     |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 5     | Proportional Uniform Distribution: Each counter for an    |
+          |       | Original Flow is divided by the number of time units the  |
+          |       | Original Flow covers, to derive a mean count rate.  This  |
+          |       | mean count rate is then multiplied by the number of time  |
+          |       | units in the intersection of the duration of the Original |
+          |       | Flow and the time interval of each Aggregated Flow.  This |
+          |       | is like simple uniform distribution, but accounts for the |
+          |       | fractional portions of a time interval covered by an      |
+          |       | Original Flow in the first and last time interval.        |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 6     | Simulated Process: Each counter of the Original Flow is   |
+          |       | distributed among the intervals of the Aggregated Flows   |
+          |       | according to some function the Intermediate Aggregation   |
+          |       | Process uses based upon properties of Flows presumed to   |
+          |       | be like the Original Flow.  This is essentially an        |
+          |       | assertion that the Intermediate Aggregation Process has   |
+          |       | no direct packet timing information but is nevertheless   |
+          |       | not using one of the other simpler distribution methods.  |
+          |       | The Intermediate Aggregation Process specifically makes   |
+          |       | no assertion as to the correctness of the simulation.     |
+          |       | --------------------------------------------------------- |
+          |       |                                                           |
+          | 7     | Direct: The Intermediate Aggregation Process has access   |
+          |       | to the original packet timings from the packets making up |
+          |       | the Original Flow, and uses these to distribute or        |
+          |       | recalculate the counters.                                 |
+          +-------+-----------------------------------------------------------+
+            </artwork>
+      </description>
+      <xref type="draft" data="RFC-ietf-ipfix-a9n-08"/>
+    </record>
+
+    <record>
+      <name>rfc3550JitterMeanMilliseconds</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>385</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Interarrival jitter as defined in section 6.4.1 of <xref type="rfc" data="rfc3550"/>, 
+          measured in milliseconds.
+        </paragraph>
+      </description>
+      <units>milliseconds</units>
+      <xref type="rfc" data="rfc3550"/>
+    </record>
+    
+    <record>
+      <name>rfc3550JitterMeanMicroseconds</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>386</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Interarrival jitter as defined in section 6.4.1 of <xref type="rfc" data="rfc3550"/>, 
+          measured in microseconds.
+        </paragraph>
+      </description>
+      <units>microseconds</units>
+      <xref type="rfc" data="rfc3550"/>
+    </record>
+    
+    <record>
+      <name>rfc3550JitterMeanNanoseconds</name>
+      <dataType>unsigned32</dataType>
+      <dataTypeSemantics>quantity</dataTypeSemantics>
+      <elementId>387</elementId>
+      <status>current</status>
+      <description>
+        <paragraph>
+          Interarrival jitter as defined in section 6.4.1 of <xref type="rfc" data="rfc3550"/>, 
+          measured in nanoseconds.
+        </paragraph>
+      </description>
+      <units>nanoseconds</units>
+      <xref type="rfc" data="rfc3550"/>
+    </record>
+
+
+    <record>
+      <elementId>388-32767</elementId>
+      <unassigned/>
+    </record>
+    
+    
+    <registry id="ipfix-mpls-label-type">
+      <title>IPFIX MPLS label type (Value 46)</title>
+      <registration_rule>Expert Review</registration_rule>
+      <expert>Primary expert - Nevil Brownlee and Secondary expert - Juergen Quittek</expert>
+      <xref type="rfc" data="rfc5102"/>
+      
+      <record>
+        <value>1</value>
+        <description>TE-MIDPT: Any TE tunnel mid-point or tail label</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+
+      <record>
+        <value>2</value>
+        <description>Pseudowire: Any PWE3 or Cisco AToM based label</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+
+      <record>
+        <value>3</value>
+        <description>VPN: Any label associated with VPN</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+
+      <record>
+        <value>4</value>
+        <description>BGP: Any label associated with BGP or BGP routing</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+
+      <record>
+        <value>5</value>
+        <description>LDP: Any label associated with dynamically assigned labels using LDP</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+
+      <record>
+        <value>6-255</value>
+        <description>Unassigned</description>
+        <xref type="rfc" data="rfc5102"/>
+      </record>
+    </registry>
+    
+    
+    
+    <registry id="classification-engine-ids">
+      <title>Classification Engine IDs (Value 101)</title>
+      <registration_rule>Expert Review</registration_rule>
+      <expert>Primary expert - Nevil Brownlee and Secondary expert - Juergen Quittek</expert>
+      <xref type="rfc" data="rfc6759"/>
+      
+      <record>
+        <value>0</value>
+        <description>Invalid.</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>1</value>
+        <description>IANA-L3: The Assigned Internet Protocol Number (layer 3 (L3)) is exported in the Selector ID. See http://www.iana.org/assignments/protocol-numbers.
+        </description>
+        <length>1</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>2</value>
+        <description>PANA-L3: Proprietary layer 3 definition. An enterprise can export its own layer 3 protocol numbers. The Selector ID has a global significance for all devices from the same enterprise.
+        </description>
+        <length>1</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>3</value>
+        <description>IANA-L4: The IANA layer 4 (L4) well-known port
+          number is exported in the Selector ID. See [http://www.iana.org/assignments/service-names-port-numbers]. Note: as an IPFIX flow is unidirectional,
+          it contains the destination port in a flow from
+          the client to the server.
+        </description>
+        <length>2</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>4</value>
+        <description>PANA-L4: Proprietary layer 4 definition. An
+          enterprise can export its own layer 4 port
+          numbers. The Selector ID has global significance
+          for devices from the same enterprise. Example:
+          IPFIX had the port 4739 pre-assigned in the IETF
+          draft for years. While waiting for the RFC and its
+          associated IANA registration, the Selector ID 4739
+          was used with this PANA-L4.
+        </description>
+        <length>2</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>5</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>6</value>
+        <description>USER-Defined: The Selector ID represents
+          applications defined by the user (using CLI, GUI,
+          etc.) based on the methods described in section 2.
+          The Selector ID has a local significance per
+          device.
+        </description>
+        <length>3</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>7</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>8</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>9</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>10</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>11</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>12</value>
+        <description>PANA-L2: Proprietary layer 2 (L2) definition.  An
+          enterprise can export its own layer 2 identifiers.
+          The Selector ID represents the enterprise's unique
+          global layer 2 applications. The Selector ID has a
+          global significance for all devices from the same
+          enterprise. Examples include Cisco Subnetwork
+          Access Protocol (SNAP).
+        </description>
+        <length>5</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+      
+      <record>
+        <value>13</value>
+        <description>PANA-L7: Proprietary layer 7 definition. The
+          Selector ID represents the enterprise's unique
+          global ID for the layer 7 applications. The
+          Selector ID has a global significance for all
+          devices from the same enterprise. This
+          Classification Engine Id is used when the
+          application registry is owned by the Exporter
+          manufacturer (referred to as the "enterprise" in
+          this document).
+        </description>
+        <length>3</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+      
+      <record>
+        <value>14</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+      
+      <record>
+        <value>15</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+      
+      <record>
+        <value>16</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+      
+      <record>
+        <value>17</value>
+        <description>Reserved</description>
+        <length/>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>18</value>
+        <description>ETHERTYPE: The Selector ID represents the well-
+          known Ethertype. See http://standards.ieee.org/develop/regauth/ethertype/eth.txt. 
+          Note that the Ethertype is usually expressed in 
+          hexadecimal. However, the corresponding decimal 
+          value is used in this Selector ID.
+        </description>
+        <length>2</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>
+
+      <record>
+        <value>19</value>
+        <description>LLC: The Selector ID represents the well-known
+          IEEE 802.2 Link Layer Control (LLC) Destination
+          Service Access Point (DSAP). 
+          See http://standards.ieee.org/develop/regauth/llc/public.html. 
+          Note that LLC DSAP is usually expressed in 
+          hexadecimal. However, the corresponding decimal 
+          value is used in this Selector ID.
+        </description>
+        <length>1</length>
+        <xref type="rfc" data="rfc6759"/>
+      </record>    
+      
+      <record>
+        <value>20</value>
+        <description>PANA-L7-PEN: Proprietary layer 7 definition,
+          including a Private Enterprise Number (PEN) 
+          [http://www.iana.org/assignments/enterprise-numbers]
+          to identify that the application registry being
+          used is not owned by the Exporter manufacturer or to identify the
+          original enterprise in the case of a mediator or
+          3rd party device. The Selector ID represents the
+          enterprise unique global ID for the layer 7
+          applications. The Selector ID has a global
+          significance for all devices from the same
+          enterprise.
+          </description>
+        <length>3</length>
+      <xref type="rfc" data="rfc6759"/>
+      </record>
+    
+    </registry>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-version-numbers">
+    <title>IPFIX Version Numbers</title>
+    <xref type="rfc" data="rfc5101"/>
+    <registration_rule>Standards Action</registration_rule>
+    
+    <record>
+      <value>0</value>
+      <description>Reserved</description>
+    </record>
+
+    <record>
+      <value>1-8</value>
+      <description>Reserved (historic)</description>
+    </record>
+
+    <record>
+      <value>9</value>
+      <description>Cisco Systems NetFlow Version 9 (historic)</description>
+      <xref type="rfc" data="rfc3954"/>
+    </record>
+
+    <record>
+      <value>10</value>
+      <description>IPFIX as documented in RFC5101</description>
+      <xref type="rfc" data="rfc5101"/>
+    </record>
+
+    <record>
+      <value>11-65535</value>
+      <description>Unassigned</description>
+    </record>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-set-ids">
+    <title>IPFIX Set IDs</title>
+    <xref type="rfc" data="rfc5101"/>
+    <registration_rule>Standards Action</registration_rule>
+    
+    <record>
+      <value>0-1</value>
+      <description>Not used (historic)</description>
+      <xref type="rfc" data="rfc3954"/>
+    </record>
+
+    <record>
+      <value>2</value>
+      <description>Template Set</description>
+      <xref type="rfc" data="rfc5101"/>
+    </record>
+
+    <record>
+      <value>3</value>
+      <description>Option Template Set</description>
+      <xref type="rfc" data="rfc5101"/>
+    </record>
+
+    <record>
+      <value>4-255</value>
+      <description>Unassigned</description>
+      <xref type="rfc" data="rfc5101"/>
+    </record>
+
+    <record>
+      <value>256-65535</value>
+      <description>Reserved for Data Sets</description>
+      <xref type="rfc" data="rfc5101"/>
+    </record>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-information-element-data-types">
+    <title>IPFIX Information Element Data Types</title>
+    <xref type="rfc" data="rfc5610"/>
+    <registration_rule>Standards Action</registration_rule>
+
+    
+    
+    <record>
+      <value>0</value>
+      <description>octetArray</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>1</value>
+      <description>unsigned8</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>2</value>
+      <description>unsigned16</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>3</value>
+      <description>unsigned32</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>4</value>
+      <description>unsigned64</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>5</value>
+      <description>signed8</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>6</value>
+      <description>signed16</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>7</value>
+      <description>signed32</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>8</value>
+      <description>signed64</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>9</value>
+      <description>float32</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>10</value>
+      <description>float64</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>11</value>
+      <description>boolean</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>12</value>
+      <description>macAddress</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>13</value>
+      <description>string</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>14</value>
+      <description>dateTimeSeconds</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>15</value>
+      <description>dateTimeMilliseconds</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>16</value>
+      <description>dateTimeMicroseconds</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>17</value>
+      <description>dateTimeNanoseconds</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>18</value>
+      <description>ipv4Address</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>19</value>
+      <description>ipv6Address</description>
+      <xref type="rfc" data="rfc5102"/>
+    </record>
+
+    <record>
+      <value>20</value>
+      <description>basicList</description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>21</value>
+      <description>subTemplateList</description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>22</value>
+      <description>subTemplateMultiList</description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>23-255</value>
+      <description>Unassigned</description>
+    </record>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-information-element-semantics">
+    <title>IPFIX Information Element Semantics</title>
+    <xref type="rfc" data="rfc5610"/>
+    <registration_rule>Standards Action</registration_rule>
+    
+    
+    
+    <record>
+      <value>0</value>
+      <description>default</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>1</value>
+      <description>quantity</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>2</value>
+      <description>totalCounter</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>3</value>
+      <description>deltaCounter</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>4</value>
+      <description>identifier</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>5</value>
+      <description>flags</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>6</value>
+      <description>list</description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>7-255</value>
+      <description>Unassigned</description>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-information-element-units">
+    <title>IPFIX Information Element Units</title>
+    <xref type="rfc" data="rfc5610"/>
+    <registration_rule>Expert Review</registration_rule>
+    
+    <record>
+      <value>0</value>
+      <description>none</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>1</value>
+      <description>bits</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>2</value>
+      <description>octets</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>3</value>
+      <description>packets</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>4</value>
+      <description>flows</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>5</value>
+      <description>seconds</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>6</value>
+      <description>milliseconds</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>7</value>
+      <description>microseconds</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>8</value>
+      <description>nanoseconds</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>9</value>
+      <description>4-octet words</description>
+      <comments>for IPv4 header length</comments>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>10</value>
+      <description>messages</description>
+      <comments>for reliability reporting</comments>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>11</value>
+      <description>hops</description>
+      <comments>for TTL</comments>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>12</value>
+      <description>entries</description>
+      <comments>for MPLS label stack</comments>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+
+    <record>
+      <value>13-65535</value>
+      <description>Unassigned</description>
+      <comments/>
+      <xref type="rfc" data="rfc5610"/>
+    </record>
+    
+  </registry>
+  
+  
+  
+  <registry id="ipfix-structured-data-types-semantics">
+    <title>IPFIX Structured Data Types Semantics</title>
+    <xref type="rfc" data="rfc6313"/>
+    <registration_rule>Standards Action</registration_rule>
+    
+    <record>
+      <value>0x00</value>
+      <name>noneOf</name>
+      <description>The "noneOf" structured data type semantic specifies
+        that none of the elements are actual properties of the Data
+        Record.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>0x01</value>
+      <name>exactlyOneOf</name>
+      <description>The "exactlyOneOf" structured data type semantic
+        specifies that only a single element from the structured data is
+        an actual property of the Data Record.  This is equivalent to a
+        logical XOR operation.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>0x02</value>
+      <name>oneOrMoreOf</name>
+      <description>The "oneOrMoreOf" structured data type semantic
+        specifies that one or more elements from the list in the
+        structured data are actual properties of the Data Record.  This is
+        equivalent to a logical OR operation.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>0x03</value>
+      <name>allOf</name>
+      <description>The "allOf" structured data type semantic specifies
+        that all of the list elements from the structured data are actual
+        properties of the Data Record.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>0x04</value>
+      <name>ordered</name>
+      <description>The "ordered" structured data type semantic specifies
+        that elements from the list in the structured data are ordered.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+
+    <record>
+      <value>0x05-0xFE</value>
+      <name/>
+      <description>unassigned
+      </description>
+    </record>
+
+    <record>
+      <value>0xFF</value>
+      <name>undefined</name>
+      <description>The "undefined" structured data type semantic
+        specifies that the semantic of the list elements is not specified and
+        that, if a semantic exists, then it is up to the Collecting
+        Process to draw its own conclusions.  The "undefined" structured
+        data type semantic is the default structured data type semantic.
+      </description>
+      <xref type="rfc" data="rfc6313"/>
+    </record>
+    
+  </registry>
+  
+  <people>
+    <person id="ipfix-iana_at_cisco.com">
+      <name>ipfix-iana at cisco.com</name>
+      <uri>mailto:ipfix-iana&amp;cisco.com</uri>
+      <updated>2012-09-20</updated>
+    </person>
+  </people>
+  
+</registry>
diff --git a/ofproto/ofproto-dpif-ipfix.c b/ofproto/ofproto-dpif-ipfix.c
index cda8796..75401ed 100644
--- a/ofproto/ofproto-dpif-ipfix.c
+++ b/ofproto/ofproto-dpif-ipfix.c
@@ -14,12 +14,19 @@
  * limitations under the License.
  */
 
+#include <netinet/in.h>
+
 #include <config.h>
 #include "ofproto-dpif-ipfix.h"
+#include "byte-order.h"
 #include "collectors.h"
+#include "flow.h"
+#include "ofpbuf.h"
 #include "ofproto.h"
+#include "packets.h"
 #include "sset.h"
 #include "util.h"
+#include "timeval.h"
 #include "vlog.h"
 
 VLOG_DEFINE_THIS_MODULE(ipfix);
@@ -32,13 +39,146 @@ static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5);
 struct dpif_ipfix {
     struct collectors *collectors;
     struct ofproto_ipfix_options *options;
+    struct ofpbuf msg;
+    uint32_t seq_number;
+    time_t last_template_set_time;
+};
+
+#define IPFIX_VERSION 0x000a
+
+/* When using UDP, IPFIX Template Records must be re-sent regularly.
+ * The standard default interval is 10 minutes (600 seconds).
+ * Cf. IETF RFC 5101 Section 10.3.6. */
+#define IPFIX_TEMPLATE_INTERVAL 600
+
+/* Cf. IETF RFC 5101 Section 3.1. */
+struct ipfix_header {
+    ovs_be16 version;  /* IPFIX_VERSION. */
+    ovs_be16 length;  /* Length in bytes including this header. */
+    ovs_be32 export_time;  /* Seconds since the epoch. */
+    ovs_be32 seq_number;  /* Message sequence number. */
+    ovs_be32 obs_domain_id;  /* Observation Domain ID. */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_header) == 16);
+
+#define IPFIX_SET_ID_TEMPLATE 2
+#define IPFIX_SET_ID_OPTION_TEMPLATE 3
+
+/* Cf. IETF RFC 5101 Section 3.3.2. */
+struct ipfix_set_header {
+    ovs_be16 set_id;  /* IPFIX_SET_ID_* or valid template ID for Data Sets. */
+    ovs_be16 length;  /* Length of the set in bytes including header. */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_set_header) == 4);
+
+/* Alternatives for templates at each layer.  A template is defined by
+ * a combination of one value for each layer. */
+enum ipfix_proto_l2 {
+    IPFIX_PROTO_L2_ETH = 0,  /* No VLAN. */
+    IPFIX_PROTO_L2_VLAN,
+    NUM_IPFIX_PROTO_L2
+};
+enum ipfix_proto_l3 {
+    IPFIX_PROTO_L3_UNKNOWN = 0,
+    IPFIX_PROTO_L3_IPV4,
+    IPFIX_PROTO_L3_IPV6,
+    NUM_IPFIX_PROTO_L3
+};
+enum ipfix_proto_l4 {
+    IPFIX_PROTO_L4_UNKNOWN = 0,
+    IPFIX_PROTO_L4_TCP_UDP,
+    NUM_IPFIX_PROTO_L4
+};
+
+/* Any Template ID > 255 is usable for Template Records. */
+#define IPFIX_TEMPLATE_ID_MIN 256
+
+/* Cf. IETF RFC 5101 Section 3.4.1. */
+struct ipfix_template_record_header {
+    ovs_be16 template_id;
+    ovs_be16 field_count;
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_template_record_header) == 4);
+
+enum ipfix_entity_id {
+#define IPFIX_ENTITY(ENUM, ID, SIZE, NAME)  IPFIX_ENTITY_ID_##ENUM = ID,
+#include "ofproto/ipfix-entities.def"
 };
 
+enum ipfix_entity_size {
+#define IPFIX_ENTITY(ENUM, ID, SIZE, NAME)  IPFIX_ENTITY_SIZE_##ENUM = SIZE,
+#include "ofproto/ipfix-entities.def"
+};
+
+struct ipfix_template_field_specifier {
+    ovs_be16 element_id;  /* IPFIX_ENTITY_ID_*. */
+    ovs_be16 field_length;  /* Length of the field's value, in bytes. */
+    /* No Enterprise ID, since only standard element IDs are specified. */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_template_field_specifier) == 4);
+
+/* Part of data record for common metadata and Ethernet entities. */
+struct ipfix_data_record_common {
+    ovs_be32 observation_point_id;  /* OBSERVATION_POINT_ID */
+    ovs_be64 packet_delta_count;  /* PACKET_DELTA_COUNT */
+    ovs_be64 layer2_octet_delta_count;  /* LAYER2_OCTET_DELTA_COUNT */
+    uint8_t source_mac_address[6];  /* SOURCE_MAC_ADDRESS */
+    uint8_t destination_mac_address[6];  /* DESTINATION_MAC_ADDRESS */
+    ovs_be16 ethernet_type;  /* ETHERNET_TYPE */
+    ovs_be16 ethernet_total_length;  /* ETHERNET_TOTAL_LENGTH */
+    uint8_t ethernet_header_length;  /* ETHERNET_HEADER_LENGTH */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_common) == 37);
+
+/* Part of data record for VLAN entities. */
+struct ipfix_data_record_vlan {
+    ovs_be16 vlan_id;  /* VLAN_ID */
+    ovs_be16 dot1q_vlan_id;  /* DOT1Q_VLAN_ID */
+    uint8_t dot1q_priority;  /* DOT1Q_PRIORITY */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_vlan) == 5);
+
+/* Part of data record for IP entities. */
+struct ipfix_data_record_ip {
+    uint8_t ip_version;  /* IP_VERSION */
+    uint8_t ip_ttl;  /* IP_TTL */
+    uint8_t protocol_identifier;  /* PROTOCOL_IDENTIFIER */
+    uint8_t ip_diff_serv_code_point;  /* IP_DIFF_SERV_CODE_POINT */
+    uint8_t ip_precedence;  /* IP_PRECEDENCE */
+    uint8_t ip_class_of_service;  /* IP_CLASS_OF_SERVICE */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_ip) == 6);
+
+/* Part of data record for IPv4 entities. */
+struct ipfix_data_record_ipv4 {
+    ovs_be32 source_ipv4_address;  /* SOURCE_IPV4_ADDRESS */
+    ovs_be32 destination_ipv4_address;  /* DESTINATION_IPV4_ADDRESS */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_ipv4) == 8);
+
+/* Part of data record for IPv4 entities. */
+struct ipfix_data_record_ipv6 {
+    uint8_t source_ipv6_address[16];  /* SOURCE_IPV6_ADDRESS */
+    uint8_t destination_ipv6_address[16];  /* DESTINATION_IPV6_ADDRESS */
+    ovs_be32 flow_label_ipv6;  /* FLOW_LABEL_IPV6 */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_ipv6) == 36);
+
+/* Part of data record for TCP/UDP entities. */
+struct ipfix_data_record_tcpudp {
+    ovs_be16 source_transport_port;  /* SOURCE_TRANSPORT_PORT */
+    ovs_be16 destination_transport_port;  /* DESTINATION_TRANSPORT_PORT */
+} __attribute__((packed));
+BUILD_ASSERT_DECL(sizeof(struct ipfix_data_record_tcpudp) == 4);
+
 struct dpif_ipfix *
 dpif_ipfix_create(void)
 {
     struct dpif_ipfix *di;
     di = xzalloc(sizeof *di);
+    ofpbuf_init(&di->msg, 1500);
+    di->seq_number = 1;
+    di->last_template_set_time = TIME_MIN;
     return di;
 }
 
@@ -123,4 +263,307 @@ dpif_ipfix_clear(struct dpif_ipfix *di)
     di->collectors = NULL;
     ofproto_ipfix_options_destroy(di->options);
     di->options = NULL;
+    ofpbuf_uninit(&di->msg);
+}
+
+static void
+ipfix_init_header(uint32_t seq_number, uint32_t obs_domain_id,
+                  struct ofpbuf *msg)
+{
+    struct ipfix_header *hdr;
+
+    hdr = ofpbuf_put_zeros(msg, sizeof *hdr);
+    hdr->version = htons(IPFIX_VERSION);
+    hdr->length = htons(sizeof *hdr);  /* Updated in ipfix_send_msg. */
+    hdr->export_time = htonl(time_wall());
+    hdr->seq_number = htonl(seq_number);
+    hdr->obs_domain_id = htonl(obs_domain_id);
+}
+
+static void
+ipfix_send_msg(const struct collectors *collectors, struct ofpbuf *msg)
+{
+    struct ipfix_header *hdr;
+
+    /* Adjust the length in the header. */
+    hdr = msg->data;
+    hdr->length = htons(msg->size);
+
+    collectors_send(collectors, msg->data, msg->size);
+    msg->size = 0;
+}
+
+static uint16_t
+ipfix_get_template_id(enum ipfix_proto_l2 l2, enum ipfix_proto_l3 l3,
+                      enum ipfix_proto_l4 l4)
+{
+    uint16_t template_id;
+    template_id = l2;
+    template_id = template_id * NUM_IPFIX_PROTO_L3 + l3;
+    template_id = template_id * NUM_IPFIX_PROTO_L4 + l4;
+    return IPFIX_TEMPLATE_ID_MIN + template_id;
+}
+
+static void
+ipfix_define_template_entity(enum ipfix_entity_id id,
+                             enum ipfix_entity_size size, struct ofpbuf *msg)
+{
+    struct ipfix_template_field_specifier *field;
+
+    field = ofpbuf_put_zeros(msg, sizeof *field);
+    field->element_id = htons(id);
+    field->field_length = htons(size);
+}
+
+static uint16_t
+ipfix_define_template_fields(enum ipfix_proto_l2 l2, enum ipfix_proto_l3 l3,
+                             enum ipfix_proto_l4 l4, struct ofpbuf *msg)
+{
+    uint16_t count = 0;
+
+#define DEF(ID) \
+    { \
+        ipfix_define_template_entity(IPFIX_ENTITY_ID_##ID, \
+                                     IPFIX_ENTITY_SIZE_##ID, msg); \
+        count++; \
+    }
+
+    DEF(OBSERVATION_POINT_ID);
+    DEF(PACKET_DELTA_COUNT);
+    DEF(LAYER2_OCTET_DELTA_COUNT);
+
+    /* Common Ethernet entities. */
+    DEF(SOURCE_MAC_ADDRESS);
+    DEF(DESTINATION_MAC_ADDRESS);
+    DEF(ETHERNET_TYPE);
+    DEF(ETHERNET_TOTAL_LENGTH);
+    DEF(ETHERNET_HEADER_LENGTH);
+
+    if (l2 == IPFIX_PROTO_L2_VLAN) {
+        DEF(VLAN_ID);
+        DEF(DOT1Q_VLAN_ID);
+        DEF(DOT1Q_PRIORITY);
+    }
+
+    if (l3 != IPFIX_PROTO_L3_UNKNOWN) {
+        DEF(IP_VERSION);
+        DEF(IP_TTL);
+        DEF(PROTOCOL_IDENTIFIER);
+        DEF(IP_DIFF_SERV_CODE_POINT);
+        DEF(IP_PRECEDENCE);
+        DEF(IP_CLASS_OF_SERVICE);
+
+        if (l3 == IPFIX_PROTO_L3_IPV4) {
+            DEF(SOURCE_IPV4_ADDRESS);
+            DEF(DESTINATION_IPV4_ADDRESS);
+        } else {  /* l3 == IPFIX_PROTO_L3_IPV6 */
+            DEF(SOURCE_IPV6_ADDRESS);
+            DEF(DESTINATION_IPV6_ADDRESS);
+            DEF(FLOW_LABEL_IPV6);
+        }
+    }
+
+    if (l4 != IPFIX_PROTO_L4_UNKNOWN) {
+        DEF(SOURCE_TRANSPORT_PORT);
+        DEF(DESTINATION_TRANSPORT_PORT);
+    }
+
+#undef DEF
+
+    return count;
+}
+
+static void
+ipfix_send_template_msg(struct dpif_ipfix *di)
+{
+    struct ofpbuf *msg;
+    size_t set_hdr_offset, tmpl_hdr_offset;
+    struct ipfix_set_header *set_hdr;
+    struct ipfix_template_record_header *tmpl_hdr;
+    uint16_t field_count;
+    enum ipfix_proto_l2 l2;
+    enum ipfix_proto_l3 l3;
+    enum ipfix_proto_l4 l4;
+
+    msg = &di->msg;
+
+    ipfix_init_header(di->seq_number, di->options->obs_domain_id, msg);
+    set_hdr_offset = msg->size;
+
+    /* Add a Template Set. */
+    set_hdr = ofpbuf_put_zeros(msg, sizeof *set_hdr);
+    set_hdr->set_id = htons(IPFIX_SET_ID_TEMPLATE);
+
+    /* Define one template for each possible combination of
+     * protocols. */
+    for (l2 = 0; l2 < NUM_IPFIX_PROTO_L2; l2++) {
+        for (l3 = 0; l3 < NUM_IPFIX_PROTO_L3; l3++) {
+            for (l4 = 0; l4 < NUM_IPFIX_PROTO_L4; l4++) {
+                if (l3 == IPFIX_PROTO_L3_UNKNOWN &&
+                    l4 != IPFIX_PROTO_L4_UNKNOWN) {
+                    continue;
+                }
+                tmpl_hdr_offset = msg->size;
+                tmpl_hdr = ofpbuf_put_zeros(msg, sizeof *tmpl_hdr);
+                tmpl_hdr->template_id = htons(
+                    ipfix_get_template_id(l2, l3, l4));
+                field_count = ipfix_define_template_fields(l2, l3, l4, msg);
+                tmpl_hdr = (struct ipfix_template_record_header*)
+                    ((uint8_t*)msg->data + tmpl_hdr_offset);
+                tmpl_hdr->field_count = htons(field_count);
+            }
+        }
+    }
+
+    set_hdr = (struct ipfix_set_header*)((uint8_t*)msg->data + set_hdr_offset);
+    set_hdr->length = htons(msg->size - set_hdr_offset);
+
+    /* TODO: Add Options Template Sets, at least to define a Flow Keys
+     * Option Template. */
+
+    ipfix_send_msg(di->collectors, msg);
+}
+
+static void
+ipfix_send_data_msg(struct dpif_ipfix *di, struct ofpbuf *packet,
+                    const struct flow *flow, uint16_t probability,
+                    uint32_t obs_point_id)
+{
+    struct ofpbuf *msg;
+    size_t set_hdr_offset;
+    struct ipfix_set_header *set_hdr;
+    uint64_t packet_delta_count;
+    uint64_t layer2_octet_delta_count;
+    enum ipfix_proto_l2 l2;
+    enum ipfix_proto_l3 l3;
+    enum ipfix_proto_l4 l4;
+    uint16_t ethernet_total_length;
+    uint8_t ethernet_header_length;
+    struct ipfix_data_record_common *data_common;
+    struct ipfix_data_record_vlan *data_vlan;
+    struct ipfix_data_record_ip *data_ip;
+    struct ipfix_data_record_ipv4 *data_ipv4;
+    struct ipfix_data_record_ipv6 *data_ipv6;
+    struct ipfix_data_record_tcpudp *data_tcpudp;
+
+    msg = &di->msg;
+
+    ipfix_init_header(di->seq_number, di->options->obs_domain_id, msg);
+    di->seq_number++;
+    set_hdr_offset = msg->size;
+
+    /* Choose the right template ID matching the protocols in the
+     * sampled packet. */
+    l2 = (flow->vlan_tci == 0) ? IPFIX_PROTO_L2_ETH : IPFIX_PROTO_L2_VLAN;
+
+    switch(ntohs(flow->dl_type)) {
+    case ETH_TYPE_IP:
+        l3 = IPFIX_PROTO_L3_IPV4;
+        break;
+    case ETH_TYPE_IPV6:
+        l3 = IPFIX_PROTO_L3_IPV6;
+        break;
+    default:
+        l3 = IPFIX_PROTO_L3_UNKNOWN;
+    }
+
+    l4 = IPFIX_PROTO_L4_UNKNOWN;
+    if (l3 != IPFIX_PROTO_L3_UNKNOWN) {
+        switch(flow->nw_proto) {
+        case IPPROTO_TCP:  /* TCP */
+        case IPPROTO_UDP:  /* UDP */
+            l4 = IPFIX_PROTO_L4_TCP_UDP;
+            break;
+        }
+    }
+
+    /* Add a Data Set. */
+    set_hdr = ofpbuf_put_zeros(msg, sizeof *set_hdr);
+    set_hdr->set_id = htons(ipfix_get_template_id(l2, l3, l4));
+
+    /* The fields defined in the ipfix_data_record_* structs and sent
+     * below must match exactly the templates defined in
+     * ipfix_define_template_fields. */
+
+    ethernet_total_length = packet->size;
+    ethernet_header_length = (l2 == IPFIX_PROTO_L2_VLAN)
+        ? VLAN_ETH_HEADER_LEN : ETH_HEADER_LEN;
+
+    /* Use the sampling probability as an approximation of the number
+     * of matched packets.  Calculate the total matched octet count by
+     * considering as an approximation that all matched packets have
+     * the same length. */
+    packet_delta_count = USHRT_MAX / probability;
+    layer2_octet_delta_count = packet_delta_count * ethernet_total_length;
+
+    /* Common Ethernet entities. */
+    data_common = ofpbuf_put_zeros(msg, sizeof *data_common);
+    data_common->observation_point_id = htonl(obs_point_id);
+    data_common->packet_delta_count = htonll(packet_delta_count);
+    data_common->layer2_octet_delta_count = htonll(layer2_octet_delta_count);
+    memcpy(data_common->source_mac_address, flow->dl_src,
+           sizeof flow->dl_src);
+    memcpy(data_common->destination_mac_address, flow->dl_dst,
+           sizeof flow->dl_dst);
+    data_common->ethernet_type = flow->dl_type;
+    data_common->ethernet_total_length = htons(ethernet_total_length);
+    data_common->ethernet_header_length = ethernet_header_length;
+
+    if (l2 == IPFIX_PROTO_L2_VLAN) {
+        uint16_t vlan_id = vlan_tci_to_vid(flow->vlan_tci);
+        uint8_t priority = vlan_tci_to_pcp(flow->vlan_tci);
+
+        data_vlan = ofpbuf_put_zeros(msg, sizeof *data_vlan);
+        data_vlan->vlan_id = htons(vlan_id);
+        data_vlan->dot1q_vlan_id = htons(vlan_id);
+        data_vlan->dot1q_priority = priority;
+    }
+
+    if (l3 != IPFIX_PROTO_L3_UNKNOWN) {
+        data_ip = ofpbuf_put_zeros(msg, sizeof *data_ip);
+        data_ip->ip_version = (l3 == IPFIX_PROTO_L3_IPV4) ? 4 : 6;
+        data_ip->ip_ttl = flow->nw_ttl;
+        data_ip->protocol_identifier = flow->nw_proto;
+        data_ip->ip_diff_serv_code_point = flow->nw_tos >> 2;
+        data_ip->ip_precedence = flow->nw_tos >> 5;
+        data_ip->ip_class_of_service = flow->nw_tos;
+
+        if (l3 == IPFIX_PROTO_L3_IPV4) {
+            data_ipv4 = ofpbuf_put_zeros(msg, sizeof *data_ipv4);
+            data_ipv4->source_ipv4_address = flow->nw_src;
+            data_ipv4->destination_ipv4_address = flow->nw_dst;
+        } else {  /* l3 == IPFIX_PROTO_L3_IPV6 */
+            data_ipv6 = ofpbuf_put_zeros(msg, sizeof *data_ipv6);
+            memcpy(data_ipv6->source_ipv6_address, &flow->ipv6_src,
+                   sizeof flow->ipv6_src);
+            memcpy(data_ipv6->destination_ipv6_address, &flow->ipv6_dst,
+                   sizeof flow->ipv6_dst);
+            data_ipv6->flow_label_ipv6 = flow->ipv6_label;
+        }
+    }
+
+    if (l4 != IPFIX_PROTO_L4_UNKNOWN) {
+        data_tcpudp = ofpbuf_put_zeros(msg, sizeof *data_tcpudp);
+        data_tcpudp->source_transport_port = flow->tp_src;
+        data_tcpudp->destination_transport_port = flow->tp_dst;
+    }
+
+    set_hdr = (struct ipfix_set_header*)((uint8_t*)msg->data + set_hdr_offset);
+    set_hdr->length = htons(msg->size - set_hdr_offset);
+
+    ipfix_send_msg(di->collectors, msg);
+}
+
+void
+dpif_ipfix_sample(struct dpif_ipfix *di, struct ofpbuf *packet,
+                  const struct flow *flow, uint16_t probability,
+                  uint32_t obs_point_id)
+{
+    time_t now = time_wall();
+    if ((now - di->last_template_set_time) >= IPFIX_TEMPLATE_INTERVAL) {
+        ipfix_send_template_msg(di);
+        di->last_template_set_time = now;
+    }
+
+    ipfix_send_data_msg(di, packet, flow, probability, obs_point_id);
 }
diff --git a/ofproto/ofproto-dpif-ipfix.h b/ofproto/ofproto-dpif-ipfix.h
index 9660728..8715037 100644
--- a/ofproto/ofproto-dpif-ipfix.h
+++ b/ofproto/ofproto-dpif-ipfix.h
@@ -17,6 +17,10 @@
 #ifndef OFPROTO_DPIF_IPFIX_H
 #define OFPROTO_DPIF_IPFIX_H 1
 
+#include <stdint.h>
+
+struct flow;
+struct ofpbuf;
 struct ofproto_ipfix_options;
 
 struct dpif_ipfix *dpif_ipfix_create(void);
@@ -25,4 +29,8 @@ void dpif_ipfix_set_options(struct dpif_ipfix *,
                             const struct ofproto_ipfix_options *);
 void dpif_ipfix_clear(struct dpif_ipfix *);
 
+void dpif_ipfix_sample(struct dpif_ipfix *, struct ofpbuf *,
+                       const struct flow *, uint16_t probability,
+                       uint32_t obs_point_id);
+
 #endif /* ofproto/ofproto-dpif-ipfix.h */
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 6e74551..fc2c5b0 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -3639,7 +3639,7 @@ classify_upcall(const struct dpif_upcall *upcall)
     }
 
     /* "action" upcalls need a closer look. */
-    memcpy(&cookie, &upcall->userdata, sizeof(cookie));
+    memcpy(&cookie, &upcall->userdata, sizeof cookie);
     switch (cookie.type) {
     case USER_ACTION_COOKIE_SFLOW:
         return SFLOW_UPCALL;
@@ -3672,16 +3672,31 @@ handle_sflow_upcall(struct dpif_backer *backer,
         return;
     }
 
-    memcpy(&cookie, &upcall->userdata, sizeof(cookie));
+    memcpy(&cookie, &upcall->userdata, sizeof cookie);
     dpif_sflow_received(ofproto->sflow, upcall->packet, &flow,
                         odp_in_port, &cookie);
 }
 
 static void
-handle_ipfix_upcall(struct dpif_backer *backer OVS_UNUSED,
-                    const struct dpif_upcall *upcall OVS_UNUSED)
+handle_ipfix_upcall(struct dpif_backer *backer,
+                    const struct dpif_upcall *upcall)
 {
-    /* TODO: Send an IPFIX sample. */
+    struct ofproto_dpif *ofproto;
+    struct flow flow;
+    union user_action_cookie cookie;
+
+    if (ofproto_receive(backer, upcall->packet, upcall->key, upcall->key_len,
+                        &flow, NULL, &ofproto, NULL, NULL)
+        || !ofproto->ipfix) {
+        return;
+    }
+
+    memcpy(&cookie, &upcall->userdata, sizeof cookie);
+
+    /* The flow reflects exactly the contents of the packet.  Sample
+     * the packet using it. */
+    dpif_ipfix_sample(ofproto->ipfix, upcall->packet, &flow,
+                      cookie.ipfix.probability, cookie.ipfix.obs_point_id);
 }
 
 static int
-- 
1.8.1



More information about the dev mailing list