#include <fvlanframe.h>
Classes | |
struct | vlan_hdr_t |
Public Types | |
enum | vlan_ether_t { VLAN_CTAG_ETHER = 0x8100, VLAN_STAG_ETHER = 0x88a8, VLAN_ITAG_ETHER = 0x88e7 } |
Public Member Functions | |
struct rofl::fvlanframe::vlan_hdr_t | __attribute__ ((packed)) |
fvlanframe (uint8_t *data, size_t datalen) | |
fvlanframe (size_t len=sizeof(struct fvlanframe::vlan_hdr_t)) | |
virtual | ~fvlanframe () |
virtual void | reset (uint8_t *data, size_t datalen) |
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) |
void | set_dl_vlan_id (uint16_t vid) |
uint16_t | get_dl_vlan_id () const |
void | set_dl_vlan_pcp (uint8_t pcp) |
uint8_t | get_dl_vlan_pcp () const |
void | set_dl_vlan_cfi (bool cfi) |
bool | get_dl_vlan_cfi () const |
void | set_dl_type (uint16_t dl_type) throw (eFrameInval) |
uint16_t | get_dl_type () const |
![]() | |
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 vlan_hdr_t * | vlan_hdr |
![]() | |
fframe * | next |
fframe * | prev |
Friends | |
std::ostream & | operator<< (std::ostream &os, fvlanframe const &frame) |
VLAN frame
fvlanframe::fvlanframe | ( | uint8_t * | data, |
size_t | datalen | ||
) |
constructor
fvlanframe::fvlanframe | ( | size_t | len = sizeof(struct fvlanframe::vlan_hdr_t) | ) |
constructor
|
virtual |
destructor
|
virtual |
returns boolean value indicating completeness of the packet
Reimplemented from rofl::fframe.
uint16_t fvlanframe::get_dl_type | ( | ) | const |
get dl type
uint16_t fvlanframe::get_dl_vlan_id | ( | ) | const |
get dl vlanid (if untagged, returns 0xffff)
|
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 fvlanframe::set_dl_type | ( | uint16_t | dl_type | ) | |
throw | ( | eFrameInval | |||
) |
set dl type
|
virtual |
validate (frame structure)
Reimplemented from rofl::fframe.