Myra Canyon  v0.0.1-768
network control
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
L4_ICMPv6.hpp File Reference

This file contains some definitions and helper functions for when layer 4 is ICMPv6. More...

#include "Types.hpp"
#include "L3_IPv6.hpp"
Include dependency graph for L4_ICMPv6.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  Myra::L4_ICMPv6::Header
 ICMPv6 header. More...
 

Namespaces

 Myra
 Namespace declaration for all of the Myra Canyon helper functions.
 
 Myra::L3_IPv6
 Layer 3 is IPv6.
 
 Myra::L4_ICMPv6
 Definitions and helper functions for when layer 4 is ICMPv6.
 

Enumerations

enum  Myra::L4_ICMPv6::Type {
  Myra::L4_ICMPv6::Type::DestinationUnreachable = 1,
  Myra::L4_ICMPv6::Type::PacketTooBig = 2,
  Myra::L4_ICMPv6::Type::TimeExceeded = 3,
  Myra::L4_ICMPv6::Type::ParameterProblem = 4,
  Myra::L4_ICMPv6::Type::EchoRequest = 128,
  Myra::L4_ICMPv6::Type::EchoReply = 129,
  Myra::L4_ICMPv6::Type::MulticastQuery = 130,
  Myra::L4_ICMPv6::Type::MulticastListenerReport = 131,
  Myra::L4_ICMPv6::Type::MulticastListenerDone = 132,
  Myra::L4_ICMPv6::Type::RouterSolicitation = 133,
  Myra::L4_ICMPv6::Type::RouterAdvertisement = 134,
  Myra::L4_ICMPv6::Type::NeighbourSolicitation = 135,
  Myra::L4_ICMPv6::Type::NeighbourAdvertisement = 136,
  Myra::L4_ICMPv6::Type::Unknown = 255
}
 ICMPv6 types. More...
 

Functions

const Header * Myra::L4_ICMPv6::get_header (const L3_IPv6::Header *l3)
 Get the L4_ICMPv6::Header. More...
 
Type Myra::L4_ICMPv6::get_type (const Header *header)
 Get the type from the header. More...
 
uint16_t Myra::L4_ICMPv6::get_payload_length (const L3_IPv6::Header *l3)
 Number of bytes in ICMP payload. More...
 
std::string Myra::L4_ICMPv6::to_string (const Type &type)
 Convert the type to a short text string. More...
 
bool Myra::L4_ICMPv6::is_known_type (const Type &type)
 Determine if the type is a known value. More...
 
bool Myra::L4_ICMPv6::is_unknown_type (const Type &type)
 Determine if the type is unknown. More...
 
bool Myra::L3_IPv6::protocol_is_ICMPv6 (const Protocol &protocol)
 Determine if a packet's layer 4 is UDP. More...
 
bool Myra::L3_IPv6::protocol_is_ICMPv6 (const L3_IPv6::Header *l3)
 Determine if a packet's layer 4 is UDP. More...
 

Detailed Description

This file contains some definitions and helper functions for when layer 4 is ICMPv6.