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

This file contains some definitions and helper functions for when layer 3 is ARP. More...

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

Classes

struct  Myra::L3_ARP::Header
 ARP header. More...
 

Namespaces

 Myra
 Namespace declaration for all of the Myra Canyon helper functions.
 
 Myra::L2
 Layer 2 (ethernet).
 
 Myra::L3_ARP
 Layer 3 is ARP.
 

Enumerations

enum  Myra::L3_ARP::Opcode {
  Myra::L3_ARP::Opcode::Reserved = 0x0000,
  Myra::L3_ARP::Opcode::Request = 0x0100,
  Myra::L3_ARP::Opcode::Reply = 0x0200
}
 

Functions

Opcode Myra::L3_ARP::get_opcode (const Header *header)
 Extract the Opcode from the ARP packet. More...
 
bool Myra::L2::ethertype_is_ARP (const L2::Ethertype type)
 Determine if a packet's layer 3 is ARP. More...
 
bool Myra::L2::ethertype_is_ARP (const L2::Header *l2)
 Determine if a packet's layer 3 is ARP. More...
 
const Header * Myra::L3_ARP::get_header (const uint8_t *ptr)
 Get the layer 3 ARP header. More...
 
const Header * Myra::L3_ARP::get_header (const L2::Header *l2)
 Get the layer 3 ARP header. More...
 
bool Myra::L3_ARP::is_request (const Opcode &opcode)
 Determine if the ARP packet represents a request or a reply. More...
 
bool Myra::L3_ARP::is_reply (const Opcode &opcode)
 Determine if the ARP packet represents a request or a reply. More...
 
bool Myra::L3_ARP::is_request (const Header *header)
 Determine if the ARP packet represents a request or a reply. More...
 
bool Myra::L3_ARP::is_reply (const Header *header)
 Determine if the ARP packet represents a request or a reply. More...
 

Detailed Description

This file contains some definitions and helper functions for when layer 3 is ARP.