EMANE
1.2.1
|
#include <sstream>
#include <vector>
#include <cstdint>
#include <cstring>
#include <arpa/inet.h>
Go to the source code of this file.
Classes | |
struct | EMANE::Utils::UdpHeader |
Definition of the UDP header. More... | |
struct | EMANE::Utils::Ip4Header |
Definition of the IPv4 header. More... | |
struct | EMANE::Utils::Ip6Header |
Definition of the IPv6 header. More... | |
struct | EMANE::Utils::EtherAddrBytes |
Definition of the ethernet frame address as an array of 6 bytes. More... | |
struct | EMANE::Utils::EtherAddrWords |
Definition of the ethernet frame address as a set of 3 words. More... | |
union | EMANE::Utils::EtherAddr |
Definition of the ethernet frame address as an array of 6 bytes or set of 3 words. More... | |
struct | EMANE::Utils::EtherHeader |
Definition of the ethernet frame header. More... | |
struct | EMANE::Utils::EtherArpHeader |
Definition of the ethernet arp header. More... | |
struct | EMANE::Utils::IP6ICMPHeader |
Definition of the IPv6 ICMP header. More... | |
Namespaces | |
EMANE | |
EMANE::Utils | |
Functions | |
struct EMANE::Utils::UdpHeader | EMANE::Utils::__attribute__ ((packed)) |
std::uint8_t | EMANE::Utils::get_ip_version (std::uint8_t vhl) |
std::uint8_t | EMANE::Utils::get_ip_hdrlen (std::uint8_t vhl) |
std::uint8_t | EMANE::Utils::get_ip_dscp (std::uint8_t tos) |
std::uint8_t | EMANE::Utils::get_ip_dscp (std::uint8_t ver, std::uint8_t clas) |
std::uint8_t | EMANE::Utils::get_version (const Ip4Header *ip) |
std::uint8_t | EMANE::Utils::get_hdrlen (const Ip4Header *ip) |
std::uint16_t | EMANE::Utils::get_len (const Ip4Header *ip) |
std::uint8_t | EMANE::Utils::get_dscp (const Ip4Header *ip) |
void | EMANE::Utils::addr_to_string (const std::uint8_t *addr, size_t addrlen, const char *delim, char *buf, size_t buflen) |
std::uint8_t | EMANE::Utils::get_version (const Ip6Header *ip) |
std::uint8_t | EMANE::Utils::get_hdrlen (const Ip6Header *ip) |
std::uint16_t | EMANE::Utils::get_len (const Ip6Header *ip) |
std::uint8_t | EMANE::Utils::get_dscp (const Ip6Header *ip) |
const EtherAddr * | EMANE::Utils::get_srcaddr (const EtherHeader *eth) |
const EtherAddr * | EMANE::Utils::get_dstaddr (const EtherHeader *eth) |
std::uint16_t | EMANE::Utils::get_protocol (const EtherHeader *eth) |
const char * | EMANE::Utils::addr_to_string (const EtherAddr *addr) |
std::string | EMANE::Utils::ethaddr_to_string (const EtherAddr *addr) |
std::uint16_t | EMANE::Utils::get_hwtype (const EtherArpHeader *arp) |
std::uint16_t | EMANE::Utils::get_protocol (const EtherArpHeader *arp) |
std::uint8_t | EMANE::Utils::get_hwaddrlen (const EtherArpHeader *arp) |
std::uint8_t | EMANE::Utils::get_protoaddrlen (const EtherArpHeader *arp) |
std::uint16_t | EMANE::Utils::get_code (const EtherArpHeader *arp) |
const EtherAddr * | EMANE::Utils::get_srchwaddr (const EtherArpHeader *arp) |
const EtherAddr * | EMANE::Utils::get_dsthwaddr (const EtherArpHeader *arp) |
std::uint32_t | EMANE::Utils::get_srcprotoaddr (const EtherArpHeader *arp) |
std::uint32_t | EMANE::Utils::get_dstprotoaddr (const EtherArpHeader *arp) |
std::uint16_t | EMANE::Utils::ethaddr4_to_id (const EtherAddr *addr) |
std::uint16_t | EMANE::Utils::ethaddr6_to_id (const EtherAddr *addr) |
std::uint8_t | EMANE::Utils::get_prefixlen (const in6_addr *prefix) |
std::uint16_t | EMANE::Utils::inet_cksum (const void *buf, int buflen, std::uint16_t prev=0) |
std::string | EMANE::Utils::formatFrequency (const std::uint64_t val, const int precision=6) |
returns a sting with the formatted value and suffix More... | |
std::vector< std::string > | EMANE::Utils::getTokens (const std::string &sInput, const char *pzDelimeter) |
Variables | |
std::uint16_t | u16Udpsrc |
std::uint16_t | u16Udpdst |
std::uint16_t | u16Udplen |
std::uint16_t | u16Udpcheck |
const std::uint8_t | EMANE::Utils::IP_PROTO_UDP = 0x11 |
ip udp protocol More... | |
const std::uint16_t | EMANE::Utils::UDP_HEADER_LEN = 8 |
udp header len More... | |
std::uint8_t | u8Ipv4vhl |
std::uint8_t | u8Ipv4tos |
std::uint16_t | u16Ipv4len |
std::uint16_t | u16Ipv4id |
std::uint16_t | u16Ipv4frag |
std::uint8_t | u8Ipv4hops |
std::uint8_t | u8Ipv4proto |
std::uint16_t | u16Ipv4check |
std::uint32_t | u32Ipv4src |
std::uint32_t | u32Ipv4dst |
const std::uint16_t | EMANE::Utils::IPV4_HEADER_LEN = 20 |
ipv4 header len without options More... | |
const std::uint16_t | EMANE::Utils::IPV4_ADDR_LEN = 4 |
ipv4 addr len More... | |
const std::uint16_t | EMANE::Utils::IPV6_ADDR_LEN = 16 |
ipv6 addr len More... | |
const std::uint8_t | EMANE::Utils::IPV6_P_ICMP = 0x3A |
IPv6 ICMP Protocol. More... | |
struct { | |
std::uint8_t u8Ipv6Ver | |
std::uint8_t u8Ipv6Class | |
std::uint16_t u16Ipv6Flow | |
} | vcf |
std::uint16_t | u16Ipv6len |
std::uint8_t | u8Ipv6next |
std::uint8_t | u8Ipv6hops |
std::uint8_t | Ipv6src [IPV6_ADDR_LEN] |
std::uint8_t | Ipv6dst [IPV6_ADDR_LEN] |
const std::uint16_t | EMANE::Utils::IPV6_HEADER_LEN = 40 |
ipv6 header len More... | |
const std::uint16_t | EMANE::Utils::IPV6_MAX_BIT_LEN = 128 |
ipv6 max addr len More... | |
const std::uint16_t | EMANE::Utils::ETH_ALEN = 6 |
Ethernet hardware address length. More... | |
const std::uint16_t | EMANE::Utils::ETH_HEADER_LEN = 14 |
Ethernet header length. More... | |
const std::uint16_t | EMANE::Utils::ETHARP_HEADER_LEN = 28 |
Ethernet Arp header length. More... | |
const std::uint16_t | EMANE::Utils::IP_MAX_PACKET = 0xFFFF |
Max ip packet len. More... | |
const std::uint16_t | EMANE::Utils::ARPHRD_ETHER = 0x0001 |
Ethernet hardware type. More... | |
const std::uint16_t | EMANE::Utils::ETH_P_IPV4 = 0x0800 |
Ethernet ipv4 protocol. More... | |
const std::uint16_t | EMANE::Utils::ETH_P_ARP = 0x0806 |
Ethernet arp protocol. More... | |
const std::uint16_t | EMANE::Utils::ETH_P_IPV6 = 0x86DD |
Ethernet ipv6 protocol. More... | |
std::uint8_t | buff [ETH_ALEN] |
std::uint16_t | word1 |
std::uint16_t | word2 |
std::uint16_t | word3 |
struct EtherAddrBytes | bytes |
struct EtherAddrWords | words |
union EtherAddr | dst |
union EtherAddr | src |
std::uint16_t | u16proto |
std::uint16_t | u16hwType |
std::uint16_t | u16protocol |
std::uint8_t | u8hwAddrLen |
std::uint8_t | u8protoAddrLen |
std::uint16_t | u16code |
EtherAddr | srcHwAddr |
std::uint32_t | u32srcProtoAddr |
EtherAddr | dstHwAddr |
std::uint32_t | u32dstProtoAddr |
const std::uint16_t | EMANE::Utils::ETH_ARPOP_REQUEST = 0x0001 |
Ethernet arp request. More... | |
const std::uint16_t | EMANE::Utils::ETH_ARPOP_REPLY = 0x0002 |
Ethernet arp reply. More... | |
std::uint8_t | u8Type |
std::uint8_t | u8Code |
std::uint16_t | u16Checksum |
std::uint32_t | u32Flags |
sockaddr_in6 | targetAddr |
const std::uint8_t | EMANE::Utils::IP6_ICMP_NEIGH_SOLICIT = 135 |
IPv6 ICMP Neighbor Soliciation. More... | |
const std::uint8_t | EMANE::Utils::IP6_ICMP_NEIGH_ADVERT = 136 |
IPv6 ICMP Neighbor Advertisement. More... | |
std::uint8_t buff[ETH_ALEN] |
Definition at line 390 of file netutils.h.
struct EtherAddrBytes bytes |
Definition at line 390 of file netutils.h.
union EtherAddr dst |
Definition at line 390 of file netutils.h.
EtherAddr dstHwAddr |
Definition at line 516 of file netutils.h.
std::uint8_t Ipv6dst[IPV6_ADDR_LEN] |
Definition at line 259 of file netutils.h.
std::uint8_t Ipv6src[IPV6_ADDR_LEN] |
Definition at line 258 of file netutils.h.
union EtherAddr src |
Definition at line 391 of file netutils.h.
EtherAddr srcHwAddr |
Definition at line 514 of file netutils.h.
sockaddr_in6 targetAddr |
Definition at line 797 of file netutils.h.
std::uint16_t u16Checksum |
Definition at line 795 of file netutils.h.
std::uint16_t u16code |
Definition at line 513 of file netutils.h.
std::uint16_t u16hwType |
Definition at line 509 of file netutils.h.
std::uint16_t u16Ipv4check |
Definition at line 134 of file netutils.h.
std::uint16_t u16Ipv4frag |
Definition at line 131 of file netutils.h.
std::uint16_t u16Ipv4id |
Definition at line 130 of file netutils.h.
std::uint16_t u16Ipv4len |
Definition at line 129 of file netutils.h.
std::uint16_t u16Ipv6Flow |
Definition at line 252 of file netutils.h.
std::uint16_t u16Ipv6len |
Definition at line 255 of file netutils.h.
std::uint16_t u16proto |
Definition at line 392 of file netutils.h.
std::uint16_t u16protocol |
Definition at line 510 of file netutils.h.
std::uint16_t u16Udpcheck |
Definition at line 59 of file netutils.h.
std::uint16_t u16Udpdst |
Definition at line 57 of file netutils.h.
std::uint16_t u16Udplen |
Definition at line 58 of file netutils.h.
std::uint16_t u16Udpsrc |
Definition at line 56 of file netutils.h.
std::uint32_t u32dstProtoAddr |
Definition at line 517 of file netutils.h.
std::uint32_t u32Flags |
Definition at line 796 of file netutils.h.
std::uint32_t u32Ipv4dst |
Definition at line 136 of file netutils.h.
std::uint32_t u32Ipv4src |
Definition at line 135 of file netutils.h.
std::uint32_t u32srcProtoAddr |
Definition at line 515 of file netutils.h.
std::uint8_t u8Code |
Definition at line 794 of file netutils.h.
std::uint8_t u8hwAddrLen |
Definition at line 511 of file netutils.h.
std::uint8_t u8Ipv4hops |
Definition at line 132 of file netutils.h.
std::uint8_t u8Ipv4proto |
Definition at line 133 of file netutils.h.
std::uint8_t u8Ipv4tos |
Definition at line 128 of file netutils.h.
std::uint8_t u8Ipv4vhl |
Definition at line 127 of file netutils.h.
std::uint8_t u8Ipv6Class |
Definition at line 251 of file netutils.h.
std::uint8_t u8Ipv6hops |
Definition at line 257 of file netutils.h.
std::uint8_t u8Ipv6next |
Definition at line 256 of file netutils.h.
std::uint8_t u8Ipv6Ver |
Definition at line 250 of file netutils.h.
std::uint8_t u8protoAddrLen |
Definition at line 512 of file netutils.h.
std::uint8_t u8Type |
Definition at line 793 of file netutils.h.
struct { ... } vcf |
std::uint16_t word1 |
Definition at line 390 of file netutils.h.
std::uint16_t word2 |
Definition at line 391 of file netutils.h.
std::uint16_t word3 |
Definition at line 392 of file netutils.h.
struct EtherAddrWords words |
Definition at line 391 of file netutils.h.