EtherRaw
Public Types | Public Member Functions
EthernetHeader Class Reference

Support for Ethernet Headers. More...

#include <EtherRaw.h>

List of all members.

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

MACAddresssource ()
MACAddressdest ()
uint16_t ethertype () const
uint8_t * payload ()
size_t printTo (Print &p) const

Detailed Description

Support for Ethernet Headers.

This class allows easy access to the contents of an Ethernet Header in on-the-wire format.


Member Enumeration Documentation

Ethernet Protocol IDs for ethertype Based on /usr/include/linux/if_ether.h

Enumerator:
ETH_P_PUP 

Ethernet Loopback packet.

ETH_P_PUPAT 

Xerox PUP packet.

ETH_P_IP 

Xerox PUP Addr Trans packet.

ETH_P_X25 

Internet Protocol packet.

ETH_P_ARP 

CCITT X.25.

ETH_P_BPQ 

Address Resolution packet.

ETH_P_IEEEPUP 

G8BPQ AX.25 Ethernet Packet.

ETH_P_IEEEPUPAT 

Xerox IEEE802.3 PUP packet.

ETH_P_DEC 

Xerox IEEE802.3 PUP Addr Trans packet.

ETH_P_DNA_DL 

DEC Assigned proto.

ETH_P_DNA_RC 

DEC DNA Dump/Load.

ETH_P_DNA_RT 

DEC DNA Remote Console.

ETH_P_LAT 

DEC DNA Routing.

ETH_P_DIAG 

DEC LAT.

ETH_P_CUST 

DEC Diagnostics.

ETH_P_SCA 

DEC Customer use.

ETH_P_TEB 

DEC Systems Comms Arch.

ETH_P_RARP 

Trans Ether Bridging.

ETH_P_ATALK 

Reverse Addr Res packet.

ETH_P_AARP 

Appletalk DDP.

ETH_P_8021Q 

Appletalk AARP.

ETH_P_IPX 

802.1Q VLAN Extended Header

ETH_P_IPV6 

IPX over DIX.

ETH_P_PAUSE 

IPv6 over bluebook.

ETH_P_SLOW 

IEEE Pause frames. See 802.3 31B.

ETH_P_WCCP 

Slow Protocol. See 802.3ad 43B.

ETH_P_PPP_DISC 

Web-cache coordination protocol.

ETH_P_PPP_SES 

PPPoE discovery messages.

ETH_P_MPLS_UC 

PPPoE session messages.

ETH_P_MPLS_MC 

MPLS Unicast traffic.

ETH_P_ATMMPOA 

MPLS Multicast traffic.

ETH_P_LINK_CTL 

MultiProtocol Over ATM.

ETH_P_ATMFATE 

HPNA, wlan link local tunnel.

ETH_P_PAE 

Frame-based ATM Transport over Ethernet.

ETH_P_AOE 

Port Access Entity (IEEE 802.1X)

ETH_P_8021AD 

ATA over Ethernet.

ETH_P_TIPC 

802.1ad Service VLAN

ETH_P_8021AH 

TIPC.

ETH_P_1588 

802.1ah Backbone Service Tag

ETH_P_FCOE 

IEEE 1588 Timesync.

ETH_P_FIP 

Fibre Channel over Ethernet.

ETH_P_QINQ1 

FCoE Initialization Protocol.

ETH_P_QINQ2 

deprecated QinQ VLAN

ETH_P_QINQ3 

deprecated QinQ VLAN

ETH_P_EDSA 

deprecated QinQ VLAN


Member Function Documentation

MACAddress & EthernetHeader::dest ( )

Access the destination MAC address

Returns:
Reference to the destination MAC address.
uint16_t EthernetHeader::ethertype ( ) const

Access the EtherType.

Returns:
one of EtherType values in native host endianness

Referenced by printTo().

uint8_t * EthernetHeader::payload ( )

Access the payload of the packet.

Returns:
Pointer to the payload data following the MAC Header
size_t EthernetHeader::printTo ( Print &  p) const

Print. Prints an ASCII formatted version of the header to a Printable such as Serial.

Returns:
The number of characters printed

References ethertype(), and MACAddress::printTo().

MACAddress & EthernetHeader::source ( )

Access the source MAC address

Returns:
Reference to the source MAC address.

The documentation for this class was generated from the following files: