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

Definitions and helper functions for when layer 4 is ICMPv6. More...

Classes

struct  Header
 ICMPv6 header. More...
 

Enumerations

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

Functions

const Headerget_header (const L3_IPv6::Header *l3)
 Get the L4_ICMPv6::Header. More...
 
Type get_type (const Header *header)
 Get the type from the header. More...
 
uint16_t get_payload_length (const L3_IPv6::Header *l3)
 Number of bytes in ICMP payload. More...
 
std::string to_string (const Type &type)
 Convert the type to a short text string. More...
 
bool is_known_type (const Type &type)
 Determine if the type is a known value. More...
 
bool is_unknown_type (const Type &type)
 Determine if the type is unknown. More...
 

Detailed Description

Definitions and helper functions for when layer 4 is ICMPv6.

Enumeration Type Documentation

enum Myra::L4_ICMPv6::Type
strong

ICMPv6 types.

See also
L4_ICMPv6::Header::type
Note
This is not an exhaustive list. There are many more types defined in ICMPv6.
Enumerator
DestinationUnreachable 

1

PacketTooBig 

2

TimeExceeded 

3

ParameterProblem 

4

EchoRequest 

128

EchoReply 

129

MulticastQuery 

130

MulticastListenerReport 

131

MulticastListenerDone 

132

RouterSolicitation 

133

RouterAdvertisement 

134

NeighbourSolicitation 

135

NeighbourAdvertisement 

136

Unknown 

255

Function Documentation

const Header* Myra::L4_ICMPv6::get_header ( const L3_IPv6::Header *  l3)
inline

Get the L4_ICMPv6::Header.

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t Myra::L4_ICMPv6::get_payload_length ( const L3_IPv6::Header *  l3)
inline

Number of bytes in ICMP payload.

Here is the call graph for this function:

Here is the caller graph for this function:

Type Myra::L4_ICMPv6::get_type ( const Header *  header)
inline

Get the type from the header.

Here is the caller graph for this function:

bool Myra::L4_ICMPv6::is_known_type ( const Type &  type)
inline

Determine if the type is a known value.

Here is the call graph for this function:

bool Myra::L4_ICMPv6::is_unknown_type ( const Type &  type)
inline

Determine if the type is unknown.

Here is the call graph for this function:

std::string Myra::L4_ICMPv6::to_string ( const Type &  type)
inline

Convert the type to a short text string.

Here is the caller graph for this function: