|
EMANE
1.2.1
|
Classes | |
| class | BitPool |
| Implementation of a rate limiting bit pool. More... | |
| class | CommonLayerStatistics |
| Common NEM layer statistics and drop reason tables. More... | |
| union | EtherAddr |
| Definition of the ethernet frame address as an array of 6 bytes or set of 3 words. More... | |
| struct | EtherAddrBytes |
| Definition of the ethernet frame address as an array of 6 bytes. More... | |
| struct | EtherAddrWords |
| Definition of the ethernet frame address as a set of 3 words. More... | |
| struct | EtherArpHeader |
| Definition of the ethernet arp header. More... | |
| struct | EtherHeader |
| Definition of the ethernet frame header. More... | |
| class | FactoryException |
| Exception thrown during the creation of a layer factory. More... | |
| struct | Ip4Header |
| Definition of the IPv4 header. More... | |
| struct | Ip6Header |
| Definition of the IPv6 header. More... | |
| struct | IP6ICMPHeader |
| Definition of the IPv6 ICMP header. More... | |
| class | ParameterConvert |
| Parameter conversion class with range checks. More... | |
| class | RandomNumberDistribution |
| A utility wrapper around a generator and a distribution. More... | |
| class | RunningAverage |
| A running average statistic wrapper. More... | |
| class | Singleton |
| Ensure a class only has one instance, and provide a global point of access to it. More... | |
| class | StatisticHistogramTable |
| Utility class to make a two column statistic table where the first column is the table key and the second column is a count of key instances. More... | |
| class | Timer |
| A timer class that uses Linux interval timers. More... | |
| struct | UdpHeader |
| Definition of the UDP header. More... | |
Typedefs | |
| using | SpectrumCompressedRepresentation = std::vector< std::pair< std::size_t, float > > |
| typedef std::vector< iovec > | VectorIO |
Functions | |
| std::tuple< double, double, double > | calculateDirection (const PositionOrientationVelocity &localLocationInfo, const PositionNEU &localAntennaPositionNEU, const PositionOrientationVelocity &remoteLocationInfo, const PositionNEU &remoteAntennaPositionNEU) |
| std::pair< double, double > | calculateLookupAngles (double dAzReference, double dAzPointing, double dElReference, double dElPointing) |
| bool | checkHorizon (const double dHeightMeters1, const double dHeightMeters2, const double dDistanceMeters) |
| double | NORMALIZE_VECTOR (const double x, const double y, const double z) |
| double | DEGREES_TO_RADIANS (const double deg) |
| void | AI_TO_BE_DEGREES (double &val, const double A, const double B) |
| void | AI_TO_BI_DEGREES (double &val, const double A, const double B) |
| void | NEG_90_TO_POS_90_DEGREES (double &val) |
| double | MILLIWATT_TO_DB (double dMillWatt) |
| double | DB_TO_MILLIWATT (double ddB) |
| struct EMANE::Utils::UdpHeader | __attribute__ ((packed)) |
| std::uint8_t | get_ip_version (std::uint8_t vhl) |
| std::uint8_t | get_ip_hdrlen (std::uint8_t vhl) |
| std::uint8_t | get_ip_dscp (std::uint8_t tos) |
| std::uint8_t | get_ip_dscp (std::uint8_t ver, std::uint8_t clas) |
| std::uint8_t | get_version (const Ip4Header *ip) |
| std::uint8_t | get_hdrlen (const Ip4Header *ip) |
| std::uint16_t | get_len (const Ip4Header *ip) |
| std::uint8_t | get_dscp (const Ip4Header *ip) |
| void | addr_to_string (const std::uint8_t *addr, size_t addrlen, const char *delim, char *buf, size_t buflen) |
| std::uint8_t | get_version (const Ip6Header *ip) |
| std::uint8_t | get_hdrlen (const Ip6Header *ip) |
| std::uint16_t | get_len (const Ip6Header *ip) |
| std::uint8_t | get_dscp (const Ip6Header *ip) |
| const EtherAddr * | get_srcaddr (const EtherHeader *eth) |
| const EtherAddr * | get_dstaddr (const EtherHeader *eth) |
| std::uint16_t | get_protocol (const EtherHeader *eth) |
| const char * | addr_to_string (const EtherAddr *addr) |
| std::string | ethaddr_to_string (const EtherAddr *addr) |
| std::uint16_t | get_hwtype (const EtherArpHeader *arp) |
| std::uint16_t | get_protocol (const EtherArpHeader *arp) |
| std::uint8_t | get_hwaddrlen (const EtherArpHeader *arp) |
| std::uint8_t | get_protoaddrlen (const EtherArpHeader *arp) |
| std::uint16_t | get_code (const EtherArpHeader *arp) |
| const EtherAddr * | get_srchwaddr (const EtherArpHeader *arp) |
| const EtherAddr * | get_dsthwaddr (const EtherArpHeader *arp) |
| std::uint32_t | get_srcprotoaddr (const EtherArpHeader *arp) |
| std::uint32_t | get_dstprotoaddr (const EtherArpHeader *arp) |
| std::uint16_t | ethaddr4_to_id (const EtherAddr *addr) |
| std::uint16_t | ethaddr6_to_id (const EtherAddr *addr) |
| std::uint8_t | get_prefixlen (const in6_addr *prefix) |
| std::uint16_t | inet_cksum (const void *buf, int buflen, std::uint16_t prev=0) |
| std::string | formatFrequency (const std::uint64_t val, const int precision=6) |
| returns a sting with the formatted value and suffix More... | |
| std::vector< std::string > | getTokens (const std::string &sInput, const char *pzDelimeter) |
| std::pair< double, bool > | maxBinNoiseFloorRange (const SpectrumWindow &window, double dRxPowerdBm, const TimePoint &startTime, const TimePoint &endTime=TimePoint::min()) |
| std::pair< double, bool > | maxBinNoiseFloor (const SpectrumWindow &window, double dRxPowerdBm, const TimePoint &startTime=TimePoint::min()) |
| std::pair< double, bool > | maxBinNoiseFloor (const std::vector< double > &noiseData, double dRxSensitivityMilliWatt, double dRxPowerdBm, bool bSignalInNoise, std::size_t startBin, std::size_t endBin) |
| Microseconds::rep | timepointToAbsoluteBin (const TimePoint &timePoint, const Microseconds &binSize, bool bAdjust) |
| SpectrumCompressedRepresentation | spectrumCompress (const std::vector< double > &window) |
| iovec | make_iovec (void *base, std::size_t len) |
Variables | |
| const std::uint8_t | IP_PROTO_UDP = 0x11 |
| ip udp protocol More... | |
| const std::uint16_t | UDP_HEADER_LEN = 8 |
| udp header len More... | |
| const std::uint16_t | IPV4_HEADER_LEN = 20 |
| ipv4 header len without options More... | |
| const std::uint16_t | IPV4_ADDR_LEN = 4 |
| ipv4 addr len More... | |
| const std::uint16_t | IPV6_ADDR_LEN = 16 |
| ipv6 addr len More... | |
| const std::uint8_t | IPV6_P_ICMP = 0x3A |
| IPv6 ICMP Protocol. More... | |
| const std::uint16_t | IPV6_HEADER_LEN = 40 |
| ipv6 header len More... | |
| const std::uint16_t | IPV6_MAX_BIT_LEN = 128 |
| ipv6 max addr len More... | |
| const std::uint16_t | ETH_ALEN = 6 |
| Ethernet hardware address length. More... | |
| const std::uint16_t | ETH_HEADER_LEN = 14 |
| Ethernet header length. More... | |
| const std::uint16_t | ETHARP_HEADER_LEN = 28 |
| Ethernet Arp header length. More... | |
| const std::uint16_t | IP_MAX_PACKET = 0xFFFF |
| Max ip packet len. More... | |
| const std::uint16_t | ARPHRD_ETHER = 0x0001 |
| Ethernet hardware type. More... | |
| const std::uint16_t | ETH_P_IPV4 = 0x0800 |
| Ethernet ipv4 protocol. More... | |
| const std::uint16_t | ETH_P_ARP = 0x0806 |
| Ethernet arp protocol. More... | |
| const std::uint16_t | ETH_P_IPV6 = 0x86DD |
| Ethernet ipv6 protocol. More... | |
| const std::uint16_t | ETH_ARPOP_REQUEST = 0x0001 |
| Ethernet arp request. More... | |
| const std::uint16_t | ETH_ARPOP_REPLY = 0x0002 |
| Ethernet arp reply. More... | |
| const std::uint8_t | IP6_ICMP_NEIGH_SOLICIT = 135 |
| IPv6 ICMP Neighbor Soliciation. More... | |
| const std::uint8_t | IP6_ICMP_NEIGH_ADVERT = 136 |
| IPv6 ICMP Neighbor Advertisement. More... | |
| using EMANE::Utils::SpectrumCompressedRepresentation = typedef std::vector<std::pair<std::size_t,float> > |
Definition at line 126 of file spectrumwindowutils.h.
| typedef std::vector<iovec> EMANE::Utils::VectorIO |
Definition at line 43 of file vectorio.h.
| struct EMANE::Utils::IP6ICMPHeader EMANE::Utils::__attribute__ | ( | (packed) | ) |
|
inline |
| addr | pointer to the address buffer |
| addrlen | length of the address buffer |
| delim | the requested delimeter |
| buf | the buffer to write the formatted output to |
| buflen | the length of the output buffer |
Definition at line 248 of file netutils.h.
|
inline |
| addr | a pointer to an EtherAddr |
Definition at line 490 of file netutils.h.
|
inline |
Definition at line 56 of file conversionutils.h.
|
inline |
Definition at line 77 of file conversionutils.h.
|
inline |
Definition at line 49 of file positionutils.h.
|
inline |
Definition at line 130 of file positionutils.h.
|
inline |
Definition at line 154 of file positionutils.h.
|
inline |
Definition at line 119 of file conversionutils.h.
|
inline |
Definition at line 50 of file conversionutils.h.
|
inline |
| addr | a pointer to an ipv4 EtherAddr |
Definition at line 688 of file netutils.h.
|
inline |
| addr | a pointer to an ipv6 EtherAddr |
Definition at line 722 of file netutils.h.
|
inline |
| addr | a pointer to an EtherAddr |
Definition at line 508 of file netutils.h.
|
inline |
returns a sting with the formatted value and suffix
| val | the frequency in Hz |
| precision | the format precision |
Definition at line 849 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 602 of file netutils.h.
|
inline |
| ip | pointer to an ipv4 header |
Definition at line 233 of file netutils.h.
|
inline |
Definition at line 323 of file netutils.h.
|
inline |
| eth | a pointer to an EtherHeader |
Definition at line 462 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 630 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 657 of file netutils.h.
|
inline |
| ip | pointer to an ipv4 header |
Definition at line 205 of file netutils.h.
|
inline |
Definition at line 311 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 575 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 547 of file netutils.h.
|
inline |
| tos | ip tos value |
Definition at line 111 of file netutils.h.
|
inline |
| ver | ip version |
| clas | ip traffic class |
Definition at line 126 of file netutils.h.
|
inline |
| vhl | ip version/header len value |
Definition at line 97 of file netutils.h.
|
inline |
| vhl | ip version/header len value |
Definition at line 85 of file netutils.h.
|
inline |
| ip | pointer to an ipv4 header |
Definition at line 219 of file netutils.h.
|
inline |
Definition at line 317 of file netutils.h.
|
inline |
| prefix | a pointer to a inet 6 address |
Definition at line 755 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 589 of file netutils.h.
|
inline |
| eth | a pointer to an EtherHeader |
Definition at line 475 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 561 of file netutils.h.
|
inline |
| eth | a pointer to an EtherHeader |
Definition at line 449 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 616 of file netutils.h.
|
inline |
| arp | a pointer to an EtherArpHeader |
Definition at line 643 of file netutils.h.
|
inline |
| ip | pointer to an ipv4 header |
Definition at line 191 of file netutils.h.
|
inline |
Definition at line 305 of file netutils.h.
|
inline |
Definition at line 881 of file netutils.h.
|
inline |
| buf | pointer to data buffer |
| buflen | length of buffer |
| prev | running sum |
Definition at line 792 of file netutils.h.
|
inline |
Definition at line 46 of file vectorio.h.
| std::pair< double, bool > EMANE::Utils::maxBinNoiseFloor | ( | const SpectrumWindow & | window, |
| double | dRxPowerdBm, | ||
| const TimePoint & | startTime = TimePoint::min() |
||
| ) |
Gets the noise floor for a given start time and spectrum window using the maximum bin power.
| window | Spectrum window to analyze |
| dRxPowerdBm | Signal power level in dBm |
| startTime | Start time. The default value indicates start of the window. |
| SpectrumServiceException | when an error is detected with one or more input parameters. |
Definition at line 80 of file spectrumwindowutils.cc.
| std::pair< double, bool > EMANE::Utils::maxBinNoiseFloor | ( | const std::vector< double > & | noiseData, |
| double | dRxSensitivityMilliWatt, | ||
| double | dRxPowerdBm, | ||
| bool | bSignalInNoise, | ||
| std::size_t | startBin, | ||
| std::size_t | endBin | ||
| ) |
Gets the noise floor for a given start and end bin index and spectrum window bin data using the maximum bin power.
| noiseData | Spectrum window bin data to analyze |
| dRxSensitivityMilliWatt | Receiver sensitivity in mW |
| dRxPowerdBm | Signal power level in dBm |
| bSignalInNoise | Flag indicating whether in-band signal is in the window |
| startBin | Start bin index |
| endBin | End bin index |
| SpectrumServiceException | when an error is detected with one or more input parameters. |
Definition at line 112 of file spectrumwindowutils.cc.
| std::pair< double, bool > EMANE::Utils::maxBinNoiseFloorRange | ( | const SpectrumWindow & | window, |
| double | dRxPowerdBm, | ||
| const TimePoint & | startTime, | ||
| const TimePoint & | endTime = TimePoint::min() |
||
| ) |
Gets the noise floor for a given time range and spectrum window using the maximum bin power within the range.
| window | Spectrum window to analyze |
| dRxPowerdBm | Signal power level in dBm |
| startTime | Start time of the range |
| endTime | End time of the range. The default value indicates the entire window. |
| SpectrumServiceException | when an error is detected with one or more input parameters. |
Definition at line 40 of file spectrumwindowutils.cc.
|
inline |
Definition at line 114 of file conversionutils.h.
|
inline |
Definition at line 98 of file conversionutils.h.
|
inline |
Definition at line 44 of file conversionutils.h.
| EMANE::Utils::SpectrumCompressedRepresentation EMANE::Utils::spectrumCompress | ( | const std::vector< double > & | window | ) |
Compresses spectrum window data into a smaller format.
| window | A vector of spectrum window data |
Compression format consists of wheel-index wheel-value pairs where:
Examples if the wheel contained 100 values and:
Definition at line 164 of file spectrumwindowutils.cc.
| EMANE::Microseconds::rep EMANE::Utils::timepointToAbsoluteBin | ( | const TimePoint & | timePoint, |
| const Microseconds & | binSize, | ||
| bool | bAdjust | ||
| ) |
Gets the absolute bin of a specified time point from the epoch.
| timePoint | Desired time |
| binSize | FrameworkPHY bin size |
| bAdjust | Flag that when true adjusts to the previous bin if the time falls on a bin boundary |
Definition at line 151 of file spectrumwindowutils.cc.
| const std::uint16_t EMANE::Utils::ARPHRD_ETHER = 0x0001 |
Ethernet hardware type.
Definition at line 366 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_ALEN = 6 |
Ethernet hardware address length.
Definition at line 335 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_ARPOP_REPLY = 0x0002 |
Ethernet arp reply.
Definition at line 676 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_ARPOP_REQUEST = 0x0001 |
Ethernet arp request.
Definition at line 668 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_HEADER_LEN = 14 |
Ethernet header length.
Definition at line 343 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_P_ARP = 0x0806 |
Ethernet arp protocol.
Definition at line 382 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_P_IPV4 = 0x0800 |
Ethernet ipv4 protocol.
Definition at line 374 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETH_P_IPV6 = 0x86DD |
Ethernet ipv6 protocol.
Definition at line 389 of file netutils.h.
| const std::uint16_t EMANE::Utils::ETHARP_HEADER_LEN = 28 |
Ethernet Arp header length.
Definition at line 351 of file netutils.h.
| const std::uint8_t EMANE::Utils::IP6_ICMP_NEIGH_ADVERT = 136 |
IPv6 ICMP Neighbor Advertisement.
Definition at line 839 of file netutils.h.
| const std::uint8_t EMANE::Utils::IP6_ICMP_NEIGH_SOLICIT = 135 |
IPv6 ICMP Neighbor Soliciation.
Definition at line 832 of file netutils.h.
| const std::uint16_t EMANE::Utils::IP_MAX_PACKET = 0xFFFF |
Max ip packet len.
Definition at line 358 of file netutils.h.
| const std::uint8_t EMANE::Utils::IP_PROTO_UDP = 0x11 |
ip udp protocol
Definition at line 68 of file netutils.h.
| const std::uint16_t EMANE::Utils::IPV4_ADDR_LEN = 4 |
ipv4 addr len
Definition at line 166 of file netutils.h.
| const std::uint16_t EMANE::Utils::IPV4_HEADER_LEN = 20 |
ipv4 header len without options
Definition at line 158 of file netutils.h.
| const std::uint16_t EMANE::Utils::IPV6_ADDR_LEN = 16 |
ipv6 addr len
Definition at line 174 of file netutils.h.
| const std::uint16_t EMANE::Utils::IPV6_HEADER_LEN = 40 |
ipv6 header len
Definition at line 293 of file netutils.h.
| const std::uint16_t EMANE::Utils::IPV6_MAX_BIT_LEN = 128 |
ipv6 max addr len
Definition at line 300 of file netutils.h.
| const std::uint8_t EMANE::Utils::IPV6_P_ICMP = 0x3A |
IPv6 ICMP Protocol.
Definition at line 181 of file netutils.h.
| const std::uint16_t EMANE::Utils::UDP_HEADER_LEN = 8 |
udp header len
Definition at line 75 of file netutils.h.