#include <fetherframe.h>
Classes | |
struct | eth_hdr_t |
struct | eth_llc_hdr_t |
Public Member Functions | |
struct rofl::fetherframe::eth_hdr_t | __attribute__ ((packed)) |
struct rofl::fetherframe::eth_llc_hdr_t | __attribute__ ((packed)) |
fetherframe (uint8_t *data, size_t datalen) | |
fetherframe (size_t len=DEFAULT_ETHER_FRAME_SIZE) | |
virtual | ~fetherframe () |
virtual void | reset (uint8_t *data, size_t datalen) |
void | set_dl_src (cmacaddr const &dl_src) throw (eFrameInval) |
cmacaddr | get_dl_src () const |
void | set_dl_dst (cmacaddr const &dl_dst) throw (eFrameInval) |
cmacaddr | get_dl_dst () const |
void | set_dl_type (uint16_t dl_type) throw (eFrameInval) |
uint16_t | get_dl_type () const |
bool | is_llc_frame () const |
virtual bool | complete () const |
virtual size_t | need_bytes () const |
virtual void | validate (uint16_t total_len=0) const |
virtual void | initialize () |
virtual void | payload_insert (uint8_t *data, size_t datalen) throw (eFrameOutOfRange) |
virtual uint8_t * | payload () const throw (eFrameNoPayload) |
virtual size_t | payloadlen () const throw (eFrameNoPayload) |
![]() | |
fframe (uint8_t *_data=NULL, size_t _datalen=0) | |
fframe (size_t len=DEFAULT_FFRAME_SIZE) | |
virtual | ~fframe () |
fframe (const fframe &frame) | |
fframe & | operator= (const fframe &frame) |
virtual uint8_t * | sopdu () const |
Returns pointer to begin of this PDU. | |
virtual size_t | pdulen () const |
Returns length of this PDU. | |
virtual uint8_t * | sosdu () const |
Returns pointer to begin of SDU encapsulated in this PDU (if any). | |
virtual uint8_t & | operator[] (size_t index) throw (eFrameOutOfRange) |
virtual uint8_t * | soframe () const |
virtual size_t | framelen () const |
bool | empty () const |
void | shift_left (size_t bytes) |
void | shift_right (size_t bytes) |
Public Attributes | |
struct eth_hdr_t * | eth_hdr |
struct eth_llc_hdr_t * | eth_llc_hdr |
![]() | |
fframe * | next |
fframe * | prev |
Friends | |
std::ostream & | operator<< (std::ostream &os, fetherframe const &frame) |
Ethernet frame
fetherframe::fetherframe | ( | uint8_t * | data, |
size_t | datalen | ||
) |
constructor
fetherframe::fetherframe | ( | size_t | len = DEFAULT_ETHER_FRAME_SIZE | ) |
constructor
|
virtual |
destructor
|
virtual |
returns boolean value indicating completeness of the packet
Reimplemented from rofl::fframe.
cmacaddr fetherframe::get_dl_dst | ( | ) | const |
get dl dst
cmacaddr fetherframe::get_dl_src | ( | ) | const |
get dl src
uint16_t fetherframe::get_dl_type | ( | ) | const |
get dl type
|
virtual |
initialize (set eth_hdr, pppoe_hdr)
Reimplemented from rofl::fframe.
|
virtual |
returns the number of bytes this packet expects from the socket next
Reimplemented from rofl::fframe.
|
virtual |
get payload
Reimplemented from rofl::fframe.
|
virtual |
insert payload
Reimplemented from rofl::fframe.
|
virtual |
get payload length
Reimplemented from rofl::fframe.
|
virtual |
reset this frame to a new buffer pointing to at (data, datalen)
Reimplemented from rofl::fframe.
void fetherframe::set_dl_dst | ( | cmacaddr const & | dl_dst | ) | |
throw | ( | eFrameInval | |||
) |
set dl dst
void fetherframe::set_dl_src | ( | cmacaddr const & | dl_src | ) | |
throw | ( | eFrameInval | |||
) |
set dl src
void fetherframe::set_dl_type | ( | uint16_t | dl_type | ) | |
throw | ( | eFrameInval | |||
) |
set dl type
|
virtual |
validate (frame structure)
Reimplemented from rofl::fframe.