diff options
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator')
20 files changed, 7949 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/Maven Install.launch b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/Maven Install.launch new file mode 100644 index 0000000..62a59dd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/Maven Install.launch @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.maven.ide.eclipse.Maven2BuilderConfigurationType"> +<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/> +<stringAttribute key="M2_GOALS_AFTER_CLEAN" value="install"/> +<stringAttribute key="M2_GOALS_AUTO_BUILD" value=""/> +<stringAttribute key="M2_GOALS_CLEAN" value="clean"/> +<stringAttribute key="M2_GOALS_MANUAL_BUILD" value="install"/> +<booleanAttribute key="M2_NON_RECURSIVE" value="false"/> +<booleanAttribute key="M2_OFFLINE" value="false"/> +<stringAttribute key="M2_PROFILES" value=""/> +<listAttribute key="M2_PROPERTIES"/> +<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/> +<booleanAttribute key="M2_SKIP_TESTS" value="false"/> +<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/> +<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/> +<booleanAttribute key="editedByExternalToolsMainTab" value="true"/> +<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> +<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/ipfix-model-generator}"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,clean"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +</launchConfiguration> diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/New_Builder.launch b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/New_Builder.launch new file mode 100644 index 0000000..22c829b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/New_Builder.launch @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.maven.ide.eclipse.Maven2BuilderConfigurationType"> +<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/> +<stringAttribute key="M2_GOALS_AFTER_CLEAN" value="install"/> +<stringAttribute key="M2_GOALS_AUTO_BUILD" value=""/> +<stringAttribute key="M2_GOALS_CLEAN" value="clean"/> +<stringAttribute key="M2_GOALS_MANUAL_BUILD" value="install"/> +<booleanAttribute key="M2_NON_RECURSIVE" value="false"/> +<booleanAttribute key="M2_OFFLINE" value="false"/> +<stringAttribute key="M2_PROFILES" value=""/> +<listAttribute key="M2_PROPERTIES"/> +<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/> +<booleanAttribute key="M2_SKIP_TESTS" value="false"/> +<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/> +<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/> +<booleanAttribute key="editedByExternalToolsMainTab" value="true"/> +<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> +<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/ipfix-model-generator-dev}"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,clean"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +</launchConfiguration> diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.gitignore b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.gitignore new file mode 100644 index 0000000..51213aa --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.gitignore @@ -0,0 +1,10 @@ + .externalToolBuilders/* +.svn +*.log +.m2classpath +.classpath +.project +.settings/* +target/* +bin/* +logs/* diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/pom.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/pom.xml new file mode 100644 index 0000000..c2a4c96 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/pom.xml @@ -0,0 +1,70 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>de.fhg.fokus.net</groupId> + <artifactId>ipfix-model-generator</artifactId> + <name>IPFIX Model Generator Maven Plugin</name> + <packaging>maven-plugin</packaging> + + <version>0.9-SNAPSHOT</version> + <description>Autogenerate Java code from xml/txt models. See + http://www.iana.org/assignments/ipfix/ipfix.xml</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.3.1</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.5.6</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>de.fhg.fokus.net</groupId> + <artifactId>ipfix-api</artifactId> + <version>0.9-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.6</source> + <target>1.6</target> + </configuration> + </plugin> + </plugins> + </build> +</project> 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> |