summaryrefslogtreecommitdiffstats
path: root/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src
diff options
context:
space:
mode:
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src')
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRecord.java81
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRegistry.java83
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixIeModelGenerator.java129
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGenerator.java28
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGeneratorMojo.java177
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/TextTemplate.java155
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.java54
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/resources/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.tmpl65
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/IpfixIeModelGeneratorTest.java102
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/TextTemplateTest.java52
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/Test.tmpl4
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/ipfix.xml6560
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/log4j.properties26
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/prism.xml132
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/pt.xml136
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/queuesync.xml41
16 files changed, 7825 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRecord.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRecord.java
new file mode 100644
index 0000000..a109d5b
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRecord.java
@@ -0,0 +1,81 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+
+import java.util.List;
+
+/**
+ * Iana record representation for parsing IPFIX xml models.
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IanaRecord {
+ public String name;
+ public String dataType;
+ public String group;
+ public String dataTypeSemantics;
+ public String elementId;
+ public String applicability;
+ public String status;
+ public String description;
+ public String units;
+ public List<String> xrefs;
+ public String registration_rule;
+ public String reserved;
+ public String references;
+ public String note;
+ public String range;
+ public String unassigned;
+ public String value;
+ public String comments;
+ public int enterpriseNumber = 0;
+
+ @Override
+ public String toString() {
+ return String.format("%s:{ \n" + " elementId:%s, \n"
+ + " dataType:%s, \n" + " dataTypeSemantis:%s, \n"
+ + " units:%s \n" + " status:%s \n" + " en: %s \n}", name,
+ elementId, dataType, dataTypeSemantics, units, status,
+ enterpriseNumber);
+ }
+
+ public IanaRecord() {
+ }
+
+ public IanaRecord(String name) {
+ this.name = name;
+ }
+
+ public boolean isValid() {
+
+ boolean notNull = (name != null) && (elementId != null)
+ && (dataType != null) && (status != null);
+
+ return notNull;
+ }
+ /**
+ * Clean up some manually written notes from ipfix.xml.
+ */
+ public void cleanup(){
+ if( dataType!=null && name!=null && name.startsWith("messageMD5Checksum") ){
+ dataType = dataType.replace("(16 bytes)","");
+ }
+
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRegistry.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRegistry.java
new file mode 100644
index 0000000..f613b0e
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRegistry.java
@@ -0,0 +1,83 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+
+import java.util.List;
+
+/**
+ * Iana registry representation for parsing IPFIX xml models.
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IanaRegistry {
+ // -- sys --
+// private final static Logger logger = LoggerFactory.getLogger(IanaRegistry.class);
+ // -- model --
+ public String id;
+ public String title;
+ public String created;
+ public String updated;
+ public String xref;
+ public String note;
+ public String registration_rule;
+ public String people;
+ public List<IanaRecord> records;
+ public List<IanaRegistry> children;
+
+ /**
+ * Recursively find registry with given id.
+ * @param registry
+ * @param id
+ * @param maxDepth Maximum nesting depth.
+ * @return
+ */
+ public static IanaRegistry find( IanaRegistry registry, String id, int maxDepth ){
+ return find(registry, id, 0, maxDepth);
+ }
+
+ /**
+ * Find the first registry that matches id.
+ * (recursive depth first search)
+ * @param id
+ * @return registry or null if not found
+ */
+ public static IanaRegistry find( IanaRegistry registry, String id, int depth, int maxDepth ){
+ if(registry==null || depth > maxDepth ){
+ return null;
+ }
+ if(registry.id!=null && id.contentEquals(registry.id)){
+ return registry;
+ }
+ if( registry.children!=null ){
+ for( IanaRegistry child: registry.children ){
+ IanaRegistry reg = find(child, id, depth+1, maxDepth);
+ if( reg!=null){
+ return reg;
+ }
+ }
+ }
+ return null;
+ }
+ @Override
+ public String toString() {
+ int nchildren = children!=null?children.size():0;
+ int nrecords = records!=null?records.size():0;
+ return String.format("registry:{ id:\"%s\", nchildren:%d, nrecords:%d } ", id, nchildren, nrecords);
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixIeModelGenerator.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixIeModelGenerator.java
new file mode 100644
index 0000000..1adbe30
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixIeModelGenerator.java
@@ -0,0 +1,129 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeSemantics;
+import de.fhg.fokus.net.ipfix.api.IpfixIeUnits;
+import de.fhg.fokus.net.ipfix.mojo.mgen.tmpl.IpfixIeTmpl.Tokens;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeModelGenerator implements IpfixModelGenerator {
+ // -- sys --
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+ // -- constants --
+ private final static String IANA_REGISTRY_ID = "ipfix-information-element-definitions";
+ // -- model --
+ private final TextTemplate txtTemplate;
+ private final IanaRegistry registry;
+ private final String targetPackage;
+ private final File targetFolder;
+
+ public IpfixIeModelGenerator(TextTemplate txtTemplate,
+ IanaRegistry ianaRegistry, String targetPackage, File prefixFolder ) {
+ this.txtTemplate = txtTemplate;
+ this.targetPackage = targetPackage;
+ this.targetFolder = new File(prefixFolder,targetPackage.replaceAll("\\.", File.separator) );
+
+ this.registry = IanaRegistry.find(ianaRegistry, IANA_REGISTRY_ID, 10);
+ if (registry == null) {
+ logger.debug("Registry ID {} was not found!", IANA_REGISTRY_ID);
+ return;
+ }
+ logger.debug("Found registry: {}", registry);
+ }
+
+ private static String getClassNameForIe(IanaRecord record) {
+ return String.format("IpfixIe%s%s", Character.toUpperCase(record.name.charAt(0)),
+ record.name.substring(1));
+ }
+ private static String getCodecName( IanaRecord record ){
+ return String.format("IpfixIeCodec%s%s", Character.toUpperCase(record.dataType.charAt(0)),
+ record.dataType.substring(1));
+
+ }
+ private static String getClassDocumentation( IanaRecord record ){
+ return String.format("<pre>\n%s\n</pre>", record.toString());
+ }
+ private static String getImports( IanaRecord record ){
+ return "";
+ }
+// private static String getEnterpriseNumber( IanaRecord record ){
+// return record.enterpriseNumber==null?0:record.enterpriseNumber;
+// }
+ @Override
+ public void generate() {
+ // -- creating destination folder
+ if( !targetFolder.canRead() ){
+ targetFolder.mkdirs();
+ }
+
+ // -- processing records --
+ if (registry.records == null || registry.records.size() == 0) {
+ logger.warn("No records in registry found.");
+ return;
+ }
+ Map<String, String> replacements = new HashMap<String, String>();
+ // -- common replacements --
+ replacements.put(Tokens.TARGET_PACKAGE+"", targetPackage);
+
+ for (IanaRecord record : registry.records) {
+ // IanaRecord record = registry.records.get(0);
+ if (record != null && record.isValid()) {
+ record.cleanup();
+ logger.debug(record + "");
+ // -- record replacements --
+ String ieClassName = getClassNameForIe(record);
+ replacements.put(Tokens.CLASS_DOCUMENTATION+"",getClassDocumentation(record));
+ replacements.put(Tokens.IE_ID+"",record.elementId);
+ replacements.put(Tokens.IE_CLASS_NAME+"", ieClassName);
+ replacements.put(Tokens.IE_NAME+"", record.name);
+ replacements.put(Tokens.IE_CODEC+"", getCodecName(record));
+ replacements.put(Tokens.IE_DATA_TYPES+"", record.dataType.toUpperCase());
+ replacements.put(Tokens.IE_SEMANTICS+"", IpfixIeSemantics.getFromModelName(record.dataTypeSemantics)+"");
+ replacements.put(Tokens.IE_STATUS+"", record.status.toUpperCase());
+ replacements.put(Tokens.IE_UNITS+"", IpfixIeUnits.getFromModelName(record.units)+"");
+ replacements.put(Tokens.IMPORTS+"", getImports(record));
+ replacements.put(Tokens.IE_ENTERPRISE_NUMBER+"",record.enterpriseNumber+"");
+
+
+ try {
+ txtTemplate.generateFile(replacements, new File(targetFolder,ieClassName+".java" ));
+ } catch (IOException e) {
+ logger.error("Could not generate: {}, {}",ieClassName, e.getMessage());
+ }
+
+ // String.format("IpfixIe",record.name.to) );
+ }
+
+ }
+
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGenerator.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGenerator.java
new file mode 100644
index 0000000..91fa2c7
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGenerator.java
@@ -0,0 +1,28 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+/**
+ * IPFIX model generator.
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public interface IpfixModelGenerator {
+ public void generate();
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGeneratorMojo.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGeneratorMojo.java
new file mode 100644
index 0000000..adba39d
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGeneratorMojo.java
@@ -0,0 +1,177 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.plexus.util.IOUtil;
+
+import com.thoughtworks.xstream.XStream;
+
+import de.fhg.fokus.net.ipfix.mojo.mgen.tmpl.IpfixIeTmpl;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ *
+ * @goal generate-ipfix-model
+ * @phase generate-sources
+ *
+ */
+public class IpfixModelGeneratorMojo extends AbstractMojo {
+ // -- parameters --
+ /**
+ * @parameter expression="${generate-ipfix-model.targetPackage}"
+ * default-value="de.fhg.fokus.net.ipfix.model"
+ */
+ private String targetPackage;
+ /**
+ * @parameter expression="${generate-ipfix-model.modelDir}"
+ * default-value="model/"
+ *
+ */
+ private File modelDir;
+ /**
+ * @parameter expression="${project.build.directory}"
+ * @required
+ *
+ */
+ private File buildDir;
+ private File targetModelDir;
+ // private org.apache.maven.plugin. mavenProject;
+
+ // -- model --
+ private final List<IpfixModelGenerator> modelGenerators = new ArrayList<IpfixModelGenerator>();
+ private final XStream xstream;
+ private TextTemplate txtTemplateIpfixIe;
+
+ public IpfixModelGeneratorMojo() {
+ // -- setup xml reader --
+ xstream = new XStream();
+ xstream.alias("registry", IanaRegistry.class);
+ xstream.alias("record", IanaRecord.class);
+ xstream.alias("xref", String.class);
+ xstream.addImplicitCollection(IanaRegistry.class, "records",
+ IanaRecord.class);
+ xstream.addImplicitCollection(IanaRegistry.class, "children",
+ IanaRegistry.class);
+ xstream.addImplicitCollection(IanaRecord.class, "xrefs");
+ xstream.aliasAttribute(IanaRegistry.class, "id", "id");
+ // -- setup text templates --
+ try {
+ StringWriter writer = new StringWriter();
+ IOUtil.copy(IpfixIeTmpl.class.getResourceAsStream(IpfixIeTmpl.FILE.getName()),
+ writer);
+ txtTemplateIpfixIe = new TextTemplate(writer.toString());
+ } catch (IOException e) {
+ throw new RuntimeException("Error loading template:"+IpfixIeTmpl.FILE.toString() );
+ }
+
+ }
+
+ private void checkPreconditions() throws MojoFailureException {
+ if (txtTemplateIpfixIe == null) {
+ throw new MojoFailureException(
+ "Could not initialize ipfix ie txt template file!");
+ }
+ }
+
+ public void execute() throws MojoExecutionException, MojoFailureException {
+ checkPreconditions();
+ loadModels();
+ setupGeneratedSourcesDir();
+ }
+
+ private final FilenameFilter xmlFilenameFilter = new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".xml");
+ }
+ };
+
+ /**
+ * Search for ipfix xml model files. Format
+ * http://www.iana.org/assignments/ipfix/ipfix.xml
+ *
+ * @throws MojoFailureException
+ */
+ private void loadModels() throws MojoFailureException {
+ getLog().info("== LOAD IPFIX MODELS ==");
+
+ if (!modelDir.exists()) {
+ throw new MojoFailureException(
+ "IPFIX model directory does not exist!: "
+ + modelDir.getAbsolutePath());
+ }
+ getLog().info("Searching models in " + modelDir.getAbsolutePath());
+ for (File file : modelDir.listFiles(xmlFilenameFilter)) {
+ if (file.isFile() && file.canRead()) {
+ getLog().info("Found model: " + file.getName());
+ try {
+ FileInputStream fis = new FileInputStream(file);
+ IanaRegistry registry = (IanaRegistry) xstream.fromXML(fis);
+ modelGenerators.add(new IpfixIeModelGenerator(
+ txtTemplateIpfixIe, registry, targetPackage, targetModelDir));
+ } catch (Exception e) {
+ e.printStackTrace();
+ getLog().error(e.getMessage());
+ }
+ }
+ }
+ }
+
+ private void setupGeneratedSourcesDir() {
+ getLog().info("== SETUP GENERATED SOURCES ==");
+ // -- setup dirs --
+ targetModelDir = new File(buildDir, String.format(
+ "generated-sources%s%s", File.separator, targetPackage.replace(
+ ".", File.separator)));
+ if (targetModelDir.mkdirs()) {
+ getLog().info("Creating " + targetModelDir);
+ }
+ getLog().info("TARGET_MODEL_DIR: " + targetModelDir);
+
+ }
+
+ public static void main(String[] args) {
+ // xstream quick test
+ XStream xstream = new XStream();
+ xstream.alias("registry", IanaRegistry.class);
+ xstream.alias("record", IanaRecord.class);
+ xstream.addImplicitCollection(IanaRegistry.class, "records",
+ IanaRecord.class);
+ IanaRegistry reg = new IanaRegistry();
+ reg.id = "1";
+ reg.records = new ArrayList<IanaRecord>();
+ reg.records.add(new IanaRecord("test"));
+ reg.records.add(new IanaRecord("test"));
+
+ System.out.println(xstream.toXML(reg));
+
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/TextTemplate.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/TextTemplate.java
new file mode 100644
index 0000000..ff95bd8
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/TextTemplate.java
@@ -0,0 +1,155 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * A simple text template engine using {@link Matcher}.
+ * Tokens are specified by %{sometoken}% . The predefined
+ * tokens are:
+ * <pre>
+ * %{dateTime} current date time
+ *
+ * </pre>
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public final class TextTemplate {
+ // -- constants --
+ private enum PredefinedTags {
+ dateTime
+ }
+ // -- model --
+ private final String template;
+ private final Pattern pattern = Pattern.compile("\\%\\{(.+?)\\}\\%");
+ public abstract class Tag {
+ private final String name;
+ public Tag(String name) {
+ this.name = name;
+ }
+ /**
+ *
+ * @return tag name
+ */
+ public String getName() {
+ return name;
+ }
+ /**
+ * @return tag value
+ */
+ public abstract String getValue();
+ }
+ private final Map<String, Tag> mapPredefinedTags = new ConcurrentHashMap<String, Tag>();
+
+ public TextTemplate(String template ){
+ this.template = template;
+ }
+ public TextTemplate(File templateFile) throws IOException {
+ this.template = readFileContents(templateFile);
+ setupPredefinedTags();
+ }
+ private void setupPredefinedTags(){
+ // DateTime
+ registerDynamicTag(new Tag(PredefinedTags.dateTime+"") {
+ @Override
+ public String getValue() {
+ return new Date().toString();
+ }
+ });
+ }
+ public void registerDynamicTag(Tag tag){
+ mapPredefinedTags.put(tag.getName(), tag);
+ }
+
+ public static String readFileContents(File file) throws IOException {
+ StringBuilder buf = new StringBuilder();
+ BufferedReader br = new BufferedReader(new FileReader(file));
+ String line;
+ while ((line = br.readLine()) != null) {
+ buf.append(line);
+ buf.append("\n");
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Generate file using the replacements map
+ *
+ * @param replacements
+ * @param destFile
+ * @throws IOException
+ */
+ public void generateFile(Map<String, String> replacements, File destFile)
+ throws IOException {
+ writeFile(destFile, process(replacements));
+ }
+
+ /**
+ *
+ * From http://stackoverflow.com/questions/959731/how-to-replace-a-set-of-
+ * tokens-in-a-java-string
+ *
+ * @param replacements
+ * @return generated text
+ */
+ private String process(Map<String, String> replacements) {
+ Matcher matcher = pattern.matcher(template);
+
+ // populate the replacements map ...
+ StringBuffer sb = new StringBuffer();
+ while (matcher.find()) {
+ String token = matcher.group(1);
+ String replacement = replacements.get(token);
+ // process predefined tags
+ if(replacement==null){
+ Tag tag = mapPredefinedTags.get(token);
+ if(tag!=null){
+ replacement = tag.getValue();
+ }
+ }
+ if(replacement!=null){
+ matcher.appendReplacement(sb, replacement);
+ }
+ }
+ matcher.appendTail(sb);
+ return sb.toString();
+
+ }
+
+ private void writeFile(File dstFile, String contents) throws IOException {
+ BufferedWriter out = new BufferedWriter(new FileWriter(dstFile));
+ out.write(contents);
+ out.close();
+ }
+ @Override
+ public String toString() {
+ return template;
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.java
new file mode 100644
index 0000000..cd2d0e1
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.java
@@ -0,0 +1,54 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mojo.mgen.tmpl;
+
+import java.io.File;
+/**
+ * Text template definitions for generating IPFIX information elements.
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeTmpl {
+ /**
+ * Defined tokens in the template.
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+ public static enum Tokens {
+ TARGET_PACKAGE,
+ IMPORTS,
+ CODEC_METHODS,
+ CLASS_DOCUMENTATION,
+ IE_ENTERPRISE_NUMBER,
+ IE_ID,
+ IE_CODEC,
+ IE_CLASS_NAME,
+ IE_DATA_TYPES,
+ IE_SEMANTICS,
+ IE_STATUS,
+ IE_NAME,
+ IE_UNITS
+ }
+ /**
+ * IpfixIe.tmpl
+ */
+ public static File FILE = new File(IpfixIeTmpl.class.getResource(
+ IpfixIeTmpl.class.getSimpleName() + ".tmpl").getFile());
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/resources/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.tmpl b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/resources/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.tmpl
new file mode 100644
index 0000000..223b581
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/resources/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.tmpl
@@ -0,0 +1,65 @@
+package %{TARGET_PACKAGE}%;
+// === ipfix-model-generator: auto-generated file - do not edit! ===
+import de.fhg.fokus.net.ipfix.api.IpfixFieldSpecifier;
+import de.fhg.fokus.net.ipfix.api.IpfixIe;
+import de.fhg.fokus.net.ipfix.api.IpfixIeSemantics;
+import de.fhg.fokus.net.ipfix.api.IpfixIeStatus;
+import de.fhg.fokus.net.ipfix.api.IpfixIeUnits;
+import de.fhg.fokus.net.ipfix.api.codec.%{IE_CODEC}%;
+
+%{IMPORTS}%
+
+/**
+ * %{CLASS_DOCUMENTATION}%
+ *
+ */
+public final class %{IE_CLASS_NAME}% extends %{IE_CODEC}% implements IpfixIe {
+ // -- model --
+ private final IpfixFieldSpecifier fieldSpecifier;
+
+ @Override
+ public IpfixFieldSpecifier getFieldSpecifier() {
+ return fieldSpecifier;
+ }
+
+ public %{IE_CLASS_NAME}%() {
+ this.fieldSpecifier = new IpfixFieldSpecifier(%{IE_ENTERPRISE_NUMBER}%).setId(%{IE_ID}%)
+ .setFieldLength(this.fieldLength);
+ }
+ public %{IE_CLASS_NAME}%( int length ) {
+ this.fieldLength = length;
+ this.fieldSpecifier = new IpfixFieldSpecifier(%{IE_ENTERPRISE_NUMBER}%).setId(%{IE_ID}%)
+ .setFieldLength(this.fieldLength);
+ }
+ public %{IE_CLASS_NAME}%( int length, long enterpriseNumber, boolean isScope ) {
+ this.fieldLength = length;
+ this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(%{IE_ID}%)
+ .setFieldLength(this.fieldLength).setScope(isScope);
+ }
+
+
+ @Override
+ public IpfixIeSemantics getSemantics() {
+ return IpfixIeSemantics.%{IE_SEMANTICS}%;
+ }
+
+ @Override
+ public IpfixIeStatus getStatus() {
+ return IpfixIeStatus.%{IE_STATUS}%;
+ }
+
+ @Override
+ public String getName() {
+ return "%{IE_NAME}%";
+ }
+
+ @Override
+ public int getLength() {
+ return fieldSpecifier.getIeLength();
+ }
+
+ @Override
+ public IpfixIeUnits getUnits() {
+ return IpfixIeUnits.%{IE_UNITS}%;
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/IpfixIeModelGeneratorTest.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/IpfixIeModelGeneratorTest.java
new file mode 100644
index 0000000..b11a11e
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/IpfixIeModelGeneratorTest.java
@@ -0,0 +1,102 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mgen;
+
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.thoughtworks.xstream.XStream;
+
+import de.fhg.fokus.net.ipfix.mojo.mgen.IanaRecord;
+import de.fhg.fokus.net.ipfix.mojo.mgen.IanaRegistry;
+import de.fhg.fokus.net.ipfix.mojo.mgen.IpfixIeModelGenerator;
+import de.fhg.fokus.net.ipfix.mojo.mgen.TextTemplate;
+import de.fhg.fokus.net.ipfix.mojo.mgen.tmpl.IpfixIeTmpl;
+
+public class IpfixIeModelGeneratorTest {
+ private final static Logger logger = LoggerFactory.getLogger(IpfixIeModelGeneratorTest.class);
+ private final static File TEST_DIR = new File("target","test-classes");
+ private static XStream xstream;
+ public static void setupXmlReader(){
+ xstream = new XStream();
+ xstream.alias("registry", IanaRegistry.class);
+ xstream.alias("record", IanaRecord.class);
+ xstream.alias("xref", String.class);
+ xstream.addImplicitCollection(IanaRegistry.class, "records",
+ IanaRecord.class);
+ xstream.addImplicitCollection(IanaRegistry.class, "children",
+ IanaRegistry.class);
+ xstream.addImplicitCollection(IanaRecord.class, "xrefs");
+ xstream.aliasAttribute(IanaRegistry.class, "id", "id");
+// xstream.processAnnotations(IanaRegistry.class);
+ }
+ @BeforeClass
+ public static void setUpBeforeClass() throws IOException {
+ logger.debug("Setup");
+ setupXmlReader();
+
+ }
+ @Test
+ public void testGenerateEnterprise() throws IOException{
+ logger.debug("IPFIX IE model generator test: ENTERPRISE");
+// File modeFile= new File(TEST_DIR,"prism.xml");
+// File modeFile= new File(TEST_DIR,"pt.xml");
+ File modeFile= new File(TEST_DIR,"queuesync.xml");
+
+
+
+ TextTemplate txtTemplate = new TextTemplate(IpfixIeTmpl.FILE);
+ FileInputStream fis = new FileInputStream(modeFile );
+ IanaRegistry ianaRegistry = (IanaRegistry) xstream.fromXML(fis);
+
+ IpfixIeModelGenerator gen = new IpfixIeModelGenerator(txtTemplate, ianaRegistry
+ , "de.fhg.fokus.net.ipfix.model.ie.fokus.custom",new File("target","generated-sources"));
+ gen.generate();
+ }
+ @Test
+ public void testGenerateRFC() throws IOException{
+ logger.debug("IPFIX IE model generator test: RFC ");
+ File modeFile= new File(TEST_DIR,"ipfix.xml");
+
+ TextTemplate txtTemplate = new TextTemplate(IpfixIeTmpl.FILE);
+ FileInputStream fis = new FileInputStream(modeFile );
+ IanaRegistry ianaRegistry = (IanaRegistry) xstream.fromXML(fis);
+
+ IpfixIeModelGenerator gen = new IpfixIeModelGenerator(txtTemplate, ianaRegistry
+ , "de.fhg.fokus.net.ipfix.model.ie",new File("target","generated-sources"));
+ gen.generate();
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/TextTemplateTest.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/TextTemplateTest.java
new file mode 100644
index 0000000..e8f61b5
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/TextTemplateTest.java
@@ -0,0 +1,52 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.mgen;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.mojo.mgen.TextTemplate;
+
+public class TextTemplateTest {
+ private final static Logger logger = LoggerFactory.getLogger(TextTemplate.class);
+ private final static File BASE_DIR = new File("target","test-classes");
+ private static TextTemplate tmpl;
+ @BeforeClass
+ public static void setUpBeforeClass() throws IOException {
+ logger.debug("setup");
+ tmpl = new TextTemplate(new File(BASE_DIR,"Test.tmpl"));
+
+ }
+ @Test
+ public void testGenerateFile() throws IOException {
+ File destFile = new File(BASE_DIR,"Text.txt");
+ Map<String, String> replacements = new HashMap<String, String>();
+ replacements.put("replaceMe", "Hi");
+ replacements.put("replaceMeToo", "there!");
+ tmpl.generateFile(replacements, destFile);
+ // TODO complete test
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/Test.tmpl b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/Test.tmpl
new file mode 100644
index 0000000..1e296a6
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/Test.tmpl
@@ -0,0 +1,4 @@
+%{!dateTime}% -
+%{replaceMe}% a---------z %{replaceMeToo}%
+linha1
+linha2 \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/ipfix.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/ipfix.xml
new file mode 100644
index 0000000..26f4a78
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/ipfix.xml
@@ -0,0 +1,6560 @@
+<?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) Information Elements</title>
+ <created>2007-05-10</created>
+ <updated>2010-02-11</updated>
+ <registry id="ipfix-information-element-numbers">
+ <title>IPFIX Information Elements</title>
+ <xref type="rfc" data="rfc5102"/>
+ <record>
+ <elementId>0</elementId>
+ <registration_rule>Reserved</registration_rule>
+ </record>
+ <record>
+ <elementId>1-127</elementId>
+ <registration_rule>Expert Review</registration_rule>
+ <note>Information Element identifiers compatible
+with NetFlow version 9 field types <xref type="rfc" data="rfc3954"/>.</note>
+ </record>
+ <record>
+ <elementId>128-32767</elementId>
+ <registration_rule>Expert Review</registration_rule>
+ <note>Further Information Element identifiers.</note>
+ </record>
+ </registry>
+ <registry id="ipfix-information-element-definitions">
+ <note>New assignments for IPFIX Information Elements will be administered
+by IANA, on a First Come First Served basis <xref type="rfc" data="rfc2434"/>, subject to
+Expert Review <xref type="rfc" data="rfc2434"/>, i.e. review by one of a group of experts
+designated by an IETF Operations and Management Area Director.</note>
+ <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>
+ <elementId>3</elementId>
+ <reserved/>
+ <xref type="rfc" data="rfc5102"/>
+ </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. Initial values for this field are
+ listed below. Further values may be assigned by IANA in
+ the MPLS label type registry.
+ </paragraph>
+ <artwork>
+ - 0x01 TE-MIDPT: Any TE tunnel mid-point or tail label
+ - 0x02 Pseudowire: Any PWE3 or Cisco AToM based label
+ - 0x03 VPN: Any label associated with VPN
+ - 0x04 BGP: Any label associated with BGP or BGP routing
+ - 0x05 LDP: Any label associated with dynamically assigned
+ labels using LDP
+ </artwork>
+ </description>
+ <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>
+ The IEEE 802.1Q VLAN identifier (VID) extracted from the Tag
+ Control Information field that was attached to the IP packet.
+ </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>
+ The definition of this Information Element is identical
+ to the definition of Information Element
+ 'vlanId', except that it reports a
+ potentially modified value caused by a middlebox
+ function after the packet passed the Observation Point.
+ </paragraph>
+ </description>
+ <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 | 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 12 Reserved
+ 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="uri" data="http://www.rfc-editor.org/errata_search.php?rfc=5102"/>
+ </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="draft" data="draft-aitken-ipfix-new-infos-03"/>
+ </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="uri" data="ipfix-iana@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="draft" data="draft-aitken-ipfix-new-infos-03"/>
+ </record>
+ <record>
+ <elementId>92-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="draft" data="draft-aitken-ipfix-new-infos-03"/>
+ </record>
+ <record>
+ <name>multicastReplicationFactor</name>
+ <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="draft" data="draft-aitken-ipfix-new-infos-03"/>
+ </record>
+ <record>
+ <elementId>100-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="uri" data="http://www.rfc-editor.org/errata_search.php?rfc=5102"/>
+ </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="uri" data="http://www.rfc-editor.org/errata_search.php?rfc=5102"/>
+ </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="uri" data="http://www.rfc-editor.org/errata_search.php?rfc=5102"/>
+ </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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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.
+ The allowed values are:
+ Private: 1
+ Public: 2
+ </paragraph>
+ </description>
+ <references>
+ <paragraph>
+ See <xref type="rfc" data="rfc3022"/> for the definition of NAT.
+ </paragraph>
+ </references>
+ <xref type="uri" data="ipfix-iana@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:
+ 1 - Create event.
+ 2 - Delete event.
+ 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="uri" data="ipfix-iana@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>
+ </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>
+ <xref type="uri" data="ipfix-iana@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:
+
+ 0 - Ignore (invalid)
+ 1 - Flow Created
+ 2 - Flow Deleted
+ 3 - Flow Denied
+ 4 - Flow Alert
+ </paragraph>
+ </description>
+ <xref type="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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="uri" data="ipfix-iana@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 (16 bytes)</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.
+ </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 reliability of the export of Data Records, within
+ this SCTP stream, for the element(s) in the Options
+ Template scope, usually a templateID. 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="draft" data="RFC-ietf-ipfix-export-per-sctp-stream-06"/>
+ </record>
+ <record>
+ <elementId>277-300</elementId>
+ <unassigned/>
+ </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>unsigned16</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"/>
+ </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>
+ <elementId>312</elementId>
+ <unassigned/>
+ </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>
+ <elementId>315</elementId>
+ <unassigned/>
+ </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="uri" data="ipfix-iana@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>
+ <elementId>347-32767</elementId>
+ <unassigned/>
+ </record>
+ <registry id="ipfix-mpls-label-type">
+ <title>IPFIX MPLS label type (Value 46)</title>
+ <registration_rule>Expert Review</registration_rule>
+ <note>New assignments for MPLS label types will be administered by IANA, on
+a First Come First Served basis <xref type="rfc" data="rfc2434"/>, subject to Expert Review
+<xref type="rfc" data="rfc2434"/>, i.e. review by one of a group of experts designated by an
+IETF Operations and Management Area Director. The group of experts
+must double check the label type definitions with already defined
+label types for completeness, accuracy, and redundancy. The
+specification of new MPLS label types MUST be published using a well
+established and persistent publication medium.</note>
+ <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>
+ <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="informationElementDataTypes">
+ <title>IPFIX informationElementDataTypes</title>
+ <xref type="rfc" data="rfc5610"/>
+ <registration_rule>Standards Action</registration_rule>
+ <record>
+ <value>0</value>
+ <description>octetArray</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>1</value>
+ <description>unsigned8</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>2</value>
+ <description>unsigned16</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>3</value>
+ <description>unsigned32</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>4</value>
+ <description>unsigned64</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>5</value>
+ <description>signed8</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>6</value>
+ <description>signed16</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>7</value>
+ <description>signed32</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>8</value>
+ <description>signed64</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>9</value>
+ <description>float32</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>10</value>
+ <description>float64</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>11</value>
+ <description>boolean</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>12</value>
+ <description>macAddress</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>13</value>
+ <description>string</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>14</value>
+ <description>dateTimeSeconds</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>15</value>
+ <description>dateTimeMilliseconds</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>16</value>
+ <description>dateTimeMicroseconds</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>17</value>
+ <description>dateTimeNanoseconds</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>18</value>
+ <description>ipv4Address</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>19</value>
+ <description>ipv6Address</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ <record>
+ <value>20-255</value>
+ <description>Unassigned</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ </registry>
+ <registry id="informationElementSemantics">
+ <title>IPFIX informationElementSemantics</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-255</value>
+ <description>Unassigned</description>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ </registry>
+ <registry id="informationElementUnits">
+ <title>IPFIX informationElementUnits</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></comments>
+ <xref type="rfc" data="rfc5610"/>
+ </record>
+ </registry>
+ <people/>
+</registry>
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/log4j.properties b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/log4j.properties
new file mode 100644
index 0000000..ca0cf05
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/log4j.properties
@@ -0,0 +1,26 @@
+# log4j settings
+#
+# The root logger is assigned priority level DEBUG and an appender
+# named rootAppender
+log4j.rootLogger=debug, rootAppender
+
+# Appenders: {FileAppender, ConsoleAppender, .. }
+log4j.appender.rootAppender=org.apache.log4j.ConsoleAppender
+
+# Layouts: {SimpleLayout, PatternLayout, ..}
+log4j.appender.rootAppender.layout=org.apache.log4j.PatternLayout
+
+# log4j.appender.rootAppender.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - %m%n
+# Ex: 03-04@16:48:36 DEBUG ( App.java:27) - Test1
+
+#log4j.appender.rootAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} %C %p [%t] %m (%F:%L) %n
+
+# Ex: 16:49:30,231 DEBUG [main] Test1 (App.java:27)
+log4j.appender.rootAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} %5p [%t] %m (%F:%L) %n
+
+
+#log4j.logger.org.mortbay = INFO
+#log4j.logger.org.apache.cxf = OFF
+#log4j.logger.org.springframework = OFF
+
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/prism.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/prism.xml
new file mode 100644
index 0000000..b9b93c1
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/prism.xml
@@ -0,0 +1,132 @@
+<?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) Information Elements</title>
+ <created>2007-05-10</created>
+ <updated>2010-02-11</updated>
+ <registry id="ipfix-information-element-definitions">
+ <note>
+ New assignments for IPFIX Information Elements will be administered
+ by IANA, on a First Come First Served basis
+ <xref type="rfc" data="rfc2434" />
+ , subject to
+ Expert Review
+ <xref type="rfc" data="rfc2434" />
+ , i.e. review by one of a group of experts
+ designated by an IETF Operations and Management Area Director.
+ </note>
+ <record>
+ <name>roundTripTime</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned64</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>199</elementId>
+ <status>current</status>
+ <description>
+ </description>
+ <units>microseconds</units>
+ </record>
+ <record>
+ <name>sessionId</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>identifier</dataTypeSemantics>
+ <elementId>330</elementId>
+ <status>current</status>
+ <description>
+ </description>
+ </record>
+ <record>
+ <name>transactionId</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>identifier</dataTypeSemantics>
+ <elementId>331</elementId>
+ <status>current</status>
+ <description>
+ </description>
+ </record>
+ <record>
+ <name>AES128EncryptedData</name>
+ <elementId>332</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>AES 128 Encrypted data (var length)</description>
+ </record>
+
+ <record>
+ <name>AES128KeyShare</name>
+ <elementId>334</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>AES 128 keyshare (32 octets)</description>
+ </record>
+
+
+
+ <record>
+ <name>keyShareADP</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <elementId>335</elementId>
+ <status>current</status>
+ <description>PRISM key share ADP (32 octets)</description>
+ </record>
+ <record>
+ <name>KeyShareInitVector</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <elementId>336</elementId>
+ <status>current</status>
+ <description>PRISM key share init vector</description>
+ </record>
+
+ <record>
+ <name>AES256EncryptedData</name>
+ <elementId>337</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>AES 256 Encrypted data (var length)</description>
+ </record>
+ <record>
+ <name>KeyShareIV</name>
+ <elementId>339</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>KeyShare IV (16 octets)</description>
+ </record>
+
+ <record>
+ <name>AES256KeyShare</name>
+ <elementId>341</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>AES 256 keyshare (36 octets)</description>
+ </record>
+
+ </registry>
+ <people />
+</registry>
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/pt.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/pt.xml
new file mode 100644
index 0000000..2e2f7ba
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/pt.xml
@@ -0,0 +1,136 @@
+<?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>IPFIX IEs for PacketTracking</title>
+ <created>2010-08-11</created>
+ <updated>2010-08-12</updated>
+ <registry id="ipfix-information-element-definitions">
+ <note>
+ New assignments for IPFIX Information Elements will be administered
+ by IANA, on a First Come First Served basis
+ <xref type="rfc" data="rfc2434" />
+ , subject to
+ Expert Review
+ <xref type="rfc" data="rfc2434" />
+ , i.e. review by one of a group of experts
+ designated by an IETF
+ Operations and Management Area Director.
+ </note>
+ <record>
+ <name>PtSystemCpuIdle</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>340</elementId>
+ <status>current</status>
+ <description>system CPU idle in %</description>
+ </record>
+ <record>
+ <name>PtSystemMemFree</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned64</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>341</elementId>
+ <status>current</status>
+ <description> system free memory in kilobytes </description>
+ </record>
+ <record>
+ <name>PtProcessCpuUser</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>342</elementId>
+ <status>current</status>
+ <description>percentage of CPU used in user level (application)
+ </description>
+ </record>
+
+ <record>
+ <name>PtProcessCpuSys</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>343</elementId>
+ <status>current</status>
+ <description>percentage of CPU used in system level (kernel)
+ </description>
+ </record>
+ <record>
+ <name>PtProcessMemVzs</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned64</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>344</elementId>
+ <status>current</status>
+ <description>the process virtual memory used in kilobytes
+ </description>
+ </record>
+ <record>
+ <name>PtProcessMemRss</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned64</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>345</elementId>
+ <status>current</status>
+ <description>the process resident set size in kilobytes</description>
+ </record>
+ <record>
+ <name>PtPcapStatRecv</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>346</elementId>
+ <status>current</status>
+ <description>number of packets received by pcap</description>
+ </record>
+ <record>
+ <name>PtPcapStatDrop</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>347</elementId>
+ <status>current</status>
+ <description>number of packets received by pcap</description>
+ </record>
+ <record>
+ <name>PtMessageId</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>348</elementId>
+ <status>current</status>
+ <description>message id</description>
+ </record>
+ <record>
+ <name>PtMessageValue</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>unsigned32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>349</elementId>
+ <status>current</status>
+ <description>generic value</description>
+ </record>
+ <record>
+ <name>PtMessage</name>
+ <elementId>350</elementId>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>octetArray</dataType>
+ <group>none</group>
+ <dataTypeSemantics>default</dataTypeSemantics>
+ <status>current</status>
+ <description>Generic message (var len)</description>
+ </record>
+ </registry>
+ <people />
+</registry>
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/queuesync.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/queuesync.xml
new file mode 100644
index 0000000..ff320f3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/queuesync.xml
@@ -0,0 +1,41 @@
+<?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>IPFIX IEs for QueueSync </title>
+ <created>2010-08-21</created>
+ <updated>2010-08-21</updated>
+ <registry id="ipfix-information-element-definitions">
+ <record>
+ <name>QueueFillLevel</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>390</elementId>
+ <status>current</status>
+ <description>queue fill level</description>
+ </record>
+ <record>
+ <name>Bottleneck</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>391</elementId>
+ <status>current</status>
+ <description>bottleneck</description>
+ </record>
+ <record>
+ <name>Freq</name>
+ <enterpriseNumber>12325</enterpriseNumber>
+ <dataType>float32</dataType>
+ <group>none</group>
+ <dataTypeSemantics>quantity</dataTypeSemantics>
+ <elementId>392</elementId>
+ <status>current</status>
+ <description>frequency</description>
+ </record>
+ </registry>
+ <people />
+</registry>