summaryrefslogtreecommitdiffstats
path: root/Monitoring/MonitoringTool/PacketTracking
diff options
context:
space:
mode:
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking')
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/Aggregator.py385
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DBAccess.py124
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DelayPlotter.py24
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/__init__.py22
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Node.py34
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtActivity.py53
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtHopStats.py67
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtPathStats.py64
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtVolumeStats.py60
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Status.py25
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/__init__.py15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/DBConnector.py135
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/__init__.py24
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/PacketTracking.py18
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/__init__.py15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/PacketTrackingGUI.py18
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/__init__.py15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/PassiveMonitoring.py268
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/SliceManager.py70
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/__init__.py15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/__init__.py20
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/Monitoring/test.py101
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py89
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py24
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py31
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh2
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/addLicense.sh55
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/.gitignore9
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/.gitignore8
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/pom.xml54
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/Ipfix.java27
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixCollectorListener.java31
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixConnectionHandler.java35
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordReader.java37
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDataRecordSpecifier.java31
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultDataRecord.java50
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixDefaultTemplateManager.java116
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixEnterpriseNumbers.java79
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixFieldSpecifier.java234
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixHeader.java96
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIe.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeCodec.java90
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeDataTypes.java181
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeSemantics.java59
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeStatus.java38
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixIeUnits.java68
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixMessage.java223
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixOptionsTemplateRecord.java158
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixRecord.java19
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSet.java229
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetHeader.java108
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixSetType.java59
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplate.java71
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateForDataReader.java79
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateManager.java102
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/IpfixTemplateRecord.java129
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java37
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java44
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java42
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java43
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java57
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java34
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java56
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java58
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java67
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java43
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeAbsoluteError.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpDestinationAsNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextAdjacentAsNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpNextHopIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpPrevAdjacentAsNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBgpSourceAsNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeBiflowDirection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectionTimeMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorCertificate.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCollectorTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeCommonPropertiesId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeConfidenceLevel.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDataRecordsReliability.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4Prefix.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv4PrefixLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6Prefix.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationIPv6PrefixLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationMacAddress.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDestinationTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDigestHashValue.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerPriority.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qCustomerVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qPriority.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDot1qVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeDroppedPacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressInterface.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressPhysicalInterface.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEgressVRFID.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetHeaderLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetPayloadLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetTotalLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeEthernetType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportInterface.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportProtocolVersion.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportSctpStreamId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportTransportProtocol.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedFlowRecordTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedMessageTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportedOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterCertificate.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExporterTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeExportingProcessId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFirewallEvent.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowActiveTimeout.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDirection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowDurationMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndDeltaMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndNanoseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndReason.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowEndSysUpTime.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowIdleTimeout.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowKeyIndicator.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowLabelIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartDeltaMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartNanoseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFlowStartSysUpTime.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentFlags.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentIdentification.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeFragmentOffset.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashDigestOutput.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadOffset.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashIPPayloadSize.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashInitialiserValue.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMax.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashOutputRangeMin.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMax.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeHashSelectedRangeMin.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv4.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpCodeIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv4.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeCodeIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv4.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIcmpTypeIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgmpType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIgnoredPacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDataType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementDescription.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeBegin.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementRangeEnd.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementSemantics.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInformationElementUnits.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressInterface.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressPhysicalInterface.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIngressVRFID.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInitiatorOctets.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInterfaceDescription.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeInterfaceName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpClassOfService.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpDiffServCodePoint.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpHeaderLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpHeaderPacketSection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpNextHopIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpNextHopIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpPayloadLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpPayloadPacketSection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpPrecedence.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpTTL.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpTotalLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpVersion.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpv4IHL.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpv4Options.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIpv6ExtensionHeaders.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeIsMulticast.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeLatitude.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeLineCardId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeLongitude.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeLowerCILimit.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaxExportSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaxFlowEndMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaxFlowEndMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaxFlowEndNanoseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaxFlowEndSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaximumIpTotalLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMaximumTTL.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMessageMD5Checksum.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMessageScope.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMeteringProcessId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMetroEvcId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMetroEvcType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinExportSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinFlowStartMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinFlowStartMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinFlowStartNanoseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinFlowStartSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinimumIpTotalLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMinimumTTL.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackDepth.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection10.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection2.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection3.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection4.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection5.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection7.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection8.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsLabelStackSection9.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsPayloadLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsPayloadPacketSection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelExp.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelPrefixLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelStackSection.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelTTL.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsTopLabelType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeMplsVpnRouteDistinguisher.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNatEvent.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNatOriginatingAddressRealm.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNextHeaderIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNotSentFlowTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNotSentOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeNotSentPacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationDomainId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationPointId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationTimeMicroseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationTimeMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationTimeNanoseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservationTimeSeconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeObservedFlowTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeOctetDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeOctetDeltaSumOfSquares.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeOctetTotalSumOfSquares.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeOpaqueOctets.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePacketDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePaddingOctets.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePayloadLengthIPv6.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePortId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostDestinationMacAddress.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostDot1qCustomerVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostDot1qVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostIpClassOfService.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostIpDiffServCodePoint.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostIpPrecedence.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostMCastOctetDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostMCastOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostMCastPacketDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostMCastPacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostMplsTopLabelExp.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostNAPTDestinationTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostNAPTSourceTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostNATDestinationIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostNATSourceIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostOctetDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostOctetTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostPacketDeltaCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostPacketTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostSourceMacAddress.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePostVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePrivateEnterpriseNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeProbeLocationName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeProbeName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeProtocolIdentifier.java93
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePseudoWireControlWord.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePseudoWireId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIePseudoWireType.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeRelativeError.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeResponderOctets.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingPacketInterval.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingPacketSpace.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingPopulation.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingProbability.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingSize.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingTimeInterval.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSamplingTimeSpace.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectionSequenceId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectorAlgorithm.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectorId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectorIdTotalPktsObserved.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectorIdTotalPktsSelected.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSelectorName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSessionScope.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv4Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv4Prefix.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv4PrefixLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv6Address.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv6Prefix.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceIPv6PrefixLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceMacAddress.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSourceTransportPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeSystemInitTimeMilliseconds.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpAckTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpAcknowledgementNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpControlBits.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpDestinationPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpFinTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpHeaderLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpOptions.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpPshTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpRstTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpSequenceNumber.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpSourcePort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpSynTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpUrgTotalCount.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpUrgentPointer.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpWindowScale.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTcpWindowSize.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTemplateId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeTotalLengthIPv4.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeUdpDestinationPort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeUdpMessageLength.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeUdpSourcePort.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeUpperCILimit.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeVRFname.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeVlanId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeWlanChannelId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/IpfixIeWlanSSID.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/model/ie/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/util/ByteBufferUtil.java180
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/util/HexDump.java99
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/util/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/resources/.gitignore1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/.gitignore8
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/pom.xml60
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/main/java/de/fhg/fokus/net/ipfix/IpfixCollector.java345
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/main/java/de/fhg/fokus/net/util/EventSupport.java199
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/main/java/de/fhg/fokus/net/util/package.html3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/main/resources/log4j.properties26
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/test/java/de/fhg/fokus/net/ipfix/IpfixCollectorTest.java71
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/test/java/de/fhg/fokus/net/ipfix/record/IpfixRecordFlow4.java138
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/test/java/de/fhg/fokus/net/ipfix/record/IpfixRecordSourceIpv4PacketDeltaCount.java94
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-collector/src/test/resources/log4j.properties26
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/.gitignore8
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/pom.xml63
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/main/java/de/fhg/fokus/net/ipfix/IpfixFileReader.java175
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/java/de/fhg/fokus/net/ipfix/IpfixFileReaderTest.java143
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/java/de/fhg/fokus/net/ipfix/debug/HexDump.java98
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/java/de/fhg/fokus/net/ipfix/record/IpfixRecordSourceIpv4PacketDeltaCount.java94
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/resources/ipfixfiles/nc.ipfix.gzbin0 -> 2368 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/resources/ipfixfiles/nc.ipfix.txt2291
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/resources/ipfixfiles/ok-01.ipfix.gzbin0 -> 149 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/resources/ipfixfiles/ok-02.ipfix.gzbin0 -> 93 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-file-reader/src/test/resources/log4j.properties26
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/Maven Install.launch22
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.externalToolBuilders/New_Builder.launch22
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/.gitignore10
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/pom.xml70
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRecord.java81
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IanaRegistry.java83
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixIeModelGenerator.java129
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGenerator.java28
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/IpfixModelGeneratorMojo.java177
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/TextTemplate.java155
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/java/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.java54
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/main/resources/de/fhg/fokus/net/ipfix/mojo/mgen/tmpl/IpfixIeTmpl.tmpl65
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/IpfixIeModelGeneratorTest.java102
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/java/de/fhg/fokus/net/ipfix/mgen/TextTemplateTest.java52
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/Test.tmpl4
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/ipfix.xml6560
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/log4j.properties26
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/prism.xml132
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/pt.xml136
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-model-generator/src/test/resources/queuesync.xml41
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/pom.xml61
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/license.j17
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/license.p15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/license.txt30
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/.ebean.default.autofetchbin0 -> 1629 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/.gitignore1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/.m2classpath1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/COPYRIGHT19
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/README60
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/launcher/MainController.launch14
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/launcher/netview.sh19
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/nb-configuration.xml12
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/nvhome/.gitignore3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/nvhome/nodes/multinext.xml155
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/nvhome/nodes/novi.xml163
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/nvhome/nodes/overlay.xml309
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/pom.xml158
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/META-INF/services/org.jdesktop.application.Application1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/control/DataSourcesController.java156
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/control/MainController.java143
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/control/NoviDBInterface.java352
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/control/PacketTrackCollector.java233
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/Model.java81
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/InterfaceStats.java266
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/NetViewDB.java124
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/ProbeStats.java245
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/RawTrackData.java269
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/TrackData.java142
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/java/de/fhg/fokus/net/netview/model/db/TrackRepository.java257
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/MapPopupMenu.properties12
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/MarkerPopupMenu.properties9
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/add.pngbin0 -> 733 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/bullet_black.pngbin0 -> 211 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/delete.pngbin0 -> 715 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/disable_tooltip.pngbin0 -> 548 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/emblem-system.pngbin0 -> 629 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/enable_tooltip.pngbin0 -> 530 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/help.pngbin0 -> 786 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/hide.pngbin0 -> 395 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/hide_marker.pngbin0 -> 482 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/marker.pngbin0 -> 803 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/marker_disabled.pngbin0 -> 779 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/network-server.pngbin0 -> 642 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/network-workgroup.pngbin0 -> 517 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/node.pngbin0 -> 560 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/preferences.pngbin0 -> 611 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/search.pngbin0 -> 980 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/world.pngbin0 -> 923 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/world_add.pngbin0 -> 940 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/map/resources/icons/world_delete.pngbin0 -> 945 bytes
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/de/fhg/fokus/net/netview/view/resources/NodeDialog.properties7
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/ebean-example.properties117
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/ebean.properties1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/log4j.properties49
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/netview/src/main/resources/logging.properties23
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/.gitignore7
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/nbactions.xml15
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/pom.xml119
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ExportTask.java293
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/FileExporter.java287
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/Generator.java84
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/JenkinsHash.java180
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/Matcher.java586
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/MatchingTask.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/PacketIDSetComparator.java33
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/PacketIdMatcher.java94
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/PacketIdRecord.java156
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/PacketIdRecordComparator.java50
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ctrl/Console.java412
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ctrl/Probe.java345
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtInterfaceStats.java96
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtMin.java63
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtProbeLocation.java119
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtProbeStats.java78
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtSync.java80
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtTsTtl.java71
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/IpfixReaderPtTsTtlIP.java88
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/PtMin.java99
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/PtSync.java131
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/PtTsTtl.java139
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/PtTsTtlIP.java174
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtInterfaceDescription.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtInterfaceName.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtMessage.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtMessageId.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtMessageValue.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtPcapStatDrop.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtPcapStatRecv.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtProcessCpuSys.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtProcessCpuUser.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtProcessMemRss.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtProcessMemVzs.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtSystemCpuIdle.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/java/de/fhg/fokus/net/packetmatcher/ipfix/ie/IpfixIePtSystemMemFree.java91
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/packetmatcher/src/main/resources/log4j.properties28
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pom.xml34
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/.gitignore1
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/pom.xml34
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/BaseRecord.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/PacketTrackRecord.java141
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/ProbeRecord.java54
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/PtInterfaceStats.java199
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/PtProbeLocation.java179
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/pt-api/src/main/java/de/fhg/fokus/net/ptapi/PtProbeStats.java196
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/m2classpath.sh57
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/m2run57
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/matcher.sh55
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/netview.sh108
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/packet_tracking.conf49
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/packet_tracking.sh65
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/settings.xml31
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/start_ipfix_collector.sh3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/start_matcher.sh3
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/scripts/start_probe.sh4
510 files changed, 51793 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/Aggregator.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/Aggregator.py
new file mode 100644
index 0000000..a3ed8c9
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/Aggregator.py
@@ -0,0 +1,385 @@
+"""
+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
+"""
+
+# System imports
+from time import strptime, strftime, localtime, mktime
+from sys import maxint
+
+# Project imports
+from DBAccess import DBAccess
+from DelayPlotter import DelayPlotter
+from Task.Passive.Monitoring.SliceManager.SliceManager import SliceManager
+from Task.Passive.Monitoring.DataTypes import Node, Status
+from Task.Passive.Monitoring.DataTypes import PtVolumeStats
+from Task.Passive.Monitoring.DataTypes import PtHopStats
+from Task.Passive.Monitoring.DataTypes import PtPathStats
+from Task.Passive.Monitoring.DataTypes import PtActivity
+
+# Constants DO NOT EDIT!
+NUM = 0
+SUMBYTES = 1
+SUMDELAY = 2
+MINDELAY = 3
+MAXDELAY = 4
+PATH = 5
+TS = 5
+# Constants
+
+class Aggregator(object):
+ def __init__(self):
+ self.__noviDB = DBAccess("127.0.0.1", 5432, "noviDB",
+ "novi_user","novi123")
+ self.__sliceDB = SliceManager("127.0.0.1", 5432, "noviDB",
+ "novi_user", "novi123")
+ self.__delayPlotter = DelayPlotter()
+
+ def __checkHashFuntion(self, function):
+ """
+ Method to check if the given 'function' is a valid PT hashing function
+ @type Function: str
+ @param Function: String that contains the name of the
+ hashing function.
+ @rtype boolean
+ @return Returns 'true' if the function is a valid
+ hashing function, 'false' otherwise
+ """
+ return function in ["BOB", "OAAT", "TWMX", "HSIEH"]
+
+ def __checkDateTime(self, timeString):
+ """
+ Method that checks if a given time string is valid, according to the
+ ISO time format ("YYYY-MM-DDThh:mm:ss"). If its valid the string is
+ converted to Pythons specific 9 floating values format (time_struct)
+ and returned to the caller.
+ @type timeString: str
+ @param timeString: The string that contains the time, which
+ should be verified.
+ @rtype: struct_time
+ @return: Time in Python specific 9 floating values
+ format.
+ """
+ timeTuple = localtime()
+ try:
+ timeTuple= strptime(timeString, "%Y-%m-%dT%H:%M:%S")
+ except ValueError:
+ print ("Wrong date/time format, time must be provided in the"
+ " following format 'YYYY-MM-DDThh:mm:ss'")
+ print ("Time set to: " + strftime("%Y-%m-%dT%H:%M:%S", timeTuple))
+ return timeTuple
+
+ def __checkNodeList(self, nodeList):
+ """
+ Check the validity of the given nodeList, if one of the nodes is neither
+ of type int nor of type Node the method raises an exception. For int
+ values in the list the method converts them to a Node with Oid from the
+ int value. The method also checks if all nodes are in the booked slice,
+ if not the concerning node is removed from the list.
+ @type nodeList: list
+ @param nodeList: List of nodes that should be validated.
+ @rtype: list
+ @return: New list with only valid nodes.
+ """
+ for i in range(len(nodeList)):
+ nodeList[i] = self.__makeNodeFromOid(nodeList[i])
+ return [node for node in nodeList if self.__sliceDB.validateNode(node)]
+
+ def __checkNodeList2D(self, nodeList2D):
+ """
+ Check the validity of the given nodeList2D, if one of the nodes tuples
+ is not of type tuple with the length of 2 the method raises an
+ exception. The method also checks if all nodes are in the booked slice,
+ if not the concerning node tuple is removed from the list.
+ @type nodeList2D: list
+ @param nodeList2D: List of nodes that should be validated.
+ @rtype: list
+ @return: New list with only valid node tuples.
+ """
+ for i in range(len(nodeList2D)):
+ nodeList2D[i] = self.__makeNodeTupleFromOid(nodeList2D[i])
+ return [nodeTuple for nodeTuple in nodeList2D if
+ (self.__sliceDB.validateNode(nodeTuple[0]) and
+ self.__sliceDB.validateNode(nodeTuple[1]))]
+
+ def __checkNodeTuple(self, nodeTuple):
+ """
+ Checks if both tuple entries are valid nodes.
+ @type nodeTuple: tuple
+ @param nodeTuple Tuple that should be checked for validity
+ @type tuple
+ @return: The old tuple if everything is all right or
+ an empty tuple if the tuple containes invalid
+ datatypes or is not in the booked slice
+ """
+ nodeTuple = self.__makeNodeTupleFromOid(nodeTuple)
+ return nodeTuple if (self.__sliceDB.validateNode(nodeTuple[0]) and
+ self.__sliceDB.validateNode(nodeTuple[1])) else ()
+
+ def __makeNodeFromOid(self, value):
+ """
+ This method checks whether the given 'value' is of type Node or int
+ (OID), if it is an int, it returns a new Node, with the given
+ 'value' as OID, otherwise it just returns the Node.
+ @type value: int/Node
+ @param value: The value that is checked if it is of type int
+ or Node.
+ @rtype Node
+ @return Newly created node if 'value' was int, or just
+ returning the given value if the type already
+ was Node.
+ """
+ if type(value).__name__ == "int":
+ return Node.Node(value)
+ elif type(value).__name__ == "Node":
+ return value
+ else:
+ raise TypeError("'node' must be of type 'int' or 'Node'")
+
+ def __makeNodeTupleFromOid(self, nodeTuple):
+ if type(nodeTuple).__name__ == "tuple" and len(nodeTuple) == 2:
+ return (self.__makeNodeFromOid(nodeTuple[0]),
+ self.__makeNodeFromOid(nodeTuple[1]))
+ else:
+ raise TypeError("'nodeTuple' must be of type 'tuple' and length "
+ "must be 2")
+
+ def getPtVolumeStats(self, startTime, stopTime, nodeList):
+ # Check if all given parameters are valid
+ startTime = self.__checkDateTime(startTime) # struct_time
+ stopTime = self.__checkDateTime(stopTime) # struct_time
+ nodeList = self.__checkNodeList(nodeList)
+ stats = []
+
+ for node in nodeList:
+ maxDelay = 0
+ minDelay = maxint
+ byteCount = 0
+ avgPktSize = 0
+ number = 0
+
+ rows = self.__noviDB.selectDelayEntrys(startTime, stopTime,
+ node.oid)
+ if len(rows) != 0:
+ for row in rows:
+ if (row[MAXDELAY] > maxDelay):
+ maxDelay = row[MAXDELAY]
+ if (row[MINDELAY] < minDelay):
+ minDelay = row[MINDELAY]
+ byteCount += row[SUMBYTES]
+ number += row[NUM]
+
+ if number != 0:
+ avgPktSize = byteCount/number
+ stats.append(PtVolumeStats.PtVolumeStats(startTime, stopTime, node,
+ number, avgPktSize))
+ return stats
+
+ def getPtHopStats(self, startTime, stopTime, nodeList2D):
+ # Check if all given parameters are valid
+ startTime = self.__checkDateTime(startTime) # struct_time
+ stopTime = self.__checkDateTime(stopTime) # struct_time
+ nodeList2D = self.__checkNodeList2D(nodeList2D)
+ stats = []
+
+ for nodeTuple in nodeList2D:
+ src = nodeTuple[0]
+ dst = nodeTuple[1]
+
+ maxDelay = 0
+ minDelay = maxint
+ byteCount = 0
+ avgPktSize = 0
+ delayCount = 0
+ avgDelay = 0
+ number = 0
+
+ rows = self.__noviDB.selectHopDelays(startTime, stopTime,
+ src.oid, dst.oid)
+ if len(rows) != 0:
+ for row in rows:
+ if (row[MAXDELAY] > maxDelay):
+ maxDelay = row[MAXDELAY]
+ if (row[MINDELAY] < minDelay):
+ minDelay = row[MINDELAY]
+ byteCount += row[SUMBYTES]
+ delayCount += row[SUMDELAY]
+ number += row[NUM]
+
+ if number != 0:
+ avgPktSize = byteCount/number
+ avgDelay = delayCount/number
+
+ stats.append(PtHopStats.PtHopStats(startTime, stopTime, src, dst,
+ number, avgDelay, avgPktSize))
+ return stats
+
+ def getPtPathStats(self, startTime, stopTime, nodeTuple):
+ # Check if all given parameters are valid
+ startTime = self.__checkDateTime(startTime) # struct_time
+ stopTime = self.__checkDateTime(stopTime) # struct_time
+ nodeTuple = self.__checkNodeTuple(nodeTuple)
+ stats = []
+
+ if len(nodeTuple) == 0:
+ return stats
+ src = nodeTuple[0]
+ dst = nodeTuple[1]
+ path = ""
+
+ rows = self.__noviDB.selectPathDelays(startTime, stopTime,
+ src.oid, dst.oid)
+ if len(rows) != 0:
+ for row in rows:
+ if len(path) == 0:
+ maxDelay = 0
+ minDelay = maxint
+ byteCount = 0
+ avgPktSize = 0
+ delayCount = 0
+ avgDelay = 0
+ number = 0
+ path = row[PATH]
+ if row[PATH] != path:
+ stats.append(PtPathStats.PtPathStats(startTime, stopTime,
+ src, dst, number,
+ avgPktSize, avgDelay,
+ path))
+ path = ""
+ else:
+ if (row[MAXDELAY] > maxDelay):
+ maxDelay = row[MAXDELAY]
+ if (row[MINDELAY] < minDelay):
+ minDelay = row[MINDELAY]
+ byteCount += row[SUMBYTES]
+ delayCount += row[SUMDELAY]
+ number += row[NUM]
+
+ if number != 0:
+ avgPktSize = byteCount/number
+ avgDelay = delayCount/number
+
+ stats.append(PtPathStats.PtPathStats(startTime, stopTime, src, dst,
+ number, avgPktSize, avgDelay,
+ path))
+ return stats
+
+ def getPtActivity(self, startTime, stopTime, nodeList):
+ # Check if all given parameters are valid
+ startTime = self.__checkDateTime(startTime) # struct_time
+ stopTime = self.__checkDateTime(stopTime) # struct_time
+ nodeList = self.__checkNodeList(nodeList)
+ stats = []
+
+ for node in nodeList:
+ activity = 0
+ packets = 0
+ percentile = 0
+
+ rows = self.__noviDB.selectActivityEntries(startTime, stopTime,
+ node.oid)
+ if len(rows) != 0:
+ for row in rows:
+ packets += row[NUM]
+
+ activity = packets*self.__sliceDB.selectActivityThreshold(node.oid)
+
+ if(mktime(stopTime) - mktime(startTime) != 0):
+ percentile = activity*100 /((mktime(stopTime) -
+ mktime(startTime)) *1000*1000)
+
+ if percentile > 100:
+ percentile = 100
+ stats.append(PtActivity.PtActivity(startTime, stopTime, node,
+ percentile))
+ return stats
+
+ def restartPtCollector(self):
+ # Carsten/Jens
+ print "restartPtCollector"
+ return Status.Status()
+
+ def restartPtProbes(self, nodeList):
+ # Carsten/Jens
+ print "restartPtProbes"
+ return Status.Status()
+
+ def purgePtDatabase(self, startTime, stopTime):
+ #TODO: Fix the return type to a real Status
+ self.__noviDB.purgeDelayDB(startTime, stopTime)
+ return Status.Status()
+
+ def setPtHashRange(self, range):
+ #TODO: Fix the return type to a real Status
+ try:
+ if int(range) <= 100 and int(range) > 0:
+ self.__sliceDB.updateHashRange(range)
+ return Status.Status()
+ else:
+ raise ValueError
+ except ValueError:
+ print "Invalid range, value must an integer between 1 and 100."
+ return Status.Status(-1)
+
+ def setPtHashFunction(self, hashFunction):
+ #TODO: Fix the return type to a real Status
+ if self.__checkHashFuntion(hashFunction):
+ self.__sliceDB.updateHashFunction(hashFunction)
+ return Status.Status()
+ else:
+ print hashFunction + ": Unknown hashing function."
+ return Status.Status(-1)
+
+
+ def setPtActivityThreshold(self, timeMSec):
+ #TODO: Fix the return type to a real Status
+ self.__sliceDB.updateActivityThreshold(timeMSec)
+ return Status.Status()
+
+ def viewPtPathTracks(self, startTime, stopTime, nodeList):
+ # Spaeter
+ print "viewPtPathTracks"
+ return Status.Status()
+
+ def viewPtHopTracks(self, startTime, stoptime, nodeList2D):
+ # Spaeter
+ print "viewPtHopTracks"
+ return Status.Status()
+
+ def plotPtPathStats(self, startTime, stopTime, nodeList):
+ print "plotPtPathStats"
+ return Status.Status()
+
+ def plotPtHopStats(self, startTime, stopTime, nodeList2D):
+ # Check if all given parameters are valid
+ startTime = self.__checkDateTime(startTime) # struct_time
+ stopTime = self.__checkDateTime(stopTime) # struct_time
+ nodeList2D = self.__checkNodeList2D(nodeList2D)
+
+ for nodeTuple in nodeList2D:
+ src = nodeTuple[0]
+ dst = nodeTuple[1]
+ delaysY = []
+ timeX = []
+
+ rows = self.__noviDB.selectHopDelays(startTime, stopTime,
+ src.oid, dst.oid)
+ if len(rows) != 0:
+ for row in rows:
+ delaysY.append(row[SUMDELAY]/row[NUM])
+ timeX.append(row[TS])
+ self.__delayPlotter.plotStats(timeX, delaysY)
+ else:
+ return Status.Status(-1)
+
+ return Status.Status()
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DBAccess.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DBAccess.py
new file mode 100644
index 0000000..966fb5d
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DBAccess.py
@@ -0,0 +1,124 @@
+"""
+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
+"""
+
+from time import mktime
+
+from Task.Passive.Monitoring.Database.DBConnector import DBConnector
+
+class DBAccess(DBConnector):
+ def __init__(self, host = "127.0.0.1", port = 5432,
+ db = "dump", user = "user", pwd = "pwd"):
+ DBConnector.__init__(self, host, port, db, user, pwd)
+
+ def selectDelayEntrys(self, startTime, stopTime, nodeOid):
+ """
+ Function to select a set of delay information from the database. The
+ statement calls 'SELECT num, sumbytes, sumdelay, mindelay, maxdelay FROM
+ delays WHERE (ts >= startTime AND ts <= stopTime) AND (src = nodeOid OR
+ dst = nodeOid);'.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @rtype: list
+ @return: List of rows that match the time interval and also
+ the nodes OID
+ """
+ startTimeString = str(int(mktime(startTime)*1000*1000)) # sec->musec
+ stopTimeString = str(int(mktime(stopTime)*1000*1000)) # sec->musec
+ statement = ("SELECT num, sumbytes, sumdelay, mindelay, maxdelay "
+ "FROM hop_delays WHERE (ts >= " + startTimeString +
+ " AND ts <= " + stopTimeString + ") AND (src = " +
+ str(nodeOid) + " OR dst = " + str(nodeOid) + ");")
+ connection = self.connect()
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return rows
+
+ def selectActivityEntries(self, startTime, stopTime, nodeOid):
+ """
+ Method to get the activity of a node (number of packets in the defined
+ time interval).
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @rtype: list
+ @return: List of rows that match the time interval and also
+ the nodes OID
+ """
+ startTimeString = str(int(mktime(startTime)*1000*1000)) # sec->musec
+ stopTimeString = str(int(mktime(stopTime)*1000*1000)) # sec->musec
+ statement = ("SELECT num FROM hop_delays WHERE (ts >= " +
+ startTimeString + " AND ts <= " + stopTimeString + ") "
+ "AND (src = " + str(nodeOid) + " OR dst = "
+ + str(nodeOid) + ");")
+ connection = self.connect()
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return rows
+
+ def selectPathDelays(self, startTime, stopTime, srcOid, dstOid):
+ startTimeString = str(int(mktime(startTime)*1000*1000)) # sec->musec
+ stopTimeString = str(int(mktime(stopTime)*1000*1000)) # sec->musec
+ statement = ("SELECT num, sumbytes, sumdelay, mindelay, maxdelay, path "
+ "FROM path_delays WHERE (ts >= " + startTimeString +
+ " AND ts <= " + stopTimeString + ") AND (src = " +
+ str(srcOid) + " AND dst = " + str(dstOid) + ") "
+ "ORDER BY path ASC;")
+ connection = self.connect()
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return rows
+
+ def selectHopDelays(self, startTime, stopTime, srcOid, dstOid):
+ startTimeString = str(int(mktime(startTime)*1000*1000)) # sec->musec
+ stopTimeString = str(int(mktime(stopTime)*1000*1000)) # sec->musec
+ statement = ("SELECT num, sumbytes, sumdelay, mindelay, maxdelay, ts "
+ "FROM hop_delays WHERE (ts >= " + startTimeString +
+ " AND ts <= " + stopTimeString + ") AND (src = " +
+ str(srcOid) + " AND dst = " + str(dstOid) + ");")
+ connection = self.connect()
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return rows
+
+ def purgeDelayDB(self, startTime, stopTime):
+ """
+ Function to remove a set of observed tracks from the database in the
+ interval between 'StartTime' and 'StopTime'. The statement calls 'DELETE
+ FROM delays WHERE (ts >= startTime AND ts <= stopTime);'
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @rtype: Integer
+ @return: Returns the number of purged rows on success -1
+ otherwise.
+ """
+ startTimeString = str(int(mktime(startTime)*1000*1000)) # sec->musec
+ stopTimeString = str(int(mktime(stopTime)*1000*1000)) # sec->musec
+ statement = ("DELETE FROM hop_delays WHERE (ts >= " + startTimeString +
+ " AND ts <= " + stopTimeString + ");")
+ connection = self.connect()
+ self.executeUpdate(connection, statement)
+ self.disconnect(connection)
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DelayPlotter.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DelayPlotter.py
new file mode 100644
index 0000000..36e9d5a
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/DelayPlotter.py
@@ -0,0 +1,24 @@
+"""
+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
+"""
+
+from matplotlib.pyplot import plot, show
+
+class DelayPlotter(object):
+ def __init__(self):
+ pass
+
+ def plotStats(self, x, y):
+ plot(x,y)
+ show() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/__init__.py
new file mode 100644
index 0000000..fcc3deb
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Aggregator/__init__.py
@@ -0,0 +1,22 @@
+"""
+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
+"""
+
+from Aggregator import Aggregator
+
+def main():
+ A = Aggregator()
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Node.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Node.py
new file mode 100644
index 0000000..98f9017
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Node.py
@@ -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
+"""
+
+from IPy import IP
+
+class Node(object):
+ def __init__(self, oid = 0, ip = "0.0.0.0",
+ latitude = 0.0, longitude = 0.0):
+ self.oid = oid
+ self.ip = ip
+ self.latitude = latitude
+ self.longitude = longitude
+
+ def set_ip(self, ip):
+ try:
+ IP(ip)
+ self.ip = ip
+ except ValueError:
+ self.ip = "0.0.0.0"
+
+ def __str__(self):
+ return (str(self.oid) + " (" + str(self.ip) + ")")
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtActivity.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtActivity.py
new file mode 100644
index 0000000..766761a
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtActivity.py
@@ -0,0 +1,53 @@
+"""
+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
+"""
+
+from time import mktime, time, strftime, localtime
+
+from Task.Passive.Monitoring.DataTypes import Node
+
+class PtActivity(object):
+ def __init__(self, startTime = time(), stopTime = time(),
+ node = Node.Node(), activity = 0):
+ self.startTime = mktime(startTime)
+ self.stopTime = mktime(stopTime)
+ self.node = node
+ self.activity = activity
+
+ def __str__(self):
+ startTime = strftime("%a, %d %b %Y %H:%M:%S", localtime(self.startTime))
+ stopTime = strftime("%a, %d %b %Y %H:%M:%S", localtime(self.stopTime))
+ return ("PtActivity:\n"
+ " Node (Oid): " + str(self.node) + "\n"
+ " StartTime: " + startTime + "\n"
+ " StopTime: " + stopTime + "\n"
+ " Activity: " + str(self.activity) + " %")
+
+ def set_StartTime(self, StartTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the start of the observation
+ """
+ self.StartTime = mktime(StartTime)
+
+ def set_StopTime(self, StopTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the end of the observation
+ """
+ self.StopTime = mktime(StopTime) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtHopStats.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtHopStats.py
new file mode 100644
index 0000000..4e887fa
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtHopStats.py
@@ -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
+"""
+
+from time import mktime, time, strftime, localtime
+
+from Task.Passive.Monitoring.DataTypes import Node
+
+class PtHopStats(object):
+ """
+ Packet tracking Hop statistics, i.e. delay/volume statistics between two
+ neighbor Pt probes
+ """
+ def __init__(self, startTime = time(), stopTime = time(),
+ src = Node.Node(), dst = Node.Node(), number = 0,
+ avgPktSize = 0, avgDelay = 0):
+ self.startTime = mktime(startTime)
+ self.stopTime = mktime(stopTime)
+ self.src = src
+ self.dst = dst
+ self.number = number
+ self.avgPktSize = avgPktSize
+ self.avgDelay = avgDelay
+
+ def __str__(self):
+ startTime = strftime("%a, %d %b %Y %H:%M:%S",
+ localtime(self.startTime))
+ stopTime = strftime("%a, %d %b %Y %H:%M:%S",
+ localtime(self.stopTime))
+ return ("PtHopStats:\n"
+ " Src. Node: " + str(self.src) + "\n" +
+ " Dst. Node: " + str(self.dst) + "\n" +
+ " StartTime: " + startTime + "\n" +
+ " StopTime: " + stopTime + "\n" +
+ " Packets: " + str(self.number) + " Pkts\n"
+ " Avg. Pktsize: " + str(self.avgPktSize) + " Bytes\n" +
+ " Avg. Delay: " + str(self.avgDelay) + " ms")
+
+ def set_startTime(self, startTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the start of the
+ observation
+ """
+ self.startTime = mktime(startTime)
+
+ def set_stopTime(self, stopTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the end of the observation
+ """
+ self.stopTime = mktime(stopTime) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtPathStats.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtPathStats.py
new file mode 100644
index 0000000..332087c
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtPathStats.py
@@ -0,0 +1,64 @@
+"""
+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
+"""
+
+from time import mktime, time, strftime, localtime
+
+from Task.Passive.Monitoring.DataTypes import Node
+
+class PtPathStats(object):
+ def __init__(self, startTime = time(), stopTime = time(), src = Node.Node(),
+ dst = Node.Node(), number = 0, avgPktSize = 0,
+ avgDelay = 0, path = ""):
+ self.startTime = mktime(startTime)
+ self.stopTime = mktime(stopTime)
+ self.src = src
+ self.dst = dst
+ self.number = number
+ self.avgPktSize = avgPktSize
+ self.avgDelay = avgDelay
+ self.path = path
+
+ def __str__(self):
+ startTime = strftime("%a, %d %b %Y %H:%M:%S",
+ localtime(self.startTime))
+ stopTime = strftime("%a, %d %b %Y %H:%M:%S",
+ localtime(self.stopTime))
+ return ("PtPathStats:\n"
+ " Src. Node: " + str(self.src) + "\n" +
+ " Dst. Node: " + str(self.dst) + "\n" +
+ " Path: " + self.path + "\n" +
+ " StartTime: " + startTime + "\n" +
+ " StopTime: " + stopTime + "\n" +
+ " Packets: " + str(self.number) + " Pkts\n"
+ " Avg. Pktsize: " + str(self.avgPktSize) + " Bytes\n" +
+ " Avg. Delay: " + str(self.avgDelay) + " ms")
+
+ def set_startTime(self, startTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the start of the observation
+ """
+ self.startTime = mktime(startTime)
+
+ def set_stopTime(self, stopTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the end of the observation
+ """
+ self.stopTime = mktime(stopTime) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtVolumeStats.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtVolumeStats.py
new file mode 100644
index 0000000..78bce1e
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/PtVolumeStats.py
@@ -0,0 +1,60 @@
+"""
+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
+"""
+
+from time import mktime, time, strftime, localtime
+
+from Task.Passive.Monitoring.DataTypes import Node
+
+class PtVolumeStats(object):
+ """
+ (at least) number of packets and bytes observed by a Node
+ """
+ def __init__(self, startTime = time(), stopTime = time(),
+ node = Node.Node(), number = 0, avgPktSize = 0):
+ self.startTime = mktime(startTime)
+ self.stopTime = mktime(stopTime)
+ self.node = node
+ self.number = number
+ self.avgPktSize = avgPktSize
+
+ def __str__(self):
+ startTime = strftime("%a, %d %b %Y %H:%M:%S", localtime(self.startTime))
+ stopTime = strftime("%a, %d %b %Y %H:%M:%S", localtime(self.stopTime))
+ Str = ("PtVolumeStats:\n"
+ " Node: " + str(self.node) + "\n" +
+ " StartTime: " + startTime + "\n" +
+ " StopTime: " + stopTime + "\n" +
+ " Packets: " + str(self.number) + "\n" +
+ " Avg. Pktsize: " + str(self.avgPktSize) + " Bytes")
+ return Str
+
+
+ def set_StartTime(self, StartTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the start of the observation
+ """
+ self.StartTime = mktime(StartTime)
+
+ def set_StopTime(self, StopTime):
+ """
+ Overwritten setter functions to convert the time_struct into a real
+ timestamp.
+ @type StartTime: struct_time
+ @param StartTime Time that defines the end of the observation
+ """
+ self.StopTime = mktime(StopTime) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Status.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Status.py
new file mode 100644
index 0000000..6206c57
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/Status.py
@@ -0,0 +1,25 @@
+"""
+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
+"""
+
+
+class Status(object):
+ """
+ Class to handle different errors, and also throw exceptions
+ """
+ def __init__(self, status = 0):
+ self.status = status
+
+ def __str__(self):
+ return ("Status:" + str(self.status)) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/__init__.py
new file mode 100644
index 0000000..92936f3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/DataTypes/__init__.py
@@ -0,0 +1,15 @@
+"""
+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
+"""
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/DBConnector.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/DBConnector.py
new file mode 100644
index 0000000..1cc6d2a
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/DBConnector.py
@@ -0,0 +1,135 @@
+"""
+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
+"""
+
+from IPy import IP
+
+import psycopg2
+
+class DBConnector(object):
+ def __init__(self, host = "127.0.0.1", port = 5432,
+ db = "dump", user = "user", pwd = "pwd"):
+ self.host = host
+ self.port = port
+ self.db = db
+ self.user = user
+ self.pwd = pwd
+
+ @property
+ def port(self):
+ return self.__port
+
+ @port.setter
+ def port(self, port):
+ """
+ Method to check whether the port is in the valid port range of 1-65535,
+ if not it raises a ValueError
+ @type port: int
+ @param port: Port on which the PostgreSQL database is
+ listening
+ """
+ if port in range(1, 65535):
+ self.__port = port
+ else:
+ raise ValueError("Port must be in range of 1 to 65535")
+
+ @property
+ def host(self):
+ return self.__host
+
+ @host.setter
+ def host(self, host):
+ """
+ Method to check whether the given host name is a valid IP address. If
+ not the IP address is set to localhost (127.0.0.1).
+ @type host: str
+ @param port: IP on which the PostgreSQL database is
+ reachable
+ """
+ try:
+ IP(host)
+ self.__host = host
+ except ValueError:
+ print "Invalid IP address, setting host to 127.0.0.1"
+ self.__host = "127.0.0.1"
+
+ def __str__(self):
+ return ("Connected to DB " + self.db + " on " + self.host +
+ ":" + str(self.port) + " as " + self.user)
+
+ def connect(self):
+ """
+ Method to connect to a PostgreSQL
+ @type Connection: connection
+ @param Connection: The connection to the PostgreSQL database
+ created by 'psycopg2.connect()'
+ @type Statement: string
+ @param Statement: String describing the select statement,
+ e.g. 'SELECT * from table;'
+ """
+ try:
+ connection = psycopg2.connect("dbname='" + self.db + "' user='" +
+ self.user + "' host='" + self.host +
+ "' password='" + self.pwd + "'")
+ return connection
+ except psycopg2.Error, msg:
+ print "Error: ", msg
+
+ def executeSelect(self, connection, statement):
+ """
+ Method that executes a select statement on a PosgreSQL database.
+ @type connection: connection
+ @param connection: The connection to the PostgreSQL database
+ created by 'psycopg2.connect()'
+ @type statement: str
+ @param statement: String describing the select statement,
+ e.g. 'SELECT * from table;'
+ """
+ st = connection.cursor()
+ rows = []
+ try:
+ st.execute(statement)
+ rows = st.fetchall()
+ except Exception:
+ print "Statement '" + statement + "' can not be executed"
+ st.close()
+ return rows
+
+ def executeUpdate(self, connection, statement):
+ """
+ Method that executes an update statement on a PosgreSQL database.
+ @type connection: connection
+ @param connection: The connection to the PostgreSQL database
+ created by 'psycopg2.connect()'
+ @type statement: str
+ @param statement: String describing the update statement,
+ e.g. 'DELETE FROM table WHERE x=3;'
+ """
+ st = connection.cursor()
+ try:
+ st.execute(statement)
+ connection.commit()
+ except Exception:
+ print "Statement '" + statement + "' can not be executed"
+ st.close()
+
+ def disconnect(self, connection):
+ """
+ Method to close a given connection
+ @type connection: connection
+ @param connection: A connection to a PostgreSQL that should
+ be closed database (created by
+ 'psycopg2.connect()')
+ """
+ connection.close()
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/__init__.py
new file mode 100644
index 0000000..1523109
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/Database/__init__.py
@@ -0,0 +1,24 @@
+"""
+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
+"""
+
+import DBConnector
+
+def main():
+ db = DBConnector.DBConnector()
+ db.ConnectionInfo()
+
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/PacketTracking.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/PacketTracking.py
new file mode 100644
index 0000000..2f1073e
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/PacketTracking.py
@@ -0,0 +1,18 @@
+"""
+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
+"""
+
+class PacketTracking(object):
+ def __init__(self):
+ pass
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/__init__.py
new file mode 100644
index 0000000..92936f3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTracking/__init__.py
@@ -0,0 +1,15 @@
+"""
+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
+"""
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/PacketTrackingGUI.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/PacketTrackingGUI.py
new file mode 100644
index 0000000..b17533d
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/PacketTrackingGUI.py
@@ -0,0 +1,18 @@
+"""
+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
+"""
+
+class PacketTrackingGUI(object):
+ def __init__(self):
+ pass
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/__init__.py
new file mode 100644
index 0000000..92936f3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PacketTrackingGui/__init__.py
@@ -0,0 +1,15 @@
+"""
+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
+"""
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/PassiveMonitoring.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PassiveMonitoring.py
new file mode 100644
index 0000000..0018788
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/PassiveMonitoring.py
@@ -0,0 +1,268 @@
+"""
+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
+"""
+
+from Task.Passive.Monitoring.Aggregator import Aggregator
+
+class PassiveMonitoring(object):
+
+ def __init__(self):
+ self.__Aggregator = Aggregator()
+
+
+ # PT Actions
+ # 1.
+ def getPtVolumeStats(self, startTime, stopTime, nodeList):
+ """
+ Function to retrieve the observed traffic in the time intervall defined
+ between startTime and stopTime. Traffic means, packet/byte count for
+ each node in the list.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList: list
+ @param nodeList: List of nodes, whereby a node is one installed
+ monitoring probe.
+ @rtype: PtVolumeStats (list)
+ @return: (At least) number of packets and bytes observed by
+ a node.
+ """
+ return self.__Aggregator.getPtVolumeStats(startTime, stopTime, nodeList)
+
+ # 2.
+ def getPtHopStats(self, startTime, stopTime, nodeList2D):
+ """
+ Function to retrieve the observed traffic statistics in the time
+ intervall defined between startTime and stopTime. Statistics mean
+ packet/byte count and min/max/avg delay between each adjacent node/node
+ pair.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type StopTime: struct_time
+ @param StopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList2D: list
+ @param nodeList2D: A List of <first, second> Node pairs.
+ @rtype: PtHopStats (list)
+ @return: Packet tracking Hop statistics, i.e. delay/volume
+ statistics between two neighbor PT probes
+ """
+ return self.__Aggregator.getPtHopStats(startTime, stopTime, nodeList2D)
+
+ # 3.
+ def getPtPathStats(self, startTime, stopTime, nodeTuple):
+ """
+ Function to retrieve the observed traffic statistics in the time
+ intervall defined between StartTime and StopTime. Statistics mean
+ packet/byte count and min/max/avg delay between each node/node pair.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeTuple: tuple
+ @param nodeTuple: A pair of nodes represented as a 'tuple' datatype
+ @rtype: PtPathStats (list)
+ @return: Packet tracking Hop statistics, i.e. delay/volume
+ statistics between any two PT probes
+ """
+ return self.__Aggregator.getPtPathStats(startTime, stopTime, nodeTuple)
+
+ # 4.
+ def getPtActivity(self, startTime, stopTime, nodeList):
+ """
+ Returns the 'activity' for each node in the list. Activity is defined
+ as a percentage [0-100%] of interval startTime to stopTime . If no
+ packet is observed in this defined time interval the function returns
+ zero, otherwise the function returns a positive non-zero value. It also
+ depends on the configured activity threshold (timeout), which is set by
+ the function 'setPtActivityThreshold'.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList: list
+ @param nodeList: List of nodes, whereby a node is one installed
+ monitoring probe.
+ @rtype: PtActivity
+ @return: Amount of time when there was live traffic
+ observed at a node.
+ """
+ return self.__Aggregator.getPtActivity(startTime, stopTime, nodeList)
+
+ # Pt Management (Impd4e + Collector)
+ # 1.
+ def restartPtCollector(self):
+ """
+ Method to restart the Collector.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.restartPtCollector()
+
+ # 2.
+ def restartPtProbes(self, nodeList):
+ """
+ Method to restart the probes on all the selected Nodes.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.restartPtProbes(nodeList)
+
+ # 3.
+ def purgePtDatabase(self, startTime, stopTime):
+ """
+ Function to purge the observed track information from the database
+ (Only for administrative purposes).
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.purgePtDatabase(startTime, stopTime)
+
+ # 4.
+ def setPtHashRange(self, range):
+ """
+ Sets the hash range for the hashing algorithm, value must be between 1
+ and 100. The higher, the more packets are selected by the hashing
+ function. 100 - Means, all packets are selected.
+ @type range: int
+ @param range: A value between 1 and 100.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.setPtHashRange(range)
+
+ # 5.
+ def setPtHashFunction(self, hashFunction):
+ """
+ The PT probe provides different hashing functions to do the packet
+ selection. Possible parameters are: "BOB", "OAAT", "TWMX", "HSIEH
+ @type hashFunction: str
+ @param hashFunction: A short string representing the hashing function.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.setPtHashFunction(hashFunction)
+
+ # 6.
+ def setPtActivityThreshold(self, timeMSec):
+ """
+ Function to adjust the activity threshold. Increasing this value in
+ effect reduces the probability to receive a "0 - no activity" from the
+ function 'getPtActivity'.
+ @type timeMSec: int
+ @param timeMSec: A time value in milliseconds.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.setPtActivityThreshold(timeMSec)
+
+ # PT Visualization (Netview)
+ # 1.
+ def viewPtPathTracks(self, startTime, stopTime, nodeList):
+ """
+ Starts a GUI application and displays the path defined by the nodeList,
+ in the time interval, defined by startTime and stopTime.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList: list
+ @param nodeList: List of nodes, whereby a node is one installed
+ monitoring probe.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.viewPtPathTracks(startTime, stopTime, nodeList)
+
+ # 2.
+ def viewPtHopTracks(self, startTime, stopTime, nodeList2D):
+ """
+ Starts a GUI application and displays the hop defined by the node
+ vector, in the time interval, defined by startTime and stopTime.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param StopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList2D: list
+ @param nodeList2D: A List of node tuples (src, dst).
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.viewPtHopTracks(startTime, stopTime, nodeList2D)
+
+ # 3.
+ def plotPtPathStats(self, startTime, stopTime, nodeList):
+ """
+ Plots the delay stats in a X/Y-plot for a hop between two nodes given
+ by the nodeList, in the time interval defined by startTime and stopTime.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList: list
+ @param nodeList: List of nodes, whereby a node is one installed
+ monitoring probe.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.plotPtPathStats(startTime, stopTime, nodeList)
+
+ # 4.
+ def plotPtHopStats(self, startTime, stopTime, nodeList2D):
+ """
+ Plots the delay stats in a X/Y-plot for a path between multiple nodes
+ given by the nodeList, in the time interval defined by startTime and
+ stopTime.
+ @type startTime: struct_time
+ @param startTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type stopTime: struct_time
+ @param stopTime: A sequence of 9 integers, as returned from
+ gmtime(), localtime() or strptime().
+ @type nodeList2D: list
+ @param nodeList2D: A List of <first, second> Node pairs.
+ @rtype: Status
+ @return: Placeholder for return error handling, i.e.
+ "Success" or specific Exception.
+ """
+ return self.__Aggregator.plotPtHopStats(startTime, stopTime, nodeList2D) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/SliceManager.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/SliceManager.py
new file mode 100644
index 0000000..190c652
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/SliceManager.py
@@ -0,0 +1,70 @@
+"""
+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
+"""
+
+from Task.Passive.Monitoring.Database.DBConnector import DBConnector
+
+class SliceManager(DBConnector):
+ def __init__(self, host = "127.0.0.1", port = 5432,
+ db = "dump", user = "user", pwd = "pwd"):
+ """
+ Constructor of the silce manager.
+ @type host: String
+ @param host: host where the database is running on
+ (default: '127.0.0.1'). Give an IP address,
+ because the DBConnector is validating it.
+ @type port: int
+ @param port: Port number the PostgreSQL database is listening
+ on (default: 5432). Must be in range of 1-65535.
+ @type db: String
+ @param db: Name of the database (default: 'dump').
+ @type user: String
+ @param user Username (default: 'user').
+ @type pwd: String
+ @param pwd: Password for user (default: 'pwd').
+ """
+ DBConnector.__init__(self, host, port, db, user, pwd)
+
+ def validateNode(self, node):
+ connection = self.connect()
+ statement = ("SELECT oid FROM slice WHERE oid = " + str(node.oid) + ";")
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return False if len(rows) == 0 else True
+
+ def updateHashRange(self, range):
+ connection = self.connect()
+ statement = ("UPDATE slice SET hashrange = " + str(range) + ";")
+ self.executeUpdate(connection, statement)
+ self.disconnect(connection)
+
+ def updateHashFunction(self, function):
+ connection = self.connect()
+ statement = ("UPDATE slice SET algorithm = '" + function + "';")
+ self.executeUpdate(connection, statement)
+ self.disconnect(connection)
+
+ def selectActivityThreshold(self, nodeOid):
+ connection = self.connect()
+ statement = ("SELECT activity FROM slice WHERE oid = "
+ + str(nodeOid) + ";")
+ rows = self.executeSelect(connection, statement)
+ self.disconnect(connection)
+ return rows[0][0]
+
+ def updateActivityThreshold(self, timeMSec):
+ connection = self.connect()
+ statement = ("UPDATE slice SET activity = " + str(timeMSec) + ";")
+ self.executeUpdate(connection, statement)
+ self.disconnect(connection) \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/__init__.py
new file mode 100644
index 0000000..92936f3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/SliceManager/__init__.py
@@ -0,0 +1,15 @@
+"""
+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
+"""
+
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/__init__.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/__init__.py
new file mode 100644
index 0000000..a9faf1b
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/__init__.py
@@ -0,0 +1,20 @@
+"""
+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
+"""
+
+
+
+if __name__ == "__main__":
+ import doctest
+ doctest.testmod() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/Monitoring/test.py b/Monitoring/MonitoringTool/PacketTracking/Monitoring/test.py
new file mode 100644
index 0000000..7c5e087
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/Monitoring/test.py
@@ -0,0 +1,101 @@
+"""
+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
+"""
+
+import unittest
+
+from PassiveMonitoring import PassiveMonitoring
+
+class Test(unittest.TestCase):
+
+ def setUp(self):
+ self.pM = PassiveMonitoring()
+ self.nodeList = [1,2,3,4,5,42,46]
+ self.hashFunctions = ["BOB", "OAAT", "TWMX", "HSIEH"]
+
+ def testGetPtVolumeStats(self):
+ ret = self.pM.getPtVolumeStats("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ self.nodeList)
+ for r in ret:
+ print r
+
+ def testGetPtHopStats(self):
+ ret = self.pM.getPtHopStats("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ [(1,2), (3,46), (5,42)])
+ for r in ret:
+ print r
+
+ def testGetPtPathStats(self):
+ ret = self.pM.getPtPathStats("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ (46,42))
+ for r in ret:
+ print r
+
+ def testGetPtActivity(self):
+ ret = self.pM.getPtActivity("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ self.nodeList)
+ for r in ret:
+ print r
+
+ def testRestartPtCollector(self):
+ pass
+
+ def testRestartPtProbes(self):
+ pass
+
+ def testPurgePtDatabase(self):
+ pass
+
+ def testSetPtHashRange(self):
+ ret = 0
+ for i in range(1,100):
+ ret += self.pM.setPtHashRange(i).status
+ print "setPtHashRange " + str(ret)
+
+ def testSetPtHashFunction(self):
+ ret = 0
+ for function in self.hashFunctions:
+ ret += self.pM.setPtHashFunction(function).status
+ print "setPtHashFunction " + str(ret)
+
+ def testSetPtActivityThreshold(self):
+ ret = self.pM.setPtActivityThreshold(100).status
+ print "setPtActivityThreshold " + str(ret)
+
+ def testViewPtPathTracks(self):
+ self.pM.viewPtPathTracks("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ self.nodeList)
+
+ def testViewPtHopTracks(self):
+ self.pM.viewPtHopTracks("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ [(1,2), (3,46), (5,42)])
+
+ def testPlotPtPathStats(self):
+ self.pM.plotPtPathStats("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ self.nodeList)
+
+ def testPlotPtHopStats(self):
+ self.pM.plotPtHopStats("2010-10-10T10:10:10",
+ "2012-10-10T10:10:10",
+ [(1,2), (3,46), (5,42)])
+
+if __name__ == "__main__":
+ unittest.main() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py
new file mode 100644
index 0000000..a727ff9
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/CommandLine.py
@@ -0,0 +1,89 @@
+"""
+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
+"""
+
+from sys import exit, stdout
+from os import system
+from inspect import getargspec, getmembers
+import readline
+
+from Task.Passive.Monitoring.DataTypes import Node
+from Task.Passive.Monitoring.PassiveMonitoring import PassiveMonitoring
+from Return import Return
+
+class CommandLine(object):
+ def __init__(self):
+ self.Options = {"clear" : self.__clear,
+ "exit" : self.__exit,
+ "help" : self.__help}
+
+ def __Helptext(self):
+ return ("\n"
+ " 888888ba d888888P .d88888b dP dP dP\n"
+ " 88 `8b 88 88. \"' 88 88 88\n"
+ "a88aaaa8P' 88 `Y88888b. 88d888b. .d8888b. 88 88\n"
+ " 88 88 `8b 88' `88 88ooood8 88 88\n"
+ " 88 88 d8' .8P 88 88 88. ... 88 88\n"
+ " dP dP Y88888P dP dP `88888P' dP dP\n"
+ "oooooooooooooooooooooooooooooooooooooooooooooooooooooo\n"
+ "\n"
+ "Type 'help' for a list of commands\n"
+ "")
+
+ def Input(self):
+ PM = PassiveMonitoring()
+
+ print self.__Helptext()
+ while(1):
+ try:
+ Input = raw_input("-->")
+ except EOFError:
+ self.__exit()
+ try:
+ self.Options[Input]()
+ except KeyError:
+ try:
+ Return(eval("PM." + Input))
+ except TypeError, m:
+ print "Error: " + str(m)
+ except (NameError, SyntaxError, AttributeError):
+ try:
+ exec(Input)
+ except Exception:
+ print ("Unknown function, type 'help' to get the list "
+ "of functions:")
+
+ def __clear(self):
+ system("clear")
+ print self.__Helptext()
+
+ def __exit(self):
+ print ""
+ exit(0)
+
+
+ def __help(self):
+ list = getmembers(PassiveMonitoring)
+ print("cmds:")
+ for funcName in list:
+ if funcName[0][0:1] != "_":
+ function = getattr(PassiveMonitoring, str(funcName[0]))
+ argSpec = getargspec(function)
+ print " " + funcName[0] + "(",
+ for i in range(len(argSpec.args)):
+ if argSpec.args[i] != "self":
+ stdout.write(argSpec.args[i])
+ if i != len(argSpec.args)-1:
+ stdout.write(", ")
+ stdout.write(")\n") \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py
new file mode 100644
index 0000000..0a172b8
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/Return.py
@@ -0,0 +1,24 @@
+"""
+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
+"""
+
+class Return(object):
+ def __init__(self, ret):
+ if type(ret).__name__ == "list":
+ for r in ret:
+ print r
+ elif type(ret).__name__ == "Status":
+ print ret
+ else:
+ print ret \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py b/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py
new file mode 100644
index 0000000..d45d1bf
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/__init__.py
@@ -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
+"""
+
+import sys
+
+sys.path.append("../../..")
+
+import CommandLine
+import Return
+
+def main():
+ c = CommandLine.CommandLine()
+ try:
+ c.Input()
+ except KeyboardInterrupt:
+ print ""
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh b/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh
new file mode 100644
index 0000000..78748e3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/PtShell/ptshell.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+python __init__.py
diff --git a/Monitoring/MonitoringTool/PacketTracking/addLicense.sh b/Monitoring/MonitoringTool/PacketTracking/addLicense.sh
new file mode 100644
index 0000000..8174e92
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/addLicense.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+LICENSE_FILE=
+attach_license() #file list
+{
+ for file in $*; do
+ echo "attach [$LICENSE_FILE] to [$file]"
+ if [ "$file" = "$LICENSE_FILE" ]; then
+ echo "[skip] source equals target"
+ else
+ if [ ${!SIMULATE_EXECUTION[@]} ]; then
+ echo "this is a simulation"
+ else
+ cat $LICENSE_FILE $file > tmp.attach
+ mv tmp.attach $file
+ fi
+ fi
+ done
+ exit 0
+}
+
+helper()
+{
+ echo -e "usage: $0 [options] files... "
+ echo -e " Options:"
+ echo -e "\t-l <text file> file to attach to files-list"
+ echo -e "\t-s simulate execution (must be first argument)"
+ echo -e "\t-h, --help this help"
+ exit 1
+}
+
+
+if [ $# -eq 0 ]; then
+ helper
+fi
+
+# parameter parsing
+while [ $# -gt 0 ]; do
+ case $1 in
+ "-l")
+ # read configuration file
+ shift #shift parameter
+ LICENSE_FILE=$1
+ shift #file list
+ attach_license $*
+ ;;
+ "-s")
+ SIMULATE_EXECUTION=
+ ;;
+ "--help"|"-h"|*)
+ helper
+ ;;
+ esac
+ shift
+done
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/.gitignore b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/.gitignore
new file mode 100644
index 0000000..dc1468d
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/.gitignore
@@ -0,0 +1,9 @@
+.svn
+*.log
+.m2classpath
+.classpath
+.project
+.settings/*
+target/*
+bin/*
+logs/*
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