EtherRaw
|
Support for Ethernet Headers. More...
#include <EtherRaw.h>
Public Types | |
enum | EtherType { ETH_P_LOOP = 0x0060, ETH_P_PUP = 0x0200, ETH_P_PUPAT = 0x0201, ETH_P_IP = 0x0800, ETH_P_X25 = 0x0805, ETH_P_ARP = 0x0806, ETH_P_BPQ = 0x08FF, ETH_P_IEEEPUP = 0x0a00, ETH_P_IEEEPUPAT = 0x0a01, ETH_P_DEC = 0x6000, ETH_P_DNA_DL = 0x6001, ETH_P_DNA_RC = 0x6002, ETH_P_DNA_RT = 0x6003, ETH_P_LAT = 0x6004, ETH_P_DIAG = 0x6005, ETH_P_CUST = 0x6006, ETH_P_SCA = 0x6007, ETH_P_TEB = 0x6558, ETH_P_RARP = 0x8035, ETH_P_ATALK = 0x809B, ETH_P_AARP = 0x80F3, ETH_P_8021Q = 0x8100, ETH_P_IPX = 0x8137, ETH_P_IPV6 = 0x86DD, ETH_P_PAUSE = 0x8808, ETH_P_SLOW = 0x8809, ETH_P_WCCP = 0x883E, ETH_P_PPP_DISC = 0x8863, ETH_P_PPP_SES = 0x8864, ETH_P_MPLS_UC = 0x8847, ETH_P_MPLS_MC = 0x8848, ETH_P_ATMMPOA = 0x884c, ETH_P_LINK_CTL = 0x886c, ETH_P_ATMFATE = 0x8884, ETH_P_PAE = 0x888E, ETH_P_AOE = 0x88A2, ETH_P_8021AD = 0x88A8, ETH_P_TIPC = 0x88CA, ETH_P_8021AH = 0x88E7, ETH_P_1588 = 0x88F7, ETH_P_FCOE = 0x8906, ETH_P_FIP = 0x8914, ETH_P_QINQ1 = 0x9100, ETH_P_QINQ2 = 0x9200, ETH_P_QINQ3 = 0x9300, ETH_P_EDSA = 0xDADA } |
Public Member Functions | |
MACAddress & | source () |
MACAddress & | dest () |
uint16_t | ethertype () const |
uint8_t * | payload () |
size_t | printTo (Print &p) const |
Support for Ethernet Headers.
This class allows easy access to the contents of an Ethernet Header in on-the-wire format.
Ethernet Protocol IDs for ethertype Based on /usr/include/linux/if_ether.h
MACAddress & EthernetHeader::dest | ( | ) |
Access the destination MAC address
uint16_t EthernetHeader::ethertype | ( | ) | const |
Access the EtherType.
Referenced by printTo().
uint8_t * EthernetHeader::payload | ( | ) |
Access the payload of the packet.
size_t EthernetHeader::printTo | ( | Print & | p | ) | const |
Print. Prints an ASCII formatted version of the header to a Printable such as Serial.
References ethertype(), and MACAddress::printTo().
MACAddress & EthernetHeader::source | ( | ) |
Access the source MAC address