diff options
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api')
327 files changed, 28294 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/.gitignore b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/.gitignore new file mode 100644 index 0000000..a351a86 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/.gitignore @@ -0,0 +1,8 @@ +.svn +*.log +.classpath +.project +.settings/* +target/* +bin/* +logs/* diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/pom.xml b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/pom.xml new file mode 100644 index 0000000..1b978b3 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/pom.xml @@ -0,0 +1,54 @@ +<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-api</artifactId> + <name>Java IPFIX API</name> + <version>0.9-SNAPSHOT</version> + <description>Java IPFIX API. + </description> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <distributionManagement> + <repository> + <id>pt</id> + <url>${pt.releases.repo.url}</url> + </repository> + <snapshotRepository> + <id>pt</id> + <url>${pt.snapshots.repo.url}</url> + </snapshotRepository> + <site> + <id>pt-site</id> + <url>${pt.sites.deploy.url}</url> + </site> + </distributionManagement> + + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.6</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <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-api/src/main/java/de/fhg/fokus/net/ipfix/api/Ipfix.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/Ipfix.java new file mode 100644 index 0000000..b39faa4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/Ipfix.java @@ -0,0 +1,27 @@ +/** +* +* 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.api; + +/** + * + * @author FhG-FOKUS NETwork Research + */ +public class Ipfix { + public final static short VERSION = 0x000a; + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixCollectorListener.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixCollectorListener.java new file mode 100644 index 0000000..e5393bd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixCollectorListener.java @@ -0,0 +1,31 @@ +/** +* +* 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.api; + + +/** + * IPFIX Message Listener + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixCollectorListener { + public void onConnect( IpfixConnectionHandler handler ); + public void onDisconnect( IpfixConnectionHandler handler ); + public void onMessage( IpfixConnectionHandler handler, IpfixMessage msg ); +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixConnectionHandler.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixConnectionHandler.java new file mode 100644 index 0000000..e2c754d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixConnectionHandler.java @@ -0,0 +1,35 @@ +/** +* +* 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.api; + +import java.net.Socket; + +/** + * IPFIX Handler + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixConnectionHandler { + public boolean isConnected(); + public Socket getSocket(); + public Object getAttachment(); + public void setAttachment(Object obj); + public long totalReceivedMessages(); + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordReader.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordReader.java new file mode 100644 index 0000000..33ba396 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordReader.java @@ -0,0 +1,37 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixDataRecordReader { + /** + * Reads the next ipfix record and updates setBuffer position accordingly. + * + * @param setBuffer + * @return ipfix record or null if record could not be read. + */ + public Object getRecord( IpfixMessage msg, ByteBuffer setBuffer ); + public IpfixTemplateForDataReader getTemplate(); + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordSpecifier.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordSpecifier.java new file mode 100644 index 0000000..99d2373 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordSpecifier.java @@ -0,0 +1,31 @@ +/** +* +* 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.api; +/** + * <p> Can be an {@link IpfixOptionsTemplateRecord} or + * an {@link IpfixTemplateRecord }. </p> + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixDataRecordSpecifier { + + public int getTemplateId(); + public int getDataRecordLength(); + public boolean isVariableLength(); +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultDataRecord.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultDataRecord.java new file mode 100644 index 0000000..3c3e4a7 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultDataRecord.java @@ -0,0 +1,50 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.util.HexDump; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixDefaultDataRecord { + private final ByteBuffer byteBuffer; + /** + * Slice the set buffer from the current position len bytes long. + * + * @param setBuffer Origin byte buffer. + * @param len Size of record in octets. + */ + public IpfixDefaultDataRecord(ByteBuffer setBuffer, int len ) { + this.byteBuffer = setBuffer.slice(); + this.byteBuffer.limit(len); + setBuffer.position(setBuffer.position()+len ); + } + @Override + public String toString() { + byte [] bb = new byte[byteBuffer.remaining()]; + byteBuffer.get(bb); + String hexdump = HexDump.toHexString( bb, byteBuffer.limit()*2 ); + return String.format("drec:{ len:%d hex: %s }", byteBuffer.limit(),hexdump); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultTemplateManager.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultTemplateManager.java new file mode 100644 index 0000000..cc51f7c --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultTemplateManager.java @@ -0,0 +1,116 @@ +/** +* +* 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.api; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * IPFIX Template Manager + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixDefaultTemplateManager implements IpfixTemplateManager { + // -- sys -- + protected final Logger logger = LoggerFactory.getLogger(getClass()); + protected final Statistics stats = new Statistics(); + // -- management -- + private final Map<String, IpfixIe> mapFieldIe = new ConcurrentHashMap<String, IpfixIe>(); + private final Map<Integer, IpfixDataRecordReader> mapSetIdRecordReader = new ConcurrentHashMap<Integer, IpfixDataRecordReader>(); + private final Map<String, IpfixDataRecordReader> mapTemplateUidRecordReader = new ConcurrentHashMap<String, IpfixDataRecordReader>(); + private final Map<Integer, IpfixDataRecordSpecifier> mapSetId2DataRecordSpecifier = new ConcurrentHashMap<Integer, IpfixDataRecordSpecifier>(); + + // TODO unify this + @Override + public void registerOptionsTemplateRecord( + IpfixOptionsTemplateRecord ipfixOptionsTemplateRecord) { + stats.numberOfOptionTemplateRecords++; + int setId = ipfixOptionsTemplateRecord.getTemplateId(); + IpfixDataRecordReader reader = mapTemplateUidRecordReader + .get(ipfixOptionsTemplateRecord.getUid()); + mapSetId2DataRecordSpecifier.put(setId, ipfixOptionsTemplateRecord); + if (reader == null) { + logger.debug( + "No IPFIX (options) data record reader was found for {}.", + ipfixOptionsTemplateRecord.getUid()); + return; + } + logger.debug( + "registering ipfix options template record: {}, reader:{}", + ipfixOptionsTemplateRecord, reader); + mapSetIdRecordReader.put(setId, reader); + } + + @Override + public IpfixDataRecordSpecifier getDataRecordSpecifier(int setId) { + return mapSetId2DataRecordSpecifier.get(setId); + } + + @Override + public IpfixDataRecordReader getDataRecordReader(int setId) { + IpfixDataRecordReader reader = mapSetIdRecordReader.get(setId); + // logger.debug("Getting data record reader:{} setId:{}",reader,setId); + return reader; + } + + @Override + public IpfixIe getInformationElement(IpfixFieldSpecifier fieldSpecifier) { + return mapFieldIe.get(fieldSpecifier.toString()); + } + + @Override + public Statistics getStatistics() { + return stats; + } + + @Override + public void registerDataRecordReader(IpfixDataRecordReader reader) { + logger.debug("registering data record reader: {}", reader.getTemplate() + .getUid()); + for (IpfixIe ie : reader.getTemplate().getInformationElements()) { + logger.debug(" +-registering ie: {}, {}", ie.getName(), ie + .getFieldSpecifier()); + mapFieldIe.put(ie.getFieldSpecifier().toString(), ie); + } + mapTemplateUidRecordReader.put(reader.getTemplate().getUid(), reader); + + } + + @Override + public void registerTemplateRecord(IpfixTemplateRecord ipfixTemplateRecord) { + stats.numberOfTemplateRecords++; + IpfixDataRecordReader reader = mapTemplateUidRecordReader + .get(ipfixTemplateRecord.getUid()); + int setId = ipfixTemplateRecord.getTemplateId(); + mapSetId2DataRecordSpecifier.put(setId, ipfixTemplateRecord); + if (reader == null) { + logger.debug("No IPFIX data record reader was found for {}.", + ipfixTemplateRecord.getUid()); + return; + } + logger.debug("registering ipfix template record: {}, reader:{}", + ipfixTemplateRecord, reader); + mapSetIdRecordReader.put(setId, reader); + + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixEnterpriseNumbers.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixEnterpriseNumbers.java new file mode 100644 index 0000000..7ffa0b1 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixEnterpriseNumbers.java @@ -0,0 +1,79 @@ +/** +* +* 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.api; + +/** + * TODO auto generate from + * http://www.iana.org/assignments/enterprise-numbers + + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixEnterpriseNumbers { + /** + * <pre> + * { Decimal:12325, + * Organization:"Fraunhofer FOKUS", + * Contact:"Hartmut Brandt", + * Email:"brandt&fokus.gmd.de" } + * </pre> + */ + FRAUNHOFER_FOKUS(12325, "Fraunhofer FOKUS", "Hartmut Brandt", + "brandt&fokus.gmd.de"), + /** + * <pre> + * { Decimal:29305, + * Organization:"IPFIX Reverse Information Element Private Enterprise", + * Contact:"RFC5103 Authors", + * Email:"ipfix-biflow&cert.org" } + * </pre> + */ + IPFIX_REVERSE_INFORMATION_ELEMENT_PRIVATE_ENTERPRISE(29305, + "IPFIX Reverse Information Element Private Enterprise", + "RFC5103 Authors", "ipfix-biflow&cert.org"); + private final int decimal; + private final String organization; + private final String contact; + private final String email; + + private IpfixEnterpriseNumbers(int decimal, String organization, + String contact, String email) { + this.decimal = decimal; + this.organization = organization; + this.contact = contact; + this.email = email; + } + + public int getDecimal() { + return decimal; + } + + public String getOrganization() { + return organization; + } + + public String getContact() { + return contact; + } + + public String getEmail() { + return email; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixFieldSpecifier.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixFieldSpecifier.java new file mode 100644 index 0000000..ee7f258 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixFieldSpecifier.java @@ -0,0 +1,234 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * <pre> + * + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * |E| Information Element ident. | Field Length | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Enterprise Number | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * + * </pre> + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixFieldSpecifier implements Comparable<IpfixFieldSpecifier> { + // -- sys -- + private final static Logger logger = LoggerFactory + .getLogger(IpfixFieldSpecifier.class); + // -- constants -- + private static final int IDX_E_ID = 0; + private static final int IDX_FIELD_LENGTH = 2; + private static final int IDX_ENTERPRISE_NUMBER = 4; + private static final int LENGTH_IN_OCTETS = 4; + private static final int LENGTH_ENTERPRISE_IN_OCTETS = 8; + private static final int RFC_NON_ENTERPRISE=0; + // -- model -- + private final ByteBuffer bytebuffer; + private IpfixIe informationElement; + private boolean isScope = false; + + @Override + public String toString() { + if (informationElement != null) { + return String.format("%s", informationElement.getName()); + } + return getUid(); + } + + public String getUid() { + String scope = this.isScope?", scope:true":""; + return String.format("{id:%d, len:%d, en:%d%s}", getId(), + getIeLength(), getEnterpriseNumber(), scope); + } + /** + * Interpret next bytes as an ipfix field specifier. The record buffer position + * is incremented accordingly. + * + * @param recordBuffer + */ + public IpfixFieldSpecifier(ByteBuffer recordBuffer) { + this.bytebuffer = recordBuffer.slice(); + if (isEnterprise()) { + recordBuffer.position(recordBuffer.position() + + LENGTH_ENTERPRISE_IN_OCTETS); + this.bytebuffer.limit(LENGTH_ENTERPRISE_IN_OCTETS); + } else { + recordBuffer.position(recordBuffer.position() + LENGTH_IN_OCTETS); + this.bytebuffer.limit(LENGTH_IN_OCTETS); + } + } + /** + * Creates an IETF information element. + */ + public IpfixFieldSpecifier() { + this(RFC_NON_ENTERPRISE); + } + /** + * Creates an IETF or Enterprise information element. + * + * @param isEnterprise + */ + public IpfixFieldSpecifier(long enterpriseNumber) { + + if (enterpriseNumber!=0) { + this.bytebuffer = ByteBuffer.allocate(LENGTH_ENTERPRISE_IN_OCTETS); + setEnterpriseNumber(enterpriseNumber); + } else { + this.bytebuffer = ByteBuffer.allocate(LENGTH_IN_OCTETS); + } + } + + public short getId() { + return (short) (0x7FFF & bytebuffer.getShort(IDX_E_ID)); + } + + public IpfixFieldSpecifier setId(int id) { + bytebuffer.putShort(IDX_E_ID, + (short) (id | (bytebuffer.getShort(IDX_E_ID) & 0x8000))); + return this; + } + + public long getEnterpriseNumber() { + if (isEnterprise() && bytebuffer.limit() >= LENGTH_ENTERPRISE_IN_OCTETS) { + return ByteBufferUtil.getUnsignedInt(bytebuffer, + IDX_ENTERPRISE_NUMBER); + } else { + return 0; + } + } + + /** + * Set enterprise number. Enterprise bit is also set if en != 0. + * + * @param en + * @return itself + */ + public IpfixFieldSpecifier setEnterpriseNumber(long en) { + if (bytebuffer.limit() >= LENGTH_ENTERPRISE_IN_OCTETS) { + ByteBufferUtil.putUnsignedInt(bytebuffer, IDX_ENTERPRISE_NUMBER , en); + setEnterprise(en != 0); + } else { + logger + .warn("Trying to set enterprise number on a too small field specifier buffer."); + } + return this; + } + + /** + * <p> The length of the corresponding encoded Information Element, in octets. + * Refer to [RFC5102]. The field length may be smaller than the definition + * in [RFC5102] if the reduced size encoding is used (see Section 6.2). The + * value 65535 is reserved for variable- length Information Elements (see + * Section 7).</p> + * + * @return length in octets + */ + public int getIeLength() { + return ByteBufferUtil.getUnsignedShort(bytebuffer, IDX_FIELD_LENGTH); + } + + /** + * + * @return Length in octets required to store this field specifier, i.e. 4 + * (standard) or 8 (enterprise) octets. + */ + public int getFieldSpecifierLength() { + return isEnterprise() ? LENGTH_ENTERPRISE_IN_OCTETS : LENGTH_IN_OCTETS; + } + + public IpfixFieldSpecifier setFieldLength(int fieldLength) { + ByteBufferUtil + .putUnsignedShort(bytebuffer, IDX_FIELD_LENGTH, fieldLength); + return this; + } + + public boolean isEnterprise() { + return (bytebuffer.getShort(IDX_E_ID) & 0x8000) > 0; + } + + public IpfixFieldSpecifier setEnterprise(boolean isEnterprise) { + if (isEnterprise) { + bytebuffer.putShort(IDX_E_ID, (short) (bytebuffer.getShort(IDX_E_ID) | 0x8000)); + } else { + bytebuffer.putShort(IDX_E_ID, (short) (bytebuffer.getShort(IDX_E_ID) & 0x7FFF)); + } + return this; + } + + /** + * Get underlying byte buffer + * + * @return + */ + public ByteBuffer getBytebuffer() { + return bytebuffer; + } + + @Override + public int hashCode() { + return bytebuffer.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof IpfixFieldSpecifier) { + IpfixFieldSpecifier that = (IpfixFieldSpecifier) obj; + return bytebuffer.equals(that.getBytebuffer()); + } else { + return false; + } + } + + @Override + public int compareTo(IpfixFieldSpecifier that) { + return bytebuffer.compareTo(that.getBytebuffer()); + } + + public IpfixIe getInformationElement() { + return informationElement; + } + + public void setInformationElement(IpfixIe informationElement) { + this.informationElement = informationElement; + } + + public boolean isScope() { + return isScope; + } + + public IpfixFieldSpecifier setScope(boolean isScope) { + this.isScope = isScope; + return this; + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixHeader.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixHeader.java new file mode 100644 index 0000000..ba988ee --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixHeader.java @@ -0,0 +1,96 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * + * <pre> + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Version Number | Length | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Export Time | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Sequence Number | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Observation Domain ID | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * </pre> + * + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixHeader { + // private final static Logger logger = + // LoggerFactory.getLogger(IpfixHeader.class); + // -- constants -- + public static final int IDX_VERSION = 0; + public static final int IDX_LENGTH = 2; + public static final int IDX_EXPORT_TIME = 4; + public static final int IDX_SEQUENCE_NUMBER = 8; + public static final int IDX_OBSERVATION_DOMAIN_ID = 12; + + /** + * IPFIX header size in octets + */ + public static final int SIZE_IN_OCTETS = 16; + + public static int getVersion(ByteBuffer byteBuffer ) { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_VERSION); + } + /** + * Get IPFIX message length from position, buffer state won't be changed. + * + * @param byteBuffer + * @param pos + * @return ipfix message length from reference message starting position + */ + public static int getLength(ByteBuffer byteBuffer, int pos ) { + return ByteBufferUtil.getUnsignedShort(byteBuffer, pos+IDX_LENGTH); + } + + public static int getLength(ByteBuffer byteBuffer ) { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_LENGTH); + } + + public static long getExportTime(ByteBuffer byteBuffer) { + return ByteBufferUtil.getUnsignedInt(byteBuffer, IDX_EXPORT_TIME); + + } + public static long getSequenceNumber(ByteBuffer byteBuffer) { + return ByteBufferUtil.getUnsignedInt(byteBuffer, IDX_SEQUENCE_NUMBER); + + } + public static long getObservationDomainID(ByteBuffer byteBuffer) { + return ByteBufferUtil.getUnsignedInt(byteBuffer, + IDX_OBSERVATION_DOMAIN_ID); + } + public static String toString( ByteBuffer byteBuffer ) { + return String.format("hdr:{v:%d, len:%d, et:%d, sn:%d, oid:%d}", + getVersion(byteBuffer), getLength(byteBuffer), getExportTime(byteBuffer), + getSequenceNumber(byteBuffer), getObservationDomainID(byteBuffer)); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIe.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIe.java new file mode 100644 index 0000000..4adb08b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIe.java @@ -0,0 +1,48 @@ +/** +* +* 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.api; +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixIe { + /** + * Value reserved for variable-length Information Elements. + */ + public int VARIABLE_LENGTH = 65535; + public String getName(); + public IpfixIeDataTypes getDataType(); + public IpfixIeSemantics getSemantics(); + public IpfixIeStatus getStatus(); + public IpfixIeUnits getUnits(); + public IpfixFieldSpecifier getFieldSpecifier(); + + /** + * Number of octets used for encoding this IPFIX IE. + * @return length or {@link IpfixIe#VARIABLE_LENGTH} + */ + public int getLength(); + + public static class Util{ + public static String toString(IpfixIe ie) { + return String.format("%s:%d", ie.getName(),ie.getLength()); + } + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeCodec.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeCodec.java new file mode 100644 index 0000000..380e847 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeCodec.java @@ -0,0 +1,90 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixIeCodec { + public static final Logger logger = LoggerFactory.getLogger(VariableLength.class); + + public IpfixIeDataTypes getDataType(); + + /** + * Deals with variable length Information Elements. There are two cases, as + * shown in the figures below. <h3>1. Length < 255 octets</h3> + * + * <pre> + * + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Length (< 255)| Information Element | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | ... continuing as needed | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * + * Figure R: Variable-Length Information Element (length < 255 octets) + * + * </pre> + * + * <h3>2. Length > 255</h3> + * + * <pre> + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | 255 | Length (0 to 65535) | IE | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | ... continuing as needed | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * + * </pre> + * + * @author FhG-FOKUS NETwork Research + * + */ + public static class VariableLength { + + /** + * Reads variable length information elements. + * + * @param setBuffer + * @return + */ + public static ByteBuffer getByteBuffer(ByteBuffer setBuffer) { + int len = ByteBufferUtil.getUnsignedByte(setBuffer, setBuffer.position()); + setBuffer.position(setBuffer.position()+1); + if( len == 0xff ){ + len = ByteBufferUtil.getUnsignedShort(setBuffer, setBuffer.position()); + setBuffer.position(setBuffer.position()+2); + + } + return ByteBufferUtil.sliceAndSkip(setBuffer, len); + } + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeDataTypes.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeDataTypes.java new file mode 100644 index 0000000..b7d24a8 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeDataTypes.java @@ -0,0 +1,181 @@ +/** +* +* 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.api; + +/** + * <p> + * References + * <ul> + * <li><a href="http://www.iana.org/go/rfc5610">RFC 5102 Exporting Type + * Information for IP Flow Information Export (IPFIX) Information Elements</a></li> + * <li><a href="http://tools.ietf.org/html/rfc5102">RFC 5102 - Information Model + * for IP Flow Information Export </a></li> + * </ul> + * </p> + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixIeDataTypes { + /** + * The type "octetArray" represents a finite-length string of octets. + */ + OCTETARRAY(0, IpfixIe.VARIABLE_LENGTH), + /** + * The type "unsigned8" represents a non-negative integer value in the range + * of 0 to 255. + */ + UNSIGNED8(1, 1), + /** + * The type "unsigned16" represents a non-negative integer value in the + * range of 0 to 65535. + */ + UNSIGNED16(2, 2), + /** + * The type "unsigned32" represents a non-negative integer value in the + * range of 0 to 4294967295. + */ + UNSIGNED32(3, 4), + /** + * The type "unsigned64" represents a non-negative integer value in the + * range of 0 to 18446744073709551615. + */ + UNSIGNED64(4, 8), + /** + * The type "signed8" represents an integer value in the range of -128 to + * 127. + */ + SIGNED8(5, 1), + /** + * The type "signed16" represents an integer value in the range of -32768 to + * 32767. + */ + SIGNED16(6, 2), + /** + * The type "signed32" represents an integer value in the range of + * -2147483648 to 2147483647. + */ + SIGNED32(7, 4), + /** + * The type "signed64" represents an integer value in the range of + * -9223372036854775808 to 9223372036854775807. + */ + SIGNED64(8, 8), + /** + * The type "float32" corresponds to an IEEE single-precision 32-bit + * floating point type as defined in [IEEE.754.1985]. + */ + FLOAT32(9, 4), + /** + * The type "float64" corresponds to an IEEE double-precision 64-bit + * floating point type as defined in [IEEE.754.1985]. + */ + FLOAT64(10, 8), + /** + * The type "boolean" represents a binary value. The only allowed values are + * "true" and "false". + */ + BOOLEAN(11, 1), + /** + * The type "macAddress" represents a string of 6 octets. + */ + MACADDRESS(12, 6), + /** + * The type "string" represents a finite-length string of valid characters + * from the Unicode character encoding set [ISO.10646- 1.1993]. Unicode + * allows for ASCII [ISO.646.1991] and many other international character + * sets to be used. + */ + STRING(13, IpfixIe.VARIABLE_LENGTH), + /** + * The type "dateTimeSeconds" represents a time value in units of seconds + * based on coordinated universal time (UTC). The choice of an epoch, for + * example, 00:00 UTC, January 1, 1970, is left to corresponding encoding + * specifications for this type, for example, the IPFIX protocol + * specification. Leap seconds are excluded. Note that transformation of + * values might be required between different encodings if different epoch + * values are used. + */ + // TODO check this + DATETIMESECONDS(14, IpfixIe.VARIABLE_LENGTH), + /** + * The type "dateTimeMilliseconds" represents a time value in units of + * milliseconds based on coordinated universal time (UTC). The choice of an + * epoch, for example, 00:00 UTC, January 1, 1970, is left to corresponding + * encoding specifications for this type, for example, the IPFIX protocol + * specification. Leap seconds are excluded. Note that transformation of + * values might be required between different encodings if different epoch + * values are used. + */ + DATETIMEMILLISECONDS(15, IpfixIe.VARIABLE_LENGTH), + /** + * The type "dateTimeMicroseconds" represents a time value in units of + * microseconds based on coordinated universal time (UTC). The choice of an + * epoch, for example, 00:00 UTC, January 1, 1970, is left to corresponding + * encoding specifications for this type, for example, the IPFIX protocol + * specification. Leap seconds are excluded. Note that transformation of + * values might be required between different encodings if different epoch + * values are used. + */ + DATETIMEMICROSECONDS(16, IpfixIe.VARIABLE_LENGTH), + /** + * The type "dateTimeNanoseconds" represents a time value in units of + * nanoseconds based on coordinated universal time (UTC). The choice of an + * epoch, for example, 00:00 UTC, January 1, 1970, is left to corresponding + * encoding specifications for this type, for example, the IPFIX protocol + * specification. Leap seconds are excluded. Note that transformation of + * values might be required between different encodings if different epoch + * values are used. + */ + DATETIMENANOSECONDS(17, IpfixIe.VARIABLE_LENGTH), + /** + * The type "ipv4Address" represents a value of an IPv4 address. + */ + IPV4ADDRESS(18, 4), + /** + * The type "ipv6Address" represents a value of an IPv6 address. + */ + IPV6ADDRESS(19, 16); + private final int encondingValue; + private final int defaultLength; + + private IpfixIeDataTypes(int value, int length) { + this.encondingValue = value; + this.defaultLength = length; + } + + /** + * Get encoding value. + * + * @return + */ + public int getEncodingValue() { + return encondingValue; + } + + /** + * Get default length in octets. + * + * @return Length in octets or {@link IpfixIe#VARIABLE_LENGTH}. + */ + public int getDefaultLength() { + return defaultLength; + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeSemantics.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeSemantics.java new file mode 100644 index 0000000..9cb6792 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeSemantics.java @@ -0,0 +1,59 @@ +/** +* +* 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.api; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixIeSemantics { + DEFAULT(0), + QUANTITY(1), + TOTALCOUNTER(2), + DELTACOUNTER(3), + IDENTIFIER(4), + FLAGS(5), + UNASSIGNED(6); + + private final int value; + private static final Logger logger = LoggerFactory.getLogger(IpfixIeSemantics.class); + + IpfixIeSemantics(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + public static IpfixIeSemantics getFromModelName( String name ){ + if( name==null){ + return DEFAULT; + } + try { + return IpfixIeSemantics.valueOf(name.toUpperCase()); + }catch (Exception e) { + logger.debug("No ie semantics matched for \"{}\"",name); + return IpfixIeSemantics.DEFAULT; + } + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeStatus.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeStatus.java new file mode 100644 index 0000000..7324b53 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeStatus.java @@ -0,0 +1,38 @@ +/** +* +* 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.api; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixIeStatus { + CURRENT("current"), + DEPRECATED("deprecated"), + OBSOLETE("obsolete"); + // TODO review: should we call it stringValue instead? + private final String value; + IpfixIeStatus( String value){ + this.value = value; + } + public String getValue() { + return value; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeUnits.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeUnits.java new file mode 100644 index 0000000..409822a --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeUnits.java @@ -0,0 +1,68 @@ +/** +* +* 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.api; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixIeUnits { + NONE(0), + BITS(1), + OCTETS(2), + PACKETS(3), + FLOWS(4), + SECONDS(5), + MILLISECONDS(6), + MICROSECONDS(7), + NANOSECONDS(8), + FOUR_OCTET_WORDS(9), + MESSAGES(10), + HOPS(11), + ENTRIES(12), + UNASSIGNED(13); + private final static Logger logger = LoggerFactory.getLogger(IpfixIeUnits.class); + private final int value; + IpfixIeUnits(int value){ + this.value = value; + } + public int getValue() { + return value; + } + public static IpfixIeUnits getFromModelName( String name ){ + if( name==null){ + return NONE; + } + try { + String upper = name.toUpperCase(); + if(upper.contentEquals("4-OCTET WORDS")){ + return FOUR_OCTET_WORDS; + } + return IpfixIeUnits.valueOf(name.toUpperCase()); + }catch (Exception e) { + logger.debug("No units matched for \"{}\"",name); + return IpfixIeUnits.NONE; + } + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixMessage.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixMessage.java new file mode 100644 index 0000000..c8d242f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixMessage.java @@ -0,0 +1,223 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; +import java.util.Iterator; +import java.util.NoSuchElementException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixTemplateManager.Statistics; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public final class IpfixMessage implements Iterable<IpfixSet> { + // -- sys -- + private final static Logger logger = LoggerFactory + .getLogger(IpfixMessage.class); + // -- model -- + private ByteBuffer messageBuffer; + private short numberOfunknownSets = 0; + + // -- management -- + private final IpfixTemplateManager templateManager; + private final Statistics stats; + + public IpfixMessage(IpfixTemplateManager templateManager, + ByteBuffer byteBuffer) { + this.templateManager = templateManager; + this.stats = templateManager.getStatistics(); + // slicing + this.messageBuffer = ByteBufferUtil.sliceAndSkip(byteBuffer, IpfixHeader.getLength(byteBuffer, byteBuffer.position())); +// byteBuffer.position(byteBuffer.position()+getLength()); + + stats.globalBufferPosition = byteBuffer.position(); + + } + public void incNumberOfunknownSets(){ + numberOfunknownSets++; + } + public short getNumberOfunknownSets() { + return numberOfunknownSets; + } + + /** + * @return a sliced byte buffer of this message. Contents are shared, + * position and limit are not. + */ + public ByteBuffer getMessageBuffer() { + return messageBuffer.slice(); + } + + public Iterator<IpfixSet> iterator() { + return new Iterator<IpfixSet>() { + + private final ByteBuffer setsBuffer =ByteBufferUtil.skipAndSlice(IpfixHeader.SIZE_IN_OCTETS,messageBuffer); + private IpfixSetHeader currentSetHeader; + private IpfixSet last = null, next = null; + + public boolean hasNext() { + if (next != null) { + return true; + } + if (setsBuffer.hasRemaining()) { + try { + currentSetHeader = new IpfixSetHeader(setsBuffer); + next = new IpfixSet(IpfixMessage.this, templateManager, + currentSetHeader, setsBuffer); + + return true; + } catch (Exception e) { + e.printStackTrace(); + System.exit(-1); + logger.error(e.getMessage()); + } + } + return false; + } + + public IpfixSet next() { + if (next == null && !hasNext()) { + throw new NoSuchElementException(); + } + last = next; + next = null; + return last; + } + + public void remove() { + throw new UnsupportedOperationException("Cannot remove sets!"); + } + + }; + } + + @Override + public String toString() { + return String.format("msg:[ %s ]", IpfixHeader.toString(messageBuffer)); + } + + public long getObservationDomainID() { + return IpfixHeader.getObservationDomainID(messageBuffer); + } + + public int getVersion() { + return IpfixHeader.getVersion(messageBuffer); + } + + public int getLength() { + return IpfixHeader.getLength(messageBuffer); + } + + public long getExportTime() { + return IpfixHeader.getExportTime(messageBuffer); + } + + public long getSequenceNumber() { + return IpfixHeader.getSequenceNumber(messageBuffer); + } + + /** + * This currently performs the same function as aligned without logging + * messages. The intent is to use in IPFIX collector for buffering data in + * case not enough message is available for decoding. + * + * @param byteBuffer + * @return whether buffer contains a complete IPFIX message + */ + public static boolean enoughData(ByteBuffer byteBuffer) { + if( byteBuffer.remaining() <= IpfixHeader.SIZE_IN_OCTETS ){ + return false; + } + // two fingers alignment + int pos = byteBuffer.position(); + int msg1_version = ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + IpfixHeader.IDX_VERSION); + // first finger + if (msg1_version == Ipfix.VERSION) { + int msg1_length = ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + IpfixHeader.IDX_LENGTH); + if (msg1_length == 0) { + // message length must not be 0; + return false; + } + int limit = byteBuffer.limit(); + if (msg1_length > limit) { + // message length bigger than available data + return false; + } + if (limit > pos + msg1_length + IpfixHeader.SIZE_IN_OCTETS) { + // second finger + return ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + msg1_length + IpfixHeader.IDX_VERSION) == Ipfix.VERSION; + } + return true; + } + return false; + + } + + /** + * Align byte buffer containing IPFIX messages. It skips invalid data + * positioning the buffer on a valid message. The current implementation + * uses two finger alignment. + * + */ + public static boolean align(ByteBuffer byteBuffer) { + // two fingers alignment + if( byteBuffer.remaining() <= IpfixHeader.SIZE_IN_OCTETS ){ + return false; + } + int pos = byteBuffer.position(); + int msg1_version = ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + IpfixHeader.IDX_VERSION); + // first finger + if (msg1_version == Ipfix.VERSION) { + int limit = byteBuffer.limit(); + int msg1_length = ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + IpfixHeader.IDX_LENGTH); + if (msg1_length == 0) { + logger.warn("Strange, message length is 0! I'll skip this " + + "and to continue searching for a valid ipfix header."); + return false; + } + if (msg1_length > limit) { +// logger.debug("Message length ({}) bigger than buffer limit({}), I'll skip this " +// + "and to continue searching for a valid ipfix header.",msg1_length,limit); + return false; + } + if (limit > pos + msg1_length + + IpfixHeader.SIZE_IN_OCTETS) { + // second finger + return ByteBufferUtil.getUnsignedShort(byteBuffer, pos + + msg1_length + IpfixHeader.IDX_VERSION) == Ipfix.VERSION; + } + return true; + } + + return false; + + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixOptionsTemplateRecord.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixOptionsTemplateRecord.java new file mode 100644 index 0000000..e91bafc --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixOptionsTemplateRecord.java @@ -0,0 +1,158 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * IPFIX Options Template Record. + * + * <h2>Header</h2> + * <pre> + * + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Template ID (> 255) | Field Count | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Scope Field Count | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * </pre> + * + * <h2>Field Specifier </h2> + * <pre> + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * |E| Information Element ident. | Field Length | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Enterprise Number | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * </pre> + * <h2> Record Format </h2> + * <pre> + * +--------------------------------------------------+ + * | Options Template Record Header | + * +--------------------------------------------------+ + * | Field Specifier | + * +--------------------------------------------------+ + * | Field Specifier | + * +--------------------------------------------------+ + * ... + * +--------------------------------------------------+ + * | Field Specifier | + * +--------------------------------------------------+ + * + * </pre> + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixOptionsTemplateRecord implements IpfixDataRecordSpecifier { + // -- constants -- + private static final int IDX_TEMPLATE_ID = 0; + private static final int IDX_FIELD_COUNT = 2; + private static final int IDX_SCOPE_FIELD_COUNT = 4; + private static final int HEADER_SIZE_IN_OCTETS = 6; + // -- model -- + private final ByteBuffer byteBuffer; + private final List<IpfixFieldSpecifier> fieldSpecifiers; + private final String uid; + private final int dataRecordLength; + private boolean isVariableLength = false; + /** + * Reads an IPFIX options template format. + * + * @param templateManager + * @param setBuffer + */ + public IpfixOptionsTemplateRecord(IpfixTemplateManager templateManager, + ByteBuffer setBuffer) { + // We need to linearly read the templates so the limit of sliced buffer + // will encompasses at first the whole set. This is fixed at the end. + this.byteBuffer = setBuffer.slice(); + this.byteBuffer.position(HEADER_SIZE_IN_OCTETS); + int fieldCount = getFieldCount(); + // TODO handle errors (check this value) + int scopeThreshold = fieldCount - getScopeFieldCount(); + this.fieldSpecifiers = new ArrayList<IpfixFieldSpecifier>(); + StringBuffer uidSbuf = new StringBuffer(); + int dataRecordLength = 0; + for( int i=0; i < fieldCount; i++ ){ + IpfixFieldSpecifier fs = new IpfixFieldSpecifier(byteBuffer); + if( i >= scopeThreshold ){ + fs.setScope(true); + } + int ieLength = fs.getIeLength(); + if (ieLength == IpfixIe.VARIABLE_LENGTH) { + this.isVariableLength = true; + } + uidSbuf.append(fs.getUid()); + dataRecordLength+=ieLength; + this.fieldSpecifiers.add(fs); + } + this.dataRecordLength = dataRecordLength; + this.uid = uidSbuf.toString(); + int limit = this.byteBuffer.position(); + this.byteBuffer.limit(limit); + setBuffer.position(setBuffer.position()+limit); + + // TODO handle errors + templateManager.registerOptionsTemplateRecord(this); + + } + @Override + public int getTemplateId() { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_TEMPLATE_ID); + } + + public int getFieldCount() { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_FIELD_COUNT); + } + + public int getScopeFieldCount() { + return ByteBufferUtil.getUnsignedShort(byteBuffer, + IDX_SCOPE_FIELD_COUNT); + } + @Override + public String toString() { + return String.format("otrec:{tid:%d, fcnt:%d, sfcnt:%d, len:%d, dlen:%d, flds:%s }", + getTemplateId(), getFieldCount(), getScopeFieldCount(), + byteBuffer.limit(), isVariableLength ? IpfixIe.VARIABLE_LENGTH:dataRecordLength, + fieldSpecifiers ); + } + /** + * + * @return Length in octets of respective data record. + */ + @Override + public int getDataRecordLength() { + return dataRecordLength; + } + @Override + public boolean isVariableLength() { + return isVariableLength; + } + public String getUid() { + return uid; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixRecord.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixRecord.java new file mode 100644 index 0000000..b472217 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixRecord.java @@ -0,0 +1,19 @@ +/** +* +* 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.api; + diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSet.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSet.java new file mode 100644 index 0000000..ab52b59 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSet.java @@ -0,0 +1,229 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; +import java.util.Iterator; +import java.util.NoSuchElementException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixTemplateManager.Statistics; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; +import de.fhg.fokus.net.ipfix.util.HexDump; + +/** + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixSet implements Iterable<Object> { + // -- sys -- + private static final Logger logger = LoggerFactory + .getLogger(IpfixSet.class); + // -- model -- + private final IpfixSetHeader header; + private ByteBuffer setBuffer; + private IpfixSetType type; + private final IpfixMessage msg; // won't be used here, just passed through to delegated decoding + // -- management -- + private final IpfixTemplateManager templateManager; + private final Statistics stats; + private Iterator<Object> iterator = new Iterator<Object>() { + @Override + public void remove() { + } + + @Override + public Object next() { + throw new NoSuchElementException(); + } + + @Override + public boolean hasNext() { + logger.warn("Trying to iterate over an invalid set: {}", + IpfixSet.this.toString()); + return false; + } + }; + public IpfixSet(IpfixMessage msg, IpfixTemplateManager templateManager, + IpfixSetHeader header, ByteBuffer setsBuffer) { + this.msg = msg; + this.header = header; + this.templateManager = templateManager; + this.stats = templateManager.getStatistics(); + if(this.header.getLength()==0){ + throw new RuntimeException("Set length is 0! At "+this.stats.globalBufferPosition); + } + + this.setBuffer = ByteBufferUtil.sliceAndSkip(setsBuffer, this.header.getLength() -IpfixSetHeader.SIZE_IN_OCTETS); + stats.setBufferPosition = setsBuffer.position(); + // + this.type = IpfixSetType.getSetType(this.header.getSetId()); + // Setting up record iterator + switch (type) { + // ------------------------------------------------------------------- + // Reading data records + // ------------------------------------------------------------------- + case DATA: + stats.numberOfDataSets++; + final int setId = this.header.getSetId(); + logger.debug("set id: " + setId); + final IpfixDataRecordReader recordReader = templateManager + .getDataRecordReader(setId); + logger.debug("reader: "+recordReader); + final IpfixDataRecordSpecifier recordSpecifier = templateManager + .getDataRecordSpecifier(setId); + logger.debug("record spec: " + recordSpecifier); + iterator = new RecordIterator() { + + @Override + public boolean hasNext() { + if (next != null) { + return true; + } + if (setBuffer.hasRemaining()) { + if (recordReader == null) { + if( recordSpecifier==null){ + IpfixSet.this.msg.incNumberOfunknownSets(); + // Skipping unknown set + logger.debug("Got unknown set, did the exporter " + + "send all template records? setid: {}, hexdump:{}", + setId, + HexDump.toHexString(setBuffer.slice())); + + return false; + } + if ( !recordSpecifier.isVariableLength()) { + next = new IpfixDefaultDataRecord(setBuffer, + recordSpecifier.getDataRecordLength()); + } else { + logger + .debug("Skipping unknown variable length set."); + return false; + } + } else { + next = recordReader.getRecord(IpfixSet.this.msg, setBuffer); + stats.numberOfDataRecords++; + return true; + } + } + return false; + } + }; + break; + // ------------------------------------------------------------------- + // Reading template records + // ------------------------------------------------------------------- + case TEMPLATE: + stats.numberOfTemplateSets++; + iterator = new RecordIterator() { + + @Override + public boolean hasNext() { + if (next != null) { + return true; + } + if (setBuffer.hasRemaining()) { + try { + next = new IpfixTemplateRecord( + IpfixSet.this.templateManager, setBuffer); + return true; + } catch (Exception e) { + logger.debug(e.getMessage()); + } + } + return false; + } + + }; + + break; + // ------------------------------------------------------------------- + // Reading option template records + // ------------------------------------------------------------------- + + case OPTIONS_TEMPLATE: + stats.numberOfOptionTemplateSets++; + iterator = new RecordIterator() { + @Override + public boolean hasNext() { + if (next != null) { + return true; + } + if (setBuffer.hasRemaining()) { + try { + next = new IpfixOptionsTemplateRecord( + IpfixSet.this.templateManager, setBuffer); + return true; + } catch (Exception e) { + logger.debug(e.getMessage()); + } + } + return false; + } + }; + break; + default: + break; + } + } + + public IpfixSetType getType() { + return type; + } + + @Override + public Iterator<Object> iterator() { + return iterator; + } + + public IpfixSetHeader getHeader() { + return header; + } + + /** + * Generic abstract ipfix record iterator + */ + private static abstract class RecordIterator implements Iterator<Object> { + protected Object last = null, next = null; + + @Override + public final Object next() { + if (next == null && !hasNext()) { + throw new NoSuchElementException(); + } + last = next; + next = null; + return last; + } + + @Override + public void remove() { + throw new UnsupportedOperationException( + "Cannot remove records from set!"); + } + } + + @Override + public String toString() { + return String.format("%s:{id:%d, len:%d}", type.getShortName(), header + .getSetId(), header.getLength()); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetHeader.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetHeader.java new file mode 100644 index 0000000..7950234 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetHeader.java @@ -0,0 +1,108 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * <pre> + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Set ID | Length | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * </pre> + * + * @author FhG-FOKUS NETwork Research + */ +public class IpfixSetHeader { + // -- sys -- +// private final static Logger logger = LoggerFactory +// .getLogger(IpfixSetHeader.class); + // -- constants -- + private static final int IDX_SETID = 0; + private static final int IDX_LENGTH = 2; + public static final int SIZE_IN_OCTETS = 4; + // -- model -- + private int setId; + private int length; + + /** + * Read an IPFIX set header from byte buffer. Byte buffer position is + * updated accordingly; + * + * @param messageBuffer + */ + public IpfixSetHeader(ByteBuffer messageBuffer) { + // slicing + ByteBuffer bbuf = ByteBufferUtil.sliceAndSkip(messageBuffer, SIZE_IN_OCTETS); +// messageBuffer.limit(messageBuffer.position() + SIZE_IN_OCTETS); +// ByteBuffer bbuf = messageBuffer.slice(); +// messageBuffer.position(messageBuffer.limit()).limit( +// messageBuffer.capacity()); + // reading + this.setId = ByteBufferUtil.getUnsignedShort(bbuf, IDX_SETID); + this.length = ByteBufferUtil.getUnsignedShort(bbuf, IDX_LENGTH); + + } + /** + * <p> + * Set ID value identifies the Set. A value of 2 is reserved for the + * Template Set. A value of 3 is reserved for the Option Template Set. All + * other values from 4 to 255 are reserved for future use. Values above 255 + * are used for Data Sets. The Set ID values of 0 and 1 are not used for + * historical reasons [RFC3954]. + * </p> + * + * @return Set id + */ + + public int getSetId() { + return setId; + } + + public void setSetId(int setId) { + this.setId = setId; + } + + /** + * <p> + * Total length of the Set, in octets, including the Set Header, all + * records, and the optional padding. Because an individual Set MAY contain + * multiple records, the Length value MUST be used to determine the position + * of the next Set. + * </p> + * + * @return total set length in octets + */ + public int getLength() { + return length; + } + + public void setLength(int length) { + this.length = length; + } + + @Override + public String toString() { + return String.format("sethdr:{id:%d, len:%d}", setId, length); + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetType.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetType.java new file mode 100644 index 0000000..44df9ab --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetType.java @@ -0,0 +1,59 @@ +/** +* +* 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.api; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public enum IpfixSetType { + INVALID(0,"invalidset"), + TEMPLATE(2, "tset"), + OPTIONS_TEMPLATE(3, "otset"), + DATA(256, "dset"); + private final int value; + private final String shortname; + IpfixSetType(int value, String name) { + this.value = value; + this.shortname = name; + } + public int getValue() { + return value; + } + public String getShortName() { + return shortname; + } + /** + * Return respective set type. + * + * @param setId + * @return + */ + public static IpfixSetType getSetType( int setId ){ + if( setId >= IpfixSetType.DATA.value){ + return IpfixSetType.DATA; + } + if( setId== IpfixSetType.TEMPLATE.value ){ + return IpfixSetType.TEMPLATE; + } else if(setId == IpfixSetType.OPTIONS_TEMPLATE.value) { + return IpfixSetType.OPTIONS_TEMPLATE; + } + return IpfixSetType.INVALID; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplate.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplate.java new file mode 100644 index 0000000..e05182b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplate.java @@ -0,0 +1,71 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixTemplate { + // -- model -- + private final ByteBuffer bbuf; + private final IpfixIe [] ies; + private final String uid; + /** + * + * @param ies + */ + public IpfixTemplate(IpfixIe ... ies ) { + int capacity =0; + this.ies = ies; + for( IpfixIe ie: this.ies ){ + IpfixFieldSpecifier fld = ie.getFieldSpecifier(); + capacity+=fld.getFieldSpecifierLength(); + } + StringBuffer uidSbuf = new StringBuffer(); + this.bbuf = ByteBuffer.allocate(capacity); + // copying field specifiers to buffer + for( IpfixIe ie: this.ies ){ + IpfixFieldSpecifier fld = ie.getFieldSpecifier(); + ByteBuffer fldBuf = fld.getBytebuffer(); + fldBuf.limit(fld.getFieldSpecifierLength()); + fldBuf.rewind(); + this.bbuf.put(fldBuf); + uidSbuf.append(fld.getUid()); + } + this.uid = uidSbuf.toString(); + + } + public IpfixIe [] getInformationElements(){ + return ies; + } + + public ByteBuffer getByteBuffer(){ + return bbuf; + } + /** + * Used to match uid in {@link IpfixTemplateRecord} + * @return + */ + public String getUid() { + return uid; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateForDataReader.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateForDataReader.java new file mode 100644 index 0000000..c3e1e4c --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateForDataReader.java @@ -0,0 +1,79 @@ +/** +* +* 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.api; + +import java.nio.ByteBuffer; + +/** + * + * @author FhG-FOKUS NETwork Research + * + * FIXME rename-me please + * + */ +public class IpfixTemplateForDataReader { + // -- model -- + private final ByteBuffer bbuf; + private final IpfixIe [] ies; + private final String uid; + private final int recordSize; // used for slicing record buffers + /** + * + * @param ies + */ + public IpfixTemplateForDataReader(IpfixIe ... ies ) { + int capacity =0; + this.ies = ies; + for( IpfixIe ie: this.ies ){ + IpfixFieldSpecifier fld = ie.getFieldSpecifier(); + capacity+=fld.getFieldSpecifierLength(); + } + this.recordSize = capacity; + StringBuffer uidSbuf = new StringBuffer(); + this.bbuf = ByteBuffer.allocate(capacity); + // copying field specifiers to buffer + for( IpfixIe ie: this.ies ){ + IpfixFieldSpecifier fld = ie.getFieldSpecifier(); + ByteBuffer fldBuf = fld.getBytebuffer(); + fldBuf.limit(fld.getFieldSpecifierLength()); + fldBuf.rewind(); + this.bbuf.put(fldBuf); + uidSbuf.append(fld.getUid()); + } + this.uid = uidSbuf.toString(); + + } + public IpfixIe [] getInformationElements(){ + return ies; + } + + public ByteBuffer getByteBuffer(){ + return bbuf; + } + /** + * Used to match uid in {@link IpfixTemplateRecord} + * @return + */ + public String getUid() { + return uid; + } + public int getRecordSize() { + return recordSize; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateManager.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateManager.java new file mode 100644 index 0000000..0bf18cd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateManager.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.api; + + +/** + * Manages IPFIX template state. + * + * @author FhG-FOKUS NETwork Research + * + */ +public interface IpfixTemplateManager { + public class Statistics { + public long numberOfMessages = 0; + public long numberOfDataSets = 0; + public long numberOfDataRecords = 0; + public long numberOfTemplateSets = 0; + public long numberOfTemplateRecords = 0; + public long numberOfOptionTemplateSets = 0; + public long numberOfOptionTemplateRecords = 0; + // TODO review this in the context of a collector + public long globalBufferPosition = 0; + public long invalidBytes = 0; + public int setBufferPosition = 0; + + @Override + public String toString() { + return String + .format( + "stats:{msgs:%d, data:{nsets:%d, nrecs:%d}, tmpl:{nsets:%d, nrecs:%d}, otmpl:{nsets:%d, nrecs:%d}, pos:{file:%d, set:%d}, invalidbytes:%d}", + numberOfMessages, numberOfDataSets, + numberOfDataRecords, numberOfTemplateSets, + numberOfTemplateRecords, + numberOfOptionTemplateSets, + numberOfOptionTemplateRecords, + globalBufferPosition, + setBufferPosition, + invalidBytes + ); + } + } + + /** + * Register template record so that subsequently data records can be + * decoded. + * + * @param ipfixTemplateRecord + */ + public void registerTemplateRecord(IpfixTemplateRecord ipfixTemplateRecord); + + /** + * Register option template record so that subsequently records can be + * decoded. + * + * @param ipfixOptionsTemplateRecord + */ + public void registerOptionsTemplateRecord( + IpfixOptionsTemplateRecord ipfixOptionsTemplateRecord); + + /** + * Data record reader are responsible for interpreting IPFIX data sets. + * Information elements are also registered by this call; + * + * @param reader + */ + public void registerDataRecordReader(IpfixDataRecordReader reader); + + /** + * + * @param templateId + * @return the respective ipfix data record reader or null if setId is + * unknown + */ + public IpfixDataRecordReader getDataRecordReader(int setId); + + public IpfixDataRecordSpecifier getDataRecordSpecifier(int setId); + + /** + * + * @param fieldSpecifier + * @return information element + */ + public IpfixIe getInformationElement(IpfixFieldSpecifier fieldSpecifier); + + public Statistics getStatistics(); + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateRecord.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateRecord.java new file mode 100644 index 0000000..0466d55 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateRecord.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.api; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; + +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * Template Record Header + * + * <pre> + * 0 1 2 3 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | Template ID (> 255) | Field Count | + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * + * </pre> + * + * + * @author FhG-FOKUS NETwork Research + * + */ +public final class IpfixTemplateRecord implements IpfixDataRecordSpecifier { + // -- sys -- + // private final static Logger logger = + // LoggerFactory.getLogger(IpfixTemplateRecord.class); + // -- constants -- + private static final int IDX_TEMPLATE_ID = 0; + private static final int IDX_FIELD_COUNT = 2; + private static final int HEADER_SIZE_IN_OCTETS = 4; + // -- model -- + private final List<IpfixFieldSpecifier> fieldSpecifiers; + private final String uid; + private final ByteBuffer byteBuffer; + private final int dataRecordLength; + private boolean isVariableLength = false; + + public IpfixTemplateRecord(IpfixTemplateManager templateManager, + ByteBuffer setBuffer) { + // We need to linearly read the templates so the limit of sliced buffer + // will encompasses at first the whole set. This will be fixed at the + // end. + this.byteBuffer = setBuffer.slice(); + this.byteBuffer.position(HEADER_SIZE_IN_OCTETS); + int fieldCount = getFieldCount(); + + this.fieldSpecifiers = new ArrayList<IpfixFieldSpecifier>(); + StringBuffer uidSbuf = new StringBuffer(); + int dataRecordLength = 0; + for (int i = 0; i < fieldCount; i++) { + IpfixFieldSpecifier fs = new IpfixFieldSpecifier(this.byteBuffer); + IpfixIe ie = templateManager.getInformationElement(fs); + if (ie != null) { + fs.setInformationElement(ie); + } + this.fieldSpecifiers.add(fs); + int ieLength = fs.getIeLength(); + if (ieLength == IpfixIe.VARIABLE_LENGTH) { + this.isVariableLength = true; + } + dataRecordLength += ieLength; + uidSbuf.append(fs.getUid()); + } + int limit = this.byteBuffer.position(); + this.byteBuffer.limit(limit); + setBuffer.position(setBuffer.position() + limit); + this.dataRecordLength = dataRecordLength; + this.uid = uidSbuf.toString(); + if(templateManager!=null){ + templateManager.registerTemplateRecord(this); + } + } + + @Override + public String toString() { + return String.format( + "trec:{tid:%d, fcnt:%d, len=%d, dlen=%s, flds:%s}", + getTemplateId(), getFieldCount(), byteBuffer.limit(), + isVariableLength ? IpfixIe.VARIABLE_LENGTH : dataRecordLength, fieldSpecifiers); + } + + public List<IpfixFieldSpecifier> getFieldSpecifiers() { + return fieldSpecifiers; + } + + public String getUid() { + return uid; + } + + @Override + public int getTemplateId() { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_TEMPLATE_ID); + } + + public int getFieldCount() { + return ByteBufferUtil.getUnsignedShort(byteBuffer, IDX_FIELD_COUNT); + } + + /** + * @return Length in octets of respective data record. + */ + @Override + public int getDataRecordLength() { + return dataRecordLength; + } + @Override + public boolean isVariableLength() { + return isVariableLength; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java new file mode 100644 index 0000000..50ff420 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java @@ -0,0 +1,37 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecBoolean implements IpfixIeCodec { + // private Logger logger = LoggerFactory.getLogger(getClass()); + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.BOOLEAN; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java new file mode 100644 index 0000000..66e8e63 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java @@ -0,0 +1,48 @@ +/** +* +* 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.api.codec; + +import java.math.BigInteger; +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecDateTimeMicroseconds implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.DATETIMEMILLISECONDS; + } + public BigInteger getBigInteger(ByteBuffer setBuffer) { + // TODO add support to compressed encodings + int fieldLength=8; + byte[] ba = new byte[fieldLength+1]; + ba[0]=0; + setBuffer.get(ba,1,fieldLength); + return new BigInteger(ba); + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java new file mode 100644 index 0000000..eaecbea --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java @@ -0,0 +1,44 @@ +/** +* +* 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.api.codec; + +import java.math.BigInteger; +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecDateTimeMilliseconds implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.DATETIMEMICROSECONDS; + } + public BigInteger getBigInteger(ByteBuffer setBuffer){ + byte bb [] = new byte[fieldLength]; + setBuffer.get(bb); + return new BigInteger(bb); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java new file mode 100644 index 0000000..a0fa6cb --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecDateTimeNanoseconds implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.DATETIMENANOSECONDS; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java new file mode 100644 index 0000000..b5efeb3 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecDateTimeSeconds implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.DATETIMESECONDS; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java new file mode 100644 index 0000000..55ae82f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java @@ -0,0 +1,42 @@ +/** +* +* 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.api.codec; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecFloat32 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.FLOAT32; + } + // TODO review + public float getFloat(ByteBuffer setBuffer) { + return setBuffer.getFloat(); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java new file mode 100644 index 0000000..38da2a8 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java @@ -0,0 +1,43 @@ +/** +* +* 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.api.codec; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecFloat64 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.FLOAT64; + } + // TODO review + public double getDouble(ByteBuffer setBuffer) { + return setBuffer.getDouble(); + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java new file mode 100644 index 0000000..0827dd4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java @@ -0,0 +1,57 @@ +/** +* +* 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.api.codec; + +import java.net.Inet4Address; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecIpv4Address implements IpfixIeCodec { + // -- sys -- + private Logger logger = LoggerFactory.getLogger(getClass()); + // -- model -- + protected int fieldLength = getDataType().getDefaultLength(); + + public Inet4Address getAddress(ByteBuffer setBuffer) { + byte[] ba = new byte[4]; + setBuffer.get(ba); + Inet4Address addr = null; + try { + addr = (Inet4Address) Inet4Address.getByAddress(ba); + } catch (UnknownHostException e) { + logger.warn("Invalid IPv4 address.", e.toString()); + } + return addr; + } + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.IPV4ADDRESS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java new file mode 100644 index 0000000..ed93273 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java @@ -0,0 +1,34 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecIpv6Address implements IpfixIeCodec { + protected int fieldLength=getDataType().getDefaultLength(); + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.IPV6ADDRESS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java new file mode 100644 index 0000000..d9694bb --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecMacAddress implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.MACADDRESS; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java new file mode 100644 index 0000000..8f01c2d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java @@ -0,0 +1,48 @@ +/** +* +* 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.api.codec; + +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecOctetArray implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.OCTETARRAY; + } + public ByteBuffer getByteBuffer( ByteBuffer setBuffer ){ + return VariableLength.getByteBuffer(setBuffer); + } + public String getString(ByteBuffer setBuffer, String charset ) throws UnsupportedEncodingException{ + ByteBuffer bbuf = VariableLength.getByteBuffer(setBuffer); + byte[] bytes = new byte[bbuf.remaining()]; + bbuf.get(bytes); + return new String(bytes,charset); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java new file mode 100644 index 0000000..4396822 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecSigned16 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.SIGNED16; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java new file mode 100644 index 0000000..886c486 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecSigned32 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.SIGNED32; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java new file mode 100644 index 0000000..70ff44f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecSigned64 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.SIGNED64; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java new file mode 100644 index 0000000..12c4b5c --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java @@ -0,0 +1,36 @@ +/** +* +* 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.api.codec; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecSigned8 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.SIGNED8; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java new file mode 100644 index 0000000..0cd0949 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java @@ -0,0 +1,48 @@ +/** +* +* 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.api.codec; + +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecString implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.STRING; + } + + public ByteBuffer getByteBuffer( ByteBuffer setBuffer ){ + return VariableLength.getByteBuffer(setBuffer); + } + public String getString(ByteBuffer setBuffer) throws UnsupportedEncodingException{ + ByteBuffer bbuf = VariableLength.getByteBuffer(setBuffer); + byte[] bytes = new byte[bbuf.remaining()]; + bbuf.get(bytes); + return new String(bytes,"UTF-8"); + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java new file mode 100644 index 0000000..c85748b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java @@ -0,0 +1,56 @@ +/** +* +* 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.api.codec; + +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecUnsigned16 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + // -- sys -- + private static final Logger logger = LoggerFactory + .getLogger(IpfixIeCodecUnsigned16.class); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.UNSIGNED16; + } + public int getInt(ByteBuffer setBuffer) { + if (fieldLength == 2) { + return ByteBufferUtil.getUnsignedShort(setBuffer); + } else if (fieldLength == 1) { + return ByteBufferUtil.getUnsignedByte(setBuffer); + } + logger.warn("Invalid unsigned16 encoding, returning 0., length:{}", + fieldLength); + return 0; + } + + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java new file mode 100644 index 0000000..ff2aea9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java @@ -0,0 +1,58 @@ +/** +* +* 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.api.codec; + +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecUnsigned32 implements IpfixIeCodec { + // -- sys -- + private static final Logger logger = LoggerFactory + .getLogger(IpfixIeCodecUnsigned32.class); + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.UNSIGNED32; + } + + public long getLong(ByteBuffer setBuffer) { + if (fieldLength == 4) { + return ByteBufferUtil.getUnsignedInt(setBuffer); + } else if (fieldLength == 2) { + return ByteBufferUtil.getUnsignedShort(setBuffer); + } else if (fieldLength == 1) { + return ByteBufferUtil.getUnsignedByte(setBuffer); + } + logger.warn("Invalid unsigned32 encoding, returning 0., length:{}", + fieldLength); + return 0; + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java new file mode 100644 index 0000000..dd62997 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java @@ -0,0 +1,67 @@ +/** +* +* 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.api.codec; + +import java.math.BigInteger; +import java.nio.ByteBuffer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public abstract class IpfixIeCodecUnsigned64 implements IpfixIeCodec { + /** + * You must set this. + */ + protected int fieldLength; + // -- sys -- + private static final Logger logger = LoggerFactory + .getLogger(IpfixIeCodecUnsigned64.class); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.UNSIGNED64; + } + public long getLong(ByteBuffer setBuffer) { + if (fieldLength == 4) { + return ByteBufferUtil.getUnsignedInt(setBuffer); + } else if (fieldLength == 2) { + return ByteBufferUtil.getUnsignedShort(setBuffer); + } else if (fieldLength == 1) { + return ByteBufferUtil.getUnsignedByte(setBuffer); + } + logger.warn("Invalid unsigned64 encoding, returning 0., length:{}", + fieldLength); + return 0; + } + + public BigInteger getBigInteger(ByteBuffer setBuffer) { + byte[] ba = new byte[fieldLength+1]; + ba[0]=0; + setBuffer.get(ba,1,fieldLength); + return new BigInteger(ba); + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java new file mode 100644 index 0000000..2e75a74 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java @@ -0,0 +1,43 @@ +/** +* +* 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.api.codec; + +import java.nio.ByteBuffer; + +import de.fhg.fokus.net.ipfix.api.IpfixIeCodec; +import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes; +import de.fhg.fokus.net.ipfix.util.ByteBufferUtil; + +/** + * + * @author FhG-FOKUS NETwork Research + * + */ +public class IpfixIeCodecUnsigned8 implements IpfixIeCodec { + protected int fieldLength = getDataType().getDefaultLength(); + + @Override + public IpfixIeDataTypes getDataType() { + return IpfixIeDataTypes.UNSIGNED8; + } + + public short getShort( ByteBuffer setBuffer){ + return ByteBufferUtil.getUnsignedByte(setBuffer); + } + +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html new file mode 100644 index 0000000..92eb4fa --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html @@ -0,0 +1,3 @@ +<html><head></head><body> +IPFIX API (coders and decoders) +</body></html>
\ No newline at end of file diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/package.html b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/package.html new file mode 100644 index 0000000..45df62e --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/package.html @@ -0,0 +1,3 @@ +<html><head></head><body> +IPFIX API +</body></html>
\ No newline at end of file diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeAbsoluteError.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeAbsoluteError.java new file mode 100644 index 0000000..abb3d31 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeAbsoluteError.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecFloat64; + + + +/** + * <pre> +absoluteError:{ + elementId:320, + dataType:float64, + dataTypeSemantis:quantity, + units:The units of the Information Element for which the error is specified. + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeAbsoluteError extends IpfixIeCodecFloat64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeAbsoluteError() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(320) + .setFieldLength(this.fieldLength); + } + public IpfixIeAbsoluteError( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(320) + .setFieldLength(this.fieldLength); + } + public IpfixIeAbsoluteError( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(320) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "absoluteError"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpDestinationAsNumber.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpDestinationAsNumber.java new file mode 100644 index 0000000..dc5baf9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpDestinationAsNumber.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +bgpDestinationAsNumber:{ + elementId:17, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpDestinationAsNumber extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpDestinationAsNumber() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(17) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpDestinationAsNumber( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(17) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpDestinationAsNumber( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(17) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpDestinationAsNumber"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextAdjacentAsNumber.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextAdjacentAsNumber.java new file mode 100644 index 0000000..eec7eea --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextAdjacentAsNumber.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +bgpNextAdjacentAsNumber:{ + elementId:128, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpNextAdjacentAsNumber extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpNextAdjacentAsNumber() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(128) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextAdjacentAsNumber( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(128) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextAdjacentAsNumber( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(128) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpNextAdjacentAsNumber"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv4Address.java new file mode 100644 index 0000000..da81e0d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv4Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv4Address; + + + +/** + * <pre> +bgpNextHopIPv4Address:{ + elementId:18, + dataType:ipv4Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpNextHopIPv4Address extends IpfixIeCodecIpv4Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpNextHopIPv4Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(18) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextHopIPv4Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(18) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextHopIPv4Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(18) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpNextHopIPv4Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv6Address.java new file mode 100644 index 0000000..78dc64e --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv6Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv6Address; + + + +/** + * <pre> +bgpNextHopIPv6Address:{ + elementId:63, + dataType:ipv6Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpNextHopIPv6Address extends IpfixIeCodecIpv6Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpNextHopIPv6Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(63) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextHopIPv6Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(63) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpNextHopIPv6Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(63) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpNextHopIPv6Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpPrevAdjacentAsNumber.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpPrevAdjacentAsNumber.java new file mode 100644 index 0000000..0913e16 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpPrevAdjacentAsNumber.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +bgpPrevAdjacentAsNumber:{ + elementId:129, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpPrevAdjacentAsNumber extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpPrevAdjacentAsNumber() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(129) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpPrevAdjacentAsNumber( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(129) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpPrevAdjacentAsNumber( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(129) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpPrevAdjacentAsNumber"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpSourceAsNumber.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpSourceAsNumber.java new file mode 100644 index 0000000..486ef40 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpSourceAsNumber.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +bgpSourceAsNumber:{ + elementId:16, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBgpSourceAsNumber extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBgpSourceAsNumber() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(16) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpSourceAsNumber( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(16) + .setFieldLength(this.fieldLength); + } + public IpfixIeBgpSourceAsNumber( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(16) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "bgpSourceAsNumber"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBiflowDirection.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBiflowDirection.java new file mode 100644 index 0000000..4fe19df --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBiflowDirection.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +biflowDirection:{ + elementId:239, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeBiflowDirection extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeBiflowDirection() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(239) + .setFieldLength(this.fieldLength); + } + public IpfixIeBiflowDirection( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(239) + .setFieldLength(this.fieldLength); + } + public IpfixIeBiflowDirection( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(239) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "biflowDirection"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectionTimeMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectionTimeMilliseconds.java new file mode 100644 index 0000000..3a9ae18 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectionTimeMilliseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeMilliseconds; + + + +/** + * <pre> +collectionTimeMilliseconds:{ + elementId:258, + dataType:dateTimeMilliseconds, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCollectionTimeMilliseconds extends IpfixIeCodecDateTimeMilliseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCollectionTimeMilliseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(258) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectionTimeMilliseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(258) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectionTimeMilliseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(258) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "collectionTimeMilliseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorCertificate.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorCertificate.java new file mode 100644 index 0000000..07412d3 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorCertificate.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecOctetArray; + + + +/** + * <pre> +collectorCertificate:{ + elementId:274, + dataType:octetArray, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCollectorCertificate extends IpfixIeCodecOctetArray implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCollectorCertificate() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(274) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorCertificate( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(274) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorCertificate( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(274) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "collectorCertificate"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv4Address.java new file mode 100644 index 0000000..6aae68f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv4Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv4Address; + + + +/** + * <pre> +collectorIPv4Address:{ + elementId:211, + dataType:ipv4Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCollectorIPv4Address extends IpfixIeCodecIpv4Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCollectorIPv4Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(211) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorIPv4Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(211) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorIPv4Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(211) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "collectorIPv4Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv6Address.java new file mode 100644 index 0000000..a950042 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv6Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv6Address; + + + +/** + * <pre> +collectorIPv6Address:{ + elementId:212, + dataType:ipv6Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCollectorIPv6Address extends IpfixIeCodecIpv6Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCollectorIPv6Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(212) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorIPv6Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(212) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorIPv6Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(212) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "collectorIPv6Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorTransportPort.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorTransportPort.java new file mode 100644 index 0000000..111ff8c --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorTransportPort.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +collectorTransportPort:{ + elementId:216, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCollectorTransportPort extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCollectorTransportPort() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(216) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorTransportPort( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(216) + .setFieldLength(this.fieldLength); + } + public IpfixIeCollectorTransportPort( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(216) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "collectorTransportPort"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCommonPropertiesId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCommonPropertiesId.java new file mode 100644 index 0000000..7a709cd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCommonPropertiesId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +commonPropertiesId:{ + elementId:137, + dataType:unsigned64, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeCommonPropertiesId extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeCommonPropertiesId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(137) + .setFieldLength(this.fieldLength); + } + public IpfixIeCommonPropertiesId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(137) + .setFieldLength(this.fieldLength); + } + public IpfixIeCommonPropertiesId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(137) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "commonPropertiesId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeConfidenceLevel.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeConfidenceLevel.java new file mode 100644 index 0000000..9dc403b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeConfidenceLevel.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecFloat64; + + + +/** + * <pre> +confidenceLevel:{ + elementId:338, + dataType:float64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeConfidenceLevel extends IpfixIeCodecFloat64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeConfidenceLevel() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(338) + .setFieldLength(this.fieldLength); + } + public IpfixIeConfidenceLevel( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(338) + .setFieldLength(this.fieldLength); + } + public IpfixIeConfidenceLevel( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(338) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "confidenceLevel"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDataRecordsReliability.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDataRecordsReliability.java new file mode 100644 index 0000000..565a9d3 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDataRecordsReliability.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecBoolean; + + + +/** + * <pre> +dataRecordsReliability:{ + elementId:276, + dataType:boolean, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDataRecordsReliability extends IpfixIeCodecBoolean implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDataRecordsReliability() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(276) + .setFieldLength(this.fieldLength); + } + public IpfixIeDataRecordsReliability( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(276) + .setFieldLength(this.fieldLength); + } + public IpfixIeDataRecordsReliability( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(276) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "dataRecordsReliability"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Address.java new file mode 100644 index 0000000..ec132b0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv4Address; + + + +/** + * <pre> +destinationIPv4Address:{ + elementId:12, + dataType:ipv4Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv4Address extends IpfixIeCodecIpv4Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv4Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(12) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(12) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(12) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv4Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Prefix.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Prefix.java new file mode 100644 index 0000000..af7ec7f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Prefix.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv4Address; + + + +/** + * <pre> +destinationIPv4Prefix:{ + elementId:45, + dataType:ipv4Address, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv4Prefix extends IpfixIeCodecIpv4Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv4Prefix() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(45) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4Prefix( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(45) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4Prefix( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(45) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv4Prefix"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4PrefixLength.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4PrefixLength.java new file mode 100644 index 0000000..77ad3e6 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4PrefixLength.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +destinationIPv4PrefixLength:{ + elementId:13, + dataType:unsigned8, + dataTypeSemantis:null, + units:bits + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv4PrefixLength extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv4PrefixLength() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(13) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4PrefixLength( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(13) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv4PrefixLength( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(13) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv4PrefixLength"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.BITS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Address.java new file mode 100644 index 0000000..2b5f6e9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv6Address; + + + +/** + * <pre> +destinationIPv6Address:{ + elementId:28, + dataType:ipv6Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv6Address extends IpfixIeCodecIpv6Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv6Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(28) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(28) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(28) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv6Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Prefix.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Prefix.java new file mode 100644 index 0000000..04d6b7d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Prefix.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv6Address; + + + +/** + * <pre> +destinationIPv6Prefix:{ + elementId:169, + dataType:ipv6Address, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv6Prefix extends IpfixIeCodecIpv6Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv6Prefix() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(169) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6Prefix( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(169) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6Prefix( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(169) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv6Prefix"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6PrefixLength.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6PrefixLength.java new file mode 100644 index 0000000..27824c4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6PrefixLength.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +destinationIPv6PrefixLength:{ + elementId:30, + dataType:unsigned8, + dataTypeSemantis:null, + units:bits + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationIPv6PrefixLength extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationIPv6PrefixLength() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(30) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6PrefixLength( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(30) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationIPv6PrefixLength( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(30) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationIPv6PrefixLength"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.BITS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationMacAddress.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationMacAddress.java new file mode 100644 index 0000000..2aa8866 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationMacAddress.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecMacAddress; + + + +/** + * <pre> +destinationMacAddress:{ + elementId:80, + dataType:macAddress, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationMacAddress extends IpfixIeCodecMacAddress implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationMacAddress() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(80) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationMacAddress( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(80) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationMacAddress( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(80) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationMacAddress"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationTransportPort.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationTransportPort.java new file mode 100644 index 0000000..f76b773 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationTransportPort.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +destinationTransportPort:{ + elementId:11, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDestinationTransportPort extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDestinationTransportPort() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(11) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationTransportPort( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(11) + .setFieldLength(this.fieldLength); + } + public IpfixIeDestinationTransportPort( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(11) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "destinationTransportPort"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDigestHashValue.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDigestHashValue.java new file mode 100644 index 0000000..6be17af --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDigestHashValue.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +digestHashValue:{ + elementId:326, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDigestHashValue extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDigestHashValue() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(326) + .setFieldLength(this.fieldLength); + } + public IpfixIeDigestHashValue( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(326) + .setFieldLength(this.fieldLength); + } + public IpfixIeDigestHashValue( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(326) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "digestHashValue"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerPriority.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerPriority.java new file mode 100644 index 0000000..dedb95b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerPriority.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +dot1qCustomerPriority:{ + elementId:246, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDot1qCustomerPriority extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDot1qCustomerPriority() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(246) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qCustomerPriority( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(246) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qCustomerPriority( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(246) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "dot1qCustomerPriority"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerVlanId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerVlanId.java new file mode 100644 index 0000000..79a8705 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerVlanId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +dot1qCustomerVlanId:{ + elementId:245, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDot1qCustomerVlanId extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDot1qCustomerVlanId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(245) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qCustomerVlanId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(245) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qCustomerVlanId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(245) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "dot1qCustomerVlanId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qPriority.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qPriority.java new file mode 100644 index 0000000..b023c3d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qPriority.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +dot1qPriority:{ + elementId:244, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDot1qPriority extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDot1qPriority() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(244) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qPriority( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(244) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qPriority( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(244) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "dot1qPriority"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qVlanId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qVlanId.java new file mode 100644 index 0000000..32979e8 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qVlanId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +dot1qVlanId:{ + elementId:243, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDot1qVlanId extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDot1qVlanId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(243) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qVlanId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(243) + .setFieldLength(this.fieldLength); + } + public IpfixIeDot1qVlanId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(243) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "dot1qVlanId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetDeltaCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetDeltaCount.java new file mode 100644 index 0000000..362b4fa --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetDeltaCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +droppedOctetDeltaCount:{ + elementId:132, + dataType:unsigned64, + dataTypeSemantis:deltaCounter, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDroppedOctetDeltaCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDroppedOctetDeltaCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(132) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedOctetDeltaCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(132) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedOctetDeltaCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(132) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DELTACOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "droppedOctetDeltaCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetTotalCount.java new file mode 100644 index 0000000..acf09fc --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +droppedOctetTotalCount:{ + elementId:134, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDroppedOctetTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDroppedOctetTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(134) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedOctetTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(134) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedOctetTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(134) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "droppedOctetTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketDeltaCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketDeltaCount.java new file mode 100644 index 0000000..fad4a8b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketDeltaCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +droppedPacketDeltaCount:{ + elementId:133, + dataType:unsigned64, + dataTypeSemantis:deltaCounter, + units:packets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDroppedPacketDeltaCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDroppedPacketDeltaCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(133) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedPacketDeltaCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(133) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedPacketDeltaCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(133) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DELTACOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "droppedPacketDeltaCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.PACKETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketTotalCount.java new file mode 100644 index 0000000..63df391 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +droppedPacketTotalCount:{ + elementId:135, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:packets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeDroppedPacketTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeDroppedPacketTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(135) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedPacketTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(135) + .setFieldLength(this.fieldLength); + } + public IpfixIeDroppedPacketTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(135) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "droppedPacketTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.PACKETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressInterface.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressInterface.java new file mode 100644 index 0000000..ea6f5f4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressInterface.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +egressInterface:{ + elementId:14, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEgressInterface extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEgressInterface() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(14) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressInterface( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(14) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressInterface( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(14) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "egressInterface"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressPhysicalInterface.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressPhysicalInterface.java new file mode 100644 index 0000000..0a27378 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressPhysicalInterface.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +egressPhysicalInterface:{ + elementId:253, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEgressPhysicalInterface extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEgressPhysicalInterface() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(253) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressPhysicalInterface( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(253) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressPhysicalInterface( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(253) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "egressPhysicalInterface"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressVRFID.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressVRFID.java new file mode 100644 index 0000000..8d28e41 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressVRFID.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +egressVRFID:{ + elementId:235, + dataType:unsigned32, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEgressVRFID extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEgressVRFID() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(235) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressVRFID( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(235) + .setFieldLength(this.fieldLength); + } + public IpfixIeEgressVRFID( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(235) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "egressVRFID"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetHeaderLength.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetHeaderLength.java new file mode 100644 index 0000000..81becbd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetHeaderLength.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +ethernetHeaderLength:{ + elementId:240, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEthernetHeaderLength extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEthernetHeaderLength() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(240) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetHeaderLength( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(240) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetHeaderLength( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(240) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ethernetHeaderLength"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetPayloadLength.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetPayloadLength.java new file mode 100644 index 0000000..a8705f0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetPayloadLength.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +ethernetPayloadLength:{ + elementId:241, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEthernetPayloadLength extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEthernetPayloadLength() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(241) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetPayloadLength( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(241) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetPayloadLength( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(241) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ethernetPayloadLength"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetTotalLength.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetTotalLength.java new file mode 100644 index 0000000..befa024 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetTotalLength.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +ethernetTotalLength:{ + elementId:242, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEthernetTotalLength extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEthernetTotalLength() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(242) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetTotalLength( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(242) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetTotalLength( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(242) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ethernetTotalLength"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetType.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetType.java new file mode 100644 index 0000000..169a6e7 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetType.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +ethernetType:{ + elementId:256, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeEthernetType extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeEthernetType() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(256) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetType( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(256) + .setFieldLength(this.fieldLength); + } + public IpfixIeEthernetType( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(256) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ethernetType"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportInterface.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportInterface.java new file mode 100644 index 0000000..66633a9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportInterface.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +exportInterface:{ + elementId:213, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportInterface extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportInterface() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(213) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportInterface( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(213) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportInterface( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(213) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportInterface"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportProtocolVersion.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportProtocolVersion.java new file mode 100644 index 0000000..aefe2c7 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportProtocolVersion.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +exportProtocolVersion:{ + elementId:214, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportProtocolVersion extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportProtocolVersion() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(214) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportProtocolVersion( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(214) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportProtocolVersion( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(214) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportProtocolVersion"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportSctpStreamId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportSctpStreamId.java new file mode 100644 index 0000000..f13dac0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportSctpStreamId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +exportSctpStreamId:{ + elementId:259, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportSctpStreamId extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportSctpStreamId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(259) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportSctpStreamId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(259) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportSctpStreamId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(259) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportSctpStreamId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportTransportProtocol.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportTransportProtocol.java new file mode 100644 index 0000000..a349f77 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportTransportProtocol.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +exportTransportProtocol:{ + elementId:215, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportTransportProtocol extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportTransportProtocol() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(215) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportTransportProtocol( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(215) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportTransportProtocol( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(215) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportTransportProtocol"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedFlowRecordTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedFlowRecordTotalCount.java new file mode 100644 index 0000000..afc9cfe --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedFlowRecordTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +exportedFlowRecordTotalCount:{ + elementId:42, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:flows + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportedFlowRecordTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportedFlowRecordTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(42) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedFlowRecordTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(42) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedFlowRecordTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(42) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportedFlowRecordTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.FLOWS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedMessageTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedMessageTotalCount.java new file mode 100644 index 0000000..ecdf3a0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedMessageTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +exportedMessageTotalCount:{ + elementId:41, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:messages + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportedMessageTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportedMessageTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(41) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedMessageTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(41) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedMessageTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(41) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportedMessageTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MESSAGES; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedOctetTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedOctetTotalCount.java new file mode 100644 index 0000000..fed9773 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedOctetTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +exportedOctetTotalCount:{ + elementId:40, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportedOctetTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportedOctetTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(40) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedOctetTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(40) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportedOctetTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(40) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportedOctetTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterCertificate.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterCertificate.java new file mode 100644 index 0000000..4182076 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterCertificate.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecOctetArray; + + + +/** + * <pre> +exporterCertificate:{ + elementId:275, + dataType:octetArray, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExporterCertificate extends IpfixIeCodecOctetArray implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExporterCertificate() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(275) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterCertificate( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(275) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterCertificate( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(275) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exporterCertificate"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv4Address.java new file mode 100644 index 0000000..429e534 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv4Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv4Address; + + + +/** + * <pre> +exporterIPv4Address:{ + elementId:130, + dataType:ipv4Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExporterIPv4Address extends IpfixIeCodecIpv4Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExporterIPv4Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(130) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterIPv4Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(130) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterIPv4Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(130) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exporterIPv4Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv6Address.java new file mode 100644 index 0000000..3a84291 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv6Address.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecIpv6Address; + + + +/** + * <pre> +exporterIPv6Address:{ + elementId:131, + dataType:ipv6Address, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExporterIPv6Address extends IpfixIeCodecIpv6Address implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExporterIPv6Address() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(131) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterIPv6Address( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(131) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterIPv6Address( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(131) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exporterIPv6Address"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterTransportPort.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterTransportPort.java new file mode 100644 index 0000000..577ce03 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterTransportPort.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +exporterTransportPort:{ + elementId:217, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExporterTransportPort extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExporterTransportPort() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(217) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterTransportPort( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(217) + .setFieldLength(this.fieldLength); + } + public IpfixIeExporterTransportPort( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(217) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exporterTransportPort"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportingProcessId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportingProcessId.java new file mode 100644 index 0000000..5fb29ba --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportingProcessId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +exportingProcessId:{ + elementId:144, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeExportingProcessId extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeExportingProcessId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(144) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportingProcessId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(144) + .setFieldLength(this.fieldLength); + } + public IpfixIeExportingProcessId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(144) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "exportingProcessId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFirewallEvent.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFirewallEvent.java new file mode 100644 index 0000000..d09e168 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFirewallEvent.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +firewallEvent:{ + elementId:233, + dataType:unsigned8, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFirewallEvent extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFirewallEvent() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(233) + .setFieldLength(this.fieldLength); + } + public IpfixIeFirewallEvent( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(233) + .setFieldLength(this.fieldLength); + } + public IpfixIeFirewallEvent( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(233) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "firewallEvent"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowActiveTimeout.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowActiveTimeout.java new file mode 100644 index 0000000..964206d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowActiveTimeout.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +flowActiveTimeout:{ + elementId:36, + dataType:unsigned16, + dataTypeSemantis:null, + units:seconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowActiveTimeout extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowActiveTimeout() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(36) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowActiveTimeout( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(36) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowActiveTimeout( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(36) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowActiveTimeout"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.SECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDirection.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDirection.java new file mode 100644 index 0000000..a5726b2 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDirection.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +flowDirection:{ + elementId:61, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowDirection extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowDirection() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(61) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDirection( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(61) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDirection( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(61) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowDirection"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMicroseconds.java new file mode 100644 index 0000000..9fe31ca --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMicroseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowDurationMicroseconds:{ + elementId:162, + dataType:unsigned32, + dataTypeSemantis:null, + units:microseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowDurationMicroseconds extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowDurationMicroseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(162) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDurationMicroseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(162) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDurationMicroseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(162) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowDurationMicroseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MICROSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMilliseconds.java new file mode 100644 index 0000000..cb72928 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMilliseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowDurationMilliseconds:{ + elementId:161, + dataType:unsigned32, + dataTypeSemantis:null, + units:milliseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowDurationMilliseconds extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowDurationMilliseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(161) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDurationMilliseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(161) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowDurationMilliseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(161) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowDurationMilliseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MILLISECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndDeltaMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndDeltaMicroseconds.java new file mode 100644 index 0000000..97a5d58 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndDeltaMicroseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowEndDeltaMicroseconds:{ + elementId:159, + dataType:unsigned32, + dataTypeSemantis:null, + units:microseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndDeltaMicroseconds extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndDeltaMicroseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(159) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndDeltaMicroseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(159) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndDeltaMicroseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(159) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndDeltaMicroseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MICROSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMicroseconds.java new file mode 100644 index 0000000..e333f88 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMicroseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeMicroseconds; + + + +/** + * <pre> +flowEndMicroseconds:{ + elementId:155, + dataType:dateTimeMicroseconds, + dataTypeSemantis:null, + units:microseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndMicroseconds extends IpfixIeCodecDateTimeMicroseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndMicroseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(155) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndMicroseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(155) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndMicroseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(155) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndMicroseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MICROSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMilliseconds.java new file mode 100644 index 0000000..f8ff5fa --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMilliseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeMilliseconds; + + + +/** + * <pre> +flowEndMilliseconds:{ + elementId:153, + dataType:dateTimeMilliseconds, + dataTypeSemantis:null, + units:milliseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndMilliseconds extends IpfixIeCodecDateTimeMilliseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndMilliseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(153) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndMilliseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(153) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndMilliseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(153) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndMilliseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MILLISECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndNanoseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndNanoseconds.java new file mode 100644 index 0000000..821e257 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndNanoseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeNanoseconds; + + + +/** + * <pre> +flowEndNanoseconds:{ + elementId:157, + dataType:dateTimeNanoseconds, + dataTypeSemantis:null, + units:nanoseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndNanoseconds extends IpfixIeCodecDateTimeNanoseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndNanoseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(157) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndNanoseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(157) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndNanoseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(157) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndNanoseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NANOSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndReason.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndReason.java new file mode 100644 index 0000000..71372e4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndReason.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +flowEndReason:{ + elementId:136, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndReason extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndReason() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(136) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndReason( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(136) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndReason( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(136) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndReason"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSeconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSeconds.java new file mode 100644 index 0000000..3fa4c45 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSeconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeSeconds; + + + +/** + * <pre> +flowEndSeconds:{ + elementId:151, + dataType:dateTimeSeconds, + dataTypeSemantis:null, + units:seconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndSeconds extends IpfixIeCodecDateTimeSeconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndSeconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(151) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndSeconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(151) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndSeconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(151) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndSeconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.SECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSysUpTime.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSysUpTime.java new file mode 100644 index 0000000..c304a9a --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSysUpTime.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowEndSysUpTime:{ + elementId:21, + dataType:unsigned32, + dataTypeSemantis:null, + units:milliseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowEndSysUpTime extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowEndSysUpTime() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(21) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndSysUpTime( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(21) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowEndSysUpTime( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(21) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowEndSysUpTime"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MILLISECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowId.java new file mode 100644 index 0000000..e062c31 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +flowId:{ + elementId:148, + dataType:unsigned64, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowId extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(148) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(148) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(148) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowIdleTimeout.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowIdleTimeout.java new file mode 100644 index 0000000..c5430aa --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowIdleTimeout.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +flowIdleTimeout:{ + elementId:37, + dataType:unsigned16, + dataTypeSemantis:null, + units:seconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowIdleTimeout extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowIdleTimeout() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(37) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowIdleTimeout( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(37) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowIdleTimeout( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(37) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowIdleTimeout"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.SECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowKeyIndicator.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowKeyIndicator.java new file mode 100644 index 0000000..3fab29f --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowKeyIndicator.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +flowKeyIndicator:{ + elementId:173, + dataType:unsigned64, + dataTypeSemantis:flags, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowKeyIndicator extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowKeyIndicator() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(173) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowKeyIndicator( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(173) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowKeyIndicator( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(173) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.FLAGS; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowKeyIndicator"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowLabelIPv6.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowLabelIPv6.java new file mode 100644 index 0000000..9db71d0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowLabelIPv6.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowLabelIPv6:{ + elementId:31, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowLabelIPv6 extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowLabelIPv6() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(31) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowLabelIPv6( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(31) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowLabelIPv6( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(31) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowLabelIPv6"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartDeltaMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartDeltaMicroseconds.java new file mode 100644 index 0000000..3c48765 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartDeltaMicroseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowStartDeltaMicroseconds:{ + elementId:158, + dataType:unsigned32, + dataTypeSemantis:null, + units:microseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartDeltaMicroseconds extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartDeltaMicroseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(158) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartDeltaMicroseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(158) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartDeltaMicroseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(158) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartDeltaMicroseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MICROSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMicroseconds.java new file mode 100644 index 0000000..72420ad --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMicroseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeMicroseconds; + + + +/** + * <pre> +flowStartMicroseconds:{ + elementId:154, + dataType:dateTimeMicroseconds, + dataTypeSemantis:null, + units:microseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartMicroseconds extends IpfixIeCodecDateTimeMicroseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartMicroseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(154) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartMicroseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(154) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartMicroseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(154) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartMicroseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MICROSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMilliseconds.java new file mode 100644 index 0000000..708b025 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMilliseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeMilliseconds; + + + +/** + * <pre> +flowStartMilliseconds:{ + elementId:152, + dataType:dateTimeMilliseconds, + dataTypeSemantis:null, + units:milliseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartMilliseconds extends IpfixIeCodecDateTimeMilliseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartMilliseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(152) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartMilliseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(152) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartMilliseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(152) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartMilliseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MILLISECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartNanoseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartNanoseconds.java new file mode 100644 index 0000000..14f7665 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartNanoseconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeNanoseconds; + + + +/** + * <pre> +flowStartNanoseconds:{ + elementId:156, + dataType:dateTimeNanoseconds, + dataTypeSemantis:null, + units:nanoseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartNanoseconds extends IpfixIeCodecDateTimeNanoseconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartNanoseconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(156) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartNanoseconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(156) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartNanoseconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(156) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartNanoseconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NANOSECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSeconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSeconds.java new file mode 100644 index 0000000..2da9c29 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSeconds.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecDateTimeSeconds; + + + +/** + * <pre> +flowStartSeconds:{ + elementId:150, + dataType:dateTimeSeconds, + dataTypeSemantis:null, + units:seconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartSeconds extends IpfixIeCodecDateTimeSeconds implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartSeconds() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(150) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartSeconds( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(150) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartSeconds( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(150) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartSeconds"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.SECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSysUpTime.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSysUpTime.java new file mode 100644 index 0000000..a3d0629 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSysUpTime.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +flowStartSysUpTime:{ + elementId:22, + dataType:unsigned32, + dataTypeSemantis:null, + units:milliseconds + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFlowStartSysUpTime extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFlowStartSysUpTime() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(22) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartSysUpTime( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(22) + .setFieldLength(this.fieldLength); + } + public IpfixIeFlowStartSysUpTime( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(22) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "flowStartSysUpTime"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.MILLISECONDS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentFlags.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentFlags.java new file mode 100644 index 0000000..8e1e761 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentFlags.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +fragmentFlags:{ + elementId:197, + dataType:unsigned8, + dataTypeSemantis:flags, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFragmentFlags extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFragmentFlags() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(197) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentFlags( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(197) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentFlags( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(197) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.FLAGS; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "fragmentFlags"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentIdentification.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentIdentification.java new file mode 100644 index 0000000..b73ab64 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentIdentification.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +fragmentIdentification:{ + elementId:54, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFragmentIdentification extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFragmentIdentification() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(54) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentIdentification( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(54) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentIdentification( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(54) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "fragmentIdentification"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentOffset.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentOffset.java new file mode 100644 index 0000000..d622d86 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentOffset.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +fragmentOffset:{ + elementId:88, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeFragmentOffset extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeFragmentOffset() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(88) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentOffset( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(88) + .setFieldLength(this.fieldLength); + } + public IpfixIeFragmentOffset( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(88) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "fragmentOffset"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashDigestOutput.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashDigestOutput.java new file mode 100644 index 0000000..33b0ee5 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashDigestOutput.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecBoolean; + + + +/** + * <pre> +hashDigestOutput:{ + elementId:333, + dataType:boolean, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashDigestOutput extends IpfixIeCodecBoolean implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashDigestOutput() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(333) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashDigestOutput( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(333) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashDigestOutput( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(333) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashDigestOutput"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadOffset.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadOffset.java new file mode 100644 index 0000000..957774e --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadOffset.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashIPPayloadOffset:{ + elementId:327, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashIPPayloadOffset extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashIPPayloadOffset() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(327) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashIPPayloadOffset( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(327) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashIPPayloadOffset( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(327) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashIPPayloadOffset"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadSize.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadSize.java new file mode 100644 index 0000000..c2e655b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadSize.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashIPPayloadSize:{ + elementId:328, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashIPPayloadSize extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashIPPayloadSize() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(328) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashIPPayloadSize( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(328) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashIPPayloadSize( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(328) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashIPPayloadSize"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashInitialiserValue.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashInitialiserValue.java new file mode 100644 index 0000000..a0ada36 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashInitialiserValue.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashInitialiserValue:{ + elementId:334, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashInitialiserValue extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashInitialiserValue() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(334) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashInitialiserValue( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(334) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashInitialiserValue( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(334) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashInitialiserValue"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMax.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMax.java new file mode 100644 index 0000000..bd14a5e --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMax.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashOutputRangeMax:{ + elementId:330, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashOutputRangeMax extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashOutputRangeMax() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(330) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashOutputRangeMax( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(330) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashOutputRangeMax( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(330) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashOutputRangeMax"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMin.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMin.java new file mode 100644 index 0000000..b920b3c --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMin.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashOutputRangeMin:{ + elementId:329, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashOutputRangeMin extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashOutputRangeMin() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(329) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashOutputRangeMin( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(329) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashOutputRangeMin( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(329) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashOutputRangeMin"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMax.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMax.java new file mode 100644 index 0000000..89153da --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMax.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashSelectedRangeMax:{ + elementId:332, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashSelectedRangeMax extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashSelectedRangeMax() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(332) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashSelectedRangeMax( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(332) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashSelectedRangeMax( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(332) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashSelectedRangeMax"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMin.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMin.java new file mode 100644 index 0000000..c6f0e55 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMin.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +hashSelectedRangeMin:{ + elementId:331, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeHashSelectedRangeMin extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeHashSelectedRangeMin() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(331) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashSelectedRangeMin( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(331) + .setFieldLength(this.fieldLength); + } + public IpfixIeHashSelectedRangeMin( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(331) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "hashSelectedRangeMin"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv4.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv4.java new file mode 100644 index 0000000..4c4fdfd --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv4.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +icmpCodeIPv4:{ + elementId:177, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpCodeIPv4 extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpCodeIPv4() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(177) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpCodeIPv4( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(177) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpCodeIPv4( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(177) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpCodeIPv4"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv6.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv6.java new file mode 100644 index 0000000..5a82bdc --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv6.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +icmpCodeIPv6:{ + elementId:179, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpCodeIPv6 extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpCodeIPv6() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(179) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpCodeIPv6( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(179) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpCodeIPv6( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(179) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpCodeIPv6"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv4.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv4.java new file mode 100644 index 0000000..cb7f6d0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv4.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +icmpTypeCodeIPv4:{ + elementId:32, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpTypeCodeIPv4 extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpTypeCodeIPv4() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(32) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeCodeIPv4( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(32) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeCodeIPv4( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(32) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpTypeCodeIPv4"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv6.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv6.java new file mode 100644 index 0000000..372f5f9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv6.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +icmpTypeCodeIPv6:{ + elementId:139, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpTypeCodeIPv6 extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpTypeCodeIPv6() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(139) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeCodeIPv6( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(139) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeCodeIPv6( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(139) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpTypeCodeIPv6"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv4.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv4.java new file mode 100644 index 0000000..9d68dca --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv4.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +icmpTypeIPv4:{ + elementId:176, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpTypeIPv4 extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpTypeIPv4() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(176) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeIPv4( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(176) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeIPv4( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(176) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpTypeIPv4"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv6.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv6.java new file mode 100644 index 0000000..01cad75 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv6.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +icmpTypeIPv6:{ + elementId:178, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIcmpTypeIPv6 extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIcmpTypeIPv6() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(178) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeIPv6( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(178) + .setFieldLength(this.fieldLength); + } + public IpfixIeIcmpTypeIPv6( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(178) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "icmpTypeIPv6"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgmpType.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgmpType.java new file mode 100644 index 0000000..374ebfc --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgmpType.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +igmpType:{ + elementId:33, + dataType:unsigned8, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIgmpType extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIgmpType() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(33) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgmpType( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(33) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgmpType( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(33) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "igmpType"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredOctetTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredOctetTotalCount.java new file mode 100644 index 0000000..f39d0ea --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredOctetTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +ignoredOctetTotalCount:{ + elementId:165, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:octets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIgnoredOctetTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIgnoredOctetTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(165) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgnoredOctetTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(165) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgnoredOctetTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(165) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ignoredOctetTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.OCTETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredPacketTotalCount.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredPacketTotalCount.java new file mode 100644 index 0000000..7aaf73e --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredPacketTotalCount.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +ignoredPacketTotalCount:{ + elementId:164, + dataType:unsigned64, + dataTypeSemantis:totalCounter, + units:packets + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIgnoredPacketTotalCount extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIgnoredPacketTotalCount() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(164) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgnoredPacketTotalCount( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(164) + .setFieldLength(this.fieldLength); + } + public IpfixIeIgnoredPacketTotalCount( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(164) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.TOTALCOUNTER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ignoredPacketTotalCount"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.PACKETS; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDataType.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDataType.java new file mode 100644 index 0000000..92cd790 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDataType.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +informationElementDataType:{ + elementId:339, + dataType:unsigned8, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementDataType extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementDataType() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(339) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementDataType( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(339) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementDataType( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(339) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementDataType"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDescription.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDescription.java new file mode 100644 index 0000000..58a14d4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDescription.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecString; + + + +/** + * <pre> +informationElementDescription:{ + elementId:340, + dataType:string, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementDescription extends IpfixIeCodecString implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementDescription() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(340) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementDescription( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(340) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementDescription( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(340) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementDescription"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementId.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementId.java new file mode 100644 index 0000000..48c627d --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementId.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +informationElementId:{ + elementId:303, + dataType:unsigned16, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementId extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementId() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(303) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementId( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(303) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementId( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(303) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementId"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementName.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementName.java new file mode 100644 index 0000000..91f12eb --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementName.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecString; + + + +/** + * <pre> +informationElementName:{ + elementId:341, + dataType:string, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementName extends IpfixIeCodecString implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementName() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(341) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementName( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(341) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementName( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(341) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementName"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeBegin.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeBegin.java new file mode 100644 index 0000000..3b0f724 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeBegin.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +informationElementRangeBegin:{ + elementId:342, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementRangeBegin extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementRangeBegin() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(342) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementRangeBegin( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(342) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementRangeBegin( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(342) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementRangeBegin"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeEnd.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeEnd.java new file mode 100644 index 0000000..ee8fd70 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeEnd.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +informationElementRangeEnd:{ + elementId:343, + dataType:unsigned64, + dataTypeSemantis:quantity, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementRangeEnd extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementRangeEnd() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(343) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementRangeEnd( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(343) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementRangeEnd( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(343) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.QUANTITY; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementRangeEnd"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementSemantics.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementSemantics.java new file mode 100644 index 0000000..bb2acd9 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementSemantics.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned8; + + + +/** + * <pre> +informationElementSemantics:{ + elementId:344, + dataType:unsigned8, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementSemantics extends IpfixIeCodecUnsigned8 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementSemantics() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(344) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementSemantics( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(344) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementSemantics( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(344) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementSemantics"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementUnits.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementUnits.java new file mode 100644 index 0000000..b571ca0 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementUnits.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned16; + + + +/** + * <pre> +informationElementUnits:{ + elementId:345, + dataType:unsigned16, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInformationElementUnits extends IpfixIeCodecUnsigned16 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInformationElementUnits() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(345) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementUnits( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(345) + .setFieldLength(this.fieldLength); + } + public IpfixIeInformationElementUnits( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(345) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "informationElementUnits"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressInterface.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressInterface.java new file mode 100644 index 0000000..75963af --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressInterface.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +ingressInterface:{ + elementId:10, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIngressInterface extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIngressInterface() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(10) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressInterface( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(10) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressInterface( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(10) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ingressInterface"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressPhysicalInterface.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressPhysicalInterface.java new file mode 100644 index 0000000..2f4e786 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressPhysicalInterface.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +ingressPhysicalInterface:{ + elementId:252, + dataType:unsigned32, + dataTypeSemantis:identifier, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIngressPhysicalInterface extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIngressPhysicalInterface() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(252) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressPhysicalInterface( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(252) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressPhysicalInterface( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(252) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.IDENTIFIER; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ingressPhysicalInterface"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressVRFID.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressVRFID.java new file mode 100644 index 0000000..83abc07 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressVRFID.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned32; + + + +/** + * <pre> +ingressVRFID:{ + elementId:234, + dataType:unsigned32, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeIngressVRFID extends IpfixIeCodecUnsigned32 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeIngressVRFID() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(234) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressVRFID( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(234) + .setFieldLength(this.fieldLength); + } + public IpfixIeIngressVRFID( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(234) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "ingressVRFID"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInitiatorOctets.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInitiatorOctets.java new file mode 100644 index 0000000..76eebc4 --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInitiatorOctets.java @@ -0,0 +1,91 @@ +/** +* +* 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.model.ie; + +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.IpfixIeCodecUnsigned64; + + + +/** + * <pre> +initiatorOctets:{ + elementId:231, + dataType:unsigned64, + dataTypeSemantis:null, + units:null + status:current + en: 0 +} +</pre> + * + */ +public final class IpfixIeInitiatorOctets extends IpfixIeCodecUnsigned64 implements IpfixIe { + // -- model -- + private final IpfixFieldSpecifier fieldSpecifier; + + @Override + public IpfixFieldSpecifier getFieldSpecifier() { + return fieldSpecifier; + } + + public IpfixIeInitiatorOctets() { + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(231) + .setFieldLength(this.fieldLength); + } + public IpfixIeInitiatorOctets( int length ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(0).setId(231) + .setFieldLength(this.fieldLength); + } + public IpfixIeInitiatorOctets( int length, long enterpriseNumber, boolean isScope ) { + this.fieldLength = length; + this.fieldSpecifier = new IpfixFieldSpecifier(enterpriseNumber).setId(231) + .setFieldLength(this.fieldLength).setScope(isScope); + } + + + @Override + public IpfixIeSemantics getSemantics() { + return IpfixIeSemantics.DEFAULT; + } + + @Override + public IpfixIeStatus getStatus() { + return IpfixIeStatus.CURRENT; + } + + @Override + public String getName() { + return "initiatorOctets"; + } + + @Override + public int getLength() { + return fieldSpecifier.getIeLength(); + } + + @Override + public IpfixIeUnits getUnits() { + return IpfixIeUnits.NONE; + } +} diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInterfaceDescription.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInterfaceDescription.java new file mode 100644 index 0000000..ded433b --- /dev/null +++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInterfaceDescription.java @@ -0,0 +1,91 @@ +/** +* +* 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 |